contents   previous




II. Capturing requirements

A. Types of requirements

  1. 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."

  2. 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."

  3. 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