2024.07.05 Uml의 상세

2024.07.05 Uml의 상세

·

3 min read

UML 상세

1. 클래스 다이어그램

  • 개념

    • 객체 지향 모델링 시 클래스의 속성 및 연산과 클래스간 정적인 관계를 표현한 다이어그램

    • 클래스와 클래스, 클래스 속성 사이의 관계를 표현한다.

  • 구성요소

    • 클래스 다이어그램의 구성요소는 클래스 이름, 속성, 연산, 접근제어자가 있다.

클래스 다이어그램

Person (클래스 이름)

-age: int (속성)

+getAge(): int (연산)

구성요소설명
클래스 이름클래스의 이름
속성(Attribute)클래스의 특징에 이름을 부여
연산(Operation)클래스에 속하는 객체에 적용될 메서드를 정의 / 클래스의 동작을 의미하며, UML에서는 동작에 대한 인터페이스를 지칭
접근 제어자 (Access Modifier)클래스에 접근할 수 있는 정도를 표현

- : 클래스 내부접근만 허용(private)
+: 클래스 외부접근을 허용(public)
# : 동일 패키지/파생 클래스에서 접근 가능 (protected)
~ : 동일 패키지 클래스에서 접근 가능(default) |

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

  • 개념

    • 시스템이 제공하고 있는 기능 및 그와 관련된 외부요소를 사용자의 관점에서 표현하는 다이어그램
  • 구성요소

    • 유스케이스 , 액터 , 시스템이 있다.
구성요소설명표기법
유스케이스코드로 구현할 수 있는 최소 단위

시스템이 제공해야 하는 서비스
액터가 시스템을 통해 수행하는 일련의 행위 | 수강신청 | | 액터 (Actor) | 사용자가 시스템에 대해 수행하는 역할
시스템과 상호 작용하는 사람 또는 사물 | 🧑🧑 |

3. 시퀀스 다이어그램

  • 개념

    • 객체 간 상호 작용을 메시지 흐름으로 표현한 다이어그램이다.
  • 구성요소

    • 객체, 생명선, 실행, 메시지가 있다.
구성요소설명표기법
객체(object)객체는 위쪽에 표시되며 아래로 생명선을 가짐

객체는 사각형 안에 밑줄 친 이름으로 명시 | 사각형 안에 밑줄친 이름 | | 생명선 (Lifeline) | 객체로부터 뻗어 나가는 점선
실제 시간이 흐름에 따라 객체의 생명주기 동안 발생하는 이벤트를 명시 | 아래로 점선 | | 실행 (Activation) | 직사각형은 오퍼레이션(함수)이 실행되는 시간을 의미
직사각형이 길어질수록 오퍼레이션 수행시간이김 | 아래로 점선 네모 점선 모양 | | 메시지 (Message) | 객체 간의 상호 작용은 메시지 교환으로 이루어짐
한 객체에서 다른 객체로의 메시지를 전달하여 전달받은 객체의 오퍼레이션을 수행 | do->
(대충 이런 모양) |

UML의 관계

  1. 연관관계 (Association)

    • 2개 이상의 사물이 서로 관련된 상태를 표현하는 관계

    • 사물 사이를 실선으로 연결하여 표현, 방향성은 화살표로 표현

    • 서로에게 영향을 주는 양방향 관계의 경우 화살표를 생략하고 실선으로만 연결

  2. 의존 관계 (Dependency)

    • 사물 사이에 서로 연관은 있으나 필요에 따라 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계를 표현하는 관계

    • 사물의 변화가 다른 사물에도 영향을 미치는 관계

    • 일반적으로 한 클래스가 다른 클래스를 오퍼레이션의 매개변수로 사용하는 경우에 나타나는 관계

    • 영향을 주는 사물이 영향을 받는 사물 쪽으로 점선 화살표를 연결하여 표현

  3. 일반화 관계 (Generalization)

    • 하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지를 표현하는 관계

    • 일반적인 개념을 부모라 하고, 구체적인 개념을 자식이라 함

    • 구체적인 사물에서 일반적인 사물 쪽으로 (아래에서 위로) 속이 빈 화살표를 연결하여 표현

  4. 실체화 관계 (Realization)

    • 한 객체가 다른 객체에 오퍼레이션을 수행하도록 지정하는 관계

    • 사물에서 기능 쪽으로 속이 빈 점선 화살표를 연결하여 표현

  5. 포함 관계 (Composition)

    • 집합 관계의 특수한 형태로, 포함하는 사물의 변화가 포함되는 사물에 영향을 미치는 관계

    • 포함되는 쪽에서 포함하는 쪽으로 속이 채워진 마름모를 연결하여 표현

  6. 집합 관계 (Aggregation)

    • 집합 관계는 하나의 사물이 다른 사물에 포함된 관계

    • 포함되는 쪽에서 포함되는 쪽으로 속이 빈 마름모로 연결하여 표현

UML 확장 모델의 스테레오 타입

  • UML의 기본적 요소 이외의 새로운 요소를 만들어 내기 위한 확장 메커니즘이다.

  • 형태는 기존의 UML의 요소를 그대로 사용하지만 내부 의미는 다른 목적으로 사용하도록 확장한다.

  • UML의 스테레오 타입은 '<<>>' (길러멧 : Guillemet) 기호를 사용하여 표현한다.