Gregory M. Kapfhammer
Key Concept
Corresponding Diagram
In-Class Discussion
In-Class Activity
Details in SETP or MMM
A requirement is a statement of desired behavior
Deals with objects or entities ...
... the states that objects the can be in ...
... the functions that are performed to changes states
Functional (behavioral) requirements
Non-functional (quality) requirements
Examples of these for your current project?
May also have design and process constraints
See Table 4.2 for a listing of requirements types
Write requirements that you can actually verify!
Define objective standards for evaluating your solutions
Use focus groups to determine the best fit criteria
Use quantitative statements whenever you can
Quantify each adverb and adjective
Replace pronouns with the names of entities
Define every noun in exactly one place
Did you take this advice for your last assignment?
Requirements definition for the clients and users
Requirements specification for the technical team
Sometimes, these are combined into one!
... are they correct?
... are they consistent?
... are they unambiguous?
... are they complete?
... are they feasible?
... are they all relevant?
... are they testable?
... are they traceable?
See Sidebar 4.8 for some interesting insights!
Real-world defects are due to mistakes in requirements
"Invade the system early — and are the last to leave!"
"Only caught after hundreds of sites have been installed"
Five levels for rating each of a system's requirements
See the top of page 205 for descriptions of the levels
Look at Figure 4.28 for examples of histograms
Which one of these graphs is more desirable? Why?