Requirements state what a software system must do and the properties it must maintain. Functional requirements describe user-facing capabilities; nonfunctional requirements describe qualities such as performance, stability, security, availability, extensibility, and latency. section 1.2.1
Spacecraft control software
A spacecraft prototype must let astronauts control systems manually and automatically. It must also remain robust, fault-tolerant, secure, easy to operate, and compatible with a wide range of components. These requirements shape design choices and help prevent an implementation that works initially but requires a complete rewrite later. section 1.2.1
Requirements also define what testing validates. Tests check whether code satisfies functional and nonfunctional expectations, contracts, and documented behavior; they do not prove that every possible bug is absent. section 15.0
Figure 1.2 Roadmap of the development process
Use the development roadmap to connect requirement discovery with later design, implementation, release, and update milestones. section 1.2.1












