Douglas' Space
Context Model 본문
1. 들어가면서
아래 보시는 그림은 무엇을 의미하는 것일까요?
네 맞습니다. 요구사항의 중요성을 이야기하는 그림입니다. 직관적으로는 시스템 개발 단계에서 발생한 결함을 해결하는 비용이 개발 단계 뒤로 갈수록 기하급수적으로 늘어난다는 것을 알려주는 도표입니다. 다른 말로 이야기하면 요구사항의 결함은 개발단계를 진행할 수록 시스템 개발에 엄청난 비용을 지불하게 된다고 할 수 있습니다. 마치 눈덩이가 점점 커지는 것을 연상할 수 있습니다.
또 반대의 의미로는 요구사항의 결함을 조기에 발견할 수록 시스템의 품질과 개발생산성을 제고할 수 있다는 것으로 해석할 수 있습니다. 요구사항의 결함이란 지난번 말씀드린 요구사항명세서가 가져야할 완전성, 일관성, 정확성, 테스트용이성을 만족하지 못하는 경우일 것입니다.
시스템 요구사항 분석모델중 최상위 요구사항 모델로서 시스템의 범위를 결정하는 context model에 대해 알아보도록 하겠습니다.
2. Actors
Actor는 context model에서 가장 중요한 요소입니다. 시스템 외부에 존재하면서 시스템과 상호작용하는 객체입니다. 즉 시스템의 외부환경을 의미합니다. Actor는 특정 인스턴스를 의미하지 않고 그 역할을 수행하는 객체타입으로 표현됩니다. 아래 그림은 간단한 context model을 표현하고 있습니다. 작은 사각형의 목표 시스템은 actor#1, actor#2라는 두개의 actor와의 관계를 갖고 있습니다.
시스템과 액터사이의 관계는 상호작용하는 인터페이스를 의미합니다. 이 인터페이스들은 방향을 갖고 있습니다. 인터페이스 중에는 목표시스템의 역할을 수행하는데 관여되지 않는 인터페이스는 관계를 표시하지 않습니다. 예를 들어 액터가 레이더인 경우 레이더에서 제공하는 많은 데이터가 존재하지만 시스템에서 필요하지 않은 데이타는 모델링하지 않습니다.
인터페이스를 통해 입출력되는 객체는 디지털 형태의 데이터일 수도 있고 음향이나 전파와 같은 아날로그 데이터일 수 도 있습니다. 심지어 물리적으로 존재하는 어떤 물건도 가능할 수 있습니다. 그런데 시스템의 범위가 액터2를 포함한다면 시스템의 범위는 큰 사각형으로 확장이 되어서 액터2가 수행하는 기능도 시스템의 개발범위에 포함된다고 이해할 수 있습니다. 즉 액터와 인터페이스를 통해 입출력되는 객체가 시스템의 범위를 결정한다고 할 수 있습니다. 액터는 보통 사람, 어떤 장치, 다른 시스템 또는 물리적인 객체가 될 수도 있습니다. 이러한 액터들을 크게는 human actor와 machine actor로 구분합니다. Human actor는 그림과 같은 사람 모양으로 표현합니다.
그리고 이러한 액터들은 클래스 다이어그램을 기반으로 generalization, composition 등의 상관관계를 모델링하기도 합니다. 이 화살표는 generalization관계를 나타내는 것으로 사용자는 체계개발담당, 자산위협관리담당, 작전지휘관, 표적관리센타장, 대응담당으로 세분화될 수 있다는 것을 의미합니다.
Machine actor는 사각형으로 모델링합니다. Human actor와 같이 액터들간의 상관관계를 클래스 다이어그램 형태로 표현할 수 있습니다. 액터간의 클래스 다이어그램은 context model에 반드시 포함되는 것은 아닙니다. Actor들의 관계가 복잡하거나 시스템을 이해하고 모델링하는데 도움이 되는 경우에만 작성합니다.
3. Context Diagram
Context model의 가장 핵심은 바로 전에 설명드린 context diagram입니다. context diagram도 actor diagram처럼 모두 클래스 다이어그램을 확장하여 표현합니다. Context diagram은 보시는 바와 같이 하나의 목표시스템과 주변의 액터, 그리고 시스템과 액터들간의 인터페이스를 표현하는 방향이 있는 관계인 association으로 표현합니다. 인터페이스는 고유한 식별자로 인터페이스 ID를 부여합니다.
4. Context Model의 예
아래 context model은 ATS CSCI라는 명칭이 시스템으로 정의되어 있습니다. 그리고 시스템과 직접 관련이 없는 actor들을 같이 한장의 context diagram에 표시하고 있습니다. 별도의 actor diagram을 기술할 수도 있고, context diagram에 이렇게 같이 기입할 수도 있습니다.
또 그림 오른쪽 아래와 같이 "시스템로그"라는 인터페이스가 존재하는데, 이 부분은 액터와 시스템간의 인터페이스가 파일 등의 매체로 인터페이스는 되는 경우를 의미합니다. 이 심볼객체는 data store라고 부르며 물리적으로는 파일, 데이타베이스 등과 같은 저장된 데이타세트를 의미하거나 논리적으로는 임의의 데이터를 저장하는 곳을 의미하는 표기법입니다.
'Development Diary > System Requirements Analysis Model' 카테고리의 다른 글
Non-functional requirements (0) | 2023.01.29 |
---|---|
Interface Model (0) | 2022.07.02 |
Use-Case Pattern (0) | 2022.07.02 |
Functional Model (0) | 2022.06.04 |
State Model (0) | 2022.05.08 |