Contents
- 1 UML(Unified Modeling Language)이란
- 2 UML의 가치
- 3 UML의 구성
- 3.1 모델링 요소
- 3.2 관계
- 3.3 확장성 메커니즘
- 3.4 다이어그램
- 3.4.1 정적 다이어그램
- 3.4.2 동적 다이어그램
1 UML(Unified Modeling Language)이란 #
- 소프트웨어 시스템의 산출물들을
- 시각화(visualizing)
- 명세화(specifying)
- 구축(constructing)
- 문서화(documenting)
하기 위한 언어임
- UML은 Grady Booch, Jim Rumbaugh, Ivar Jacobson의 방법론을 통합한 객체지향 개발을 위한 위한 통합 모델링 언어
2 UML의 가치 #
- 개방형 표준임
- 전체 소프트웨어 개발 라이프사이클을 지원함
- 다양한 어플리케이션 분야를 지원
- 사용자들의 경험과 요구에 기반함
- 지원 도구가 많음
- 구조적 요소 : UML모델의 명사형으로써 모델의 정적인 부분이며 개념적이거나 물리적인 요소들을 표현
- Class, Interface, Use Case, Collaboration, Component, Node
- 행위요소 : UML 모델의 동사형으로써 모델의 동적인 부분이며 시간과 공간에 따른 행동요소들을 표현
- Interaction, State Machine
- 그룹핑 요소 : UML 모델을 조직하는 부분이며 모델을 분해하여 재 구성화 할 수 있는 단위 상자
- 기타 요소 : Note(주석)
- Association : 구조적 관계로써 Link의 집합을 나타냄
- Dependency : 두 사물간의 의미적인 관계로써 종속성을 나타냄
- Generalization : Inheritance
- Realization : Implements
3.3 확장성 메커니즘 #
- Stereotypen : UML 어휘를 확장하여 새로운 종류의 구성 요소를 생성
- Tagged Value : UML 구성요소가 갖는 Property를 확장
- Constraint : UML 구성요소가 갖는 의미를 확장하여 새로운 규칙의 추가 및 기존 규칙 변경
- 뷰를 반영한 모델
- 특정이해관계자의 관점에서 나타낸 것
- 시스템의 일부를 표현한 것
- 다른 관점의 다이어그램과 의미적으로 일관성이 있음
- Use Case Diagram : 사용자 관점에서 시스템 기능을 나타냄
- 개발 초기 단계에 작성
- 목적
- 시스템 상황(Context)를 구체화
- 시스템 요건의 파악
- 시스템 아키텍쳐의 검증
- 구현 추진 및 테스트 케이스 생성
- Class Diagram : 시스템의 어휘(vocabulary)를 나타냄
- 개발기간 전체에 걸쳐 작성 및 보완
- 목적
- 시스템 내의 개념을 명명하고 모델링
- Collaboration을 구체화
- 논리적 DB구조 구체화
- Object Diagram : Instance와 link를 나타냄
- 분석 및 설계 기간에 작성
- 목적
- 데이터/객체 구조 묘사
- Snapshot의 구체화
- Component Diagram : 물리적 구현 구조를 나타냄
- 아키텍쳐 사양의 일부로 작성됨
- 목적
- 소스코드 작성
- 실행 가능한 release의 구축
- 물리적 DB 구체화
- Deployment Diagram : 시스템의 하드웨어 topology(위상)을 나타냄
- 아키텍쳐 사양의 일부로 작성됨
- 목적
- 컴포넌트 분포의 구체화
- 성능상의 bottleneck 파악
- Sequence Diagram : 동적 행동을 나타냄(시간중심)
- 목적
- Control의 Flow를 모델화
- 전형적 시나리오의 묘사
- Collaboration Diagram : 동적 행동을 나타냄(메시지 중심)
- 목적
- Control의 Flow를 모델화
- 객체 구조와 Control의 코디네이션 묘사
- Statechart Diagram : 동적 행동을 나타냄(이벤트 중심)
- 목적
- 객체 라이프 사이클 모델링
- reactive 객체의 모델화
- Activity Diagram : 동적 행동을 나타냄(행동 중심)
- 목적
- 비지니스 workflow 모델링
- 운영(operations)을 모델링