1. 요구사항 분석의 개요
요구사항 분석은 소프트웨어 개발의 실제적인 첫 단계로 개발 대상에 대한 사용자의 요구사항을 이해하고 문서화(명세화)하는 활동을 의미한다.
-
사용자 요구의 타당성을 조사하고 비용과 일정에 대한 제약을 설정
-
요구를 정확하게 파악하여 목표를 정하고 어떤방식으로 해결할 지 결정
-
소프트웨어 설계 단계에서 필요한 자료가되므로 요구사항을 정확하고 일관성있게 분석하여 문서화
2. 구조적 분석 기법
자료의 흐름과 처리를 중심으로 하는 요구사항 분석 방법
-
도형 중심의 분석용 도구와 분석 절차를 이용하여 문서화
-
하향식 방법을 사용하여 시스템 세분화 및 중복을 배제
-
요구사항을 논리적으로 표현하여 시스템을 일관성 있게 이해
-
분석 도구
- DFD : Data Flow Diagram (자료 흐름도)
- DD : Data Dictionary (자료 사전)
- Mini Specification (소단위 명세서)
- ERD : Entity Relation Diagram (개체 관계도)
- State Transition Diagram (상태 전이도)
3. 자료 흐름도(DFD)
요구사항 분석에서 자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법으로 흐름 그래프, 버블 차트라고도 한다.
✅ 프로세스(Process) - 원(Bubble)
- 입력되는 데이터를 원하는 데이터로 변환하여 출력시키기 위한 과정이다.
- 도형적 표기형태는 원(Bubble)과 원안의 이름으로 표현한다.
- 원안에 기록하는 이름은 프로세스가 수행하는 일 또는 프로세스를 수행하는 행위자를 기술한다.
- 자체적으로는 데이터를 생성할 수 없고 항상 입력되는 데이터가 있어야 한다.
- 항상 새로운 가치를 부가해야 한다.
✅ 데이터흐름(Data Flow) - 화살표
- DFD의 구성요소간 인터페이스를 나타낸다.
- 대부분의 데이터흐름은 프로세스 사이를 연결하지만, 데이터 저장소(Data Store)로부터의 데이터흐름을 나타내기도 한다.
- 명칭이 부여거나 부여되지 않은 화살표로 표시한다. 단, 후속작업의 참조를 위해 되도록 명칭이 부여되는 것이 바람직하다.
- 서로 다른 데이터 흐름에는 동일한 이름을 부여하지 않는다.
✅ 데이터저장소(Data Store) - 두 평행선
- 추후 엑세스를 위해 데이터를 저장하는 수동적 객체를 말한다.
- 액터와는 달리 자신의 액션을 취하지 않으며 데이터 저장이나 엑세스 요구에 반응할 뿐이다.
- 데이터저장소(Data Store)는 저장되어 있는 정보 집합이다.
- 데이터저장소는 테이프, 디스크, 카드 데이타, 캐비넷의 인덱스화일 등일 수도 있으며, 때로는 휴지통일 수도 있다.
- 데이터저장소는 단순한 데이터의 저장을 나타내는 것이지 데이터의 변동을 표시하는 것은 아니다.
- 데이터흐름을 표시함으로서 데이터의 입출력을 나타낸다.
- 표기법은 단순하게 두 개의 직선 즉, 평행선으로 나타내고, 평행선 안에 데이터저장소의 명칭을 부여한다.
✅외부엔티티(External Entity) - 사각형
- 프로세스 처리과정의 데이터발생의 시작 및 종료를 나타낸다.
- 어떤 기업의 내적인(Inside) 엔티티는 관리, 부서, 기능, 시스템등을 포함하며, 기업 외적인(Outside) 엔티티는 고객, 거래처, 공공기관, 외부시스템등을 포함한다.
- 데이터 흐름도상에서 프로세스(Process)와의 상호관련성을 표시하며, 일반적으로 DFD 범위 밖에 사각형 형태로 표시한다.
- 액터는 데이터를 생성, 소비 함으로서 데이터 흐름도를 주도하는 활성 객체이다.
- 액터는 데이터 흐름도의 입력과 출력에 붙는다. 즉, 흐름도의 경계에 놓이게 되며, 소스(source)나 싱크(sink)로서 데이터의 흐름을 중단시킨다. 예를 들어, 프로그램의 사용자, 써모셋(thermostat), 서보 모터 등이다.
4. 자료 사전(DD)
자료 흐름도에 있는 자료를 더 자세히 정의하고 기록한 것
- 시각적으로 표시된 자료에 대한 정보를 체계적이고 조직적으로 모아 편리하게 사용
- 자료 사전 기호
5. 소단위 명세서(Mini-Spec.)
자료 흐름도 상의 최하위 처리 절차를 상세하게 기술하는 데 사용하는 도구로 프로세스 명세서라고도 한다.
6. 개체 관계도(ERD)
시스템에서 처리되는 개체와 구성과 속성 그리고 관계를 표현하여 개체를 모델화하는 도구이다.
-
자료 흐름도의 자료 저장소를 종합적이고 체계적으로 모델링한다.
-
개체(Entity), 관계(Relationship), 속성(Attribute) 등으로 구성
7. 상태 전이도(STD)
시스템에 어던 일이 발생할 경우 시스템의 상태와 변화를 모델링하는 것이다.
-
시스템의 상태란 시스템이 수행중인 상태를 의미하며 직사각형으로 표시
-
시스템의 변화란 어떤 상태에서 다른 상태로 변환되는 과정을 의미하며 화살표로 표시
-
화살표의 시작은 상태 변화를 일으키는 사건을 의미, 화살표의 끝은 사건의 결과로 발생하는 내용(행동)을 의미