Università Di Genova: Banking System Case Study Using COMET
Università Di Genova: Banking System Case Study Using COMET
Università Di Genova: Banking System Case Study Using COMET
Summary
COMET Software Life Cycle Model The problem Case study development
25/may/2001
Analysis Modeling
Design Modeling
Incremental Sw Construction
Throwaway Prototyping
Incremental Sw Integration
Incremental Prototyping
25/may/2001 Banking System Case Study
System Testing
3
C u s t o m e r
ATM
25/may/2001
ATM
ATM
13
The Problem
A customer can:
Customer records, account records debit card records are all mantained on the server.
25/may/2001 Banking System Case Study 14
The Problem
A transaction starts when:
Card is inserted Card is recognized (assumed true) Card validated PIN is inserted & validated
The customer is allowed three attempts to enter the correct PIN; if the 3rd attempt fails the card is confiscated.
25/may/2001 Banking System Case Study 17
The Problem
A card is composed by:
25/may/2001
18
The Problem
An ATM operator can:
Start up and close down the ATM to replenish the cash dispenser for routine maintenance
25/may/2001
19
The Problem
(what is not in)
It is assumed that functionality such as open/close accounts create/update/delete customer and cards is provided by an existing system and is not part of the problem.
During modeling the Bank Server should be considered as part of the problem
25/may/2001
20
Static modeling
Object structuring
Dinamic modeling
25/may/2001 Banking System Case Study 21
Two users/actors:
ATM customer ATM operator
25/may/2001
22
ATM Customer
Add Cash
Withdraw funds
23
Static Modeling
Problem domain System Context
Static Model
Attention is focused on Problem Domain and System Context The result is a Conceptual Static Model
Physical entity:
Dispenser (cash) Printer (receipt) Card Reader (card)
External users:
Operator (keyboard/display) Customer (keyboard/display)
25/may/2001
27
ATM
Customer Interface
25/may/2001
28
ATM Card: info read from the magnetic strip ATM Cash: amount of cash maintained in ATM Receipt: info about a transaction (unnecessary because holds info similar to Transaction class
25/may/2001 Banking System Case Study 31
Object Structuring
Structuring the system into objects for the dynamic model definitions.
Objects and classes are determined For each use case a collaboration (or sequence) diagram is developed
25/may/2001
34
Object Structuring
Client/Server Subsystem Structuring (1)
Bank Server
ATM
ATM Customer executes both client/server ATM Operator executes entirely on client
Banking System Case Study 35
25/may/2001
Object Structuring
Client/Server Subsystem Structuring (2)
Client/Server use case
25/may/2001
37
Banking system is seen as a package Foreach external class one interface class One instance of each interface classes for each ATM
25/may/2001
39
Each use case is considered All the objs participating in use case are determined What is used? (to do what?) Where info should be stored? Is something missing?
What is in:
Objs accessible from each ATM (customer, account, debit card)
Entity classes
Customer, Account (Superclass), Checking/Saving Account (Subclasses), Debit Card ATM Transaction obj migrates from client to server
Business Logic
PIN Validation, TransactionManager, WithdrawalTransactionManager, QueryTransactionManager, TransferTransactionManager
25/may/2001 Banking System Case Study 43
Dynamic Modeling
Depicts interaction among objs participating in each use case Starting point:
Sequence of inter-objs comunications are shown (with both sequence or collaboration diagram)
25/may/2001
44
25/may/2001
50
25/may/2001
51