Software Architecture
S/W Architecture - 시스템 구조 설명 View
Linuxias
2024. 9. 21. 22:58
반응형
SW 아키텍처 문서 작성 시 다양한 관점(View)을 통해 시스템의 구조와 동작을 설명할 수 있는데, 주로 사용되는 View는 Context View, Module View, Behavior View, Deployment View입니다. 각 View는 서로 다른 측면에서 시스템을 분석하고 설명하는 역할을 하며, 차이점을 비교해보면 다음과 같습니다:
1. Context View
- 목적: 시스템의 외부 환경과 상호작용을 설명
- 주요 내용: 시스템이 외부 엔티티(사용자, 다른 시스템 등)와 어떻게 상호작용하는지를 다룬다. 즉, 시스템의 경계를 정의하고 외부에서 시스템으로 들어오거나 나가는 데이터를 설명한다.
- 예시: 시스템이 어떤 외부 서비스와 통신하는지, 사용자 인터페이스(UI)와의 상호작용은 어떤 방식으로 이루어지는지를 설명하는 다이어그램
- 대상 독자: 비기술적인 이해관계자(사업팀, 고객 등)도 포함
2. Module View
- 목적: 시스템의 내부 구조(모듈 또는 컴포넌트)를 설명
- 주요 내용: 시스템을 여러 모듈로 나누고, 각 모듈이 어떤 역할을 하는지, 모듈 간 상호작용 및 의존성을 다룬다. 모듈은 시스템의 코드, 클래스, 함수, 서브시스템 등의 논리적 구조로 볼 수 있다.
- 예시: 클래스 다이어그램, 패키지 다이어그램 등 모듈 간의 관계 및 상호작용을 설명하는 자료
- 대상 독자: 개발자나 설계자 같은 기술적인 이해관계자
3. Behavior View
- 목적: 시스템의 동작 방식과 흐름을 설명
- 주요 내용: 시스템이 어떻게 동작하고 처리 흐름이 어떤 방식으로 흘러가는지에 중점을 둔다. 이벤트가 발생할 때 시스템이 어떻게 반응하는지를 나타내며, 시스템의 내부 로직을 이해하는 데 중점을 둔다.
- 예시: 시퀀스 다이어그램, 상태 다이어그램, 활동 다이어그램 등이 사용된다.
- 대상 독자: 시스템의 내부 로직에 대한 이해가 필요한 기술적인 이해관계자(개발자, QA 등)
4. Deployment View
- 목적: 시스템의 물리적인 배포 환경을 설명
- 주요 내용: 시스템이 실제로 어떤 하드웨어나 네트워크 환경에 배포되는지를 다루며, 서버, 데이터베이스, 네트워크 구성, 물리적인 컴퓨터 자원에 대한 정보를 제공한다.
- 예시: 서버 배포 다이어그램, 네트워크 구성도 등 배포 환경을 설명하는 자료
- 대상 독자: 인프라 엔지니어, 네트워크 관리자, 시스템 운영팀 등
요약 비교
View | 목적 | 주요 내용 | 대상 독자 |
---|---|---|---|
Context View | 시스템과 외부 상호작용 설명 | 외부 시스템, 사용자와의 인터페이스, 상호작용 | 비기술적 이해관계자 |
Module View | 시스템의 내부 논리적 구조 설명 | 모듈 간 관계, 역할 및 의존성 | 개발자, 설계자 |
Behavior View | 시스템의 동작 및 처리 흐름 설명 | 이벤트 처리, 시스템 반응 방식 | 기술적 이해관계자 |
Deployment View | 시스템의 물리적 배포 환경 설명 | 서버, 네트워크, 배포 인프라 | 인프라 엔지니어, 운영팀 |
이처럼 각 View는 시스템의 다양한 측면을 다루며, 서로 다른 목적과 독자를 대상으로 한다는 점에서 차이가 있습니다.
반응형