결정근거(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 |
참고문서 |
- 참고도서, 참고 표준 |
'IT기술노트 > 소프트웨어공학' 카테고리의 다른 글
전자정부 프레임워크 (0) | 2021.01.31 |
---|---|
스프링 프레임워크(Spring Framework) (0) | 2021.01.31 |
ATAM, CBAM (0) | 2021.01.31 |
소프트웨어 아키텍처 품질 평가 (0) | 2021.01.31 |
소프트웨어 아키텍처 스타일(Software Architecture Style) (0) | 2021.01.31 |
소프트웨어 품질속성(Software Architecture Quality Attribute) (0) | 2021.01.31 |
ISO/IEC 42010 (IEEE 1471) (0) | 2021.01.31 |
소프트웨어 아키텍처(Software Architecture) (0) | 2021.01.31 |
댓글