volume_mute

Designing Architecture Before Requirements Are Complete

publish date2026/06/11 07:14:52.011926 UTC

volume_mute

In large and complex systems, it is sometimes necessary to begin designing the system architecture before the requirements specification is fully complete. Which of the following are valid reasons why this is the case? Select ALL that apply.

Correct Answer

(1) Architectural decomposition is often necessary to structure and organise the requirements specification itself - it helps group system features with large-scale components for discussion with stakeholders
(2) Hardware procurement, team organisation, and parallel development tracks all depend on knowing the broad architecture ahead of final requirements
(3) For very large systems, a complete requirements specification without any architectural structure would be unmanageable
(4) Architectural decisions have a profound effect on whether the system can meet critical non-functional requirements - this analysis is needed early

Explanation

There is a significant overlap between requirements engineering and architectural design in practice. Architectural decomposition is often needed to structure the specification for large systems. Hardware procurement and team assignment require architectural knowledge early. Non-functional requirements such as performance and security must be evaluated architecturally at an early stage. Requirements do change - the idea that they never change is incorrect.

Reference

Software Engineering, Ian Sommerville, 10th edition


Quizzes you can take where this question appears