UML 다이어그램

yongju·2024년 1월 3일
0

정보처리기사

목록 보기
1/91

UML 다이어그램

: 통합모델링언어(United Modeling Language)를 사용하여 시스템 상호작용, 업무흐름, 시스템구조, 컴포넌트 관계 등을 그린 도면

  • 프로그래밍을 단순화시켜 표현하여 의사소통 하기 좋음.
  • 대규모 프로젝트 구조의 로드맵 제작
  • 개발을 위한 시스템 구축에 기본 마련
  • 대표적인 객체지향모델링 언어
  • 럼바우, booch, Jacobson등의 객체지향방법론의 장점 통합
  • OMG에서 표준으로 지정

구성요소

Things, Relationship, Diagram

Things

  • Diagram 안에서 Relationship이 형성될 수 있는 대상.
  • 모델을 구성하는 가장 중요한 기본 요소.

Structural Things 구조 사물

  • 시스템의 개념적, 물리적 요소 표현
  • class, node, component, use case

Behavioral Things 행위 사물

  • 시간과 공간에 따른 요소들의 행위를 표현
  • 상호작용, 상태머신

Group Things 그룹 사물

  • 요소들을 그룹으로 묶어서 표현
  • package

Annotation Things 주해 사물

  • 설명이나 제약조건
  • node

Relationship

Association 연관

  • 2개 이상의 things가 서로 연관되어있는 관계
  • 실선으로 연결, 방향성은 화살표로 표시
  • 양방향 관계인 경우, 실선으로만 표시

Aggregation 집합

  • A가 B에 포함되어있음
  • A와 B는 독립적

Composition 포함

  • 포함하는 사물의 변화가 포함되는 사물에 영향을 미침
  • 독립적 X

Dependency 의존

  • 서로 영향을 끼치는 짧은 시간동안 연관을 유지하는 관계
  • 영향을 주는 사물(이용자) -> 영향을 받는 사물(제공자)

Generalization 일반화

  • A가 B보다 더 구체적 OR 일반적인 관계
  • 일반적 : 부모/상위
  • 구체적 : 자식/하위

Realization 실체화

  • 서로를 그룹화 할 수 있는 관계
  • 점선으로 표시

Diagram

: things와 relationship을 도형으로 표현

  • 정적 모델링 : 구조적 다이어그램
  • 동적 모델링 : 행위적 다이어그램

구조적 다이어그램

관계 구조 유지
class 클래스 간의 관계를 표현
object 객체 간의 관계를 표현
component 컴포넌트 간의 관계, 인터페이스 표현, 구현 단계에서 사용
deployment 결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현, 구현 단계에서 사용
composite structure 클래스 or 컴포넌트가 복합체인 경우, 내부 구조를 표현
package 유스 케이스, 클래스 등 모델요소들을 그룹화한 패키지들의 관계 표현

행위 다이어그램

흐름 상태변화 상호작용 요구분석 메세지 제약
Use case

  • 사용자의 요구 분석, 기능 모델링 작업에 사용
  • Actor : 사용자, Use case : 사용 사례
  • Actor : 시스템과 상호작용하는 모든 시스템으로, 다른 프로젝트에서 이미 개발되어 본 시스템과 연동시킴
  • Actor가 인지할 수 없는 시스템 내부 기능을 use case로 파악x
  • 관계 : 연관, 의존(확장, 포함), 일반화

Activity

  • 시스템이 어떻게 동작하는지 객체의 처리 조직 / 조건에 따른 처리 흐름을 순서에 따라 표현

Sequence

  • 클래스나 객체가 주고받는 메세지의 시간적 흐름 표현
  • 수직 방향이 시간의 흐름을 나타냄

Communication

  • 동작에 참여하는 객체들이 주고받는 메세지 + 객체들간의 연관관계 표현

Timing

  • 객체 상태 변화 + 시간 제약을 명시적으로 표현

Interaction

  • 상호작용 다이어그램 간의 제어흐름을 표현

State

  • 하나의 객체가 자신이 속한 클래스의 상태 변화
  • 럼바우 모델링에서 동적 모델링에 활용됨.
profile
AI dev

0개의 댓글