Data Flow Diagram
DFD?
   Data Flow Diagram
     데이터가 소프트웨어 내의 각 프로세스를 따라 흐르면서 변환
      되는 모습을 나타낸 그림
     소프트웨어 및 정보시스템의 분석과 설계에서 매우 유용하게 사
      용
     시스템의 모형화 도구로서 가장 보편적으로 사용
     데이터에 비해 기능이 매우 복잡하고 중요할 경우에 매우 유용
구성요소
   Process
     프로세스는 입력되는 데이터를 원하는 데이터로 변환하여 출
      력시키기 위한 과정으로 도형적 표기형태로는 원 (Bubble) 과
      원안의 이름으로 표현한다 .
     원안에 기록하는 이름은 아래에 그림과 같이 프로세스가 수행
      하는 일 또는 프로세스를 수행하는 행위자를 기술한다 .
     프로세스는 자체적으로는 데이터를 생성할 수 없고 항상 입력
      되는 데이터가 있어야 한다 .
     프로세스는 항상 새로운 가치를 부가해야 한다 .
구성요소 (2)
   Data Flow
     데이터흐름 (Data Flow) 은 DFD 의 구성요소들간의 인터페이스
      를 나타낸다 .
     대부분의 데이터흐름은 프로세스들 사이를 연결하지만 , 데이터
      저장소 (Data Store) 로부터의 데이터흐름을 나타내기도 한다 .
     데이터흐름은 명칭이 부여거나 부여되지 않은 화살표로 표시한
      다 . 단 , 후속작업들의 참조를 위해 되도록 명칭이 부여되는 것이
      바람직하다 .
       서로 다른 데이터 흐름에는 동일한 이름을 부여하지 않는다 .
구성요소 (3)
   Data Store
       데이터저장소 (Data Store) 는 저장되어 있는 정보 집합이다 .
       데이터저장소는 테이프 , 디스크 , 카드 데이타 , 캐비넷의 인
        덱스화일 등일 수도 있으며 , 때로는 휴지통일 수도 있다 .
       데이터저장소는 단순한 데이터의 저장을 나타내는 것이지 데
        이터의 변동을 표시하는 것은 아니다 .
       데이터흐름을 표시함으로서 데이터의 입출력을 나타낸다 .
       데이터 흐름도에서 데이터저장소를 나타내는 표기법은 단순하
        게 두개의 직선 즉 , 평행선으로 나타내고 , 평행선 안에 데이
        터저장소의 명칭을 부여한다 .
구성요소 (4)
   External Entity
     외부엔티티는 프로세스 처리과정의 데이터발생의 시작 및 종료를
      나타낸다 .
     어떤 기업의 내적인 (Inside) 외부엔티티는 관리 , 부서 , 기능 ,
      시스템등을 포함하며 , 기업 외적인 (Outside) 외부엔티티는 고
      객 , 거래처 , 공공기관 , 외부시스템등을 포함한다 .
     외부엔티티는 데이터 흐름도상에서 프로세스 (Process) 와의 상호
      관련성을 표시하며 , 일반적으로 DFD 범위 밖에 사각형 형태로
      표시한다 .
작성방법
   업무를 분석하여 프로세스에 대한 모든 입출력 데이터흐름을 식
    별한다 . 그리고 업무의 주변 경계에 그들을 표시한다 .

   데이터흐름상 필요하거나 제공되어야 할 외부엔티티를 정의한
    다.

   입력으로부터 출력으로 , 출력으로부터 입력으로 , 또는 중간 지
    점부터의 데이터흐름을 식별한다 .

   모든 접속관계 데이터흐름에 주의 깊게 명칭 ( 혹은 자료 내역 ) 을
    부여한다 .

   프로세스에 대해 입력 데이터흐름과 출력 데이터흐름의 명칭에
    따라 이름을 부여한다 .
작성방법 (2)
   프로세스에 관련된 데이터저장소를 정의한다 .

   검토하고 보완한다 .

   상위레벨 DFD 완성 후 다음 하위 레벨의 DFD 로 분할하여 최하
    위 레벨까지 그린다 .

   데이터 흐름도의 규모가 너무 커서 한 장의 종이에 그릴 수 없을
    때는 시스템을 서브시스템 (Subsystems) 들로 분할한다 . 분할된
    서브시스템들의 규모가 클 때는 다시 분할을 계속한다 . 이렇게
    세분화를 계속하여 마지막에는 데이터 흐름도를 단순한 기능들만
    으로 그릴 수 있는 단계까지 분할한다 . ( 일반적으로 레벨 3 까지
    면 적당하다 )
작성규칙
   데이터 보존의 법칙
       출력 데이터 흐름은 반드시 입력
        데이터 흐름을 이용하여 생성된
        것이어야 한다 .


   최소 데이터 입력의 법칙
       출력 데이터 흐름을 산출하는데
        반드시 필요한 최소의 데이터 흐
        름만을 입력
작성규칙 (2)
   지속성의 원칙
       프로세스는 입력 데이터 흐름이 들어오기만 한다면 항상 수행할
        준비를 갖추고 있어야 한다 .


   영구성의 원칙
     데이터 흐름의 데이터는 처리 후 없어짐
     데이터 저장소의 데이터는 아무리 읽어도 없어지지 않음
작성규칙 (3)
   순차처리의 원칙
     데이터 흐름을 통해 입력되는 데이터는 도착하는 순서대로 처리
      한다 .
     데이터 저장소로는 어떤 순서에 의해 접근하여도 무방하다 .
작성규칙 (4)
   데이터 변환의 원칙
       데이터 본질의 변환      데이터 관점의 변환




       데이터 합성의 변환      데이터 구성의 변환
예제

데이타 플로우 다이어그램

  • 1.
  • 2.
    DFD?  Data Flow Diagram  데이터가 소프트웨어 내의 각 프로세스를 따라 흐르면서 변환 되는 모습을 나타낸 그림  소프트웨어 및 정보시스템의 분석과 설계에서 매우 유용하게 사 용  시스템의 모형화 도구로서 가장 보편적으로 사용  데이터에 비해 기능이 매우 복잡하고 중요할 경우에 매우 유용
  • 3.
    구성요소  Process  프로세스는 입력되는 데이터를 원하는 데이터로 변환하여 출 력시키기 위한 과정으로 도형적 표기형태로는 원 (Bubble) 과 원안의 이름으로 표현한다 .  원안에 기록하는 이름은 아래에 그림과 같이 프로세스가 수행 하는 일 또는 프로세스를 수행하는 행위자를 기술한다 .  프로세스는 자체적으로는 데이터를 생성할 수 없고 항상 입력 되는 데이터가 있어야 한다 .  프로세스는 항상 새로운 가치를 부가해야 한다 .
  • 4.
    구성요소 (2)  Data Flow  데이터흐름 (Data Flow) 은 DFD 의 구성요소들간의 인터페이스 를 나타낸다 .  대부분의 데이터흐름은 프로세스들 사이를 연결하지만 , 데이터 저장소 (Data Store) 로부터의 데이터흐름을 나타내기도 한다 .  데이터흐름은 명칭이 부여거나 부여되지 않은 화살표로 표시한 다 . 단 , 후속작업들의 참조를 위해 되도록 명칭이 부여되는 것이 바람직하다 .  서로 다른 데이터 흐름에는 동일한 이름을 부여하지 않는다 .
  • 5.
    구성요소 (3)  Data Store  데이터저장소 (Data Store) 는 저장되어 있는 정보 집합이다 .  데이터저장소는 테이프 , 디스크 , 카드 데이타 , 캐비넷의 인 덱스화일 등일 수도 있으며 , 때로는 휴지통일 수도 있다 .  데이터저장소는 단순한 데이터의 저장을 나타내는 것이지 데 이터의 변동을 표시하는 것은 아니다 .  데이터흐름을 표시함으로서 데이터의 입출력을 나타낸다 .  데이터 흐름도에서 데이터저장소를 나타내는 표기법은 단순하 게 두개의 직선 즉 , 평행선으로 나타내고 , 평행선 안에 데이 터저장소의 명칭을 부여한다 .
  • 6.
    구성요소 (4)  External Entity  외부엔티티는 프로세스 처리과정의 데이터발생의 시작 및 종료를 나타낸다 .  어떤 기업의 내적인 (Inside) 외부엔티티는 관리 , 부서 , 기능 , 시스템등을 포함하며 , 기업 외적인 (Outside) 외부엔티티는 고 객 , 거래처 , 공공기관 , 외부시스템등을 포함한다 .  외부엔티티는 데이터 흐름도상에서 프로세스 (Process) 와의 상호 관련성을 표시하며 , 일반적으로 DFD 범위 밖에 사각형 형태로 표시한다 .
  • 7.
    작성방법  업무를 분석하여 프로세스에 대한 모든 입출력 데이터흐름을 식 별한다 . 그리고 업무의 주변 경계에 그들을 표시한다 .  데이터흐름상 필요하거나 제공되어야 할 외부엔티티를 정의한 다.  입력으로부터 출력으로 , 출력으로부터 입력으로 , 또는 중간 지 점부터의 데이터흐름을 식별한다 .  모든 접속관계 데이터흐름에 주의 깊게 명칭 ( 혹은 자료 내역 ) 을 부여한다 .  프로세스에 대해 입력 데이터흐름과 출력 데이터흐름의 명칭에 따라 이름을 부여한다 .
  • 8.
    작성방법 (2)  프로세스에 관련된 데이터저장소를 정의한다 .  검토하고 보완한다 .  상위레벨 DFD 완성 후 다음 하위 레벨의 DFD 로 분할하여 최하 위 레벨까지 그린다 .  데이터 흐름도의 규모가 너무 커서 한 장의 종이에 그릴 수 없을 때는 시스템을 서브시스템 (Subsystems) 들로 분할한다 . 분할된 서브시스템들의 규모가 클 때는 다시 분할을 계속한다 . 이렇게 세분화를 계속하여 마지막에는 데이터 흐름도를 단순한 기능들만 으로 그릴 수 있는 단계까지 분할한다 . ( 일반적으로 레벨 3 까지 면 적당하다 )
  • 9.
    작성규칙  데이터 보존의 법칙  출력 데이터 흐름은 반드시 입력 데이터 흐름을 이용하여 생성된 것이어야 한다 .  최소 데이터 입력의 법칙  출력 데이터 흐름을 산출하는데 반드시 필요한 최소의 데이터 흐 름만을 입력
  • 10.
    작성규칙 (2)  지속성의 원칙  프로세스는 입력 데이터 흐름이 들어오기만 한다면 항상 수행할 준비를 갖추고 있어야 한다 .  영구성의 원칙  데이터 흐름의 데이터는 처리 후 없어짐  데이터 저장소의 데이터는 아무리 읽어도 없어지지 않음
  • 11.
    작성규칙 (3)  순차처리의 원칙  데이터 흐름을 통해 입력되는 데이터는 도착하는 순서대로 처리 한다 .  데이터 저장소로는 어떤 순서에 의해 접근하여도 무방하다 .
  • 12.
    작성규칙 (4)  데이터 변환의 원칙  데이터 본질의 변환  데이터 관점의 변환  데이터 합성의 변환  데이터 구성의 변환
  • 13.