UML[Unified Modeling Language] |
시스템 설계를 시각화하는 표준 방법 |
클래스 다이어 그램 |
객체 지향 모델링에서 클래스의 속성 및 연산과 클래스간의 정적인 관계를 표현 순환, 의존이 발생하는 문제점을 파악하기 용이
클래스 : 공통 속성, 연산, 관계, 의미를 공유하는 객체들의 집합 |
관계 표현
연관 Association |
클래스가 서로 개념적으로 연결된 선 2개 이상의 사물이 서로 관련되어 있는 상태 방향성은 화살표로 표시하며, 서로에게 영향이 있는 양방향 관계의 경우 실선으로 표현 |
1 |
한 객체와 연관 |
0..1 |
0개에서 1개까지 연관됨 |
0..* |
0개 또는 무한한 객체와 연관[0 생략가능] |
1..2,4 |
1개에서 2개 또는 4개까지 연관 |
의존 Dependency |
하나의 클래스가 다른 클래스를 사용하는 관계 다른 클래스의 멤버 함수 사용 영향을 주는 사물이 영향을 받는 사물 쪽으로 점선 화살표를 연결하여 표현 |
일반화 Generalization |
일반적인 개념[부모]에 구체적인 개념[자식]으로 표현되는 관계 자식에서 부모로 화살표로 표현 |
실체화 Realization |
추상 클래스나 인터페이스를 상속받아 자식클래스가 추상 메서드를 구현할 때 사용 |
포함 Composition |
영구적이며, 집합관계보다 강한 관계로 표현 자동차[Whole]은 바퀴,핸들[part]를 종속적으로 가지고 있고, 전체수명을 책임지며, Part는 공유되지 않습니다. 포함되는 쪽이 포함되는 쪽으로 꽉찬 마름모로 표현 |
집합 Aggregation |
하나의 객체에 여러개의 독립적인 객체들이 구성되는 관계 하나의 객체가 다른 객체에 포함되어 있습니다. 포함되는 쪽[Part]에서 포함되는 쪽[Whole]으로 빈 마름모로 표현합니다. |