contents  
previous
II. Capturing requirements
A. Types of requirements
Functional requirements
These describe necessary behaviors of the system such as services provided
to users and relationships between these services.
Examples:
- "A customer is allowed to select a CD from among all of the CDs in a
particular music category, and then may select a song on this CD."
- "A customer may make multiple selections after inserting sufficient
payment (to some limit)."
- "At any point, a customer may cancel the selection process and if desired
have any credited money returned."
- "Musical selections should be played in the order in which they were made."
Non-functional requirements
These
describe constraints of the system such as response times, computational accuracy,
software portability, scalability, maintainability, ... *ility, ....
Examples:
- "After making a selection, and assuming no selections are currently playing
or pending, the jukebox will start playing the selection within five seconds."
- "The jukebox design will be scalable to allow the possibility of a future
version to hold many more CDs." (Should be more specific.)
- "Some mechanism will be provided for transfering CD information back and forth
between the jukebox and a personal computer. PC software will also be provided
for maintaining this data."
Pseudo-requirements
These restrict
how the system will be implemented and supported by existing software products, and
how hardware considerations will affect its deployment.
Examples:
- "The jukebox software system will be implemented using Java 2."
- "The jukebox software system will run on top of an embedded Xinu operation
system."
- "The jukebox hardware will be based on a MIPS CPU."
next