통합 모델링 언어(UML, Unified Modeling Language)

통합 모델링 언어(UML, Unified Modeling Language)

교과서 기초 개념 정리

 

통합 모델링 언어(UML, Unified Modeling Language)

  • 시스템 분석, 설계, 구현 등의 개발 작업 과정에서 각 이해관계자들의 의사소통을 보다 원활하게 이뤄지도록 한 시각적 모델링 언어
  • 객체지향 언어와 밀접한 관련이 있어 객체지향 모델링 언어라고도 함
  • 소프트웨어 시스템, 업무 모델링, 시스템의 산출물을 규정하고 시각화하며 문서화하는 모델링 언어

UML 관계(Relationship) 개요 및 종류

  • 사물(things, 객체) - 다이어그램에서 관계가 형성될 수 있는 대상으로 다이어그램의 가장 중요한 기본 요소
  • 관계(Relation) - 사물과 사물 사이의 연관성을 표현
  • 연관 관계(Association) - is-member-of
  • 사물과 사물 사이를 실선으로 연결하여 표기, 방향성이 있으면 화살표로 표시
  • 서로에게 영향을 주는 양방향 관계는 그냥 실선으로 표시
  • 다중성은 숫자로 표현

 

 

  • 집합 관계(Aggregation) - 하나의 사물이 다른 사물에 포함되어 있는 관계 part-whole, is-a-part-of

 

 

  • 포함 관계(Composition) - 전체 사물의 변화가 포함되는 사물에 영향을 주는 관계

 

 

  • 일반화 관계(Generalization) - 하나의 사물이 다른 사물에 비해 더 일반적인지 혹은 더 세부적인지 표현 is-a

 

 

  • 의존 관계(Dependency) - 연관성은 있으나 필요에 의해 일정 시점에만 연관을 유지하는 관계

 

 

  • 실체화 관계(Realization) - 행위 또는 인터페이스 중심으로 서로를 그룹화할 수 있는 관계

 

 


UML Diagram

  • 사물과 관계를 도식화하여 표현
  • 다양한 관점에서 시스템을 가시화한 뷰(View)를 제공함으로써 이해자들 간의 의사소통에 도움

구조 다이어그램(정적 모델링)

다이어그램명설명
클래스 다이어그램(Class Diagram)클래스와 클래스가 갖는 속성, 클래스 사이의 관계
객체 다이어그램(Object Diagram)클래스에 속한 사물, 인스턴스를 특정 시점의 객체와 객체사이의 관계로 표현
컴포넌트 다이어그램(Component Diagram)컴포넌트간의 관계, 인터페이스를 표현
배치 다이어그램(Deployment Diagram)산출물, 프로세스, 컴포넌트 등의 물리적 요소의 위치를 표현
복합체 구조 다이어그램(Composite Structure Diagram)클래스, 컴포넌트가 복합적 구조를 갖는 경우 해당 내부구조를 표현
패키지 다이어그램(Pakage Diagram)클래스 모델 요소들을 그룹화한 패키지들의 관계를 표현

 

행위 다이어그램(동적 모델링)

다이어그램명설명
유스케이스 다이어그램(Usecase Diagram)사용자의 요구사항을 분석/사용자와 사용사례로 구성
시퀀스 다이어그램(Sequence Diagram)상호작용하는 시스템이나 객체들이 주고받는 메시지를 표현
커뮤니케이션 다이어그램(Communication Diagram)동작에 참여하는 객체들이 주고받는 메시지, 객체간의 연관까지 표현
상태 다이어그램(State Diagram)하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호작용에 따라 변하는 상태를 표현
활동 다이어그램(Activity Diagram)시스템이 어떤 기능을 수행하는지 객체의 처리 알고리즘이나 조건에 따른 처리 흐름을 순서에따라 표현
상호작용 개요 다이어그램(Interaction Diagram)상호작용 다이어그램 간의 제어흐름 표현
타이밍 다이어그램(Timing Diagram)객체상태변화에 시간제약을 표현

© 2022. All rights reserved.