-
시퀀스 다이어그램 [Sequence Diagram]Software/UML 2018. 9. 10. 23:04반응형
Sequence Diagram 이란?
- 문제 해결을 위한 객체를 정의하고 객체간의 상호작용 메시지 시퀀스를 시간의 흐름에 따라 나타내는 다이어그램(Diagram)
구성 요소
- 활성 객체
- 시스템의 행위자 혹은 시스템 내의 유효한 객체
라이프라인(Life line)을 가진다.
- 시스템의 행위자 혹은 시스템 내의 유효한 객체
- 라이프라인
- 라이프라인은 상호작용에 참여하는 오브젝트를 의미
그림 1. Object와 Life line
- 메시지 (Message)
- 서로 다른 객체간의 상호작용 혹은 의사소통 통신을 정의하는 요소.
하나의 객체 라이프라인으로 부터 다른 객체 라이프라인까지 선+화살표로 표시되며 메시지는 그 선의 위에 표시
- 서로 다른 객체간의 상호작용 혹은 의사소통 통신을 정의하는 요소.
그림 2. 메시지 (Message)
메시지 유형
유형
의미
동기 메시지
(Synchronous message)
메시지 전송 객체가 계속하기 전까지 동기 메시지에 대한 응답을 기다림. 프로그램 내 일반적인 함수 호출과 동일한 동작 방식의 메시지를 표현
비동기 메시지
(Async message)
메시지 전송 객체가 계속하기 전까지 응답을 요구하기 않는 메시지. 전송 객체의 호출만을 표시.
보통 개별 쓰레드 간의 통신 및 새 쓰레드의 생성에 사용
자체 메시지
(Self message)
자신에게 보낸 메시지입니다. 결과로 생성된 실행 발생이 전송 실행 위에 나타남.
반환 메시지
(Reply/Return message)
이전 호출의 반환을 기다리는 객첵에게 다시 반환되는 메시지.
- 아래는 각 메시지 유형을 실제 시퀀스 다이어그램에 표현한 그림이다. 메시지 유형에 따른 선 모양과 화살표 모양을 꼭 기억하도록 하자. 지금 설명한 메시지들은 가장 기본적인 메시지들만 나타낸 것으로 이외에도 다양한 메시지들이 존재한다. 이와 관련해서는 아래 링크에서 조금 더 자세하게 살펴볼 수 있다.
그림 3. 메시지 유형 (Message Type)
- 활성 박스 (Activation box)
- 객체 라이프 라인 위에 그려지는 박스로 이 박스위에서 객체의 호출이 이루어진다. 객체의 특정 메소드 실행 혹은 정보 처리가 실행되고 있거나 다른 객체의 메소드가 종료되기를 기다린다는 것을 나타낸다.
그림 4. 활성 박스(Activation Box)
- 작성
- 사실 위에서 나열한 3가지 구성 요소는 시퀀스 다이어그램을 그리기 위한 가장 기본적인 요소라 할 수 있다. 위에서 나열한 구성 요소 외에 Gate, Frame.. 등과 같은 다양한 요소들이 존재하나 기본적인 시퀀스 다이어그램을 작성하는 데 꼭 필요한 요소는 라이프 라인, 메시지, 활성 객체라 할 수 있다.
- 그럼 지금부터 위 구성요소를 가지고 어떻게 시퀀스 다이어그램을 작성하면 되는 지에 대해 알아보도록 하자.
- 작성 순서
- 유스케이스 정의서 분석을 통한 참여 객체 파악
- 액터와 참여 객체를 x축에 나열
- 객체의 메시지를 정의하고 메시지 호출을 시간 순서에 따라 표시.
- 작성 예시
- 온라인 쇼핑몰에서 고객이 로그인 후 상품을 선택하여 장바구니에 추가하는 상황을 시퀀스 다이어그램으로 표현해 보았다. 상품을 조회하고 선택하는 경우는 사실상 반복되는 행위이긴 하나 여기에서는 단일 처리로 표시하였다.
- 시퀀스 다이어그램이 어떤 것인 지 맛만 볼 수 있을 정도로 간단하게 표현해 보았다.
그림 5. 시퀀스 다이어그램 예시 (쇼핑몰)
반응형'Software > UML' 카테고리의 다른 글
Class Diagram (클래스 다이어그램) - Basic (3) 2018.07.31 Use Case Diagram (0) 2018.07.10 댓글