Often called quality attributes, NFRs define how well the system performs (e.g., performance, security, maintainability).
14
New cards
How are functional vs. non-functional requirements expressed?
Functional are expressed as use cases
15
New cards
NFRs are difficult to express this way and require clear, concise, measurable statements.
16
New cards
What is the effect of NFRs on system architecture?
NFRs require special consideration in high-level design and affect multiple subsystems. They are hard to modify after the architecture phase.
17
New cards
What are Quality Attributes (QAs)?
Also called -ilities, these include reliability, availability, portability, scalability, and performance, describing how the system achieves its functional goals.
18
New cards
How is performance measured in a system?
By throughput (work done per time unit) and response time (latency of processing requests).
19
New cards
What is Scalability?
How well a solution works as the size of the problem grows. Key issues: request load, connections, data size, and deployments.
20
New cards
What is Modifiability in a software system?
The ease of modifying a system throughout its lifetime. Over-engineering should be avoided, and dependencies should be minimized.
21
New cards
What are the key aspects of Security in a system?
Authentication, Authorization, Encryption, Integrity, and Non-repudiation.
22
New cards
What is Availability?
The proportion of time a system is usable, often tied to reliability. Strategies include failover, replication, and automatic restart.
23
New cards
What are Integration strategies for a system?
Data integration and programmatic APIs for easy incorporation into broader application contexts.
24
New cards
What is Portability in software?
The ease with which an application can be executed on different hardware or software platforms.
25
New cards
What are some common designer trade-offs between quality attributes?
Quality attributes interact and affect each other, like high security affecting ease of integration or high availability reducing performance.