시퀀스 다이어그램은 내가 정보처리기사 공부할때 듣고 기억이 없다...?
현재 수행하는 기업과제 중 시퀀스 다이어그램 작성하는 부분이 있어 공부할 겸 정리한 포스팅이다.
시퀀스 다이어그램(Sequence Diagram) 은 무엇인가?
시퀀스 다이어그램은 동적 다이어그램의 거의 대표격으로,
어떠한 순서로 어떤 객체들과 어떻게 상호작용 했는지를 표현하는 다이어그램이다.
시간의 흐름에 따라 순서를 볼 수 있다는 특징이 있다.
이로 인해 시나리오를 파악할 때 좋으며, 유즈케이스를 디테일하게 알 수 있다.
구성 요소
활성 객체
시스템의 행위자 또는 시스템 내의 유효한 객체이며, 라이프 라인을 가진다.
LifeLine
점선으로 표현되며, 아래로 내려갈 수록 시간이 경과됨을 의미한다.
메시지
실제 인스턴스간의 주고받는 데이터를 나타낸다.
일반적으로는 request 와 response 로 구성된다.
메시지 유형 다양한데, 해당 포스팅에서는 아래 세개를 살펴보도록 하겠다.
- 동기메시지(Synchronous message)
- 비동기메시지(Async message)
- 자체 메시지(Self message)
동기 메시지
동기메시지는 우리가 아는 일반적인 함수의 동작과 같이, 요청을 하고 응답이 돌아올 때까지
작업을 중단하고 기다리는 메시지이다.
표현은 꽉찬 삼각형 화살표로 한다.
비동기 메시지
비동기메시지는 동기 메시지와는 달리 응답을 기다리지 않고 다른 일을 수행한다.
표현은 골격만 있는 화살표로 표시한다.
자체 메시지
인스턴스간 상호작용도 할 수 있지만, 하나의 인스턴스에서 자체적으로 처리할 수도 있다.
이때는 자체 메시지를 사용할 수 있다.
표현은 자신의 생명선(lifeline) 으로 재귀하는 화살표이다.
활성 박스 (Actiavations)
생명선(lifeline) 위에 그려지는 박스이다.
객체의 호출이 이루어지며, 객체의 메소드가 실행되고 있거나 다른 객체의 메소드가 종료되기를 기다린다는 의미이다.
작성 하기
실제 시퀀스 다이어그램을 작성할 때는 아래의 순서를 따라 작성하면 좋다.
1. 요구사항 분석을 통한 객체 파악
2. 액체와 참여 객체 x 축 나열
3. 객체 메시지 정의, 메시지 호출을 시간 순서에 따라 표현
'Archive > Develop' 카테고리의 다른 글
[ Django ] Django App 이름 변경 하는 방법 (+ 수동 설정) / MYSQL ver. (0) | 2022.05.25 |
---|---|
[ Docker ] Docker란 무엇이며, 컨테이너는 왜 등장하는가 #1 (0) | 2022.05.17 |
[ Django ] SerializerMethodField (0) | 2022.04.18 |
[ Django ] Serializer / Form (0) | 2022.04.04 |
[ Django ] django-debug-toolbar mime type 에러 해결 (0) | 2022.02.25 |