휴지통/정보처리기사
010. 주요 UML 다이어그램
신재권
2022. 1. 1. 20:57
유즈 케이스(Use Case) 다이어그램
개발될 시스템과 관련된 외부 요소들, 즉 사용자와 다른 외부 시스템들이 개발될 시스템을 이용해 수행할 수 있는 기능을 사용자 관점에서 표현한 것
- 외부 요소와 시스템 간의 상호 작용을 확인할 수 있다.
- 사용자의 요구사항을 분석하기 위한 도구로 사용된다.
- 시스템의 범위를 파악할 수 있다.
유스케이스 다이어그램의 구성 요소
- 시스템(System)/시스템 범위(System Scope)
- 시스템 내부에서 수행되는 기능들을 외부 시스템과 구분하기 위해 시스템 내부의 유스케이스들을 사각형으로 묶어 시스템의 범위를 표현
- 액터(Actor)
- 시스템과 상호작용을 하는 모든 외부 요소, 사람이나 외부 시스템을 의미
- 주액터 : 시스템을 사용함으로써 이득을 얻는 대상으로, 주로 사람이 해당
- 부엑터 : 주엑터의 목적 달성을 위해 시스템에 서비스를 제공하는 외부 시스템으로, 조직이나 기관 등이 될 수 있음
- 유스 케이스(Use Case)
- 사용자가 보는 관점에서 시스템이 액터에게 제공하는 서비스 또는 기능을 표현한 것
- 관계(Relationship)
- 유스케이스, 다이어그램에서 관계는 액터와 유스케이스, 유스케이스와 유스케이스사이에서 나타날 수 있으며, 포함관계, 확장 관계, 일반화 관계의 3종류가 있음
클래스(Class) 다이어그램
클래스 다이어그램은 시스템을 구성하는 클래스, 클래스의 특성인 속성과 오퍼레이션, 속성과 오퍼레이션에 대한 제약조건, 클래스 사이의 관계를 표현한 것
- 클래스 다이어그램은 시스템을 구성하는 요소에 대해 이해할 수 있는 구조적 다이어그램
- 클래스 다이어그램은 시스템 구성 요소를 문서화하는데 사용
- 코딩에 필요한 객체의 속성, 함수 등의 정보를 잘 표현하고 있어 시스템을 모델링하는데 자주 사용
클래스 다이어그램의 구성요소
- 클래스(Class)
- 클래스는 각각의 객체들이 갖는 속성과 오퍼레이션(동작)을 표현함
- 일반적으로 3개의 구획(Component)으로 나눠 클래스의 이름, 속성, 오퍼레이션을 표기함
- 속성(Attribute) : 클래스의 상태나 정보를 표현
- 오퍼레이션(Operation) : 클래스가 수행할 수 있는 동작으로, 함수(메서드, Method)라고도 한다.
- 제약 조건
- 속성에 입력될 값에 대한 제약 조건이나 오퍼레이션 수행 전후에 지정해야 할 조건이 있으면 이를 적용
- 관계(Relationships)
- 관계는 클래스와 클래스 사이에 연관성을 표현
- 클래스 다이어그램에 표현하는 관계에는 연관관계, 집합 관계, 포함 관계, 일반화 관계, 의존 관계가 있다.
접근제어자
- public : + : 어떤 클래스에서라도 접근이 가능
- private : - : 해당 클래스 내부에서만 접근이 가능
- protected : # : 동일 패키지 내의 클래스 또는 해당 클래스를 상속받는 외부 패키지의 클래스에서 접근이 가능
- package : ~ : 동일 패키지 내부에 있는 클래스에서만 접근이 가능
시퀀스(Sequence) 다이어그램
시퀀스 다이어그램은 시스템이나 객체들이 메시지를 주고받으며 시간의 흐름에 따라 상호작용 하는 과정을 액터, 객체, 메시지 등의 요소를 사용하여 그림으로 표현한 것
- 시퀀스 다이어그램은 시스템이나 객체들의 상호 작용 과정에서 주고받는 메시지를 표현
- 시퀀스 다이어그램을 통해 각 동작에 참여하는 시스템이나 객체들의 수행 기간을 확인
- 시퀀스 다이어그램은 클래스 내부에 있는 객체들을 기본 단위로 하여 그들의 상호작용을 표현
- 시퀀스 다이어그램은 주로 기능 모델링에서 작성한 유스케이스 명세서를 하나의 표현 범위로 하지만, 하나의 클래스에 포함된 오퍼레이션을 하나의 범위로 표현하기도 한다.
시퀀스 다이어그램의 구성요소
- 액터(Actor) : 시스템으로부터 서비스를 요청하는 외부 요소, 사람이나 외부 시스템을 의미
- 객체(Object ) : 메시지를 주고 받는 객체
- 생명선(Lifeline) : 객체가 메모리에 존재하는 기간으로, 객체 아래쪽에 점선을 그어 표현
- 실행 상자(Active Box) : 객체가 메시지를 주고 받으며 구동되고 있음을 표현
- 메시지(Message) : 객체가 상호 작용을 위해 주고 받는 메시지