Douglas' Space
System Behavior Model 본문
1. 들어가면서
System Architecture는 Application Architecture와 같이 시스템을 구성하는 컴포넌트들의 정적인 구조만 표현하는 것이 아니라 이들 간의 관계, 즉 요구하는 기능을 실현하기 위한 상호 협업하는 행위를 포함해야 한다. 따라서 지금까지 설명한 설계 결정사항에 따라 설계한 정적인 Technology 및 Application Architecture 뿐만 아니라 각 CSCI 들이 어떻게 상호작용하여 System Analysis에서 정의한 기능, 즉 유스케이스를 수행하는 것인 가를 설계해야 한다.
이러한 행위를 설계한 모델을 System Behavior Model이라고 하며, 이 모델을 통해 각 CSCI의 인터페이스가 결정이 되어 수행할 기능이 각 CSCI 할당이 되어 이를 Functional Allocation이라고 말하기도 한다. 따라서 최종 System Architecture는 설계의 최종 결과로서 정적인 System Architecture Model과 동적인 System Behavior Model을 모두 포함한다고 할 수 있다.
2. Usecase Realization Model
유스케이스는 System Analysis 관점에서 시스템의 각 기능을 모델링한 것이다. 따라서 각 기능이 설계한 CSCI 들로 어떻게 구현되는 지를 설계하기 때문에 Behavior Model을 Usecase Realization Model이라고도 한다. 보통 System Analysis Model중 Functional Model의 각 Usecase에 대해 관련 Actor와 CSCI 들을 Lifeline으로 하는 Sequence Diagram을 통해 System Behavior Model을 설계한다.
위 그림에서 왼쪽 위쪽은 System Analysis Model에서 각 기능을 나타내는 Usecase Model을 도식화 한 것이다. 적색의 하살표가 가리키는 2개의 Sequence Diagram은 2개의 Usecase에 대한 Behavior Model을 관련 actor와 CSCI별로 상호작용을 설계하여 CSCI의 인터페이스를 결정한다. 결론적으로 System Behavior Model은 각 유스케이스별로 Sequence Diagram으로 Usecase Rallization을 통해 개발되며, 이는 각 기능을 CSCI에 할당하는 Function Allocation을 하는 것과 같다고 할 수 있다.
3. System Behavior Model의 완전성
System Behavior Model은 각 CSCI 간의 상호작용하는 관계를 모델링한다. 위에서 이러한 상호작용을 유스케이스 별로 모델링한다고 설명하였지만 엄밀히 말하면 System Analysis 단계에서 발생되는 모든 내부 및 외부 이벤트에 대해 설계해야 한다. 예를 들어 System State Model에는 유스케이스에 언급되지 않은 이벤트가 존재하기 때문에 System State Model의 이벤트에 대해서도 Sequence Diagram을 통해 Behavior Model을 추가로 작성해 주어야 한다.
또한 유스케이스에 다양한 이벤트가 존재하는 경우에도 별도의 분리된 Sequence Diagram으로 작성하여 할 수 있다. 특히 여러 이벤트로 포함하는 유스케이스의 경우는 하나의 Sequence Diagram으로 모델링하기 어려운 경우는 다수의 Sequence Diagram으로 모델링할 수 있다.
위의 그림은 각 이벤트별로 작성한 Sequence Diagram을 표현하며, 각 CSCI들의 인터페이스와 이들간의 상호작용에 대한 예를 보여주고 있다. 이러한 인터페이스들은 CSCI마다 별도의 Interface Model을 구성할 수 있다.
'Development Diary > System Design Model' 카테고리의 다른 글
Application Architecture (0) | 2024.07.06 |
---|---|
System Architecture Model (0) | 2023.09.30 |
Design Decision Model (0) | 2023.09.30 |