Từ các Đề bài, nhóm Kiến trúc sư sẽ thiết kế, triển khai các Yêu cầu chức năng và Yêu cầu phi chức năng.
Computer Specification
A specification of the machines on which the software must run. The machine need not be hardware-for some software this section might simply be a pointer to a language reference manual.
Input/Output Interfaces
A specification of the interfaces that the software must use in order to communicate with the outside world.
Specification of Output Values
For each output, a specification of its value in terms of the state and history of the system's environment.
Timing Constraints
For each output, how often, or how quickly, the software is required to recompute it.
Accuracy Constraints
For each output, how accurate it is required to be.
Likely Changes
If the system is required to be easy to change, the requirements should contain a definition of the areas that are considered likely to change. You cannot design a system so that everything is equally easy to change. Programmers should not have to decide which changes are most likely.
Undesired Event Handling
The requirements should also contain a discussion ,of what the system should do when, because of undesired events, it cannot fulfill its full requirements. Most requirements documents ignore those situations; they leave the decision about what to do in the event of partial failures to the programmer.