728x90
DFD(Data Flow Diagram, 자료 흐름도)
- system이 수행할 기능을 나타낸다.
- system의 Data보다 기능이 더 복잡하고 중요할 때 DFD가 필요하다.
DFD 구성 요소
1. Process(프로세스) - Bubble
- 입력을 출력으로 변환하는 과정
- 단어, 간단한 문장으로 구성해야 한다. (수행기능, 수행 주체를 작성)
- 원(Bubble) 형태로 표현
2. Data Flow(데이터 흐름)
- 정보의 이동에 대해 표시
- 화살표로 표현
- 서로 다른 데이터 흐름에는 동일한 이름을 부여하지 않는다.
3. Data Store(자료 저장소)
- 정지된 자료의 집합
- 하드디스크에 저장된다.
- 위 아래에 두 개의 직선을 그어 표현, 그 안에 자료 저장소의 명칭 작성
Data Store의 필요성 - 메모리의 제한 때문에 필요 - H/W 문제 발생시 대비 - 문제 발생 시 책임 소재 파악에 유리 - 백업하기 위해 필요 |
4. Terminator(단말)
- system이 교신하는 외부세계
- 단말들 사이 정보는 DFD 상에 없음
- 시스템 분석가, 시스템 디자이너 등이 변경할 수 없음
- 사각형으로 표현
DFD 작성 방법
- 논리적 불일치, 극단적인 단순화를 방지해야 한다.
1. Process, Data Flow, Data Store, Terminator에 의미있는 명칭 부여
- 업무에 관련된 용어 선택
2. Process에 번호 부여
- Process 번호는 수행 순서를 암시
- DFD의 계층화에 필요
3. 너무 복잡하지 않게 작성
- 5~9 Process가 1페이지에 들어오도록 제안
- 경영자/사용자가 이해 용이하게 작성
- Process Bubble의 크기를 일정하게 유지
4. 논리적 일관성
- 입력이나 출력만 있는 Process는 피할 것
- Read 혹은 Write만 하는 Data Store는 피할 것
Leveled DFD(계층화 DFD)
- DFD의 Layering
- 큰 DFD를 관리 가능하게 하기 위해 필요
1. 최상위-Level DFD(첫 페이지)
- 단 하나의 Process와 외부 단말들
2. Next-Level DFD(다음 페이지)
- 단 하나의 System Process를 몇 개의 Process들로 분해
- 외부 단말은 더 이상 나타나지 않음
3. Next-Next-Level DFD
- 각 Process들을 더욱 자세히 몇 개의 Process들과 Flow로 분해(ex. 1.1, 1.2 .... 2.1, 2.2)
* 상위-Level Process의 번호와 명칭을 하위-Level에도 표시
- 상위-Level Data Flow 및 방향은 하위-Level에서의 Data Flow 및 방향과 일치
DD(Data Dictionary, 자료 사전)
- DFD의 Data 항목을 계층적으로 정의하여 의미를 갖는 최하위의 성분으로 분해한 집합체
- DFD와 DD는 밀접한 관계를 가지고 있다.
- DFD의 Data Flow와 Data Store 값의 의미를 표현해 준다.
약속된 기호 사용
DD의 검증
- DFD 상의 모든 Data Store와 Data Flow 항목이 자세히 정의 되었나 확인
- 자료 항목의 각 구성성분이 계층적으로 모두 정의되었나 확인
- 약속된 기호가 사용되었나 확인
위의 조건을 모두 만족할 시 DD검증 종료
728x90
'소프트웨어공학' 카테고리의 다른 글
[S/W] Process Spec.(Structured English, Pseudo Codes, N-S Chart) (0) | 2022.12.07 |
---|---|
[S/W] Programming 개발 방법론 & Diagrams (0) | 2022.11.18 |
[S/W] Modular Programming과 복잡도 제어(Complexity Control) (1) | 2022.11.16 |
[S/W] Structured Program의 성격 (0) | 2022.10.26 |
[S/W] Structured Programming(구조화 프로그래밍) & H/W의 발달 (0) | 2022.10.19 |