본문 바로가기
IT기술노트/소프트웨어공학

소프트웨어 아키텍처 문서화(Software Architecture Document)

by 비트코기 2021. 1. 31.

결정근거(Rationale), Repository, 4+1 View


I. 이해관계자들의 관심사 파악 및 관점 정의, SW아키텍처 문서화의 개요

가. 소프트웨어 아키텍처 문서화(Software Architecture Document)의 정의

   - 이해관계자들의 관심사 파악 및 관점들을 정의하고 다양한 View SW 아키텍처를 기술한 문서

나. 소프트웨어 아키텍처 문서화의 특징

   - 이해관계자들의 시스템 이해 및 관심사 해결, 의사소통 기준 및 의사결정 수단 활용

   - 아키텍처 구축의 결정 근거(Rationale)를 제시, 불필요한 논쟁 방지

   - SAD Repository 축적을 통해 SA프레임워크 및 참조모델 개발 가능, SA재사용 촉진 가능

   - SDLC 단계 중 상위설계(개략설계) 단계에서 작성


II. 소프트웨어 아키텍처 문서 작성 절차 및 4+1 View

가. 소프트웨어 아키텍처 문서 작성 절차

관점

구분

설명

정보 식별

아키텍처 기술서 정보작성

- 아키텍처 기술서 작성 표준 및 템플릿 활용

- 작성일, 문서상태,작성조직,작성이력,문서범위,용어집 참조사항

이해관계자 및 관심사 식별

- 이해관계자 식별 (Role 중심 : 사용자, 개발자,업무담당자)

- 이해당사자 별 목표,공통관심식별, 품질속성과 매우 밀접

View Point

관점 선택

- 후보관점 선정,정제,관점 우선순위화,최종선정

관점 별 설명

- 관점 선택/신규 작성시 결정근거, 관련 이해당사자, 뷰작성 기준

작성 및 취합

뷰 작성

- 관점 설명에서 작성된 뷰 작성 기준에 의거 실제 뷰 도해

전체 뷰 작성 및 취함

- 각종 개별 뷰의 상호 연관성과 일관성 표현

- 오버 뷰 형식 상위 뷰 작성 및 상호간 정합성 점검

나. 소프트웨어 아키텍처 4+1 View

구분

내용

개념도

 

논리적 뷰

기본적으로 행위와 관련된 요구사항

프로세스 뷰

동시성과 분선,시스템 무결성,내고장성 초점

개발 뷰

소프트웨어 모듈을 개발환경하에서 어떻게 조직화할지 초점

물리적 뷰

시스템의 가용성,안정성,성능,규모 확장성과 같은 시스템 요구사항 초점


III.             소프트웨어 아키텍처 문서 목차구성항목

대분류

소분류

내용

1. SAD개요

1.1

SAD 목적 및 필요성

- SAD 구성목차정의, SA, SAD의중요성 및 역할 설명

1.2

적용범위

- 전체 개발공정, 이해관계자 원칙, 변경관리 절차 표현

1.3

이해관계자 구성

- 고객/사용자/개발팀/운영팀/QA/TA, 의사소통 전략제시

1.4

View 정의

- 아키텍쳐표준정의, viewpoint/concern정의, view산출물

2. 아키텍처 배경

2.1

시스템 환경

- 목표시스템구성, Context구성, 솔루션, 개발/서버/운영환경

2.2

시스템환경 제약사항

- 시스템제약사항(개발요소기술, 사용자PC환경, 기타제약)

3. 아키텍쳐 요구사항

3.1

품질모델 적용기준

- 적용품질모델선택, 품질속성, 시나리오, 유틸리티, 달성전략

3.2

아키텍처 요구사항

- 요구사항도출, 품질속성 및 시나리오 작성

3.3

영향요소 분석

- 유틸리티 트리에 의한 영향요소 분류, 설계 전략 수립

4. 참조아키텍처

4.1

참조 viewpoint

- 참조가능한 후보viewpoint(4+1view, simens -4view)

4.2

참조 아키텍처스타일

- 표준스타일 정의(Layered:Presentation, Biz-Logic, Data)

5. 설계전략

5.1

업무 컴포넌트 설계

- 도출방안, 구현방안, 정제방안

5.2

공통 컴포넌트 설계

- 도출방안, 구현방안, 정제방안

5.3

시스템공통기능 설계

- 공통기능정의, 인증/권한, 코드구현, 인터페이스, DB Access

6. 시스템 뷰

6.1

시스템 오버뷰

- 개발뷰에 대한 전체 요약의 누락부분 반영

6.2

뷰사이의 관계

- 개발 뷰간 인터페이스 내용 및 제약사항

6.3

비즈니스프로세스 뷰

- 전체조건, 제약사항, 작업흐름 뷰

6.4

유즈케이스 뷰

- 전체조건, 제약사항, 유즈케이스 뷰

6.5

논리 뷰

- 전체조건, 제약사항, 컨텍스트뷰, 정적/동적뷰 (분석), 논리ERD

6.6

개발 뷰

- 전체조건, 제약사항, 정적/동적뷰(설계), 물리 ERD

6.7

배치 뷰

- 정적/동적뷰(분석), 베포 뷰, 패키지 구조, 물리ERD

7. 기타

7.1

용어사전

- Glossary(시스템URL), Data-Dictionary

7.2

참고문서

- 참고도서, 참고 표준

 

반응형

댓글