소프트웨어 아키텍처 설계
소프트웨어 아키텍처 설계 활동의 작업들과 작업 절차는 다음과 같다.
그림 Ⅲ-24. 소프트웨어 아키텍처 설계 절차
소프트웨어 아키텍처 설계 과정은 우선 아키텍처 관련 요구사항을 분석하고 그 후 시스템 컨텍스트를 정의한다. 아키텍처의 각 View는 Component&Connector View, Module View, Allocation View, Code View의 순서로 작성한다. 각 View를 작성하기 전에 아키텍처 관련 요구사항을 수정하고 다시 분석할 수도 있다.
그림 Ⅲ-25은 소프트웨어 아키텍처의 각 View와 다른 산출물과의 관계를 보여준다.
그림 Ⅲ-25. 소프트웨어 아키텍처 설계 절차
첫 번째 설계 단계는 설계를 위한 시스템 컨텍스트를 결정한다. 이는 시스템의 행위(behavior)을 결정하는 것으로써 외부 시스템 엔터티와 시스템간의 인터페이스를 결정하는 것이라고 할 수 있다. 두 번째 과정은 아키텍처를 component와 Connector를 사용하여 표현하다. 이는 주요 아키텍처 abstraction과 아키텍처 스타일 간 관계를 정의한다는 것을 말한다. Component&Conenctor View는 시스템을 abstraction하는 과정으로써, 이 과정이 전체 시스템 아키텍처를 결정하는 과정에 속하게 된다. 시스템 전이단계는 단지 추가적으로 아키텍처 스타일을 정의한 부분에 첨부하는 과정에 해당될 뿐이다.
세 번째 과정은 Module View를 결정하는 단계로 아키텍처의 주요 컴포넌트들을 정의하고, 이들간의 관계를 정의하는 시스템 분해와 관련 있다. 네 번째 과정은 Allocation View를 결정하는 단계로 아키텍처의 각 구성 요소가 시스템에서 어떻게 인스턴스화 되고 실행되는지를 보여준다. 다섯 번째 과정은 Code View를 결정하는 단계로 소스코드의 패키지 구조를 보여준다.
그림 Ⅲ-26. 아키텍처 구성 요소
trackback from: 소프트웨어 개발자의 로망, 아키텍트(Architect)!
답글삭제소프트웨어 개발은 그 학문적 특질이 유사한 건축과 연관관계를 맺고 있다. 소프트웨어 개발의 특정 조건에서 발생되는 규칙적인 문제를 해결하기 위한 디자인 패턴도 이런 건축학에서 비롯되었다(건축학의 역사가 더 오래된 만큼 당연한 결과.). 건축 설계자를 영어로 아키텍트(Architect)라고 하듯 소프트웨어 개발 역할에도 아키텍트가 존재하는데, 여기서 그 역할을 소개하고자 했으나, 좋은 책이 있어 떠중이의 말은 줄이고 그 책의 목차나 소개하고자 한다...