Page 133 -
P. 133
116 Chapter 4 Requirements engineering
EXERCISES
4.1. Identify and briefly describe four types of requirement that may be defined for a computer-
based system.
4.2. Discover ambiguities or omissions in the following statement of requirements for part of a
ticket-issuing system:
An automated ticket-issuing system sells rail tickets. Users select their destination and
input a credit card and a personal identification number. The rail ticket is issued and their
credit card account charged. When the user presses the start button, a menu display of
potential destinations is activated, along with a message to the user to select a destination.
Once a destination has been selected, users are requested to input their credit card. Its
validity is checked and the user is then requested to input a personal identifier. When the
credit transaction has been validated, the ticket is issued.
4.3. Rewrite the above description using the structured approach described in this chapter.
Resolve the identified ambiguities in an appropriate way.
4.4. Write a set of non-functional requirements for the ticket-issuing system, setting out its
expected reliability and response time.
4.5. Using the technique suggested here, where natural language descriptions are presented in
a standard format, write plausible user requirements for the following functions:
An unattended petrol (gas) pump system that includes a credit card reader. The
customer swipes the card through the reader then specifies the amount of fuel required.
The fuel is delivered and the customer’s account debited.
The cash-dispensing function in a bank ATM.
The spelling-check and correcting function in a word processor.
4.6. Suggest how an engineer responsible for drawing up a system requirements specification
might keep track of the relationships between functional and non-functional requirements.
4.7. Using your knowledge of how an ATM is used, develop a set of use cases that could serve
as a basis for understanding the requirements for an ATM system.
4.8. Who should be involved in a requirements review? Draw a process model showing how a
requirements review might be organized.
4.9. When emergency changes have to be made to systems, the system software may have to be
modified before changes to the requirements have been approved. Suggest a model of a
process for making these modifications that will ensure that the requirements document
and the system implementation do not become inconsistent.
4.10. You have taken a job with a software user who has contracted your previous employer to
develop a system for them. You discover that your company’s interpretation of the
requirements is different from the interpretation taken by your previous employer. Discuss
what you should do in such a situation. You know that the costs to your current employer
will increase if the ambiguities are not resolved. However, you have also a responsibility of
confidentiality to your previous employer.