[소프트웨어공학] 요구사항 개발 프로세스 2(분석)
요구사항 분석
- 도출된 불완전하고 추상적인 요구사항들을 적절한 수준으로 분해하고 정제하는 작업
- 고객과의 상호 작용을 통해 혼동 지점을 명확히 하고 어떤 요구사항이 다른 요구사항보다 더 중요한지 파악
- 명세를 만들기 위한 기반
- 요구사항 모델링을 통해 요구사항이 보다 구체화되고 가시화되어 시스템에 대한 이해도가 크게 향상시키며 개발에 필요한 정보 제공
- 분석 단계가 없다면 비즈니스 분석가가 이해관계자로부터 도출된 요구사항을 바로 문서화시켜야 하는 문제
-> 명확 X, 요구사항의 다양한 해석 우려, 설계하는 데 정보 부족, 따라서 "분석" 필요
- 모델링
- 구조적 분석(자료흐름도, DFD, Data Flow Diagram), 유스케이스 분석 모델링, 사용자 스토리(애자일 프로젝트), ERD(Entity Relation Diagram), State Transition Diagram(상태 전이 시스템), Dialogue Map 등이 있음
모델링의 종류
1. 구조적 분석
- 시스템의 기능을 중심으로 구조적 분석을 실행
- 시스템의 기능을 정의하기 위해서 프로세스들을 도출하고, 도출된 프로세스 간의 데이터 흐름을 정의
- 배경도와 달리 시스템 내부 기능을 자세하게 보여줌
2. 배경도
- 범위를 나타내는 다이아그램
- 내부 기능을 보여주진 않지만 시스템이 놓여진 상황(context)만 보여줌
- 기능 분할
3. 기능 분할
4. 유스케이스 분석
- 요구사항을 사용자 중심의 시나리오 분석을 통해 유스케이스 모델(Usecase Model)로 구축하는 것
- 유스케이스의 실체화(Realization) 과정을 통해 설계 정보 제공
- 시스템의 범위도 나타내지만 각각의 사용자들이 시스템을 사용하려고 하는 요구사항을 모델링하는 데 쓰임 -> 사용자 중심 요구사항 모델링