Non-Functional Requirement Properties
Having a hard time thinking of nonfunctional requirements? Here are some categories and "trigger questions" that may help.
Trigger Questions
* User Interface and Human Factors
o What type of user will be using the system?
o Will more than one type of user be using the system?
o What sort of training will be required for each type of user?
o Is it particularly important that the system be easy to learn?
o Is it particularly important that users be protected from making errors?
o What sort of input/output devices for the human interface are available and what are their characteristics?
* Documentation
o What kind of documentation is required?
o What audience is to be addressed by each document?
* Hardware Considerations
o What hardware is the proposed system to be used on?
o What are the characteristics of the target hardware, including memory size and auxiliary storage space?
* Performance Characteristics
o Are there any speed, throughput, or response time constraints on the system?
o Are there size or capacity constraints on the data to be processed by the system?
* Error Handling and Extreme Conditions
o How should the system respond to input errors?
o How should the system respond to extreme conditions?
* System Interfacing
o Is input coming from systems outside the proposed system?
o Is output going to systems outside the proposed system?
o Are there restrictions on the format or medium that must be used for input or output?
* Quality Issues
o What are the requirements for reliability?
o Must the system trap faults?
o Is there a maximum acceptable time for restarting the system after a failure?
o What is the acceptable system downtime per 24-hour period?
o Is it important that the system be portable (able to move to different hardware or operating system environments)?
* System Modifications
o What parts of the system are likely candidates for later modification?
o What sorts of modifications are expected?
* Physical Environment
o Where will the target equipment operate?
o Will the target equipment be in one or several locations?
o Will the environmental conditions in any way be out of the ordinary (for example, unusual temperatures, vibration, magnetic fields)?
* Security Issues
o Must access to any data or the system itself be controlled?
o Is physical security an issue?
* Resources and Management Issues
o How often will the system be backed up?
o Who will be responsible for the back up?
o Who is responsible for system installation?
o Who will be responsible for system maintenance?
Reference: www.csee.umbc.edu/courses/undergraduate/345/spring04/mitchell/nfr.html