본문 바로가기
까망 동네/OOAD & UML

[UML] Sequence Diagram

by 까망 하르방 2024. 10. 12.
반응형

Sequence Diagram(시퀀스 다이어그램) 이란

객체 간 상호작용을 시간의 흐름에 따라 표현

• 객체 간 메시지 전달 순서 표현

• 프로세스 흐름을 시각적으로 표현

@startuml
actor User
participant Server
participant Database

User -> Server: Login Request
Server -> Database: Check Credentials
Database --> Server: Credentials Valid
Server --> User: Login Success
@enduml


Order of Messages

one Life Line에서는 a → c 순으로 실행

의존관계가 없을 때는 어떤 것을 먼저 해도 상관 없다. (a→c 혹은 c→a) 

 


[예시]


위에 있는 것부터 해석하면
a → b → c → d → e 로 해석 가능하다.
a와 b는 c와 의존성이 없기에 다른 해석도 가능하다.
c → a → b → d → e 혹은 a → c → b → d → e

[e → d], [b → a]와 같은 의존성이 있는 곳에서 Order를 잘 지키면 된다.
참고로 [seq]는 '다른 경우가 있다' 라는 의미이기도 하다.



Synchronous message

- Response message 올때까지 기다린다. 



Response message

- Synchronous messsage와 쌍으로 표현
- 생략 가능



Asynchronous message

- response 기다리지 않는다.



주요 Fragment 

• alt Fragment (switch 문)
• opt Fragment (else 없는 if문)
• loop Fragment
• break Fragment


[예시] loop Fragment

최소 1회, 최대 무한하게 실행
a < 1 조건을 만족하지 않으면 종료

 

 

[예시] break Fragment

조건문을 만족하면 b,c를 실행하고 d는 실행하지 않는다. 
박스 밖으로 나가서 e 실행
조건문을 만족하지 않으면 break문 실행 X

 

 

[예시]

중첩되게 표현되는 것을 볼 수 있다.


학생 | 수강 신청 시도 (시스템 내부에서 DB 처리)
• status == ok) 등록 성공
• status == waiting list free) 수강 대기
• else) Error

 

 

[예시] 비행기 예약 시스템

Customer는 [비행기 검색], [예약], [탑승권 구매], [좌석 구매] 순차적 수행

탑승권 구매는 은행을 통해 검증되어야 한다.

비행기 예약 시스템 예제

 

 

Time-consuming Message

메세지가 도달하는데 시간이 소요되는 경우가 있다.

이런 경우에는 기울어지게 선을 긋는다.

반응형

'까망 동네 > OOAD & UML' 카테고리의 다른 글

[OOAD] UML이란  (1) 2024.10.14
[OOAD] UP - Elaboration 단계  (1) 2024.10.13
[OOAD] UP(Unified process) 무엇인가?  (0) 2024.10.11
[UML] Use Case Diagram  (0) 2024.10.10
[UML] Activity Diagram  (0) 2024.10.07

댓글