volume_mute
Non-Functional Requirements and Architecture
publish date: 2026/06/09 21:16:35.858045 UTC
volume_muteMatch each non-functional requirement with the architectural strategy it demands.
To complete the line match
- Click on an item in the first group
- Click on the match in the second group
To delete a match, double click on a line
Non-Functional Requirement
Security
Performance
Safety
Maintainability
Availability
Architectural Strategy
Localize critical operations in a small number of components, deployed together on the same computer
Use a layered structure with the most critical assets protected in the innermost layers
Locate safety-related operations in a single component or a small number of components
Include redundant components so components can be replaced and updated without stopping the system
Use fine-grain, self-contained components where producers of data are separated from consumers
Correct Answer
(1) Performance,Localize critical operations in a small number of components, deployed together on the same computer
(2) Security,Use a layered structure with the most critical assets protected in the innermost layers
(3) Safety,Locate safety-related operations in a single component or a small number of components
(4) Availability,Include redundant components so components can be replaced and updated without stopping the system
(5) Maintainability,Use fine-grain, self-contained components where producers of data are separated from consumers
Explanation
Each non-functional requirement drives a specific architectural strategy: Performance requires co-locating critical operations; Security requires a layered structure protecting assets from the outside in; Safety requires isolating safety-related logic; Availability requires redundant components; Maintainability requires fine-grain independent components with separated data producers and consumers.
Reference
Software Engineering, Ian Sommerville, 10th edition
