Contens
- System Sequence Diagram
- Operation Contracts
System Sequence Diagram
시스템 시퀀스 다이어그램(SSD)
-
하나의 사용 사례(use-case)의 특정 시나리오에 대해 외부 actor가 생성하는 이벤트와 시스템과의 상호작용을 순서대로 시각화 한 것
Elaboration phase에서 많이 작성됨
-
SDD가 필요한 이유
어떤 이벤트가 시스템에서 발생하는지 파악 / 예측하기 위함.
시스템의 동작을 블랙박스로 생각.
외부의 actor가 시스템에 요청했을 때, 시스템의 동작을 표현.
SSD는 사용 사례(Use-case)로 부터 유도됨
- Use-case는 외부 actors가 system과 어떠한 상호작용을 하는지 기술
- 상호작용을 하면서, 한 actor는 시스템을 향해 시스템 이벤트들을 생성함
- 일반적으로 SSD에서는 해당 사용 사례에서 main success 시나리오를 기반으로 작성
SSD vs Sequence Diagram
-
시스템 시퀀스 다이어그램
외부 actor와 시스템 간의 상호작용(요청 및 응답)을 시간적 순서대로 표현
분석 단계에서 수행하며, 시스템의 외부 동작에 집중(Black box)
-
시퀀스 다이어그램
특정 operation을 수행하기 위해 actor 및 내부 객체간 메시지 흐름을 나타낸 것
설계 단계에서 수행하며, 시스템 내부의 동작을 설명하고 모델링 함
System Sequence Diagram in OOA
Sequence Diagram in OOD
System Sequence Diagram
시스템 시퀀스 다이어그램의 구성 요소
- 시스템 (Black box로 간주)
- 시스템과 직접적으로 상호작용하는 외부 actors
- 시스템 이벤트 (시스템과 actors간의 상호 작용)

System Operations
System Operation의 의미
- System이 public interface를 통해 제공하는 operations
operation은 system에 할당.
System operations의 전체 집합을 system interface라고 함.
Operation Contracts
Operation Contract (작업 규약)
- System operation의 동작 및 제약 조건을 기술한 것
특정 system operation이 수행되고 난 후, domain 모델에서 객체 (또는 개념)의 세부 변화를 기술하는 데 사용 됨
pre-condition : operation이 실행되기 전에 필요한 조건/제약사항
post-condition : operation이 완료된 후 기대되는 결과와 시스템의 상태 변경
Postconditions
- Postcondition은 domain model에서 객체의 상태 변화를 기술
해당 system operation이 수행하는 도중에 발생하는 행위를 뜻하는 것이 아님
Operation이 끝나고 났을 때 domain model에서 객체 또는 관계의 변화를 관찰해서 기술
Operation contracts 작성을 통한 update
- Contracts를 명세화 하는 도중에 domain model에서 새로운 개념, 속성, 연관관계가 드러날 수 있음
- 이를 통해 domain model의 표현을 강화할 수 있음
- Operation이 명확하지 않거나 use-case의 설명이 너무 추상적인 경우 contract 작성을 통해 명확화 할 수 있음
Recap.
System Sequence Diagram
- 하나의 사용 사례(Use-case)의 특정 시나리오에 대해 외부 actor가 생성하는 이벤트와 시스템과의 상호작용을 순서대로 시각화한 것
Operation Contracts
- System operation의 동작 및 제약 조건을 기술한 것
Pre-condition : operation이 실행되기 전에 필요한 조건 / 제약사항
Post-condition : operation이 완료된 후 기대되는 결과와 시스템의 상태 변경