데이터 흐름도(DFD)는 시스템 구성요소인 프로세스와 프로세스 간 데이터 흐름을 표현하는 주요 도구
자료 흐름 그래프 또는 버블(bubble) 차트라고 부르기도 함
구조적 분석 기법에 사용
자료 흐름과 기능을 자세히 표현하기 위해 단계적으로 세분화
DFD 구성요소
프로세스(Process): 원
데이터 흐름도(Data Flow): 화살표
자료 저장소(Data Store): 직선(단선/이중선)
단말(Terminator): 사각형
구조 다이어그램 7개, 행위 다이어그램 7개로 총 14종류의 다이어그램이 있다.
구조적 다이어그램 / 정적 다이어그램
클래스 다이어그램 (Class Diagram) - 클래스 명세와 클래스 간의 관계를 표현
객체 다이어그램(Object Diagram) - 인스턴스간의 연관관계 표현
컴포넌트 다이어그램(Component Diagram) - 파일과 데이터베이서, 프로세스와 스데르 등의 소프트웨어
구조를 표현
배치 다이어그램(Deployment Diagram) - 종속성 표현(위치)
복합체구조 다이어그램(Composite Diagram) - 복합구조
패키지 다이어그램(Pakage Diagram) - 그룹화한 패키지 관계 표현
행위적 다이어그램 / 동적 다이어그램
유스케이스 다이어그램(UseCase Diagram) - 시스템이 제공하는 관계와 이용자와의 관계
시퀀스 다이어그램 (Sequence Diagram) - 인스턴스간의 상호 작용을 시계열로 표현
커뮤니케이션(Communication Diagram) - 인스턴스간 상호 작용을 구조 중심으로 표현
스테이트 머신 다이어그램 (State Machine Diagram) - 인스턴스의 상태 현화를 표현
인터액션 오버뷰 다이어그램 (Interaction Overview Diagram) - 조건에 따라 다르게 동작하는 시퀀스 다이어그램을 액티비티 다이어그램 안에 포함하여 표현
타이밍 다이어그램(Timing Diagram) - 인스턴스 간의 상태 전이와 상호 작용을 시간 제약으로 표현
출처 : https://moo-you.tistory.com/202
● SRP, 단일 책임 원칙(Single Responsibility Principle)
객체는 단 하나의 책임만 가져야 한다.
● OCP, 개방-폐쇄 원칙(Open-Closed Principle)
기존의 코드를 변경하지 않으면서 기능을 추가할 수 있도록 설계가 되어야 한다.
확장에 대해 열려 있어야 하고, 수정에 대해서는 닫혀 있어야 한다.
● LSP, 리스코프 치환 원칙(Liskov Substitution Principle)
서브타입(상속받은 하위 클래스)은 어디에서나 자신의 기반타입(상위클래스)으로 교체할 수 있어야 한다.
● ISP, 인터페이스 분리 원칙(Interface Segregation Principle)
클라이언트는 자신이 사용하지 않는 메서드와 의존관계를 맺으면 안된다.
클라이언트가 사용하지 않는 인터페이스 때문에 영향을 받아서는 안된다.
● DIP, 의존 역전 원칙(Dependency Inversion Principle)
의존 관계를 맺을 때, 변화하기 쉬운 것보다 변화하기 어려운 것에 의존해야 한다.