개발 문서나 블로그에서 종종 보이는 아키텍처라는 용어를 자주 봤던거 같다. 하지만 뭔가...느낌? 만 알고 제대로 된 설명을 하라고 하면 못할거 같아서 이번 기회에 정확하게 개념을 정리하려고 작성하였다.
본문
시스템 아키텍처(system Architecture)는 시스템의 구조, 행위, 더 많은 뷰를 정의하는 개념적 모형이다. 시스템 목적을 달성하기 위해 시스템의 각 컴포넌트가 무엇이며 어떻게 상호작용하는지, 정보가 어떻게 교환되는지를 설명한다.
- 위키백과
위의 말이 약간 어렵긴 하지만 구체적인 하는 일은 다음과 같다.
- 시스템 구성 및 동작 원리를 나타내고 있다.
- 시스템 구성 요소(부품)에 대해 설계 및 구현을 지원하는 수준으로 자세히 기술된다. (IEEE 1471 또는 TOGAF 등)
- 구성 요소 간의 관계 및 시스템 외부 환경과의 관계가 묘사된다.
- 요구 사양 및 시스템의 전체 수명주기를 고려한다.
- 시스템 전체(하드웨어와 소프트웨어를 포괄한 것)에 대한 논리적인 기능 체계와 그것을 실현하기 위한 구성 방식. 시스템의 전체적인 최적화를 목표로 하고 있다
한마디로 정리하면
최적화를 목표로 두고 시스템 구성과 동작원리, 시스템의 구성 환경 등을 설명 및 설계하는 청사진 또는 설계도 라는 것이다.
좀 더 쉬운 정리
아키텍쳐는 비지니스 요구 사항을 만족하는 시스템을 구축하기 위해서 전체 시스템에 대한 구조를 정의한 문서로,
시스템을 구성하는 컴포넌트와, 그 컴포넌트간의 관계, 그리고, 컴포넌트가 다루는 정보(데이터)를 정의한다
시스템 아키텍처와 소프트웨어 아키텍처
참고
ko.wikipedia.org/wiki/%EC%8B%9C%EC%8A%A4%ED%85%9C_%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98
pds12.egloos.com/pds/200901/14/88/a0105788_496df5c87a456.pdf