순차 다이어그램
설명 영상 순차 다이어그램 (정보관리기술사) · 2:02
영상 페이지에서 보기: 순차 다이어그램 (정보관리기술사)
왜 배우는가: 순차 다이어그램은 객체 간 메시지 교환의 시간 순서를 보여주어 유스케이스 실현과 동적 모델링의 기본 도구다. 설계 검토와 구현 전 상호작용 검증에 쓰이며, 기술사 시험에서는 협력 다이어그램과의 비교 및 변환 문제로 반복 출제된다.
출제 이력: 제127회 4교시 5번, 제89회 4교시 6번
1. 한 줄 정의와 핵심 키워드
순차 다이어그램은 객체들이 시간 순서에 따라 주고받는 메시지를 위에서 아래로 표현한 UML 상호작용 다이어그램이다.
핵심 키워드
- 순차 다이어그램(Sequence Diagram)
- 객체(Object)
- 생명선(Lifeline)
- 활성화 상자(Activation Box)
- 메시지(Message)
- 가드(Guard)
- 프레임(Frame)
- 협력 다이어그램(Collaboration Diagram)
2. 개념 풀이
쉬운 말로 풀면, 여러 객체가 어떤 순서로 말을 주고받는지 세로 시간축 위에 그린 그림이다. 객체는 맨 위에 가로로 놓고, 각 객체 아래로 점선이 시간 흐름을 따라 내려간다.
정식 정의는 UML 2.0의 상호작용(Interaction) 다이어그램 중 하나로, 객체 사이의 메시지 송수신과 그 순서를 표현하는 것이다. 시간 순서가 핵심이므로 메시지의 순번을 따로 적지 않아도 아래에 있을수록 나중에 보내진 메시지가 된다.
핵심 용어는 다음과 같다.
- 생명선(Lifeline): 객체 아래로 뻗는 수직 점선으로, 시간의 경과를 나타낸다.
- 활성화 상자(Activation Box): 생명선 위의 세로 직사각형으로, 객체가 작업을 수행하는 기간을 나타낸다.
- 메시지(Message): 객체 간에 전달되는 정보 단위로, 화살표로 표시한다.
다음 용어는 메시지의 종류와 흐름 제어를 나타낸다.
- 동기 메시지(Synchronous Message): 머리가 채워진 실선 화살표로, 호출한 쪽이 응답을 받을 때까지 기다린다.
- 비동기 메시지(Asynchronous Message): 머리가 열린 실선 화살표로, 보낸 뒤 바로 다음 작업을 수행한다.
- 가드(Guard): 메시지 앞의 대괄호 조건으로, 메시지가 보내지는 조건이다.
3. 등장 배경과 필요성
객체지향 설계에서는 개별 클래스의 구조보다 객체들이 함께 동작하는 방식이 설계 품질을 좌우한다. 클래스 다이어그램은 구조를 보여줄 뿐 실행 순서를 보여주지 못한다. 이 간격을 메우기 위해 객체 간 상호작용의 시간 순서를 그리는 순차 다이어그램이 쓰인다.
UML 1.x에서는 상호작용 표현이 여러 형태로 나뉘어 있었다. UML 2.0에서는 상호작용 개요(Interaction Overview)와 함께 상호작용 다이어그램 체계가 정리되었고, 협력 다이어그램은 통신 다이어그램(Communication Diagram)으로 명칭이 바뀌었다. 따라서 순차 다이어그램은 시간 순서 표현을 맡는 대표 도구로 자리 잡았다.
순차 다이어그램은 행위 측면을 강조하는 모델이다. 클래스 다이어그램이 시스템의 구조를 보여준다면, 순차 다이어그램은 그 구조가 실제로 어떻게 동작하는지를 보여준다. 두 모델은 의미는 다르지만 서로 정합되어야 하며, 이 정합 검토가 설계 결함을 일찍 찾는 수단이 된다.
실무에서는 유스케이스 하나를 구현할 때 참여 객체와 메시지 순서를 먼저 정리해 개발자 간 합의 자료로 쓴다. 시나리오 단위로 표현하는 것이 원칙이며, 모든 경우를 한 장에 담으려 하면 읽기 어려워진다.
UML 2.0 상호작용 다이어그램 체계의 배경은 여기서 정리하는 것으로 충분하다.
4. 구성요소·원리·절차
순차 다이어그램은 객체가 시간 흐름에 따라 메시지를 주고받는 과정을 그린다. 시간은 위에서 아래로 흐른다. 아래쪽 메시지일수록 나중에 보낸 것이다. 그래서 메시지마다 번호를 붙이지 않아도 순서가 드러난다.
순차 다이어그램의 핵심은 객체 간 메시지를 위에서 아래로 시간순으로 배열하는 것이다.
구성요소와 표기는 다음과 같다.
| 구성요소 | 표기법 | 의미 |
|---|---|---|
| Frame | 사각형 박스, 좌상단 오각형에 sd 와 이름 | 다이어그램 경계와 이름 |
| Object | 사각형 안에 객체명:클래스명 | 참여 객체, 액터는 막대 인물 |
| Lifeline | 객체 아래로 뻗는 수직 점선 | 시간 축 |
| Activation Box | 라이프라인 위 세로 막대 | 객체가 처리 중인 기간 |
| Message | 화살표(동기·비동기·반환) | 객체 간 통신 |
| Guard | 메시지 앞 대괄호 조건 | 발송 조건 |
프레임은 다이어그램 전체를 감싸며 타입과 이름을 표시하는 영역이다. 객체 상자는 클래스 속성을 나열하지 않고 이름만 쓴다. 라이프라인은 객체가 시스템에 존재하는 동안의 시간을 나타낸다. 활성화 상자의 길이는 객체가 작업을 수행하는 시간에 비례한다.
메시지는 종류에 따라 화살표 머리 모양이 다르다. 동기 메시지는 머리가 채워진 실선 화살표다. 호출한 객체는 실행이 끝날 때까지 다음 작업을 하지 못한다. 비동기 메시지는 머리가 열린 실선 화살표다. 송신 후 응답을 기다리지 않고 다음 작업을 수행한다. 반환 메시지는 점선 화살표로 그린다. 반환은 메시지가 끝났음을 보이는 표기이며 생략해도 된다.
동기: 채운 화살표와 비동기: 열린 화살표를 구분하는 것이 기본 표기 규칙이다. 메시지 형식은 [시퀀스 번호][가드]:반환값:=메시지 이름([인자 리스트]) 이다. 메시지 이름만 필수이고 나머지는 생략할 수 있다. 시퀀스 번호는 순차 다이어그램에서 생략해도 순서가 유지된다.
객체 생성은 > 스테레오타입 메시지로 표현한다. 객체 소멸은 > 메시지로 보내고, 소멸되는 생명선 끝에 X 를 그린다. 생성된 객체의 라이프라인은 생성 메시지 지점에서 시작한다.
흐름 제어는 가드와 프래그먼트로 표현한다. 가드는 단일 메시지에 붙는 조건이다. 프래그먼트는 여러 메시지 묶음에 적용하는 범위 표기다. alt 는 상호 배타적인 여러 선택지를 표현한다. opt 는 조건이 참일 때만 실행되는 단일 선택지다. loop 는 반복 구간이고 par 는 병렬 실행 구간이다. 한 메시지의 조건이면 가드로, 여러 메시지의 조건이면 opt 나 alt 로 쓴다.
작성 절차는 다음 순서를 따른다.
- 참여 객체를 식별하고 좌에서 우로 배치한다. 액터는 맨 왼쪽에 둔다.
- 각 객체 아래에 라이프라인을 수직으로 그린다.
- 시작 메시지부터 시간순으로 위에서 아래로 화살표를 연결한다.
- 메시지를 받는 쪽 라이프라인에 활성화 상자를 표시한다.
- 조건은 가드나 프래그먼트로 추가하고, 응답 메시지를 점선으로 정리한다.
5. 관련 법령·기준·표준
순차 다이어그램은 법령 기준이 없는 모델링 표기 규약이다. 근거가 되는 기준은 OMG 가 제정한 UML 표준이다. 표기 규약의 기준 이름과 핵심 내용을 아래 표로 정리한다. 조항 번호는 확인되지 않아 쓰지 않는다.
| 항목 | 기준 내용 | 근거 |
|---|---|---|
| 표준 체계 | UML 2.0 상호작용 다이어그램 표기 | OMG UML 표준 |
| 프레임 키워드 | 순차 다이어그램은 sd 키워드 사용 | UML 2.0 표기 규약 |
| 동기 메시지 | 채운 화살표, 호출자 대기 | UML 2.0 표기 규약 |
| 비동기 메시지 | 열린 화살표, 대기 없음 | UML 2.0 표기 규약 |
| 반환 메시지 | 점선 화살표, 생략 가능 | UML 2.0 표기 규약 |
| 생성·소멸 | >, >, 소멸은 생명선 끝 X | UML 2.0 표기 규약 |
| 메시지 형식 | [시퀀스 번호][가드]:반환값:=메시지 이름([인자 리스트]) | UML 2.0 표기 규약 |
위 표의 값은 표기 규약이며 수치 기준이 아니다. 실무에서는 설계 도구의 표기와 프로젝트 표준 문서를 함께 맞춘다.
개정 연혁은 다음과 같다. UML 2.0은 2005년에 OMG 표준으로 채택됐다. UML 2.0 에서 협력 다이어그램의 명칭은 통신 다이어그램(communication diagram)으로 바뀌었다. 기존 문헌의 협력 다이어그램이라는 용어는 이 명칭 변경 이후 같은 의미로 쓰인다. 현행 UML은 버전 명칭으로 관리된다. 국제표준화는 ISO/IEC 19505 번호로 이뤄졌다.
이 절의 표기 규약은 UML 2.0 이후 버전에서도 대부分 유지된다. 시험 답안에는 기준 버전을 함께 밝히는 것이 안전하다.
이어지는 내용
- 6. 유형과 비교
- 7. 장단점·한계와 개선 방향
- 8. 사례 또는 계산 예제
- 9. 최근 동향과 쟁점
- 10. 흔한 실수와 채점 포인트
- 11. 암기 정리
- 12. 답안 구성 예시
- 13. 예상 변형 문항
로그인하면 하루 2페이지까지 무료로 전체를 읽을 수 있습니다.
앱에서 이 단원 읽기