소프트웨어공학

설계 (Part 6) : 절차지향 모델링 (데이터 흐름도(DFD))

chlqhrud0208 2024. 12. 15. 15:50
  • 데이터 흐름도 (DFD)
    - 구조적 방법론을 대표하는 다이어그램 (절차지향)
    - 데이터가 소프트웨어의 각 프로세스를 따라 변환되는 모습을 나타낸 다이어그램
    - 프로세스 간의 데이터 흐름을 표현함

 

  • 데이터 흐름도 구성요소
    - 프로세스
       -> 입력 데이터를 원하는 데이터로 변환하여 출력하기 위한 과정
       -> 표현은 원 으로 하고, 원 안에 이름을 표현
    - 데이터 흐름
       -> 구성요소들 간의 인터페이스를 나타냄
       -> 화살표로 나타냄
    - 데이터 저장소
       -> 데이터가 저장되어 있는 집합
       -> 2개의 직선으로 평행선, 평행선 안에 데이터 저장소의 명칭 부여
    - 외부 엔티티
       -> 데이터의 흐름을 주도하는 객체
       -> 데이터 흐름도의 입력과 출력에 존재
       -> 사각형 기호로 그려짐

 

  • 데이터 흐름도 작성방법
    1) 업무를 분석하여 프로세스에 대한 모든 입출력 데이터흐름 식별
    2) 데이터흐름상 필요하거나 제공되어야 할 외부 엔티티 정의
    3) 입력 -> 출력, 출력 -> 입력, 또는 중간 지점 부터의 데이터 흐름을 식별
    4) 모든 접속관계 데이터 흐름에 주의 깊게 명칭을 부여 (변수명을 지을 때 도움이 됨)
    5) 프로세스도 입력/출력의 데이터 흐름의 명칭에 따라 이름을 부여
    6) 프로세스에 관련된 데이터 저장소를 정의
    7) 검토 및 보완

 

  • 데이터 흐름도 작성 규칙
    - 데이터 보존의 원칙
       -> 프로세스의 출력 데이터 흐름은 입력 데이터 흐름을 이용하여 생성한 것이어야 한다.
    - 최소데이터 입력의 원칙
       -> 출력 데이터 흐름을 산출하는데 반드시 필요한 입력 데이터만 입력해야 한다. (안지키면 구현이 어려워짐)
    - 지속성의 원칙
       -> 프로세스는 입력 데이터 흐름이 들어오면 바로 수행할 준비를 갖추어야 한다.
    - 순차처리의 원칙
       -> 입력데이터가 들어온 순서대로 처리해야 된다.
       -> 데이터 저장소의 접근 순서는 상관이 없다.
    - 영구성의 원칙
       -> 데이터 흐름의 데이터는 처리한 후 없어지지만 데이터 저장소의 데이터는 아무리 읽어도 없어지지 않는다.
    - 데이터 변환의 원칙
       1) 데이터 본질의 변환 : 편집, 계산
       2) 데이터 합성의 변환 : 2개 이상의 입력 데이터 흐름에 대해 하나의 출력 데이터 흐름을 산출
       3) 데이터 관점의 변환 : 실제적인 변경을 하지 않지만 관점이 바뀜 (거절된 주문서 -> 적합한 주문서)
       4) 데이터 구성의 변환 : 출력 데이터는 입력 데이터와 동일하지만, 데이터 구성형태가 변환 (판매 자료 -> 판매 보고서)
    - 데이터 독립성의 원칙
       -> 프로세스는 오직 자신의 입력과 출력에만 신경쓰면 됨
       -> 데이터흐름이 어디서 와서 어디로 가는지는 관심 밖임

 

  • 데이터 흐름도 주의사항
    - 각각의 데이터 흐름에 대해 새로운 명칭을 명명해야 함

 

  • 데이터 흐름도의 장점
    - (명확성과 간결성) 데이터의 흐름에 대해 명확히 볼 수 있어서 시스템의 이해에 도움이 됨
    - (원활한 의사소통) 효과적인 의사소통에 도구로 사용됨

 

  • 데이터 흐름도의 단점
    - (세부사항의 부족) 복잡한 시스템의 경우 모든 데이터 흐름을 표시할 수 없음
    - 객체 지향 관점의 구조는 표현이 어려움