HW6: Chapter 4

4.5 Write plausible user requirements for the following:
An unattended petrol (gas) pump system that includes a credit card reader. The customer swipes the card through the card reader, then specifies the amount of fuel required. The fuel is delivered and the customer's account debited.

  • The pump should always be ready to accept input.
  • The pump should check the card information for validity before proceeding.
  • The pump should ask for the amount of fuel to be dispensed.
  • The pump will stop dispensing fuel once the user inputted amount has been reached.
  • The customer's account will then be debited.

The cash-dispensing function in a bank ATM.

  • The ATM will take input from the customer has swiped/input there card into the reader.
  • The ATM will ask for a pin.
  • The ATM will then ask for the amount to dispensed.
  • The ATM will then dispense the desired amount.
  • The ATM will terminate access to the user's account.
  • The ATM will return to a ready state for input.

In an Internet banking system, a facility that allows customers to transfer funds from one account held with the bank to another account with the same bank.

  • Prompts user for the account number to which they would like to transfer funds to.
  • Confirms the account is with the same bank.
  • Prompts user for the amount to transfer and has the user confirm.
  • Checks the user's account to ensure they have the funds.
  • Credits the specified account and debits the user's account.


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.
The requirements should all be kept in the same document but the can be differentiated using some form of notation. Non-functional requirements will be grouped with the functional requirements to which they affect. This could be done in an outline format for each functional requirement.


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.

  • Withdrawal from the ATM.
  • Deposit into the ATM to the account.
  • Checking the balance of multiple accounts linked to a debit account.
  • Print receipt for all of the above functions.
  • Checks withdrawal amount to the amount of cash in the machine.
  • Checks withdrawal amount to the amount of money in the account.