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는 시스템의 다양한 측면을 다루며, 서로 다른 목적과 독자를 대상으로 한다는 점에서 차이가 있습니다.

반응형