Overview

A discussion of requirements that are descriptions of design behaviors.

Descriptive Requirements

Descriptive Requirements are usually specified after design is complete. They are sometimes called "Subsystem Requirements".

A system can be designed and implemented in many ways. Each design has a set of dependencies on subcomponents or external systems. These dependencies need to be specified so that their interactions are clear and tested.

A requirement should therefore be written for each behavior that must work as described (otherwise failures can occur):

  • the User can't operate the device as they expect
  • a subcomponent will fail to operate correctly
  • a subcomponent will not operate when it should
  • another part of the current component will fail to operate correctly
  • a future behavior will not take place when it should
  • a future behavior will fail to operate correctly
  • the current state of the system or configuration on storage media is incorrect and so future operations may fail to operate correctly
  • the current state of the system or configuration is transmitted to a different application or platform e.g. to the cloud, to another device, a text or email is sent, etc.

For GUIs some visual and behavioral aspects of the component must work as described, otherwise failures can occur:

  • in a GUI, certain colors indicate some state to the User, e.g. red means danger, yellow means warning, green means go
  • a button's state may be disabled or enabled under certain conditions
  • certain notes, comments or notifications should appear at certain times otherwise the User may be confused or misled
  • some visual icon should be displayed at certain times otherwise the User may be confused
  • swiping left means one thing, swiping right means something else
  • an internal value may be displayed in a slightly different format e.g. rounded to 1 decimal
  • the size of font must be visible from 2m or less

Some behaviors or visual aspects may not matter, i.e. there is no danger of incorrect behavior or incorrect side effects if these don't work or don't work precisely as expected.

  • the background color is blue-ish. The precise color or shade of blue does not matter
  • whether the buttons have rounded corners
  • the final shape of the device's box
  • the carrying case of the device (although the overall weight may be important)

- John Arrizza