01.소프트웨어 집약적인 시스템의 아키텍처를 설계하기 위해 아키텍트는 시스템의 기본 구조에 영향을 미칠 가능성이 가장 높은 핵심 요구 사항을 필요로 한다. 이러한 주요 요구사항들은 시스템의 구조를 결정한다. 이를 "아키텍처 드라이버"라고 한다. 즉 Key가 되는 요구사항들이다.
02.시스템 전체 요구 사항 항목을 분석하여,아키텍처 설계에 직/간접적 근간이 될 수 있는 항목을 추출/정제하여, 이를 아키텍처 설계 원칙이나 근거로 표현한 항목

아키텍처 드라이버 구성요소
- 기능 요구 사항(Functional Requirements) High-Level 기능 요구사항, 여러 component들의 조합
Low-Level : Class 하나의 내부 기능
- 품질 요구 사항(Quality Requirements)
정확성, 성능, 가용성, 유지보수성등
- 제약사항 (Constraints) /비기능 요구사항
설계가 시작되기전 미리 결정된 사양(기술,비용,관리적)
아키텍처 드라이버를 설명하는 도구
- 기능 요구사항 : Use Case Model, Use case Specification(Scenarios)
- 품질 요구사항 : 품질 속성 시나리오(Quality Attribute Scenario)
하나의 기능 요구사항은 여러 개의 품질 요구사항과 연계된다. Quality Attribute는 측정가능하거나 테스트 가능한 시스템의 속성이다. 즉 시스템이 이해관계자(Stakeholders)의 요구를 얼마나 잘 만족시키는지 나타내는 데 사용 된다. 이러한 특성을 명확하게 표현하는 방법이 바로 Quality Attribute Scenarios이다.
Quality Attribute Scenarios의 6가지 항목
- Stimulus : 자극
- Artifact : 대상
- Response : 응답
- Response Measure : 응답 측정
- Source of Stimulus : 자극원
- Environment : 환경
시나리오의 예 : 사용자가 UI 변경 요청(자극),에 대해 개발자(자극원)가, 퍼블리싱 소스(대상),를 수정할 페이지 (환경)가 ,Side Effect 없이 수정되야한다(응답), 3시간 이내에(응답측정)
'소프트웨어 공학' 카테고리의 다른 글
[021]테스트 종류 3가지 (1) | 2024.08.14 |
---|---|
[020] 품질관리(QC)의 7가지 도구란 무엇인가? (0) | 2024.08.13 |
[019] 소프트웨어 테스팅 7가지 기본 원칙이란 무엇인가? (0) | 2024.08.12 |
[018] 품질비용이란 무엇인가? (0) | 2024.08.11 |
[017]오픈소스 거버넌스란 무엇인가? (0) | 2024.08.11 |