학교생활/23-1 '모여서 각자 코딩'

[모각코 23-1] 5회차-Interaction Diagrams

the0 2023. 5. 2. 15:56
728x90

목차

1. System Sequence Diagram

2. Operation Contract

3. Sequence Diagram

 

추가: Class Diagram 예시


System Sequence Diagram(SSD)

1-1. 시스템 시퀀스 다이어그램이란?

어떻게 동작하는가 보다는 무엇을 하는가에 초점을 맞춘 설명.
UML에는 “시퀀스 다이어그램”은 있지만, “시스템 시퀀스 다이어그램”은 없다

 

1-2. 그냥 시퀀스 다이어그램과의 차이

시스템 시퀀스 다이어그램과 시퀀스 다이어그램과의 차이는 표현의 범위에 있다
시스템 시퀀스 다이어그램은 개발 중인 시스템의 인풋 아웃풋 이벤트를 표현하는 것에 집중한다.
일반적인 시퀀스 다이어그램이 외부 액터와 시스템 속 유스케이스의 시간에 따른 상호작용을 표현한다면
시스템 시퀀스 다이어그램은 외부 액터가 시스템과 상호작용하는 시스템 이벤트 시나리오를 표현하는 것이다.

 

1-3. 시스템 시퀀스 다이어그램 예시

 

(1) Sales

 

(2) Uber

 

 

System Operation Contract

2-1. 시스템 오퍼레이션 컨트랙트란?

system operation contract 는 시퀀스 다이어그램을 구성하는 api 들을 말한다. 

예를 들면, 시스템에서 발생하는 여러 input, output, 기타 이벤트 들을 말한다. 

사용자와 시스템 간 상호작용으로 도메인 모델에서 변화가 일어나게 되는데, 그런 변화를 묘사하는 모델을 operation contract 라고 한다. 이때 해당하는 pre-condition, post-condition을 기록한다.

 

2-2. 들어가는 내용

- System Operation: ex) enterItem(itemID: ItemID, quantity: integer).. operation 명과 파라미터를 적어준다.

- Pre-condition : operation이 발생되기 전 상황, 가정, operation 발생 조건 등을 기술한다. 
- Post-condition : operation이 수행된 이후 domain 모델의 object들의 상태를 기술한다. 위의 예시를 보면 새로운 instance가 만들어져서 새로운 association들이 생기고 어떤 class의 attribute가 수정되었고 등의 내용을 기술한다.

 

Sequence Diagram

3-1. 시퀀스 다이어그램이란?

시퀀스 다이어그램은 특정 행동이 / 어떤 순서로 / 어떤 객체와 / 어떻게 상호작용 하는지를 표현하는 다이어그램이다.
시퀀스 다이어그램을 이용하면 use case를 디테일하게 알 수 있고, api 호출 등의 로직을 모델링 할 수 있어 시나리오를 파악하기에 좋다.
또한 시퀀스 다이어그램은 실시간 명세를 표현하는 데에 적합하다.

 

* 시스템 시퀀스 다이어그램과의 차이점은 1-2 를 참고할 것.

 

3-2. 시퀀스 다이어그램 예시

(1) 로그인 페이지

출처:  https://www.softwareideas.net/
https://creately.com/diagram/example/h9256rlo1/student-login-sequence-diagram-example

 

(2) 도서관 관리 시스템

https://gitmind.com/kr/sequence-diagram-example.html


Class Diagram 예시

(1) 상속

 

728x90
댓글수0