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
Post a Comment