Computer Science

[TIL][CS] UML / UML 다이어그램이란?

쉬지마 이굥진 2024. 3. 21. 23:57

✏️ 대표적인 개념 모델링 도구, UML

UML (Unified Modeling Language)

  • 모델링 기술과 방법론을 통합하여 표준화한 객체지향 모델링 언어
  • 소프트웨어 개발 과정에서 의사소통을 원활하게 하기 위해 사용
  • UML 구성 요소: 사물(Things), 관계(Relationships), 다이어그램(Diagram)

 

🔹 사물

  • 객체 간의 관계를 형성하는 대상으로 모델을 구성하는 기본 요소
  • 구조 사물 - 시스템의 개념적, 물리적 요소를 표현 (Class, Use Case, Component, Node)
  • 행동 사물 - 시간과 공간에 따른 요소들의 행위를 표현 (Interaction, State Machine)
  • 그룹 사물 - 요소들을 그룹으로 묶어서 표현 (Package)
  • 주해 사물 - 부가적인 설명이나 제약 조건들을 표현 (Note) 

🔹 관계

  • 사물과 사물 사이의 연관성을 표현하는 방식 
  • 종류: 연관, 집합, 포함, 의존, 일반화, 실체화 관계

 

스테레오타입 (Stereotype)

  • UML에서 표현하는 기본 기능 외에 추가적인 기능 표현
  • 길러멧(Guilemet)이라고 부르는 겹화살괄호 << >>를 사용 
  • ex) <<include>>, <<extend>>, <<interface>>

 

UML 접근 제어자

  • + : public, 어떤 클래스에서든 접근 가능
  • - : private, 해당 클래스만 접근 가능
  • # : protected, 해당 클래스와 동일 패키지 혹은 상속 관계의 하위 클래스만 접근 가능
  • ~ : package, 동일 패키지 클래스 객체들만 접근 가능

 

UML 관계 다중성 표현

  • 1     : 1개의 객체 
  • *      : 다수의 객체
  • 1..* : 1개 이상 객체 연결
  • 0..1 : 연결된 객체가 0이거나 1
  • n     : n개 객체 연결 
  • n..* :  n개 이상 객체 연결 

 

UML 다이어그램 (Diagram)

  • 객체의 관계를 도식화한 것으로 뷰(View)를 제공
  • 여러 관점에서 의사소통할 수 있도록 돕는 역할 
  • 정적 모델 - 구조적 다이어그램 사용 
  • 동적 모델 - 행위 다이어그램 사용

출처: https://younghan56.tistory.com/100

 

🔹 구조적 다이어그램 (Structural Diagram)

  • 정적 모델로 시스템의 구조와 관계를 시각적으로 표현 
  • 시스템의 전체 구조 파악에 좋음 
  • 종류
    - 클래스 다이어그램 ⭐
          - 클래스, 인터페이스의 관계를 표현한 다이어그램 
          - 시스템의 구조를 파악하고 설계에 활용 
          - 구성 : 클래스 이름, 속성, 오퍼레이션, 제약조건, 관계
     - 객체 다이어그램  
          - 객체 간의 관계와 상태를 표현할 때 사용 
          - 클래스 다이어그램 설계의 동작 방식 파악에 활용 
     - 컴포넌트 다이어그램 
          - 컴포넌트 간의 관계나 컴포넌트 간의 인터페이스의 관계를 표현 
          - 컴포넌트 상호 작용 표현하여 구현 단계에서 사용 
     - 배치 다이어그램 (Deployment Diagram)
          - 결과물, 프로세스, 컴포넌트 등의 물리적인 배치와 구성을 표현
          - 소프트웨어가 배포되는 방식과 상호작용을 나타내어 구현 단계에서 사용 
    - 복합체 구조 다이어그램 (Composite Structure Diagram)
          - 복잡한 구조를 갖는 클래스나 컴포넌트의 내부 구조를 표현 
          - 시스템 내부 구조를 모델링하는데 주로 사용 
    - 패키지 다이어그램
          - 여러 개체를 그룹화하여 패키지들의 관계를 표현
          - 시스템의 모듈화와 구조화에 활용  

🔹 행위 다이어그램 (Behavioral Diagram)

  • 동적 모델로 시스템의 동작을 시각적으로 표현 
  • 메세지 흐름, 객체 간 상호 작용을 파악하기 좋음 
  • 종류
    - 유스 케이스 다이어그램
         - 시스템을 사용하는 사용자의 상호 작용을 표현 
         - 사용자의 시스템 사용 방식 표현, 사용자 요구 분석 작업에 사용
         - 구성: 유스케이스, 액터, 시스템, 관계 
    - 시퀀스 다이어그램
         - 객체들이 주고받는 메세지들의 시간 흐름과 순서에 초점을 맞춰 상호작용을 표현 
         - 구성: 객체, 생명선, 실행, 메세지
    - 스테이트 머신 다이어그램
         - 객체의 상태 변화나 객체간 상호 작용에 따른 변화를 표현 
         - 구성: 상태, 이벤트, 전이 
    - 액티비티 다이어그램
         - 시스템의 프로세스나 작업의 처리과정을 표현 
         - 시스템 흐름 파악에 활용 

오늘은 UML이 뭔지, UML은 어떻게 구성되어 있는지, UML을 활용한 다이어그램들에는 어떤 것들이 있는지 공부했다!! 
곧 있을 정보처리기사를 위해서도 외우고 넘어가는 게 좋겠다 ! 아자아자