백엔드 개발자 블로그

UML 본문

Programming/요구사항 분석

UML

backend-dev 2024. 5. 9. 20:50

UML이란?

고객 or 개발자 상호간의 의사소통이 원활하게 이루어질 수 있도록 표준화한 객체지향 모델링 언어

구성요소

사물

관계가 형성되는 대상

  • 구조 사물 : 개념적, 물리적 요소
  • 행동 사물 : 행위
  • 그룹 사물 : 요소들의 그룹
  • 주해 사물 : 부가적인 설명 or 제약 조건

관계

사물과 사물 사이의 연관성

    • 다중도 
      다중도 의미
      n n개의 객체가 연관됨
      0..1 연관된 객체가 없어가 1개만 존재함
      0..* / * 연관된 객체가 없거나 다수일 수 있음
      n..* 연관된 객체가 적어도 n개 이상
      n..m 연관된 객체가 n ~ m개
    • 관계 종류
      • 집합 : 하나의 사물이 다른 사물에 포함되어있는 관계
img
      • 포함 : 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계
img
      • 의존 : 짧은 시간 동안만 영향을 주는 관계
img
      • 일반화 : 상위 개념
img
    • 실체화 : 기능을 그룹화할 수 있는 관계
img

다이어그램

사물과 관계를 도형으로 표현

구조적 다이어그램

정적모델링에서는 주로 구조적 다이어그램을 사용

클래스 다이어그램 Class Diagram 클래스가 가지는 속성, 클래스 사이 관계 표현 img
객체 다이어그램 Object Diagram 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현 img
컴포넌트 다이어그램 Component Diagram (구현단계에서 사용)컴포넌트 간의 관계나 인터페이스 표현 img
배치 다이어그램 Deployment Diagram (구현단계에서 사용)결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치 표현 img
복합체 구조 다이어그램 Composite Structure Diagram 복잡한 구조를 가지는 클래스 or 컴포넌트의 내부구조 표현 img
패키지 다이어그램 Package Diagram 유스케이스 or 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계 표현 img

행위 다이어그램

동적모델링에서는 주로 행위 다이어그램을 사용

유스케이스 다이어그램 Use case Diagram 사용자 요구사항을 분석하여 기능 모델링 작업에 사용함 img
시퀀스 다이어그램 Sequence Diagram 상호작용하는 시스템이나 객체들이 주고받는 메시지 표현 img
커뮤니케이션 다이어그램 Communication Diagram 객체들이 주고받는 메시지 표현 + 객체들 간의 연관관계 표현 img
상태 머신 다이어그램 State Machine Diagram 클래스의 상태변화 or 타 객체와의 상호작용에 따른 변화표현 img
활동 다이어그램 Activity Diagram 객체의 처리로직 or 조건에 따른 처리 흐름을 순서대로 표현 img
상호작용 개요 다이어그램 Interaction Overview Diagram 상호작용 다이어그램의 제어흐름 표현 img
타이밍 다이어그램 Timing Diagram 객체상태변화와 시간 제약을 명시적으로 표현 img

주로 사용하는 UML

웹 개발은 동적모델링을 주로 하므로 행위 다이어그램을 주로 사용한다.

1. 유스케이스 다이어그램

  1. 빈 svg 생성
    1. 디렉토리 생성
    2. mkdir document
    3. 빈 파일 생성
    4. fsutil file createnew document/use-case.svg 0
  2. diagram.net에서 작성

2. 시퀀스 다이어그램

  • 작동 순서
  • 성공 시
  • 실패 시

'Programming > 요구사항 분석' 카테고리의 다른 글

소프트웨어 생명 주기  (0) 2024.05.09
요구사항 분석  (0) 2023.08.22