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.
Description: A system that accepts a valid debit/credit card, accepts a specified amount of gas, and then dispenses gas.
Function: charges customers the correct price for the amount of gas requested, and then dispenses the correct amount of gas.
Input: A valid credit/debit card, and an amount of gas.
Source: A pad used to navigate the menu, and a card reader.
Outputs: The specified amount of gas, and a receipt if requested.
Destination: The receptacle for which the gas is stored in (car’s tank, or gas container.)
Precondition: The pump must have enough gas stored for the transaction, and the customer must have the means to pay for the requested gas.
Action: The customer swipes their card, then requests a specific amount of gas, the pump then totals the amount to be charged on the card, and dispenses the gas.
Post-condition: The gas is dispensed from the pump to its new container, and then the card holder’s account is charged.
The cash-dispensing function in a bank ATM.
Description: an automatic system that lets one withdraws money from their card’s account when they swipe/insert their card.
Function: Allows customers to withdraw money from their debit/savings account.
Input: a valid debit card, and associated pin number.
Source: a magnetic strip/chip card reader, and a pin.
Outputs: The amount of cash requested, a receipt, gives the users card back.
Destination: The customer’s hands.
Precondition: The customer has the means to withdraw the requested amount, and the ATM has the enough cash stored to dispense the requested amount correctly.
Action: The customer gives the ATM their debit card, the ATM accesses the customers bank account, The customer requests a specific and valid amount to withdraw, the ATM dispenses the amount if it is valid, and then the ATM returns the card to the customer, along with a receipt if requested.
Post-condition: The customer now has the correct amount of cash in hand, the ATM, and the customer’s bank are updated to show the transaction occured.
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.
Description: A banking system that lets an account holder transfer funds to another account from the same bank.
Function: to transfer funds between two accounts under the same bank.
Input: An account to be transferred from, an amount of money to be transferred, and an account to transfer to.
Source: an internet connected device such as laptop or phone.
Outputs: a report of the transaction being documented.
Destination: the user’s account or email’s inbox.
Precondition: The customer must have the means to transfer the requested money, and the account the money is moving to must be under the same bank.
Post-condition: the account from’s balance is adjusted to the correct amount after the transfer, and the account to’s balance is credited the amount transferred.
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
An engineer may use a UML diagram or flow-chart to keep track of their functional requirements while having a spreadsheet available to keep track of the 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.
- The validation of the debit card being used accompanied with a pin number
- Being able to view your account’s balances
- being able to make changes on your account: Withdraw, deposit, and possibly cashing checks.
- securely exiting the person’s account after all-if any requested actions are completed.