요구 공학 ( Requirements Engineering )
- 시스템의 목적을 식별하기위해 요구사항을 파악하고 이를 검증 및 관리하는 일련의 활동들
- S/W 개발 프로세스와 생명주기가 맞춰가며 진행된다.
요구사항
- 요구 공학 프로세스로부터 생성된 시스템 서비스(기능)와 제약사항(비기능)에 대한 설명
요구공학 프로세스는 아래 순서대로 진행된다.
1) 타당성 분석
해당 시스템이 개발할 가치가 있는지, 가능한지에 대한 사전 논의
- 기술적, 경제적 관점, 일정, 운영 측면에서 검토한다.
2-1) 요구사항 도출
- 시스템을 통해 해결하고자 하는 문제를 찾아내는 것.
고객들도 자신의 진짜 요구사항이 뭔지 모르기 때문에 이를 찾아내는 여러 방법들이 존재한다.
( 브레인 스토밍, 롤플레잉, 인터뷰, 워크샵 등등 )
ex)
. 브레인 스토밍을 통해 각 이해관계자들의 다양한 요구사항들이 1차적으로 생성되고
. 이 중에 일부를 채택하여 요구사항을 명세화한다.
. 해당 요구사항에 대해 다양한 이해관계자들이 어떻게 생각하는지
논의하고 합의점을 찾아, 모두가 납득할만한 요구사항으로 수정
2-2) 요구사항 분석
- 요구사항 모델을 통해 이해 관계자들의 이해를 돕는다.
모델링 방법
. 구조 분석
ㅁ DFD ( Data Flow Diagram )
ㅁ STD ( State Transition Diagram )
ㅁ ERD ( Entity-Relation Diagram )
. 유즈 케이스 분석
ㅁ UC ( Use Case Modeling )
. 비용 기준 접근 : ROI
. 계층화 분석법(AHP) : 여러 대안들을 계층으로 나누어 다방면에서 판단하기 위한 분석법
3) 요구사항 명세
요구사항들을 문서화 하는 작업.
요구사항은 크게 기능 , 비기능 요구사항으로 나뉜다.
. 기능적 요구사항 : 시스템이 어떻게 동작해야하는지에 대한 설명. 제공하는 기능
. 비기능적 요구사항 : 시스템에 부과되는 제약 조건(품질 속성). 시스템의 품질에 대한 판단
※ 도메인 요구사항 : 시스템의 도메인으로부터 오는 요구사항. 기능 비기능 둘 다 가능
QAS : Quality Attribute Senario
- 품질 속성을 만족하는지 확인하기위한 시나리오.
구체적인 상황과 수치로 표현되어 요구사항 충족 여부를 확인할 수 있어야한다.
QAW : Quality Attribute Workshop
- 초기부터 이해관계자가 참석하여 품질 속성에 대해 의논하는 것.
- QAS로 문서화 되고 우선순위가 부여된 QA를 얻을 수 있다.
. 순서
ㅁ 각 요구사항 들에 대해 이해 관계자 별로 우선순위 부여
ㅁ 요구사항의 품질 속성 정의 ex : 보안성, 가용성, 신뢰성, 안정성, 유지보수성 등등
ㅁ 그에 맞는 시나리오 부여
ex:
Requirement-ID | QA_### |
Category | 관련된 Quality Attribute가 무엇인지 기술함 (예, Performance, Reliability, Security 등) |
Source | Stimulus를 발생시키는 주체가 무엇인지 기술함 |
Stimulus | 시스템에 입력되는 내외부 자극이 무엇인지 기술함 |
Artifacts | Stimulus의 영향을 받는 시스템의 내부 모듈, 컴포넌트, 혹은 시스템 전체 |
Environment | 해당 Stimulus 발생시 시스템의 환경 |
Response | 기술된 Environment에서 Artifact이 Stimulus를 받아들인 후 취하는 Action이 무엇인지 설명함 |
Response Measure | 위의 Response의 정도를 측정하는 단위가 무엇인지 기술함 (예, 초당 데이터 처리량, 반응시간, 시간일 경우 hour, minute, second 여부 등) |
Description | 위에 기술된 Source로부터 Response Measure까지의 내용을 하나의 문장으로 요약해서 기술함 |
4) 요구사항 확인 및 검증
5) 요구사항 변경 관리
'IT > Architect 공부' 카테고리의 다른 글
Architect 공부 8일차 - 디자인 패턴 (0) | 2024.05.09 |
---|---|
Architect 공부 7일차 - 객체지향 설계 원칙(2) (0) | 2024.05.08 |
Architect 공부 5일차 - 객체지향 설계 원칙 (0) | 2024.04.11 |
Architect 공부 4일차 - S/W 아키텍처 (1) | 2024.04.03 |
Architect 공부 3일차(5) - UML/Component Diagram (0) | 2024.04.02 |