Checklist for design, requirements specification and implementation
Table of Contents | ||||
---|---|---|---|---|
|
User Awareness
The reason for a system being built is primarily to replace manual work and make life more efficient. This means a system must be
predictable
handle events gracefully
tell users exactly what is going on and what is expected
report successful outcomes
report unsuccessful outcomes with reasons
report uncontrolled errors in a graceful manner
Handling Unexpected Events
Unexpected events must be dealt with properly. This means that
every error which could happen is accounted for as far as possible
any error which occurs which has not been controlled can be shown to the user in a controlled way
Error Trapping
Error trapping has to be taken seriously for the smooth-running and predictable behaviour of an application. Anything which is done as part of a calculation where user-supplied values are involved, has to have the information validated properly and any unexpected calculation results relayed to the user.
Example - Product Size in SEKO 360
There have been problems where an email is not sent because the product dimensions have not been in the appropriate format. This could be either
because there was no validation and the process failed, or
because the process didn’t fail but there was a choice not to send the document
The product size is manually entered and the following must happen:
Product size field must be validated to make sure it has three values, separated by “x”
If the values are not separated by “x” then the product dimensions cannot be shown, but any screen or document should still be produced without them.
A failure in the product size validation should not cause a failure in the whole system
Error Categorisation
What should stop an email being sent?
What sort of response should there be if there is an error and the checklist cannot be sent?
Stage | Error | Action to take | CriticalityResult |
---|---|---|---|
Prior to On submission | Validation error | Form cannot be submitted | CriticalValidation error |
Email/report | Value too large | Display shortened value, keep processing | Not criticalData cut |
Email/report | Value too large | Controlled error back to user, stop processing | CriticalFatal error |
Email/report | Format incorrect | Don’t show value at all, keep processing | Not criticalNo data |
Email/report | Format incorrect | Controlled error back to user, stop processing | CriticalFatal error |
Addressee missing | Controlled error back to user, stop processing | CriticalFatal error |
Example 27th September 2022 - Pre Alert
...