UML(Unified Modeling Language)
시스템 개발 과정에서 개발자와 고객 또는 개발자 상호간의 의사소통이 원활하도록 표준화한 객체지향 모델링 언어
- 객체지향 방법론의 장점을 통합, OMG에서 표준으로 지정함
- 6개의 시스템 구조 다이어그램, 7개의 시스템 행위 다이어그램 작성 가능
- 사물과 사물 간의 관계를 용도에 맞게 표현
- 사물, 관계, 다이어그램 등
사물(Things)
모델을 구성하는 가장 중요한 기본 요소. 관계가 형성될 수 있는 대상
구조 사물(Structural Things)
- 시스템의 개념적, 물리적 요소 표현
- 클래스, 유스케이스, 컴포넌트, 노드 등
행동 사물(Behavioral Things)
- 시간과 공간에 따른 요소들의 행위 표현
- 상호작용, 상태머신 등
그룹 사물(Grouping Things)
주해 사물(Annotation Things)
관계(Relationship)
사물과 사물 사이의 연관성을 표현한 것
연관(Association) 관계 : 2개 이상의 사물이 서로 관련
- 관계 : 실선으로 연결하여 표현
- 방향성 : 화살표로 표현
- 서로 영향을 주는 양방향 관계의 경우 화살표 없음
- 다중도 : 연관에 참여하는 객체의 개수
다중도 | 의미 |
---|
1 | 1개의 객체가 연관 |
n | n개의 객체가 연관 |
0..1 | 연관된 객체가 없거나 1개만 존재 |
0,, 또는 | 연관된 객체가 없거나 다수 |
1..* | 연관된 객체가 적어도 1개 이상 |
n..* | 연관된 객체가 적어도 n개 이상 |
n..m | 연관된 객체가 최소 n개에서 최대 m개 |
집합(Aggregation) 관계 : 하나의 사물이 다른 사물에 포함
- 포함되는 쪽과 포함 하는 쪽은 서로 독립적
- 포함되는 쪽에서 포함하는 쪽으로 빈 마름모를 연결
포함(Composition) 관계 : 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계
- 포함하는 쪽과 포함되는 쪽은 서로 독립될 수 없음 (생명주기를 함께함)
- 포함되는 쪽에서 포함하는 쪽으로 속이 채워진 마름모를 연결
일반화(Generalization) 관계 : 하나의 사물이 다른 사물에 비해 더 일반적인지 or 구체적인지
- 상위 : 보다 일반적인 개념
- 하위 : 보다 구체적인 개념
- 구체적인 사물에서 일반적인 사물로 속이 빈 화살표 연결
의존(Dependency) 관계 : 필요에 의해 짧은 시간 동안만 연관을 유지하는 관계
- 소유 관계는 아니지만 영향을 미치는 관계
- 한 클래스가 다른 클래스를 오퍼레이션의 매개 변수로 사용하는 경우
- 영향을 주는 사물이 영향을 받는 사물 쪽으로 화살표를 연결
실체화(Realization) 관계 : 사물이 해야하는 기능으로 서로를 그룹화
- 한 사물이 다른 사물에게 오퍼레이션을 수행하도록 지정
- 사물에서 기능 쪽으로 속이 빈 점선 연결
다이어그램(Diagram)
사물과 관계를 도형으로 표현
- 뷰를 제공함으로써 의사소통에 도움
- 정적 모델링 - 구조적 다이어그램 사용
- 동적 모델링 - 행위 다이어그램 사용\
구조적 다이어그램 종류
행위 다이어그램 종류
스테레오 타입
UML 기본 기능 외에 추가적인 기능을 표현할 때 사용