중간 산출물 (아티팩트): 소프트웨어 아키텍처 문서
이 중간 산출물은 시스템의 포괄적인 아키텍처 개요를 제공하며, 다양한 아키텍처 보기를 사용하여 시스템의 다양한 측면을 보여줍니다.
목적

소프트웨어 아키텍처 문서는 소프트웨어 시스템의 포괄적인 아키텍처 개요를 제공합니다. 이 문서는 프로젝트에 대해 작성된 중요 아키텍처 결정에 대해 소프트웨어 설계자 및 기타 프로젝트 팀 구성원 간의 커뮤니케이션 매체로 사용됩니다.

관계
역할책임이 있음: 수정자:
입력 대상필수:
  • 없음
선택사항: 외부:
  • 없음
산출 지점
특성
선택사항
계획됨Yes
예시
사용자 조정
표시 옵션UML 표시: 관련된 아키텍처 보기 세트: 유스 케이스, 논리, 프로세스, 배치, 구현, 데이터.

소프트웨어 특성에 맞도록 소프트웨어 아키텍처 문서의 아웃라인을 조정해야 합니다.

  • 일부 아키텍처 보기는 관련되지 않을 수 있습니다.
    • 배치 보기는 단일 CPU 시스템에 필요하지 않습니다.
    • 시스템이 단일 제어 스레드만 사용하는 경우 프로세스 보기가 필요하지 않습니다.
    • 오브젝트 지속성이 시스템의 중요한 측면이 아니고, 또한 지속성 메커니즘에서 지속적 오브젝트와 비지속적 오브젝트 사이의 맵핑이 필요하지 않으면 데이터 보기가 필요하지 않습니다.
  • 소프트웨어의 특정 측면에는 고유한 섹션이 필요할 수 있습니다(예제: 데이터 관리 또는 사용성 문제에 관련된 측면).
  • 특정 측면(예: 제거된 솔루션과 함께 특정의 중요한 선택사항의 근거)을 설명하거나 두문자어 또는 약어를 정의하거나 일반적인 디자인 원칙을 제시하기 위한 추가 부록이 필요할 수 있습니다.
  • 다양한 섹션의 순서는 시스템의 이해 당사자(stakeholder)와 이들의 초점 또는 관심 분야에 따라 다를 수 있습니다.

각 아키텍처 보기의 장점 및 단점은 다음과 같습니다.

유스 케이스 보기

이 보기는 필수입니다.

논리 보기

이 보기는 필수입니다.

프로세스 보기

이 보기는 선택적입니다. 시스템에 둘 이상의 제어 스레드가 있고 독립 스레드가 상호 작용하거나 서로 종속되는 경우에만 이 보기를 사용하십시오.

배치 보기

이 보기는 선택적입니다. 시스템이 둘 이상의 노드 사이에 분산되어 있는 경우에만 이 보기를 사용하십시오. 이와 같은 경우에도, 분산에 아키텍처 내포사항이 수반되는 경우에만 배치 보기를 사용하십시오. 예를 들어, 단일 서버와 많은 클라이언트가 있는 경우 배치 보기는 단지 서버 및 클라이언트의 책임을 노드 클래스로 묘사하기 위해 필요합니다. 모두 동일 기능을 가지고 있는 경우에는 모든 클라이언트 노드를 표시하지 않아도 됩니다.

구현 보기

이 보기는 선택적입니다. 구현이 엄밀하게 디자인에서 구동되지 않은 경우(즉, 디자인 및 구현 모델에서 해당되는 패키지 사이에 서로 다른 책임 분배가 있는 경우)에만 이 보기를 사용하십시오. 디자인 및 구현 모델의 패키징이 동일하면 이 보기를 생략할 수 있습니다.

데이터 보기

이 보기는 선택적입니다. 지속성이 시스템의 중요한 측면이고 디자인 모델에서 데이터 모델로의 변환이 지속성 메커니즘에 의해 자동으로 수행되지 않는 경우에만 이 보기를 사용하십시오.



자세한 정보