Skip to content

3.1 아키텍처 설계의 주요 개념 #1476

@jongfeel

Description

@jongfeel

3.1 아키텍처 설계의 주요 개념

3.1.1 아키텍처의 정의

ISO/IEC/IEEE 42010:2011에서는 아키텍처를 다음과 같이 정의합니다.

Architecture
fundamental concepts or properties of a system in its environment embodied in its elements, relationships, and in the principles of its design and evolution

아키텍처는 시스템의 여러 구성 요소와 그들 사이의 관계로 이루어집니다.
즉, 소프트웨어를 어떻게 설계하고 앞으로 어떻게 발전시킬 지를 결정하는 기본 원리와 원칙이 바로 아키텍처입니다.

아키텍처로 달성해야 할 것

비즈니스적 요구사항과 그에 따라 도출된 기능 중 아키텍처에 영향을 미치는 요소를 선별하고 비기능적 요소 중에서도 품질에 영향을 주는 요소를 찾아냄으로써 아키텍처가 달성해야 할 목표를 명확히 설정합니다.

설계 판단

설계 과정에서 내려지는 일련의 선택들을 트레이드 오프 하는 과정이라고 표현합니다.
아키텍처 선정에 이르게 된 판단의 근거나 이유는 기록으로 남기는 것이 중요 합니다.

시스템 구성도

여러 관점에서 이루어진 설계 판단의 결과로, 시스템이 어떤 구성 요소로 나뉘고 이들이 어떻게 상호작용하는지가 결정됩니다.

** 개발 문서와 규약, 가이드라인**

대규모 시스템에서는 여러 개발자가 함께 작업하게 되므 로, 아키텍처의 개념과 방침을 일관되게 유지해야 합니다.

3.1.2 아키텍처 설계 작업

표 3.1 아키텍처 설계 작업

작업 주요 내용 산출물 예시
핵심 아키텍처 요구사항 도출 요구사항 분석, 정리. 아키텍처 드라이버 선정 아키텍처 드라이버 목록 (선정 과정에서 도출된 결과물), 품질 속성 시나리오
아키텍처 선정 아키텍처 패턴의 활용 여부 검토, 트레이드오프 분석·비교 평가 아키텍처 모델, 비교 평가 매트릭스,아키텍처 프로토타입, 아키텍처 의사 결정 기록(ADR)
아키텍처 문서화 아키텍처 관련 문서 작성 아키텍처 기술서, 각종 규약·가이드라인

Metadata

Metadata

Assignees

Projects

Status

Done

Relationships

None yet

Development

No branches or pull requests

Issue actions