본문 바로가기
SW 공부/OOP_OOAD_UML

[UML] 13개의 UML Diagrams 소개

by 꼬냉상 2022. 8. 29.

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)

1.  Use Case Diagram

   - Behavior diagram

   : external actor가 우리의 system을 어떻게 사용하는지 usecase를 보여줌

  → text로 된 시나리오*(use case의 핵심)가 중요 

 

2. Class Diagram

 - 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로 묶는 것)

 

 

5. Component Diagram

 - Structure diagram

 : 실제 개발단위인 Component의 연결을 표시

 

6. Composite Structure Diagram 

  - Structure diagram

  : run-time instance를 통신 링크로 연결 (Component Diagram을 hierarchy  있게 그린 버전)
  - Component의 내부 구성하는 그림도 그릴수 있음 

   

 

 

7. Deployment Diagram 

 - Structure diagram

 : 하드웨어 노드의 런타임 구성과 해당 노드에서 실행되는 소프트웨어 구성 요소를 보여줌

  - 개발 끝에 나옴 (실제로  Deploy를 해야 할 때) 

    

 

8. Sequence Diagram

 - 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 구조설계 역량 강화를 위한 학습 목적으로 정리된 내용입니다.
일부 타/개인 단체에 저작권이 있는 자료를 포함하고 있으므로, 절대 영리 목적으로 사용하실 수 없습니다.
반응형

댓글