요구 공학
- 요구사항을 수정, 분석, 명세화 하는 학문
요구 사항 개발 프로세스
1. 도출
2. 분석 : 개념적 모델링
3. 명세 : 시스템 정의서, 시스템/소프트웨어 요구사항 명세서(SRS. Sowftware Requirement Specification)
4. 확인 : 프로토 타이핑, 모델 검증, 인수 테스트
요구사항 분류에 따른 추출 방법
- 기능적 : 기능, 자료, 인터페이스, 사용자
- 비기능적 : 성능, 자원, 보안, 품질
요구사항 분석 기법
- 개념 모델링 : 현실을 단순화 하여 개념적으로 표현. UML
- 정형 문석 formal analysis : 구문과 의미를 갖는 정형화 된 언어로 요구사항 수학적 기호로 표현, 분석
- 요구사항 분류
- 요구사항 협상
- 요구사항 할당
현행 시시스템 파악 절차
- SW, HW, 네트워크 등 인프라 확인하여 어떤 기술요소 적용할지 판단하기 위한 사전 지식 습득 과정
1. 구성/기능/인터페이스 파악
2. 아키텍처 및 소프트웨어 구성 파악
3. 네트워크 및 하드웨어 구성 파악
UML Unified Modeling Language
- 요구사항을 개념적으로 표현하기 위한 언어
- 구성요소 : 사물, 관계, 다이어그램
사물
- 관계가 성립할수 있는 대상
1. 구조 사물 : 개념적, 물리적 요소 표현- 클래스, 유스케이스, 컴포넌트, 노드
2. 행동 사물 : 요소들의 행위 표현 - 상호작용 , 상태
3. 그룹 사물 : 요소들을 그룹으로 묶어 표현 - 패키지
4. 주해 사물 : 부가적 설명, 제약조건 - 노트
관계
- 사물과 사물간의 연관
1. 연관 관계 : 개수 표현. 양방향 직선, 단방향시 화살선
2. 집합 관계 : 서로 있어도 되고 없어도되는 관계. 텅빈 마름모
3. 포함 관계 : 한 쪽에 반드시 필요로 하는 관계. 검은 마름모
4. 일반화 관계 : 더 넓은 개념으로 묶이는 관계. 상위 사물에 화살선 합침
5. 의존 관계 : 다른 사물에 영향 받는 관계. 실 화살선
6. 실체화 관계 : 사물들의 기능을 표현하는 관계. 상위 사물에 실 화산선 합침
다이어그램
- 구조
1. 클래스 : 클래스간 관계 표현
2. 객체 : 객체 인스턴스간 관계 표현
3. 컴포넌트 : 컴포넌트 간 관계 표현
4. 배치 다이어그램 deployment : 컴포넌트, 결과 물 등 물리적 배치 표현
5. 패키지 다이어그램 : 모델 요소 그룹화한 패키지 표현
- 행위
1. 유스 케이스 : 사용자 관점 요구사항 표현
2. 활동 다이어그램 : 기능 처리 흐름 표현
3. 시퀀스 다이어그램 : 객체 간 메시지 전달 과정 표현
4. 상호작용 다이어그램 : 시퀀스 다이어그램에 객체 간 연관 관계 표현
5. 타이밍 다이어그램 : 객체 상태 변화 표현
유스 케이스 다이어그램
- 사용자 관점 요구사항 표현
유스케이스 다이어그램 구성요소
- 구성요소 : 액터, 시스템, 유스케이스, 관계
1. 액터 : 사람, 외부 시스탬 - 주액터 : 사용자. 사람 표현, 부액터 : 서비스 제공 외부 시스템. <<부액터명>>
2. 유스 케이스 : 시스템이 액터에게 제공하는 기능
3. 시스템 : 액터가 사용하는 시스템 범위
4. 관계 : 액터-유스케이스, 유스케이스-유스케이스 간 관계
유스케이스 다이어그램 관계
1. 일반화 관계 :그룹으로 묶음. 상위에 삼각선 묶임
2. 포함 관계 : 공통 기능. 실화살선. <<include>>
3. 확장 관계 : 기능 확장. 실화살선 <<extend>>
클래스 다이어그램
- 클래스간 관계 표현
- 클래스, 속성, 연산, 제약조건 {}, 관계
- 속성 예시 : 접근제어자 속성명 : 자료형[=초기값]
- 연산 예시 : 접근제어자 함수명(파라미터:변수타입, ...) : 반환타입
클래스 다이어그램 접근 제어자
- private : 해당 클래스 내에서만
# protected : 동일 패키지, 상속 받는 범위까지
~ default : 동일 패키지 내부
+ public : 외부
클래스 다이어그램 관계
- 집합 관계 : 빈 마름모. 상위가 하위 매개변수로 받아 사용
- 포함 관계 : 검은 마름모. 상위서 하위 객체 생성하여 사용
- 일반화 관계 : 모임 삼각선. 하위가 상위 상속 받음
- 연관 관계 : 단방향 시 상위서 하위 변수 선언, 양방향 시 서로 변수 선언
시퀀스 다이어그램
- 객체 간 메시지 전달 흐름 표현
- 액터, 객체, 라이프라인, 활성상자, 메시지
- 액터 : 사용자
- 객체 : 기능 주체. 객체명:클래스명. 사각형
- 라이프라인 : 전제 기간. 객체 아래 점선
- 활성상자 : 객체 아래 사각형. 메시지 전달 표현
- 메시지 : 객체가 주고받는 메시지
메시지
- 동기 : 검삼각선. 보낸후 반환까지 기다림
- 비동기 : 화살선. 보내고 반환안기다림
- 생성 : 실화살선. 메시지 받는 객체 생성
- 응답 : 실검삼각선. 동기 메시지 응답
활동 다이어그램
- 사용자 관점 기능 처리 흐름 표현
- 액션, 액티비티, 노드, 스웜 레인
- 액션 : 분할할수 없는 기능 단위
- 액티비티 : 액션 모음
- 노드 : 푝. 원(시작), 선 원(종료), 마름모(조건 노드, 단일 입력 다중출력), 마름모(병합 노드, 다중 입력 단일출력), 굵은가로선(포크 노드, 단일 입력 다중출력), 굵은 가로선(조인 노드, 다중 입력 단일 출력)
- 스웜레인 : 세로실선, 액티비티 수행 주체
'컴퓨터과학 > SW, DB' 카테고리의 다른 글
서버 (0) | 2020.05.22 |
---|---|
연계 (0) | 2020.05.22 |
보안 (0) | 2020.05.19 |
어플리케이션 테스트 - 2 테스트 프로세스 (0) | 2020.05.19 |
어플리케이션 테스트 - 1 어플리케이션 테스트 (0) | 2020.05.19 |