본문 바로가기

ComputerScience/Software Engineering

소프트웨어공학 - 12. Sequence Diagram -> Operation Contract

728x90

1. System Sequence Diagram

- 시스템에 들어오는 input, output 이벤트를 시각화하는데 주로 사용된다.

- 시스템의 반응을 묘사하기 용이하다.

- 시스템의 api들을 나타내는 그림이다.

- 이런걸 만드는 목적은 다 나중에 설계단계에서 class, object를 도출하기 위해서 이다.

- UML sequence diagram을 사용한다.

 

참고) https://jsdysw.tistory.com/334?category=1009344

 

- 시스템을 black box라고 가정하고 이벤트들의 ordering에 집중한다. (어떻게 동작 하냐에 집중하지 않고 무슨 동작을 하냐에 집중)

- POS 시스템에 대한 ssd를 만들어보았다.

 

- 이 ssd는 UP의 elaboration 단계에서 만들어진다. 여러번의 반복을 통해 ssd도 점점 확장된다.

- 이 ssd를 가지고 다음 단계에서 system operation contract를 만들게된다.

2. system operation contract

- system operation은 sequence diagram을 구성하는 api들을 말한다. 즉 시스템에서 발생하는 여러 input, output, 기타 event들을 말한다.

- 시스템을 구성하는 모든 operation들을 모으면 system interface가 된다.

 

- 사용자와 시스템의 상호작용으로 domain model에서 변화가 일어나게 된다.

- 그런 변화를 묘사하는 모델을 operation contract라고 한다. pre, post condition form을 기록한다.

- UP에서 단계별로 만들어지는 artifact들과 그 artifact들이 서로 다음 artifact를 도출하는데 영향을 미치는 관계가 보인다.

- sequence diagram이 operation contract를 만드는데 영향을 미친다.

- operation contract의 예시이다.

- enterItem이라는 동작에 대한 분석 결과이다.

- cross reference : 이 동작이 발생하는 use cases를 적어준다.

- precondition : operation이 발생되기 전 상황, 가정, operation 발생 조건 등을 기술한다. 너무 뻔한 내용들이라면 이 항목은 생략해도 된다.

- postcondition : operation이 수행된 이후 domain 모델의 object들의 상태를 기술한다. 위의 예시를 보면 새로운 instance가 만들어져서 새로운 association들이 생기고 어떤 class의 attribute가 수정되었고 등의 내용을 기술한다. 보통 과거형으로 작성한다.

 

 

728x90
반응형