HW6: Chapter 4


1.      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:
o    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.
Function: Accept customer input for the amount of gas they want and charge them for it
Description: The system will accept a customer’s credit card, allow the customer to specify the amount of gas they want, dispense the gas, and charge the customer for the gas
Inputs: Customer credit card information, amount of gas that the customer specified
Source: The card reader
Outputs: The amount of gas that the customer specified
Destination: The customer’s car’s gas tank.
Action: The customer will swipe their card through the reader, then they will specify the amount of gas they want, then the system will determine the cost of the gas, then charge the customer for the gas
Precondition: The customer’s credit card has to be verified, the pump has to have enough gas
Postcondition: The customer specified amount of gas is dispensed, and the customer is charged the correct amount

o    The cash-dispensing function in a bank ATM.
Function: To dispense cash to a customer from their bank account
Description: A machine that accepts a customer’s card and PIN, verifies that the card and PIN match the customer’s bank account, allows the customer to specify an amount of cash to be dispensed, and dispenses the cash if both the customer has the amount in their bank account and the ATM has the amount to dispense
Inputs: A card, a PIN, and the amount of cash to withdraw
Source: A customer’s card
Outputs: The amount of cash that the customer specified, the customer’s card
Destination: The customer
Action: The customer insert’s their card into the ATM’s card reader, the customer inserts their PIN, the customer specifies the amount of cash they want to withdraw, the ATM verifies that the customer has enough money in their account, the ATM verifies that it has enough cash available, the ATM dispenses the cash and returns the customer’s card
Precondition: The customer has enough money in their account, the ATM has enough money available to dispense
Postcondition: The customer’s account has less money in it, the ATM has less money in it

o    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.
Function: Transfer customer’s funds from one account to another account
Description: Transfer customer’s funds by subtracting funds from one account and adding them to another account
Inputs: Customer’s login information, customer selected from account, customer selected to account, amount of money to be transferred
Source: The bank’s site
Outputs: Receipt or email confirming that the transfer has been completed
Destination: The customer’s account
Action: The customer logs in to the bank’s site, the customer selects the account they want to move funds from, the customer selects the account they want to move funds to, the system verifies that the customer has enough funds in their from account, the system removes the funds from the from account and adds them to the to account, the system generates a receipt for the customer’s account
Precondition: The customer provides the correct login information to the bank’s site, the customer has two accounts with the bank, and the customer has enough funds to complete the transfer
Postcondition: The customer’s accounts both show the new balance

2.      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 might separate them into two lists, one for functional requirements and one for non-functional requirements. They might keep track of the relationships between the functions by putting them all into a graph with functional requirements on one side and non-functional requirements on the other side and use arrows pointing between each side indicating which requirements will impact each other.


3.      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 customer has a card to insert
The customer doesn’t have a card to insert
The customer knows their PIN
The customer doesn’t know their PIN
The customer wants to make a withdraw and has enough funds to do so
The customer wants to make a withdraw and does not have enough funds to do so
The customer wants to make a withdraw and the ATM does not have enough funds to do so
The customer wants to make a deposit into an account
The customer wants to cancel a withdraw
The customer wants to cancel a deposit
A bank employee needs to turn the ATM on
A bank employee needs to turn the ATM off
A bank employee needs to deposit funds into the ATM
A bank employee needs to remove funds from the ATM


Comments

Popular posts from this blog

HW24: Chapter 23

HW11: Chapter 6