Title: Case StudyViaNet Bank ATM
1Case Study-ViaNet Bank ATM
2- Identifying Actors and Use Cases
- Actors
- Bank client must be able to deposit and
withdraw amount from his/her account
3ViaNet Bank ATM- Identifying Actors and Use Cases
- Use-case name Bank ATM transaction
- Description The bank clients interact with
the bank system by going through the approval
process. After the approval process, the bank
client can perform the transaction.
4Activities involved in ATM transaction
5ViaNet Bank ATM- Identifying Actors and Use Cases
- Use Cases
- Approval Process
- Invalid PIN
- Deposit amount
- Deposit savings
- Deposit current
- Withdraw amount
6ViaNet Bank ATM- Identifying Actors and Use Cases
- Withdraw current
- Withdraw more from current
- Withdraw savings
- Withdraw savings denied
- current transaction history
- Savings transaction history
7ViaNet Bank ATM- Identifying Actors and Use Cases
- Use-case name Approval Process
- Description The client enters a PIN code that
consists of four digits. If the PIN code is
valid, the clients accounts become available.
8- Use-case name Invalid PIN
- Description If the PIN code is not valid, an
appropriate message is displayed t the client.
This use case extends the approval process.
9ViaNet Bank ATM- Identifying Actors and Use Cases
- Use-case name Deposit amount
- Description The bank clients interact with the
bank system after the approval process by
requesting to deposit money to an account. The
client selects the account and enters the amount.
The system creates a record of the transaction
10ViaNet Bank ATM- Identifying Actors and Use Cases
- Use-case name Deposit savings
- Description the client selects the savings
account. Remaining steps same as deposit amount. - Use-case name Deposit current
- Description The client selects the current
account. Remaining steps same as deposit amount.
11ViaNet Bank ATM- Identifying Actors and Use Cases
- Use case name Withdraw amount
- Description The bank clients interact with the
bank system by requesting to withdraw money from
an account. The client tries to withdraw an
amount from a current account. After verifying
the funds are sufficient the transaction is
performed. The system creates a record of the
transaction
12ViaNet Bank ATM- Identifying Actors and Use Cases
- Use case name Withdraw current
- Description The client tries to withdraw an
amount from a current account. After verifying
the funds are sufficient the transaction is
performed. The system creates a record of the
transaction. Extends withdraw amount use case.
13Use case Diagram
14Transaction Use cases
15Checking Account Use case
16Savings account use cases
17ViaNet Bank ATM- Identifying classes-Noun Phrase
Approach
- Candidate classes
- Account
- Account balance
- Amount
- Approval process
- ATM card
- ATM machine
- Bank
- Bank client
18ViaNet Bank ATM- Identifying classes-Noun Phrase
Approach
- Card
- Cash
- Check
- Current
- Current account
- Client
- Clients account
- Currency
- Envelope
19- Four digits
- Fund
- Invalid PIN
- Message
- Money
- Password
- PIN
- PIN code
- Record
20- Savings
- Savings account
- Step
- System
- Transaction
- Transaction history
21ViaNet Bank ATM- Irrelevant classes
- Account
- Account balance
- Amount
- Approval process
- ATM card
- ATM machine
- Bank
- Bank client
22ViaNet Bank ATM- Irrelevant classes
- Card
- Cash
- Check
- Current
- Current account
- Client
- Clients account
- Currency
- Envelope
23ViaNet Bank ATM- Irrelevant classes
- Four digits
- Fund
- Invalid PIN
- Message
- Money
- Password
- PIN
- PIN code
- Record
24ViaNet Bank ATM- Irrelevant classes
- Savings
- Savings account
- Step
- System
- Transaction
- Transaction history
25Redundant Classes
- Client, bank client bank client
- Account, clients account Account
- PIN, PIN code PIN
- Current, Current account Current account
- Savings, savings account - Savings account
- Fund, Money Fund
- ATM card, Card ATM card
26After eliminating redundant classes
- Account
- Account balance
- Amount
- Approval process
- ATM card
- ATM machine
- Bank
- Bank client
27After eliminating redundant classes
- Cash
- Check
- Current account
- Currency
- Fund
- Invalid PIN
- Message
- Password
- PIN
28After eliminating redundant classes
- Record
- Savings Account
- System
- Transaction
- Transaction history
29Possible Attributes
- Amount
- Account Balance
- Invalid PIN
- Password
- Transaction history
- PIN
30Candidate classes-final
- Account
- Approval process
- ATM card
- ATM machine
- Bank
- Bank client
- Cash
- Check
- Current account
31Candidate classes-final
- Currency
- Fund
- Message
- Record
- Savings Account
- System
- Transaction
32Reviewing the class purpose
- ATM Machine class Provides an interface to the
- ViaNet bank.
- ATM Card class Provides a client with key to an
- account.
- BankClient class A client is an individual that
has c - checking account, and possibly, a savings
account. - Bank class Bank clients belong to the Bank. It
is - repository of accounts and processes the
accounts - transactions.
- Contd
33Reviewing the class purpose
- Account class An account class is a formal (or
- abstract) class , it defines the common
behaviors - that can be inherited by more specific classes
such - as Checking account and Savings Account
- CheckingAccount class It models a clients
checking - account and provides more specialized
withdrawal - service.
- SavingsAccount class It models a clients
savings - account.
- Transaction class Keeps track of transaction,
time, - date, type, amount, and balance.
34The ViaNet Bank ATM SystemIdentifying classes by
using common class patterns.
- The bank system events classes follow.
- Account class An account class is a formal (or
- abstract) class , it defines the common
behaviors - that can be inherited by more specific classes
such - as Checking account and Savings Account
- CheckingAccount class It models a clients
checking - account and provides more specialized
withdrawal - service.
- SavingsAccount class It models a clients
savings - account.
- Transaction class Keeps track of transaction,
time, - date, type, amount, and balance.
35The ViaNet Bank ATM SystemIdentifying classes by
using common class patterns.
- The bank systems organization class follows.
- Bank class Bank clients belong to the Bank. It
is - repository of accounts and processes the
accounts - transactions.
- The following is the bank system people and
person class - BankClient class A client is an individual that
has c - checking account, and possibly, a savings
account. - Place classes are not applicable to this bank
system. - In the banking system, tangible and device
classes include - these items.
- ATMMachine class It allows access to all
accounts held by a bank client.
36The ViaNet Bank ATM System
- Decomposing a use-case Scenario with a sequence
Diagram Object Behavior Analysis. - The following classes have been identified by
modeling the UML sequence/collaboration
diagrams Bank, BankClient, - ATMMachine, Account, Checking Account, and
Savings Account.
37Sequence Diagram for PIN
38Sequence Diagram for withdraw checking
39Sequence Diagram for withdraw more from checking
use case
40The ViaNet Bank ATM System
- Identifying classes by using Classes,
Responsibilities, and Collaborators - Classes, Responsibilities, and Collaborators for
the Account Object.
41Identifying the Classes
42Relationship
43Associations
44Super-sub relationships
45Association, generalization, aggregation and
interface
46ATM- with attributes and operations
47ATM Class Diagram (Design)
48ATM Design with methods
49Bank Client VerifyPassword
50Account Class deposit method
51Account class withdraw method
52Account Class createTransaction method
53CheckingAccount - withdrawal
54ATM Package
55Business Classes and Access Class
56Business, Access, View layer Classes