**순차 다이어그램(順次圖)**은 시스템 내의 객체(Object) 들이 시간의 흐름에 따라 메시지를 주고받는 과정을 시각적으로 표현한 UML 다이어그램이다.
즉, “누가 누구에게 언제 어떤 메시지를 보내는가”를 시간 순서(Sequence) 에 따라 나타낸 그림이다.
1. 개념 설명
순차 다이어그램은 **시스템의 동작 절차(Behavior)**를 보여주는 UML의 행위 다이어그램으로,
특히 유스케이스(Use Case) 에서 정의된 기능이 실제로 어떻게 실행되는지를
시간 축(Time Axis) 을 따라 구체적으로 표현한다.
예를 들어,
“사용자가 로그인 버튼을 누르면 → 시스템이 아이디와 비밀번호를 검증하고 → 결과를 화면에 표시한다.”
이 일련의 흐름을 시각적으로 보여주는 것이 순차 다이어그램이다.
2. 목적
- 시스템 내 객체 간의 메시지 전달 순서와 흐름을 명확히 표현한다.
- 유스케이스에서 정의된 시나리오를 시간 흐름 기반으로 구체화한다.
- 시스템의 동적 행위(Behavior) 를 이해하고 검증할 수 있다.
- 설계 단계에서 모듈 간 협력 관계를 명확히 한다.
즉, 순차 다이어그램은 **“시간을 축으로 한 협력 구조도”**라고 할 수 있다.
3. 주요 구성 요소
순차 다이어그램에는 다음 다섯 가지 주요 구성 요소가 있다.
① 행위자(Actor, 行爲者)
시스템 외부에서 메시지를 보내거나 받는 주체이다.
사람, 외부 시스템, 다른 프로세스 등이 이에 해당한다.
맨 왼쪽(또는 오른쪽)에 배치된다.
② 객체(Object, 對象)
메시지를 주고받는 시스템 내부의 구성 요소다.
객체명은 보통 객체명 : 클래스명 형태로 표기한다.
예: user : Member, order : OrderService
③ 생명선(Lifeline, 生命線)
객체가 존재하는 기간을 나타내며,
세로로 그려진 점선(│)으로 표현된다.
객체가 언제 생성되고 사라지는지를 시각적으로 볼 수 있다.
④ 활성 구간(Activation, 活性區間)
객체가 메시지를 처리하고 있는 시간 구간이다.
생명선 위에 그려진 가느다란 직사각형(▮) 으로 표현된다.
이 구간 동안 객체는 “활성화” 상태로,
메시지를 처리하거나 다른 객체로 메시지를 전달할 수 있다.
⑤ 메시지(Message, 傳達)
객체 간의 상호작용을 나타내는 화살표(→)다.
즉, 한 객체가 다른 객체에 요청을 보내거나 응답을 받을 때 사용된다.
메시지의 종류는 여러 가지가 있다.
4. 메시지의 종류
1️⃣ 동기 메시지(Synchronous Message)
요청을 보내면 응답이 돌아올 때까지 기다리는 메시지.
(보통 일반 메서드 호출)
화살표는 꽉 찬 화살촉(→).
2️⃣ 비동기 메시지(Asynchronous Message)
요청을 보내고 응답을 기다리지 않는 메시지.
(보통 이벤트, 쓰레드 등 비동기 호출)
화살표는 열린 화살촉(⇢).
3️⃣ 응답 메시지(Return Message)
요청에 대한 결과나 응답을 반환하는 메시지.
점선 화살표(---→)로 표현된다.
4️⃣ 자기 메시지(Self Message)
객체가 자기 자신에게 메시지를 보내는 경우.
생명선에서 꺾인 화살표 형태로 표현된다.
5. 순차 다이어그램의 읽는 법 (흐름 이해)
1️⃣ 맨 위에는 행위자(Actor) 와 객체(Object) 가 수평으로 나란히 배치된다.
2️⃣ 세로 방향(아래로)은 시간의 흐름(Time Flow) 을 의미한다.
3️⃣ 객체 간 메시지(→)가 위에서 아래로 이어지며 실행 순서를 나타낸다.
4️⃣ 각 객체의 생명선(Lifeline)과 활성 구간(Activation)을 통해
누가 언제 동작 중인지 확인할 수 있다.
즉, 위 → 아래로 읽으면 시간 순서,
왼쪽 → 오른쪽으로 보면 객체 간 관계를 볼 수 있다.
6. 예시 (설명형으로 표현)
“로그인 기능”의 순차 다이어그램 예시를 글로 표현해보면 이렇게 된다.
1️⃣ 사용자(Actor)가 “로그인 요청” 메시지를 LoginController 객체로 보낸다.
2️⃣ LoginController는 UserService 객체에 “사용자 검증(validateUser)” 요청을 보낸다.
3️⃣ UserService는 DB객체에 “사용자 조회(selectUser)” 요청을 보낸다.
4️⃣ DB가 결과를 반환하고(User Info),
UserService가 이를 검증 후 LoginController로 응답 메시지를 반환한다.
5️⃣ LoginController는 로그인 성공/실패 결과를 사용자에게 전달한다.
이 시나리오가 순서대로 아래 방향으로 흐르며 표현된 것이 바로 “순차 다이어그램”이다.
7. 순차 다이어그램의 특징
- 시간 순서(Sequential Order) 를 명확히 보여준다.
- 객체 간의 협력 관계(Interaction) 를 시각화한다.
- 시스템의 동작 로직을 시나리오 형태로 검증할 수 있다.
- 유스케이스 다이어그램과 직접 연결된다.
(유스케이스 = 기능의 목록, 순차 다이어그램 = 그 기능의 실행 과정)
8. 정처기 실기 정의 문장
“순차 다이어그램은 시스템 내 객체들이 시간의 흐름에 따라
어떤 순서로 메시지를 주고받으며 상호작용하는지를 나타내는 UML 행위 다이어그램이다.”
시험 키워드:
객체, 메시지, 생명선, 활성 구간, 동기/비동기 메시지, 응답, 시간 순서
🪶 단어 정리 (한국식 한자 + 영어 어원 + 뜻풀이)
순차(順次) / Sequence
순할 순(順), 버금 차(次)
: 일정한 순서나 절차에 따라 진행되는 것. 영어 sequence는 라틴어 sequi(따르다)에서 유래.
다이어그램(圖表) / Diagram
그림 도(圖), 표 표(表)
: 개념이나 구조를 시각적으로 나타낸 도식.
객체(對象) / Object
대할 대(對), 모양 상(象)
: 클래스의 인스턴스로, 상태와 행위를 가지는 독립적 존재.
메시지(傳達) / Message
전할 전(傳), 통달할 달(達)
: 객체 간의 요청이나 응답을 나타내는 신호.
생명선(生命線) / Lifeline
목숨 생(生), 목숨 명(命), 줄 선(線)
: 객체가 존재하는 기간을 나타내는 점선.
활성(活性) / Activation
살 활(活), 성할 성(盛)
: 객체가 실행 중이거나 메시지를 처리하는 상태.
🏷️ 해시태그 정리
#순차다이어그램
#SequenceDiagram
#UML
#정처기실기
#객체지향분석
#메시지흐름
#생명선
#활성구간
#UML행위다이어그램
#시스템설계
#소프트웨어공학
'자격증 > 정보처리기사 실기' 카테고리의 다른 글
객체지향 방법론 (Object-Oriented Methodology, 對象指向方法論) (0) | 2025.10.15 |
---|---|
커뮤니케이션 다이어그램 (Communication Diagram, 通信圖) (0) | 2025.10.15 |
연관 클래스 (Association Class, 連關類) (0) | 2025.10.15 |
UML 클래스 다이어그램 (Class Diagram) (0) | 2025.10.15 |
유스케이스 다이어그램 (Use Case Diagram) (0) | 2025.10.15 |