UML 다이어그램의 분류
구조적 다이어그램(Structured Diagram)
- 정적이고, 구조 표현을 위한 다이어그램
다이어그램 유형 | 목적 |
클래스 다이어그램 (Class Diagram) |
시스템 내 클래스의 정적 구조를 표현하고 시스템을 구성하는 클래스들 사이의 관계를 표현함 |
객체 다이어그램 (Object Diagram) |
객체 정보를 보여줌 |
복합체 구조 다이어그램 (Composite Structure Diagram) |
복합 구조의 클래스와 컴포넌트 내부 구조를 표현함 |
배치 다이어그램 (Deployment Diagram) |
소프트웨어, 하드웨어, 네트워크를 포함한 실행 시스템의 물리 구조를 표현함 |
컴포넌트 다이어그램 (Component Diagram) |
컴포넌트 구조 사이의 관계를 표현함 |
패키지 다이어그램 (Package Diagram) |
클래스나 유스케이스 등을 포함한 여러 모델 요소들을 그룹하해 패키지를 구성하고 패키지들 사이의 관계를 표현함 |
행위 다이어그램(Behavior Diagram)
- 동적이고, 순차적인 표현을 위한 다이어그램
- 종류 : Use Case Diagram Activity Diagram, Collaboration Diagram, Sstate Diagram, Interaction Diagram(Sequence Diagram, Communication Diagram, Interaction Overview Diagram, Timing Diagram)
다이어그램 유형 | 목적 | |
유스케이스 다이어그램 (Use Case Diagram) |
사용자 관점에서 시스템 행위를 표현함 | |
활동 다이어그램 (Activity Diagram) |
업무 처리 과정이나 연산이 수행되는 과정을 표현함 | |
상태 머신 다이어그램 (State Machine Diagram) |
객체의 생명주기를 표현함. 동적 행위를 모델링하지만 특정 객체만을 다룸 예) 실시간 임베디드 시스템, 게임, 프로토콜 설계에 이용 |
|
Collaboration Diagram | Sequence Diagram과 같으며 모델링 공간에 제약이 없어 구조적인 면을 중시함 | |
상호작용 다이어그램 (Interaction Diagram) |
순차 다이어그램 (Sequence Diagram) |
- 시스템의 동작을 정형화하고 객체의 메시지 교환을 쉽게 표현하고 시간에 따른 메시지 발생 순서를 강조함 - 요소 : 생명선(Life Line), 통로(Gate), 상호작용(Interaction Fragment), 발생(Occurence), 실행(Execution), 상태 불변(State Invariant), 상호 작용(Interaction Use), 메시지(Message), 활성(Activations), 객체(Entity), Actor |
상호작용 개요 다이어그램 (Interaction Overview Diagram) |
여러 상호작용 다이어그램 사이의 제어 흐름을 표현함 | |
통신 다이어그램 (Communication Diagram) |
객체 사이의 관계를 중ㅇ심으로 상호작용을 표현함 | |
타이밍 다이어그램 (Timing Diagram) |
객체 상태 변화와 시간 제약을 명시적으로 표현함 |
클래스 다이어그램 관계 표현
Class Diagram
- 시스템을 구성하는 객체 간의 관계를 추상화한 모델을 논리적 구조로 표현함
- 객체지향 개발에서 공통으로 사용됨
- 분석, 설계, 구현 단계 전반에 지속해서 사용됨
- Operation : 클래스의 동작을 의미하며, 클래스에 속하는 객체에 대하여 적용될 메서드를 정의한 것
UML 관계 표현
구성 | 표시 | 설명 |
단방향 연관 관계 | ![]() |
한쪽은 알지만 반대쪽은 상대방 존재를 모름 |
양방향 연관 관계 | ![]() |
양쪽 클래스 객체들이 서로의 존재를 인식 |
의존 관계 | ![]() |
연관 관계와 같지만 메소드를 사용할 떄와 같이 매우 짧은 시간만 유지 |
일반화 관계 | ![]() |
객체지향에서 상속 관계(IS-A)를 표현하며, 한 클래스가 다른 클래스를 포함하는 상위 개념일 때 사용 |
집합 / 포함 관계 | ![]() |
클래스 사이 전체나 부분이 같은 관계 |
![]() |
전체/부분 객체 라이프타임 의존적(전체 객체 삭제 → 부분 객체 삭제) | |
실체화 관계 | ![]() |
책임 집합 인터페이스와 실제로 실현한 클래스들의 사이 |
UML 연관 관계(Association Relation)
- 한 사물의 객체가 다른 사물의 객체와 연결된 것을 표현함
- 두 클래스가 서로 연관이 있다면 A, B 객체를 서로 참조할 수 있음을 표현함
- 이름 : 관계의 의미를 표현하기 위해 이름을 가질 수 있음
- 역할 : 수행하는 역할의 명시적 이름을 가질 수 있음
UML 의존 관계(Dependency Relation)
- 연관 관계와 같지만 메소드를 사용할 때와 같이 매우 짧은 시간만 유지됨
- 영향을 주는 객체(User)에서 영향을 받는 객체 방향으로 점선 화살표를 연결함
UML 일반화 관계(Generation Relation)
- 객체지향에서 상속 관계를 표현
- 한 클래스가 다른 클래스를 포함하는 상위 개념일 때 사용
UML 집합 관계(Aggregation Relation)
- A 객체가 B 객체에 포함된 관계
- '부분'을 나타내는 객체를 다른 객체와 공유할 수 있음
- '전체' 클래스 방향에 빈 마름모로 표시하고, or 관계에 놓이면 선사이를 점선으로 잇고 {or}를 표시함
UML 포함 관계(Composition Relation)
- 부분 객체가 전체 객체에 속하는 강한 집합 연관의 관계를 표현하는 클래스
- '부분' 객체는 다른 객체와 공유 불가하고, '전체' 객체 방향에 채워진 마름모로 표시함
UML 실체화 관계(Realization Relation)
- 인터페이스와 실제 구현된 일반 클래스 간의 관계로 존재하는 행동에 대한 구현을 표현함
- 한 객체가 다른 객체에게 오퍼레이션을 수행하도록 지정하는 의미적 관계임
Use Case Diagram
Use Case Diagram의 개념
- 객체지향 초반기 분석 작업에 작성되는 사용자의 요구를 기능적 측면에서 기술할 때 사용하는 도구로 Actor와 Use Case로 구성됨
- 얻어지는 결과는 개발 대상 시스템이 제공해야 하는 서비스 목록이 됨
Use Case Diagram 요소
요소 | 설명 |
시스템 경계 (System Boundary) |
- 시스템이 제공해야 하는 사례(Use Case)들의 범위가 됨 - 큰 규모의 객체로 구현되는 존재 |
액터 (Actor) |
- 서비스를 이용하는 외부 객체 - 시스템이 특정한 사례(Use Case)를 실행하도록 요구할 수 있는 존재 |
유스케이스 (Use Case) |
- 시스템이 제공해야 하는 개별적인 서비스 기능 - 서비스는 특정 클래스의 멤버 함수로 모델링됨 |
접속 관계 (Communication Association) |
- 액터/유스케이스 또는 유스케이스/유스케이스 사이에 연결되는 관계 - 액터나 유스케이스가 다른 유스케이스의 서비스를 이용하는 상황을 표현함 |
사용 관계 (Uses Association) |
여러 개의 유스케이스에서 공통으로 수행해야 하는 기능을 모델링하기 위해 사용 |
확장 관계 (Extends Association) |
- 확장 기능 유스케이스와 확장 대상 유스케이스 사이에 형성되는 관계 - 해당 유스케이스에 부가적인 유스케이스를 실행할 수 있을 때의 관계 - 확장 대상 유스케이스를 수행 할 때 특정 조건에 따라 확장 기능 유스케이스를 수행하는 경우에 적용함 |
Use Case Diagram 작성 단계
단계 | 설명 |
액터 식별 | - 모든 사용자 역할과 상호작용하는 타 시스템을 식별함 - 정보를 주고받는 하드웨어 및 지능형 장치를 식별함 |
Use Case 식별 | - 액터가 요구하는 서비스와 정보를 식별함 - 액터가 시스템과 상호작용하는 행위를 식별함 |
관계 정의 | - 액터와 액터 그리고 액터와 유스케이스의 관계 분석을 정의함 - 유스케이스와 유스케이스 간의 관계 분석을 정의함 |
Use Case 구조화 | - 두 개의 상위 Use Case에 존재하는 공통 서비스를 추출함 - 추출된 서비스로 Use Case를 정의함 - 추출된 서비스를 사용하는 Use Case와 관계를 정의함 - 조건에 따른 서비스 수행 부분 분석하여 구조화함 |
728x90
반응형