데이터 흐름도 (DFD) - 구조적 방법론을 대표하는 다이어그램 (절차지향) - 데이터가 소프트웨어의 각 프로세스를 따라 변환되는 모습을 나타낸 다이어그램 - 프로세스 간의 데이터 흐름을 표현함
데이터 흐름도 구성요소 - 프로세스 -> 입력 데이터를 원하는 데이터로 변환하여 출력하기 위한 과정 -> 표현은 원 으로 하고, 원 안에 이름을 표현 - 데이터 흐름 -> 구성요소들 간의 인터페이스를 나타냄 -> 화살표로 나타냄 - 데이터 저장소 -> 데이터가 저장되어 있는 집합 -> 2개의 직선으로 평행선, 평행선 안에 데이터 저장소의 명칭 부여 - 외부 엔티티 -> 데이터의 흐름을 주도하는 객체 -> 데이터 흐름도의 입력과 출력에 존재 -> 사각형 기호로 그려짐
데이터 흐름도 작성방법 1) 업무를 분석하여 프로세스에 대한 모든 입출력 데이터흐름 식별 2) 데이터흐름상 필요하거나 제공되어야 할 외부 엔티티 정의 3) 입력 -> 출력, 출력 -> 입력, 또는 중간 지점 부터의 데이터 흐름을 식별 4) 모든 접속관계 데이터 흐름에 주의 깊게 명칭을 부여 (변수명을 지을 때 도움이 됨) 5) 프로세스도 입력/출력의 데이터 흐름의 명칭에 따라 이름을 부여 6) 프로세스에 관련된 데이터 저장소를 정의 7) 검토 및 보완
데이터 흐름도 작성 규칙 - 데이터 보존의 원칙 -> 프로세스의 출력 데이터 흐름은 입력 데이터 흐름을 이용하여 생성한 것이어야 한다. - 최소데이터 입력의 원칙 -> 출력 데이터 흐름을 산출하는데 반드시 필요한 입력 데이터만 입력해야 한다. (안지키면 구현이 어려워짐) - 지속성의 원칙 -> 프로세스는 입력 데이터 흐름이 들어오면 바로 수행할 준비를 갖추어야 한다. - 순차처리의 원칙 -> 입력데이터가 들어온 순서대로 처리해야 된다. -> 데이터 저장소의 접근 순서는 상관이 없다. - 영구성의 원칙 -> 데이터 흐름의 데이터는 처리한 후 없어지지만 데이터 저장소의 데이터는 아무리 읽어도 없어지지 않는다. - 데이터 변환의 원칙 1) 데이터 본질의 변환 : 편집, 계산 2) 데이터 합성의 변환 : 2개 이상의 입력 데이터 흐름에 대해 하나의 출력 데이터 흐름을 산출 3) 데이터 관점의 변환 : 실제적인 변경을 하지 않지만 관점이 바뀜 (거절된 주문서 -> 적합한 주문서) 4) 데이터 구성의 변환 : 출력 데이터는 입력 데이터와 동일하지만, 데이터 구성형태가 변환 (판매 자료 -> 판매 보고서) - 데이터 독립성의 원칙 -> 프로세스는 오직 자신의 입력과 출력에만 신경쓰면 됨 -> 데이터흐름이 어디서 와서 어디로 가는지는 관심 밖임
데이터 흐름도 주의사항 - 각각의 데이터 흐름에 대해 새로운 명칭을 명명해야 함
데이터 흐름도의 장점 - (명확성과 간결성) 데이터의 흐름에 대해 명확히 볼 수 있어서 시스템의 이해에 도움이 됨 - (원활한 의사소통) 효과적인 의사소통에 도구로 사용됨
데이터 흐름도의 단점 - (세부사항의 부족) 복잡한 시스템의 경우 모든 데이터 흐름을 표시할 수 없음 - 객체 지향 관점의 구조는 표현이 어려움