Introduction to Requirements

Purpose of Analysis phase

Why analysis is important - The Rope Swing Parable

Mnemonic:

How to gather requirements (i.e. requirements elicitation)?
Tip: The customer usually doesn't know what the solution is. The customer only knows there's a problem.
Tip: Beware the customer who thinks they know what the solution is. (Humorous example)

The Results of Analysis - The SRS (Software Requirements Specification) describes the intended solution to solve the customer's problem. (Selected from the universe of all possible solutions).

Example: Customer Need - keep track of time passing. Possible solutions include sundial, hourglass, focault pendulum, contemporary analog circular clock face and hands. Note the clock implementation (e.g. springs, batteries, solar, atomic) is NOT part of the specification.

SRS serves multiple audiences:

The Requirements Document must address four Domains  (Mnemonic: N-FBI).
Students accustomed to poor requirements received in class assignments. Payroll example of vague requirements

Can you find the four domains in this specification for Jotto?

Format of SRS document - IEEE Standard Format

Criteria for good requirements

Examples:

Audio Tape Calculator
Distributed Hangman
Encounter Game
Loan Arranger  (Pfleeger textbook)
Real world example - Veterans Administration

How to express requirements? Inherent tension between writing for Customer and writing for Developers. Easy to read versus unambiguous, precise, well-defined.

Ambiguity of Natural Language Examples:

Notations (static and dynamic descriptions)

Example requirements to critique

Verifying requirements - Walkthroughs and Formal Reviews


Copyright 2002 by John Dalbey