Topic

Data Flow Diagram (DFD)

JackerLab 2025. 6. 24. 00:39
728x90
반응형

개요

Data Flow Diagram(DFD)은 시스템 내 데이터의 흐름과 처리 과정을 시각적으로 표현하는 도구로, 사용자의 입력부터 최종 저장까지 데이터가 어떻게 이동하고 가공되는지를 직관적으로 보여준다. 특히 요구사항 분석, 시스템 설계, 보안 위협 모델링 등 다양한 개발 초기 단계에서 핵심 정보를 구조화하는 데 유용하다.


1. 개념 및 정의

DFD는 시스템의 논리적 구조와 데이터를 처리하는 방식에 중점을 두고 구성 요소 간 상호작용을 명확하게 표현하는 모델링 도구이다. 물리적인 구현 세부 사항보다 '무엇을 하는지'에 집중하며, 레벨에 따라 점진적으로 상세화할 수 있다.

구성 요소 기호 설명
프로세스(Process) 원형(Circle) 또는 타원 데이터를 가공/처리하는 기능 단위
데이터 흐름(Data Flow) 화살표 데이터가 이동하는 방향과 내용
데이터 저장소(Data Store) 이중 직선 또는 열린 직사각형 데이터를 저장하거나 참조하는 영역
외부 엔터티(External Entity) 사각형 시스템 외부와 상호작용하는 사용자 또는 시스템

2. 특징

항목 DFD UML 시퀀스 다이어그램 ERD
표현 대상 데이터 흐름 중심 시간 순서 기반 메시지 흐름 데이터 구조 중심
사용 시점 요구분석, 위협 모델링 초기 상세 설계 이후 DB 설계 전후
정적/동적 관점 동적 (흐름) 동적 (상호작용) 정적 (구조)
  • 추상도 조절 가능: Level 0~2로 시스템 복잡도에 따라 계층화 가능
  • 기술 독립적 설계: 구현 언어나 기술에 상관없이 논리 흐름 분석에 적합
  • 보안 분석과 결합 용이: STRIDE, LINDDUN 등 위협 모델링의 기반으로 사용

3. 작성 단계 및 도구

단계 설명 도구 예시
1. 범위 정의 분석 대상 시스템 또는 기능 정의 스프레드시트, 협업 문서
2. 주요 요소 도출 외부 엔터티, 프로세스, 저장소, 흐름 식별 Miro, Lucidchart
3. Level 0 작성 전체 시스템의 개괄 흐름 도식화 Visual Paradigm, Diagrams.net
4. 하위 레벨 상세화 복잡한 프로세스 분해(Level 1~2) MS Visio, Threat Dragon
5. 검토 및 반복 개선 리뷰 및 이해관계자 피드백 반영 Git 기반 문서화 연계 가능

4. 장점 및 이점

장점 설명 기대 효과
명확한 흐름 시각화 데이터가 어떻게 흘러가는지 파악 용이 개발자-기획자 간 커뮤니케이션 효율 증가
요구사항 명확화 기능 및 데이터 요구를 구조화 기능 누락 방지, 범위 명확화
보안 기반 프레임 활용 위협 모델링과 결합 가능 STRIDE, LINDDUN 등과 연계 가능
추적성과 재사용성 확보 구조적 문서화로 프로젝트 유지보수 용이 개발/운영/감사에 활용 가능

5. 활용 사례 및 고려사항

사례 적용 방식 유의점
핀테크 앱 개발 사용자-API-DB 간 데이터 흐름 모델링 인증/인가 흐름 명확화 필요
개인정보 처리 시스템 입력-보관-제3자 제공 흐름 DFD화 GDPR/LINDDUN 기반 위협 모델 연계 필요
마이크로서비스 아키텍처 각 서비스 간 데이터 이동 경로 분석 서비스 간 경계 명확히 해야 함
  • 과도한 복잡도는 시각화 효과를 저하시킬 수 있으므로, 단계적 모델링이 중요함
  • DFD와 BPMN(업무 흐름) 등을 혼용하지 않도록 구분 필요

6. 결론

Data Flow Diagram(DFD)은 개발 초기 단계에서 시스템 내 데이터 흐름을 시각적으로 표현함으로써, 요구사항 명확화, 커뮤니케이션 증진, 위협 분석 등 다방면에 활용될 수 있는 강력한 분석 도구이다. 적절한 추상도 조절과 도구 활용을 통해 반복 가능한 구조적 모델링을 실현할 수 있으며, 설계 품질 및 보안 수준 향상에 실질적 기여를 할 수 있다.

728x90
반응형

'Topic' 카테고리의 다른 글

RIFT (Routing In Fat-Trees)  (0) 2025.06.24
IriusRisk  (0) 2025.06.24
Attack Tree  (0) 2025.06.23
LINDDUN  (0) 2025.06.23
PASTA(Process for Attack Simulation and Threat Analysis)  (0) 2025.06.23