Expressing Functional Requirements in the Supplementary Specification


We've focused on the use-case method for capturing the majority of requirements for our system, and we've suggested that functional requirements are best expressed in use cases. In so doing, we may have overstated the case. In fact, there are many kinds of functional requirements that we cannot express so conveniently in the context of a use case, and for these cases we often recommend a traditional "declarative" requirements technique, simple text-based sentences, or other techniques that describe what the system needs to do without the structure of a use case.

Indeed, many complex systems tend to have minimal human interfaces or even other device interfaces, but that doesn't mean they don't do a lot of work on behalf of someone or something. For example, the following types of systems are not so easily described with the use-case technique.

  • Systems that are primarily algorithmic and computational in nature (such as satellite-tracking, telecommunication-switching, or optimization systems) achieve their results by implementing a variety of scientific and other algorithms. In these cases you may choose to use mathematical expressions, statistical algorithms, and so on to represent the majority of the requirements.

  • Many applications work behind the scenes, for example, in industrial automation and robotics . Since these embedded-controls systems primarily execute sophisticated logical and control algorithms, you may wish to augment the use-case model with state machines, sequential logic expressions, or other techniques.

  • Applications that parse input strings, compile code, or translate from one language to another may have significant functional requirements that are better expressed in other ways.

In these cases, the supplementary specification will take on a more primary role in the requirements process. In the extreme, most of the requirements will be recorded in the supplementary specification and the use-case model will reflect a much smaller set of externally visible behaviors.


Managing Software Requirements[c] A Use Case Approach
Managing Software Requirements[c] A Use Case Approach
ISBN: 032112247X
Year: 2003
Pages: 257 © 2008-2017.
If you may any questions please contact us: