1. 요구공학이란
: 고객의 요구를 체계적으로 수집⋅분석⋅명세화⋅검증하고 추적⋅변경되는 요구사항을 도출하고 관리하는 기법.
2. 요구사항의 유형★★
2.1. 기능 요구사항(Fucntional Requirements)★★
– 소프트웨어를 구성하는 기능들이 무엇인지를 정의.
– 시스템의 입⋅출력으로 무엇이 포함되어야 하는지, 어떤 데이터 저장하거나 연산을 수행해야 하는지에 대한 사항.
– 시스템이 반드시 수행해야 하는 기능.
2.2. 비기능 요구사항(Non-Functional Requirements)★★
– 소프트웨어의 기능들에 대한 조건⋅제약사항.
– 보안⋅성능⋅품질⋅안전성 등.
3. 요구사항 개발 프로세스★★
도출
(Elicitation) |
분석
(Analysis) |
명세
(Specification) |
확인
(Validation) |
3.1. 도출★
: 소프트웨어가 해결해야 할 문제를 이해하고 요구사항이 어디에 있고, 어떻게 수집할 것인가를 확인.
- 요구사항 도출기법★
-
- 브레인 스토밍(Brain Stormin): 3인 이상이 자유롭게 의견을 교환.
- 프로토타이핑(Prototyping): 프로토타입을 통해 효과적으로 요구 분석 수행.
- 유스케이스(Use Case): 사용자의 요구사항을 기능 단위로 표현.
3.2. 분석★
– 이해되지 않는 부분을 발견, 요구사항들 간에 상충되는 것을 해결.
– 소프트웨어의 범위를 파악.
- 구조적 분석 도구★
-
- DFD(Data Flow Diagram): 자료흐름도★
- Data Dictionary: 자료사전
- Mini-Spec: 소단위 명세서
- ERD(Entity-Relationship Diagram): 개체관계도★
- STD(State Transition Diagram): 상태전이도
- 객체지향 분석도구★
-
- UML(Unified Modeling Language)★
- 모델링
3.3. 명세
– 체계적으로 검토⋅평가⋅승인될 수 있는 문서를 작성.
– 시스템정의, 시스템 요구사항, 소프트웨어 요구사항 작성
- 요구사항 명세 기법
-
- 정형 명세 기법: 수학⋅논리학
- 비정형 명세 기법: 자연어⋅그림
3.4. 확인
– 분석가가 요구사항을 이해했는지 확인.
– 요구사항 문서가 일관성 있고 완전한지 검증.
– 이해 관계자들이 문서를 검토하고, 형상관리를 수행