2023년 7월 2일 작성

UML - System 시각화하기

UML은 표준화된 모형을 만드는 언어로, program 설계를 시각화하여 소통을 원활하게 합니다.

Unified Modeling Language

  • UML은 표준화된(Unified) 모형을 만드는(Modeling) 언어(Language)를 의미합니다.
    • program 설계를 표현하기 위해 사용하는, 주로 그림으로 된 표기법입니다.
    • 설계도를 만들기 위한 언어이며, programing language는 아닙니다.
  • UML은 system에 대한 표준적인 표현 방법입니다.
    • 표기법이 통일되기 때문에, 더 원활한 소통이 가능합니다.
  • UML은 software system, 업무 modeling, system의 산출물을 규정하고 시각화하며 문서화하는 언어입니다.
    • 개발 기획과 산출물에 대한 확실한 증거가 됩니다.
  • 복잡한 system을 시각적으로 표현하여 text로 작성한 설계보다 이해하기 쉽습니다.
    • 특히 한번에 이해하기 어려운 복잡한 system은 시각적 modeling이 필수이기 때문에, UML이 자주 사용됩니다.
    • software system을 구축하기 전에 model을 설계하는 것은 건물을 지을 때 청사진을 그리는 것과 같이 필수적인 일입니다.
  • 개발자와 개발자 사이, 개발자와 비개발자 사이에서의 소통을 위한 도구로도 UML을 사용합니다.
    • UML은 개발 지식이 없는 사람도 program이 제공해야 할 기능과 구조를 표현하는 것을 가능하게 합니다.
      • 일반적인 programming 언어와는 달리 도형으로 표현이 가능하기 때문입니다.
  • UML은 객체 지향 modeling 언어라고도 불립니다.
    • 객체 지향 언어와 밀접한 관련이 있기 때문입니다.
    • 그러나 UML은 modeling 언어일 뿐 방법론은 아닙니다.

UML의 종류

UML 설명
Class Diagram class 명세와 class 간의 관계를 표현
Composite Structure Diagram 전체-부분 구조를 가진 class를 실행할 때의 구조를 표현
Component Diagram hardware와 network 등 system의 물리 구조를 표현
Object Diagram instance 간의 연관 관계를 표현
Package Diagram package 간의 연관 관계를 표현
Activity Diagram 일련의 처리에 있어 제어의 흐름을 표현
Sequence Diagram instance 간의 상호작용을 시계열로 표현
Communication Diagram instance 간의 상호작용을 구조 중심으로 표현
Interaction Overview Diagram 조건에 따라 다르게 동작을 하는 sequence diagram을 activity diagram 안에 포함하여 표현
Timing Diagram instance 간의 상태 전이와 상호작용을 시간 제약으로 표현
UseCase Diagram system이 제공하는 기능과 이용자의 관계를 표현
State Machine Diagram instance의 상태 변화를 표현

Reference


목차