요구사항 분석 (requirements analysis)
개념
- sw 엔지니어들이 정해진 기본적 요구사항들에 대해 정교화 시키는 것
- sw 엔지니어들에게 architectural, interface, component-level design에 대해 information, function, behavior 제공
- how(solution)이 아닌 **what(problem)**에 집중
목적
- 고객들의 요구사항들을 묘사
- 소프트웨어 디자인 생성의 기반점을 만듬
- 소프트웨어가 만들어졌을 때 제대로 되었는지 체크하는 요구사항 집합을 정의
bridge
- 시스템 묘사 (system description)
- 분석 모델 (analysis model)
- 디자인 모델 (design model)
분석 모델링 규칙
- 문제와 비스니스 도메인 안에서 가시적인 요구사항들에 집중함
- 추상도는 상대적으로 높아야 함
- 분석 모델의 각 요소들은 소프트웨어 요구사항들의 전반적인 이해를 담아야 함, 정보(information), 기능(function), **반응(behavior)**에 대한 insight를 제공해야 함
- 비 기능적인 것들 (큐 크기, 메모리 크기, 언어 …)의 고려는 디자인까지 미루기
- 시스템 간의 커플링을 최소화함 (모듈의 독립성을 최대한 크게 의존성을 작게)
- 분석모델은 이해관계자들한테도 제공되어야 함