Introduction to Requirements

Purpose of Analysis phase

The steps in the Analysis process

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.

Mnemonic:

Why the SRS is important - The Rope Swing Parable

Dangers of inadequate analysis

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

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