728x90
반응형
2022.09.20 - [컴퓨터 공학/0 + 소프트웨어 아키텍처] - [소프트웨어 아키텍처] 1-1) 소프트웨어 아키텍처 기초지식
지난 시간에 소프트웨어 아키텍처 기초 지식에 대해서 알아보았다.
이번에는 📚 문서화 하는 과정을 알아보자!
📚 아키텍처 문서화
- 🛠 아키텍처 문서는 더 좋은 설계를 만들기 위한 도구
- 문서화를 함으로써 얻는 이점은 다음과 같다.
- 구현을 시작하기 전에 중요한 설계 이슈를 발견할수 있음
- 개발자가 설계를 검토하고 개선할수 있음
- 다른 참여자들과의 의사소통
- 문서화를 함으로써 얻는 이점은 다음과 같다.
아키텍처 문서구조
아키텍처 문서구조는 다음과 같다.
- 목적
- 기술하는 대상 시스템이 무엇인지 기술
- 요구사항 이력(
traceability
)
- 우선순위
- 설계 작업을 설명할 우선순위 기술
- 최상위 설계
- 개략적인 소개를 위한 최상위로 추상화된 설계 작성
- 주요 설계 이슈
- 헤결되어야 할 중요 이슈
- e.g) 고려할 대안, 최종결정, 결정이유 등
- 헤결되어야 할 중요 이슈
- 설계 상세사항
- 관계자가 알아야하는 설계 상세 내용
예시
A. 목적
자동차에 장착되어 운전을 안내하는 네비게이션시스템 아키텍처 설계B. 우선순위
1) 성능: 네비게이션 지시 반응시간, 기억공간 효율성
2) 의존성: 입력오류에 대한 강인성, 신뢰성, 보안
3) 사용성: UI 친밀성
4) 유지보수성: 확장성, 이식성, 적응성C. 최상위 설계
D. 주요 설계 이슈
이슈 1: GIS 정보를 어디에 저장할 것인가?
1.1안: 중앙서버에저장하고통신에의하여실시간접근하게하는방법
1.2안: 네비게이션 시스템에 다운로드하여 메모리에 저장하는 방법결정:1.1안은주행중통신이끊길수있고,통신비용도발생하므로1.2안 으로 결정
✅ 아키텍처 평가
- 아키텍터의 속성, 강점, 약점을 결정
- 개발자가 선택한 아키텍처가 기능적/비기능적 품질 요구사항을 모두 충족 시킬수 있음을 보증
- 방법
- SAAM
시나리오 기반
평가 방법
- ATAM
품질 속성
에 초점을 맞추어 평가
- SAAM
SAAM(Software Architecture Analysis Method)
- 아키텍처가
시나리오
를 실행할 수 있는지 여부를 결정시나리오
를 실행하지 못하는 경우, 지원하도록 아키텍처를 변경하는데 필요한 사항을 나열하고 변경 비용을 추정한다.
- 시나리오 도출
- 여러 이해 관계자들을 통하여 도출
- 시나리오
- 직접: 시스템의 변경이 요구되지 않는 시나리오
- 일반적인 요구사항에 대한 아키텍처의 지원 평가, 인터페이스에 의하여 지원되는 보통 기능들에 대하여 아키텍처를 평가
- 간접: 시스템의 변경이 요구되는 시나리오
- 새로운 기능을 추가하거나 원하지 않는 기능을 삭제시 아키텍처가 지원하는지 평가
- 새로운
HW
,OS
,IO
장치에 적응하는지 평가
- 직접: 시스템의 변경이 요구되지 않는 시나리오
ATAM(Architecture Trade-off Analysis Method)
품질 속성
에 초점을 두고 시나리오에 기반하여 아키텍처를 분석- 아키텍처를 평가하여 절충안을 도출
- 아키텍처 내부의 리스크 발견
728x90
반응형
'컴퓨터과학 > 0 + 소프트웨어 아키텍처(디자인 패턴)' 카테고리의 다른 글
[소프트웨어 아키텍처] 6. 상태 패턴(State Pattern -java) (0) | 2022.10.24 |
---|---|
[소프트웨어 아키텍처] 3. 커맨드 패턴(Command Pattern-java) (0) | 2022.10.20 |
[소프트웨어 아키텍처] 4. 옵저버 패턴(Observer Pattern -java) (0) | 2022.10.10 |
[소프트웨어 아키텍처] 1-3) 아키텍처 패턴 스타일 (2) | 2022.09.20 |
[소프트웨어 아키텍처] 1-1) 소프트웨어 아키텍처 기초지식 (2) | 2022.09.20 |