You are on page 1of 3

Specification An automatic teller machine (ATM) provides basic banking services to customers who maintain one or more types

of accounts at the bank. Currently the bank provides three types of accounts: Checking, Savings and Credit. Once authenticated by providing their card number and PIN, customers may access an ATM in order to check the balance of one of more accounts, transfer money from one account to another, withdraw money or deposit money. The ATM must maintain a record of all transactions undertaken by maintaining information on the date, account number and type of transaction. Consider the main (success) scenario of the use-case Withdraw Money: The customer initiates a withdraw request. The system responds with a number of options which include all available accounts maintained by the customer. The customer must make a decision on which account they wish to withdraw money from, and the system asks the customer to enter the amount they wish to withdraw. The customer enters the amount. The system reads the amount and proceeds to supply the money. The system asks the customer if they wish to have a receipt, by presenting the option for a written or displayed receipt. The receipt contains the amount withdrawn, the account number and the new balance. If the customer wishes to obtain a receipt, the system will either display the information on the transaction or provide a written receipt. 1. Based on the above specification, identify use cases and create a UML Use Case diagram.
ATM Authenticate User Check Balance Withdraw Money Customer Deposit Money Transfer Money

2. Add pre- and postconditions to the main scenario of use-case Withdraw Money. Preconditions: Postconditions: Customer is identified and authenticated. Withdraw money transaction was saved.

3. Based on the specification and on the main scenario of use-case Withdraw Money use the following mechanisms to build a UML Domain Model: (a) a Conceptual Class Category List, (b) noun identification, and (c) Common Associations List. Where information is available from the specification and the use-case scenario, your domain model should include attributes and multiplicity expressions. Noun identification:
An automatic teller machine (ATM) provides basic banking services to customers who maintain one or more types of accounts at the bank. Currently the bank provides three types of accounts: Checking, Savings and Credit. Once authenticated by providing their card number and PIN, customers may access an ATM in order to check the balance of one of more accounts, transfer money from one account to another, withdraw money or deposit money. The ATM must maintain a record of all transactions undertaken by maintaining information on the date, account number and type of transaction. Consider the main (success) scenario of the use-case Withdraw Money: The customer initiates a withdraw request. The system responds with a number of options which include all available accounts maintained by the customer. The customer must make a decision on which account they wish to withdraw money from, and the system asks the customer to enter the amount they wish to withdraw. The customer enters the amount. The system reads the amount and proceeds to supply the money. The system asks the customer if they wish to have a receipt, by presenting the option for a written or displayed receipt. The receipt contains the amount withdrawn, the account number and the new balance. If the customer wishes to obtain a receipt, the system will either display the information on the transaction or provide a written receipt.

Conceptual class category list: CONCEPT CATEGORY Physical or tangible objects Specifications, designs, or descriptions of things Places Transactions Transaction line items Roles of people Containers of other things Common associations list: CATEGORY A is a physical part of B A is a logical part of B A is physically contained in/on B A is logically contained in B A is a description of B A is a line item of a transaction or report B A is known/logged/recorded/captured in B A is a member of B 2 ATM, money, receipt Account Bank WithdrawalTransaction Customer

WithdrawalTransaction - ATM Customer ATM (bank)

WithdrawalTransaction 1..* initiated-by captured-on 1 ATM accesses Client CardNo PIN 1

Receipt

accesses

has 1..*

Account type

4. Use the scenario above to build a UML System Sequence Diagram (SDD).

:System :Customer initiateWithdrawalRequest() list of available accounts selectAccount() amount to withdraw withdrawAmount() initiate device to supply money option to provide a receipt [option=yes] chooseReceipt() [option=yes]receipt

5. From the SSD we can identify the following system operations: System
initiateWithdrawalRequest() selectAccount() withdrawAmount() chooseReceipt()

You might also like