[소프트웨어 공학] 10.요구 분석

이번에는 정보처리기사 필기 과목인 소프트웨어 공학의 요구 분석을 살펴보아요.

요구 분석
이해관계자의 요구 사항을 분석하여 문서화하는 활동
소프트웨어 개발 첫 단계
소프트웨어 분석가에 의해 분석
이해 관계자와 개발자의 용어 및 지식의 차이 발생 => 프로토 타이핑과 다이어그램을 통해 최소화
이해 관계자의 요구 사항은 시시 때때로 변한다. => 유연한 프로그래밍
시대가 흐르면서 시스템은 점점 복잡 => 분석 능력 배양
요구 분석을 명세화하기 어려움 => 요구 분석 능력 배양

요구 분석에서의 작업
문제 인식 =>통합, 평가 및 수정=>모델 제작 => 문서화

구조적 요구 분석 도구
자료 흐름도, 자료 사전, 단위 명세서, 개체 관계도, 상태 천이도 등을 이용
자료의 흐름과 처리를 중심으로 요구 분석하는 도구
하향식 방법으로 시스템을 세분화하고 중복 분석의 해악을 배제할 수 있습니다.

자료 흐름도(Data Flow Diagram)
자료의 흐름과 처리 과정을 도형 중심으로 기술
자료 흐름 그래프나 버블 챠트라고 부릅니다.
단계적으로 세분화
자료를 처리할 때마다 새로운 이름을 부여

자료 흐름도 기호
자료 흐름도 기호
자료 흐름도 예
자료 흐름도 예

자료 사전(DD, Data Dictionary)
자료 흐름도의 자료를 설명하는 것
*자료를 설명하는 자료를 메타 데이터라고 부릅니다.
자료 = *주석* [선택 자료1 | 선택 자료2 |] + 구성 자료 + { 반복 구성 자료 }n +(옵션)
= : is composed of
[ ] :  choose only one of
|   : or
+ : and
{ }: iteration of (밑에 n은 n번 이상 반복, 위에 n은 최대 n번 반복, 밑에 m 위에 n은 m에서 n번 반복
(): optional
**:comment

단위 명세서(Mini Specification)
프로세스 명세서입니다.
자료 흐름도를 보완 설명하기 위해 작성합니다.

개체 관계도(ERD, Entity Relation Diagram)
개체, 속성, 관계 등으로 표현합니다.
엔티티 속성 찾기 => 기본 엔터티와 주요키 정의 및 관계 정의 => 관계수 표현 => 정규화 및 점검과 클래스 구조 필요한 지 결정

ER 다이어그램 예
ER 다이어그램 예

상태 천이도(State Transition Diagram)
사각형(상태)과 화살표(상태 전이)로 상태와 상태 전이를 표현

DHCP 상태 천이도
DHCP 상태 천이도

CASE 도구
소프트웨어 개발 과정을 자동화하기 위한 도구
HIPO, SREM, PSL/PSA, EPOS 등이 있습니다.

HIPO(Hierarchy Input Process Output)
하향식 개발을 위한 시스템 설계 및 문서화 도구
가시적 도표(Virtual Table of Contents), 총체적 도표(Overview Diagram), 세부적 도표(Detail Diagram)으로 구성
HIPO 다이어그램은 분석 및 설계 도구로 사용합니다.