A nonfunctional requirement specifies a restriction or quality condition that an application must satisfy to succeed. It governs how the application operates rather than a capability it provides. section 3.3 section 3.9
Typical nonfunctional requirements constrain:
- Performance: a book search must take under two seconds. section 3.3
- Platforms: the application must run on Windows, macOS, and Linux. section 3.3
- User experience: the interface shall resemble the previous version. section 3.3
- Internationalization: displayed messages shall be customizable in English, Spanish, or Vietnamese. section 3.3
- Maintainability and other constraints that affect whether delivered functionality remains practical and successful. section 3.3
State requirements clearly and strongly with “must” or “shall,” using nontechnical language. Specify the required result, not the design or implementation used to achieve it. section 3.3 section 3.7
Book catalogue search
“A book search must take under 2 seconds” constrains observable performance without prescribing databases, algorithms, or interface code. A black-box test can submit search input and verify the expected response time without inspecting implementation internals. section 3.3 section 3.7
Capture nonfunctional requirements through client communication, observation of current tasks, meetings, and prototypes. Keep feedback active because requirements can change during design and coding. section 3.4 section 3.9
Attach applicable constraints to use cases so each user goal shows not only what the application does, but also the conditions that make that behavior practical. section 3.6.2 section 3.6
Figure 3.2 A more advanced version of the book catalogue application. A librarian interacts with the book catalogue server to enter new books into the catalogue, update existing books, and remove outdated ones. A customer interacts with the server to search for books. The books are stored in a backend database.
Use the book-catalogue system diagram to relate platform, interface, performance, and localization constraints to customer searches, librarian operations, and stored data. section 3.1





