아키텍처정의서 작성표준산출물 책임자: 소프트웨어 아키텍트(SA), 테크니컬 아키텍트(TA)

표준 개정일: 2005.01.01

 

  1. 개요(Overview)

아키텍처는 시스템을 구성하는 요소 (elements)를 정의하고, 이 요소들간의 상호작용을 모호함이 없이 정의하여 어떠한 형태를 갖는 구조와 행위로 나타내는 것이라고 할 수 있다. 따라서, 아키텍처 정의서에서는 시스템(system)을 구성하는 요소들과 이들간의 상호작용 및 구조를 정의해야 한다. 이것을 보다 체계화하여 나타내기 위해 Innovator 방법론에서는 아키텍처를 비즈니스 아키텍처, 소프트웨어 아키텍처, 기술 아키텍처의 관점으로 정의하고 있다.
Business ArchitectureSoftware ArchitectureTechnical Architecture* Business Object

아키텍처 정의서 또한 이러한 세가지 아키텍처 관점으로 시스템을 구성하는 각 요소들을 정의하고 소프트웨어의 구조와 상호작용에 대한 추상화된 모델링을 통해 설계 및 개발에 있어서 일관되고 체계적인 설계 및 개발이 될 수 있도록 한다.

  1. 작성기준
    1. 미작성시 영향

 

    1. 작성이 불필요한 경우

아키텍처정의서는 반드시 작성하도록 한다.

    1. 제출시 고려사항

분석단계 완료 시 고객에게 제출하고 승인을 받도록 한다.

  1. 작성항목
    1. 개요

 

      1. 적용범위(Scope)

 

      1. 제약사항(Constraints)

 

      1. 기술표준 및 구조(Technology Standard)(선택)

 

      1. 참조대상자(Audience) (선택)

 

    1. 비즈니스 아키텍처
  1. 비즈니스 아키텍처 모델

예) 액티비티 다이어그램(To-Be), 패키지 구조(업무기능), 유스케이스 다이어그램

    1. 소프트웨어 아키텍처

 

      1. 소프트웨어 아키텍처 스타일

프리젠테이션 레이어, 워크 스페이스 레이어, 워크 플로우 레이어, 서비스 레이어, 퍼시스턴스 레이어

프리젠테이션 레이어, 비즈니스 레이어, 퍼시스턴스 레이어

 

    1. Layered 소프트웨어 아키텍처


2) 소프트웨어 아키텍처 상세 가이드

아키텍처상에 언급되는 주요 설계패턴과 설계 시 참조할 패턴을 정의하고 참조사이트를 링크한다. 아키텍처 정의서에 사용될 패턴을 정의함으로써 설계 패턴의 남용(Overuse)과 설계 패턴의 불충분한 사용(Underuse)를 방지하도록 한다.
표현 예 )
클래스 패턴 참조사이트
ProjectDAO DAO http://java.sun.com/.....

프로젝트에서 재사용 및 생산성 향상을 위해 프레임워크를 사용한다면, 구체적으로 사용된 프레임워크를 아키텍처 정의서에 명세하고 참조문서를 링크해준다. 특히 사내에서 개발된 프레임워크를 사용한다면 프레임워크 작성가이드에 따라 프레임워크의 메커니즘과 구조를 간략히 기술하도록 하고 아키텍처 정의서는 이 문서를 참조하는 형태로 작성한다. 내부적으로 개발된 프레임워크나 오픈 소스(Open Source) 혹은 재사용 프레임워크를 적용하게 된다면 그 목록만을 작성하고, 참조문서와 연결하거나 간단히 기술될 수 있는 내용이라면 아키텍처 정의서 내에 포함시켜도 무방하다.
단, 프레임워크는 분석/설계자나 개발팀에게 있어서 중요한 고려사항이므로 이들이 프레임워크를 잘 이해할 수 있도록 적용 가이드 문서를 별도로 작성하거나, 소프트웨어 아키텍처 상에 반영 되어야 하는 부분을 분명하게 명세하도록 한다.

      1. 설계 메커니즘

 

    1. 데이터접근

2) 보안

 

사용자의 권한 및 메뉴설정 관련한 메커니즘을 정의할 수 있다. 이 외에 정의해야 할 사항은 별도로 기술해 준다. 이때 보안전문업체를 통해 보안계획서를 별도로 작성할 수 있다.

보안 적용기술을 정의한다. SSL의 사용여부 및 인증관련 보안 알고리즘을 정의하고,이것을 지원하는 패키지나 라이브러리를 정의하여 보안 메커니즘을 아키텍처 상에 정의할 수 있다.
3) 로깅, 에러 및 예외처리

  1. 기타

표현 예 ) 국제화 처리 규약, 규칙 등

 

    1. 기술 아키텍처

 

 

      1. 하드웨어 및 네트워크 구성 및 사양

외부 시스템과의 인터페이스 방식 및 장애 대비 방안, 장애 발생시 처리 및 복구 방안, 백업 및 시스템의 운영을 위해 필요한 용량산정에 관한 결과도 필요한 경우 아키텍처 정의서에 정의할 수 있으나, 별도의 문서로 작성하는 것이 개발 및 향후 운영에 도움을 줄 수 있다.
기술환경에 따른 소프트웨어 구성 : 물리 운영 환경에서 작동하는 기술 소프트웨어의 Communication 방식을 구조적으로 작성한다. 이러한 그림은 소프트웨어 설계 및 개발에 있어서 중요한 고려사항이 될 수 있다. 또한 추가적으로 동시사용자수나 트랜잭션 양을 기술할 수 있다.

      1. 소프트웨어 구성 및 버전

 

    1. 용어정의(Glossary) (선택)

 

    1. 참조 문서(References) (선택)

예) Vision for Technology Development, Valerie Smothers, January 2003.

  1. 작성시 고려사항

 

  1. 관련기법(Related Technique)