UML 이란
- Unified Modeling Language
- OMG2.0에서 제공하는 SW 외에도 범용 되는 표준
- Combine the best of the best from
– Data Modeling (Entity Relationship Diagrams)
– Business Modeling (workflow)
– Object Modeling
– Component Modeling (development and reuse - middleware, COTS)
→ SW 개발 아니라도 다양한 모델링에도 사용됨
The UML Semantics (UML 의미론)
- MOF (Meta Object Facility) defines a four-layer meta model hierarchy.
– Layer M3: Meta-meta model layer (The MOF model)
– Layer M2: Meta model layer (The UML meta model)
– Layer M1: Model layer (The UML model)
– Layer M0: Information layer (the Application)
→ MOF and UML are aligned. (다 같은 notation)
→ UML infrastrucre는 UML 및 MOF 사양에 필요한 모든 개념을 포함합니다.
UML 2.0 Diagrams (13 UML diagram)
- Behavior diagram
: external actor가 우리의 system을 어떻게 사용하는지 usecase를 보여줌
→ text로 된 시나리오*(use case의 핵심)가 중요
- Structure diagram
: inter-relationships를 static 하게 기술
→ class의 operations과 attributes을 보여줌
* OOA : Domail model
* OOD : Design class diagram (DCD)
3. Object Diagram
- Structure diagram
: 특정 시;점 "스냅샷"을 정리할 필요가 있을 때 사용
4. Package Diagram
- Structure diagram
: Logical Architecutre로 실질적 구현 단위가 아님 (논리적으로 Layered Architecture로 묶는 것)
- Structure diagram
: 실제 개발단위인 Component의 연결을 표시
6. Composite Structure Diagram
- Structure diagram
: run-time instance를 통신 링크로 연결 (Component Diagram을 hierarchy 있게 그린 버전)
- Component의 내부 구성하는 그림도 그릴수 있음
7. Deployment Diagram
- Structure diagram
: 하드웨어 노드의 런타임 구성과 해당 노드에서 실행되는 소프트웨어 구성 요소를 보여줌
- 개발 끝에 나옴 (실제로 Deploy를 해야 할 때)
- Interaction diagram
: time sequence에 따라 object들의 communication을 보여줌
9. Communication Diagram
- Interaction diagram
: dynamic behavior를 모델링
class diagram을 그린 뒤에 선을 다 지우고 sequence numbering + 방향성을 써서 operation을 표시
→ Sequence Diagram을 압축해서 시나리오를 설명할 때 Communication Diagram을 사용
10. Timing Diagram
- Interaction diagram
: 주어진 시간동안의 behavior를 표시
11. Interaction Overview Diagram
- Interaction diagram
: 상호작용하는 흐름을 Overview
activity diagram을 그린 뒤, 각 노드에다가 Sequence Diagram/ Communication Diagram을 넣은 Overview
→ System test case 만들 때 많이 사용
12. State (Statechart) Diagram
- Behavior diagram
: 개체간 다른 상태를 보여주고, 다양한 event에 어떻게 반응해서 다른 state로 변경되는지 표시
analysis, Design 단계에 좋음
→ state에서 넘어갈 때 일을 함
13. Activity Diagram
- Behavior diagram
: 일의 순서를 정할 때
flow chart / Data flow diagram
→ state에서 일을 하고 다음 state로 넘어감
Quiz) UML에 대한 다음의 설명 중 올바르지 않은 것은?
① UML은 OOAD 개발방법론이 아니다.
② UML을 잘 사용하면 Object-Oriented 방식으로 생각(Design)도 잘할 수 있다.
③ UML로 요구사항/디자인 명세서(Specification) 내용의 일부 작성할 수 있다.
④ UML을 상호간에 의사소통의 도구로서 사용할 수도 있다.
Quiz) UML 2.2를 구성하는 다양한 다이어그램 중 3개만 OOAD에서 사용할 수 있다고 한다면, 어떤 다이어그램을 선택해야 할까요?
- Class Diagram, Use Case Diagram, Sequence Diagram
Quiz) UML Object Model에는 Static Model과 Dynamic Model 두 종류가 있습니다. 각각을 대표하는 UML Diagram은 무엇인가요? 또 이 두 모델이 서로 어떤 관계를 가지면서 어떻게 사용되는지 설명하세요.
→ Class Diagram과 Sequence Diagram.
We should spend a short period of time on interaction diagrams (ex.Sequence diagram), then switch to a wall of related class diagrams.
Sequence diagram과 같은 interaction diagrm에서 class diagram을 반복적으로 생성할 수 있습니다.
- 상호 작용 다이어그램을 그릴 때 일련의 클래스와 방법이 나타납니다.
- 두 개의 상호 보완적인 동적 및 정적 뷰가 동시에 반복적으로 그려집니다.
본 글은 개인의 S/W 구조설계 역량 강화를 위한 학습 목적으로 정리된 내용입니다.
일부 타/개인 단체에 저작권이 있는 자료를 포함하고 있으므로, 절대 영리 목적으로 사용하실 수 없습니다.
'SW 공부 > OOP_OOAD_UML' 카테고리의 다른 글
[UML] Class Diagram (2) | 2022.08.29 |
---|---|
[UML] Use Case Diagram (0) | 2022.08.29 |
[OOP] 3. Object-Oriented Development (객체지향 개발론) (12) | 2022.08.29 |
[OOP] 2. Object-Oriented Principles (객체지향 원칙) (2) | 2022.08.29 |
[OOP] 1. Object-Oriented (객체지향) 정의 (2) | 2022.08.29 |
댓글