본문 바로가기
소프트웨어공학

[S/W] DFD(Data Flow Diagram) & DD(Data Dictionary)

by IT 정복가 2022. 11. 25.
728x90

DFD(Data Flow Diagram, 자료 흐름도)

- system이 수행할 기능을 나타낸다.

- system의 Data보다 기능이 더 복잡하고 중요할 때 DFD가 필요하다.

 

DFD 구성 요소

1. Process(프로세스) - Bubble

  • 입력을 출력으로 변환하는 과정
  • 단어, 간단한 문장으로 구성해야 한다. (수행기능, 수행 주체를 작성)
  • 원(Bubble) 형태로 표현

https://daanist.tistory.com/23

2. Data Flow(데이터 흐름)

  • 정보의 이동에 대해 표시
  • 화살표로 표현
  • 서로 다른 데이터 흐름에는 동일한 이름을 부여하지 않는다.

https://daanist.tistory.com/23

3. Data Store(자료 저장소)

  • 정지된 자료의 집합
  • 하드디스크에 저장된다.
  • 위 아래에 두 개의 직선을 그어 표현, 그 안에 자료 저장소의 명칭 작성

https://daanist.tistory.com/23

Data Store의 필요성
- 메모리의 제한 때문에 필요

- H/W 문제 발생시 대비

- 문제 발생 시 책임 소재 파악에 유리

- 백업하기 위해 필요

 

4. Terminator(단말)

  • system이 교신하는 외부세계
  • 단말들 사이 정보는 DFD 상에 없음
  • 시스템 분석가, 시스템 디자이너 등이 변경할 수 없음
  • 사각형으로 표현

https://daanist.tistory.com/23


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와 외부 단말들

https://www.geeksforgeeks.org/levels-in-data-flow-diagrams-dfd/

2. Next-Level DFD(다음 페이지)

- 단 하나의 System Process를 몇 개의 Process들로 분해

- 외부 단말은 더 이상 나타나지 않음

https://www.geeksforgeeks.org/levels-in-data-flow-diagrams-dfd/

3. Next-Next-Level DFD

- 각 Process들을 더욱 자세히 몇 개의 Process들과 Flow로 분해(ex. 1.1, 1.2 .... 2.1, 2.2)

https://www.geeksforgeeks.org/levels-in-data-flow-diagrams-dfd/

* 상위-Level Process의 번호와 명칭을 하위-Level에도 표시

- 상위-Level Data Flow 및 방향은 하위-Level에서의 Data Flow 및 방향과 일치


DD(Data Dictionary, 자료 사전)

  • DFD의 Data 항목을 계층적으로 정의하여 의미를 갖는 최하위의 성분으로 분해한 집합체
  • DFD와 DD는 밀접한 관계를 가지고 있다.
  • DFD의 Data Flow와 Data Store 값의 의미를 표현해 준다.

약속된 기호 사용

https://blog.naver.com/PostView.naver?blogId=ionebabo&logNo=221669939370&parentCategoryNo=&categoryNo=69&viewDate=&isShowPopularPosts=false&from=postView

                 

 

DD의 검증

  • DFD 상의 모든 Data Store와 Data Flow 항목이 자세히 정의 되었나 확인
  • 자료 항목의 각 구성성분이 계층적으로 모두 정의되었나 확인
  • 약속된 기호가 사용되었나 확인

위의 조건을 모두 만족할 시 DD검증 종료 

728x90