아키텍처란 무엇인가?
아키텍처에 대한 정의는 다음과 같다.
“아키텍처는 비즈니스 요구사항을 만족하는 시스템을 구축하기 위해서 전체 시스템에 대한 구조를 정의한 문서로, 시스템을 구성하는 컴포넌트와 그 컴포넌트 간의 관계, 그리고 컴포넌트가 다루는 정보(데이터)를 정의한다”
아키텍처 설계 프로세스
-
아키텍처 설계 방법론은 여러 가지가 있으나, 주로 사용되는 프레임워크로는
Zachman
,TOGAF
,Federal Enterprise Architecture
등이 있다. -
그러나 이러한 전통적인 방법론은 학문적이고, 그 깊이가 매우 깊어서 일반적인 개발자들이 실무에 적용하기가 매우 어렵다. 따라서
TOGAF
를 경량화한 프로세스를 정의하였다.
- 먼저 비즈니스 요구사항을 기반을 한 아키텍처를 정의한다.
비즈니스 아키텍처란 구현하고자 하는 소프트웨어의 기능, 시장 상황, 로드맵 등 기능 보다는 비즈니스 관점에서의 소프트웨어를 정의한 모델이다. 주로 요구사항 정의서나 시장 조사서를 기반으로 이를 요약해서 정리해놓은 것을 비즈니스 아키텍처라고 한다.
-
설계 원칙을 정의한다. 아키텍처 설계 중 여러가지 옵션이 나왔을 때, 의사 결정의 기초가 되는 것으로, 시스템의 설계 사상에 해당한다. 이 아키텍처 설계 원칙과 비즈니스 아키텍처를 기반으로 기술적인 시스템 아키텍처를 구현한다.
-
시스템 아키텍처는 관점에 따라서 소프트웨어 코드로 구성되는 애플리케이션 아키텍처, 하드웨어 등 인프라에 대한 테크니컬 아키텍처, 웹 서버 데이터베이스 구성 등에 관련되는 솔루션 아키텍처와 데이터 저장 구조를 기술하는 데이터 아키텍처로 구분된다.
- 아키텍처 설계 과정 중 의사 결정이 필요한 경우에는 앞서 언급한 아키텍처 설계 원칙을 기반으로 하여, 내부적인 의사결정 프로세스에 따른다.