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.
   128   129   130   131   132   133   134   135   136   137   138