Architectural Decision
- Architectural decisions are design decisions that address architecturally significant requirements; they are perceived as hard to make and/or costly to change.
- Architecturally significant requirements(ARSs) are those requirements that have a measureable effect on a software system's architecture.
- It is necessary to manage the relationship between quality requirements and structural decision making.
- There is a trade-off relationship in quality that is important depending on one variable.
Architecture Drivers
- Architectural drivers are requirements that will shape the software architecture.
- Architectural drivers include :
Functional Requirements
- What a system must compute
Describes the core functionality of the system from a user's perspective
Avoids details of implementation - Usually available as part of a standard requirements specification for a product.
However, some functional requirements may be hidden
Examples : error behavior.
Constraints
- Describes the context
- Decisions that are already made about the design
- Factors that influence the design
Quality Attributes
- Function and quality could be confused.
- If it is originally required, it is a function.
- Define qualities that a system must have beyond its functionality
- Functionality and qaulity attributes are largely orthogonal.
- Architectural choices implement functionality, promote some quality attributes, and inhibit others. Tradeoffs.
Performance
- Source : Internal or external to the system
- Stimulus : Arrival of a periodic, sporadic, or stochastic event
- Artifact : System or one or more components in the system
- Environment : Operational mode : normal, emergency, peak load, overload
- Response : Porcess events, change level of service
- Response Measure : Latency, deadline, throughput, miss rate
Performance Tactics
- Control Resources Demand
- Manage Resources
Modifiability
- Reduce size of a module
- Increase cohesion
- Reduce coupling
- Defer binding
Availability
- How to respond to unusual situations is important.
- When a crash occurs, how is it restored?
Quality Characteristics
'Computer Science' 카테고리의 다른 글
Requirements Engineering (0) | 2021.08.05 |
---|---|
Architecture - product (0) | 2021.08.05 |
Associate Architect - View (0) | 2021.08.03 |
얄팍한 코딩 사전 - 객체지향 디자인패턴1 (0) | 2021.08.01 |
점프투 자바 목차 (0) | 2021.08.01 |
댓글