요구사항 분석
요구사항 분석은 소프트웨어 개발의 실제적인 첫 단계로 개발 대상에 대한 사용자의 요구사항을 이해하고 문서화하는 활동을 의미한다.
- 사용자의 요구의 타당성을 조사하고 비용과 일정에 대한 제약을 설정
- 사용자의 요구를 정확하게 추출하여 목표를 정하고, 어떤 방식으로 해결할 것인지를 결정
- 요구사항 분석을 통한 결과는 소프트웨어 설계 단계에서 필요한 기본적인 자료가 되므로 사용자의 요구사항을 정확하고 일관성 있게 분석하여 문서화해야 한다.
- 소프트웨어 분석가에 의해 요구사항 분석이 수행되며, 이 작업 단계를 요구사항 분석 단계라고 한다.
- 요구사항 분석을 위해 UML(Unified Modeling Language), 자료 흐르도(DFD), 자료 사전(DD), 소단위 명세서(Mini-Spec), 개체 관계도(ERD), 상태 전이도(STD), 제어 명세서 등의 도구를 이용한다.
구조적 분석 기법
구조적 분석 기법은 자료의 흐름과 처리를 중심으로 하는 요구사항 분석 방법으로, 다음과 같은 특징이 있다.
- 도형 중심의 분석용 도구와 분석 절차를 이용하여 사용자의 요구사항을 파악하고 문서화 한다.
- 도형 중심의 도구를 사용하므로 분석가와 사용자 간의 대화가 용이하다.
- 하향식 방법을 사용하여 시스템을 세분화할 수 있고, 분석의 중복을 배제할 수 있다.
- 사용자의 요구사항을 논리적으로 표현하여 전체 시스템을 일관성 있게 이해할 수 있다.
- 시스템 분석의 질이 향상되고, 시스템 개발의 모든 단계에서 필요한 명세서 작성이 가능하다.
자료 흐름도(DFD)
자료 흐름도(DFD, Data Flow Diagram)는 요구사항 분석에서 자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법으로 자료 흐름 그래프, 버블 차트라고도 한다.
자료의 흐름
자료는 각 절차에 따라 컴퓨터 기반의 시스템 내부를 흘러다니는데, 이를 자료의 흐름이라 한다.
- 시스템 안의 프로세스와 자료 저장소 사이에 자료의 흐름을 나타내는 그래프로 자료 흐름과 처리를 중심으로 하는 구조적 분석 기법에 이용된다.
- 자료 흐름도는 자료 흐름과 기능을 자세히 표현하기 위해 단계적으로 세분화된다.
- 자료는 Process를 거쳐 변환될 때마다 새로운 이름이 부여되며, 처리는 입력 자료가 발생하면 기능을 수행한 후 출력 자료를 산출한다.
- 자료 흐름도에서 자료의 흐름과 기능을 Process, Flow, Data Store, Terminator의 네 가지 기분 기호로 표시한다.
Process
- 자료를 변환시키는 시스템의 한 부분(처리 과정)을 나타내며 처리, 기능, 변환, 버블이라고도 한다.
- 원이나 둥근 사각형으로 표시하고 그 안에 프로세스 이름을 기입한다.

Data Flow
- 자료의 이동(흐름)이나 연관관계를 나타낸다.
- 화살표 위에 자료의 이름을 기입한다.

Data Store
- 시스템에서의 자료 저장소(파일, 데이터베이스)를 나타낸다.
- 도형 안에 자료 저장소 이름을 기입힌다.

Terminator
- 시스템과 교신하는 외부 개체로, 입력 데이터가 만들어지고 출력 데이터를 받는다(정보의 생상자와 소비자).
- 도형 안에 이름을 기입한다.

자료 사전
-
자료사전 (DD, Data Dictionary)은 자료 흐름도에 있는 자료를 더 자세히 정의하고 기록한 것이며, 이처럼 데이터를 설명하는 데이터를 데이터의 데이터 또는 메타 데이터(Meta Data)라고 한다.
-
자료 흐름도에서 시각적으로 표시된 자료에 대한 정보를 체계적이고 조직적으로 모아 개발자나 사용자가 편리하게 사용할 수 있다.
-
자료 사전에서 사용되는 표기 기호는 다음과 같다.
=
자료의 정의: ~로 구성되어 있다(is composed of)
+
자료의 연결: 그리고(and)
( )
자료의 생략: 생략 가능한 자료(Optional)
[|]
자료의 선택: 또는(or)
{ }
자료의 반복: Iteration of

**
자료의 설명: 주석(Comment)