How careful should you be about your requirements? Suppose that you gave these requirements to a design/implementation team that wanted to do as little as possible, and had no interest in you or your goals—they felt bound by the contract you gave them (the requirements), but would certainly look for the easy way out through any loophole in the requirements document. Now, how clearly have you compelled them to build, and test, the system you desire? This is the measure of your work, and will be the yardstick by which it is judged.
Conversely, suppose that a client was taken over by an unscrupulous corporation, and they wanted to avoid paying your development team anything. They will follow the letter of the requirements contract, but that is all. How carefully does the requirements document specify what tests you have passed so that you can prove you should be paid?
Requirements development: Are your requirements concreted, grounded, and empirically testable? If not, edit them.
Requirements tests: Given your requirements, how will you know if you met them? What explicit tests can you run for each requirement?
State diagram for the system: What are the allowable states for your system, and what are the transition triggers for the different states? See the Finite State Machine example. (You may also wish to include this technique in your design documentation.)
Note: Students tend to focus on the less-interesting, and less-demanding, aspects of screen interface and input specification. These are important, but it is often the internal workings of the system that are in much greater need of formal specification, which often have to do with the state transitions that are allowed or disallowed. Avoid spending valuable time with uniteresting screen interface discussion.
| Number | Revision | Requirement Description | Bad-client attack | Bad-dev attack | Approved? | Sign-off name |
| ... | ... | ... | ... | ... | ... | ... |
| 10.2.3 | 5.0 | Department Six users will rate module 12 at the 85% favorable usability level on rating document 10.2A | Better to have impartial reviewers, I can stack the deck to get poor ratings | Users may not know what it is supposed to be doing; interface just looks nice | NO | NOT APPROVED Joseph Starkman 9/15/2021 |
| 10.2.3 | 5.1 | Independent reviewers representing Department Six will rate module 12 at the 85% favorable usability level on rating document 10.2A | OK. Passes the Bad-client attack | Interface is improved but users still may not know what the capabilities are available from this interface page; interface still looks nice, but is not fully usable | NO | NOT APPROVED Nora Smith 9/20/2021 |
| 10.2.3 | 5.2 | Independent reviewers representing Department Six will rate module 12.1 at the 85% favorable usability level on rating document 10.2A | OK. Passes the Bad-client attack | OK. Passes the Bad-dev attack | YES | APPROVED Joseph Starkman 9/24/2021 |
| ... | ... | ... | ... | ... | ... | ... |
| Requirement Number | Test Revision | Requirements Test | Results | Pass? | Date of test | Comments | Client Sign-off name |
| ... | ... | ... | ... | ... | ... | ... | |
| 10.2.3 | 1.0 | Test 13.6: Eight users from Department Six, spent an hour going over the system. Then they rated the usability of Module 12.1 using revised rating document 10.5B. | Eight users completed the exercise and rating. They reported that they "liked the old system." Module 12.1 was rated favorable at 50%. | No | 9/28/2021 | Testing procedures were flawed | Not submitted |
| 10.2.3 | 2.0 | Test 13.6: Six users from Department Six, and Six impartial users from accounting spent two hours in the morning solving ten difficult tasks with Module 12. The next morning they spent two additional hours on solvling five more prolems. In the afternoont they rated the usability of Module 12 using revised rating document 10.5C. | Eleven users completed the tasks and rating. Three users provided comments suggesting improvements. Module 12 was rated favorable at 83% | Conditional Yes | 10/01/2021 | OK to pass with promise of response to user comments | Reviewed OK Martha Grimm, CTO 10/15/2021 |
| ... | ... | ... | ... | ... | ... | ... |
This scheme shows off your group, and then let's us believe that your high-quality work is avaiable throughout the project.