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