태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.


2008/09/18 11:37

[SA강좌] Part 3-1 소프트웨어 아키텍처 설계




주의 : 아래 글은 전적으로 개인적으로 짧은 지식과 소견으로 쓰는 글입니다. 제 전공은 경제학이나 국제금융도 아니고 외환이나 주식관련 애널리스트도 아닙니다. 따라서 아래 정보를 활용해서 발생하는 손실이나 손해에 대해서는 아무런 책임을 질 수가 없음을 밝힙니다. 그리고, 여기에 쓰는 글은 여기저기 널려있는 수많은 정보중에서 제 맘대로 발췌해서 만든내용일 가능성이 대다수입니다. 이 정보를 자신을 위해 사용할 때의 결정은 자기자신만이 할 수가 있는 것이기 때문에 이 글을 읽으실때에는 그냥 편하게 읽어주십시요.
참고로... 저는 무정부주의자도 아니고, 누구를 모함하거나 잘못된 정보를 전달하기 위해 만들어진 글도 아닙니다. 정부의 정책을 반대하는 것도 아니고, 동조하지도 않습니다. 그냥 개인적인 의견이므로 다음부터 나열되는 글을 읽기가 걱정되시면 그대로 페이지를 닫아주시기 바랍니다. 저는 미네르바 처럼 잡혀가기 싫습니다.


소프트웨어 아키텍처 설계

소프트웨어 아키텍처 설계 활동의 작업들과 작업 절차는 다음과 같다.

그림 Ⅲ-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. 아키텍처 구성 요소

크리에이티브 커먼즈 라이선스
Creative Commons License



Trackback 1 Comment 0