Non-functional requirement: Execution qualities and Evolution qualities
 Execution qualities: observable at run time, e.g. security and usability
 Evolution qualities: embodied in the software static structure, e.g. testability, maintainability, extensibility and scalability
 High performance: C++ providing close to real time processing
 High usability: best practices in UI, e.g. WPF
 WPF business case: massive increase in testability through separation of program logic fron the UI
 High security: SSL, DMZ, and a dozen other best practices in security
 Techniques for requirements: user stories, functional specification, and UI mockups
 Requirements tracing: documenting the life of and tracking the changes to requirements
 Forward tracing: ability to show system impact when a requirement is changed
 Backward tracing: ability to show user impact when the system is changed
 Sample requirements tool: Open Source Requirements Management Tool