ATM Case Study_ooad

Views:
 
Category: Education
     
 

Presentation Description

No description available.

Comments

By: touseef259783 (27 month(s) ago)

how can i download it

Presentation Transcript

ATM Case Study:

ATM Case Study By, G.P.Rubia Amal

Case Study:

Case Study A Bank wishes to introduce ATM service to provide limited facilities to her customers. Customers may get ATM cards on request. Users may view their balance or transfer or withdraw money using these cards. Cards may be used to access many accounts and an account may be accessed using different cards. A card may be blocked temporarily or permanently (e.g. If it is lost) by the Bank. A PIN is associated with each card to verify the authority of the user. There is an OD limit associated with each cheque account. Theoretically, any amount may be withdrawn from a cheque account at any time (provided it is less than the balance+Odlimit). There is no OD facility for a savings account.

Case Study:

Case Study The personal information of the customers and their account details are already maintained by the Bank’s main system. A subsystem is required to handle the ATM’s functionality. Two hardware systems Card reader and Money dispenser will communicate with this subsystem. The card reader reads the Card’s ID and passes it to the system. It is also able to eject the card when an eject signal is received from the system. Similarly the money dispenser is able to dispense the required amount of money.

Case Study-3:

Case Study-3 The Limited ATM system is required to provide at least the following operations. Enter a new card / new account detail Block /Reactivate/Cancel a card View the balance of the account Withdraw money from the account Transfer money from one account to another Change the PIN of a card The validity of the card and the authority of the User will be checked for each transaction session.

PowerPoint Presentation:

Apply for Card Assign Pin Finalise Card Manager Record Detail Approve Receive Card Clerk Client :Card [Recorded] :Card [Approved] :Card [Finalised] :Card [active] Applying for New Card A Business Activity Diagram

A Business Activity Diagram:

A Business Activity Diagram Insert Card View Balance Select Service Client arrives at ATM Give PIN [CARD valid] [PIN OK] [Quit] Eject Card [CARD valid] [PIN OK] Withdraw [withdraw] Client Transaction Client leaves ATM

Requirement List :

Requirement List Client shall view the balance Client shall withdraw money within a limit Client shall change the PIN Bank Clerk shall store a new CARD detail Bank Clerk shall add another account to a CARD Shall check the CARD’s validity Shall verify the PIN Shall use 3-DCS (168 bits) encoding

Grouping the Candidate Requirements:

Grouping the Candidate Requirements CARD MANIPULATION Clerk store a new CARD detail Clerk add another account to a CARD Clerk & Client shall fix new PIN first time Client shall change the PIN TRANSACTIONS Client shall view the balance (within 2 minutes) Client shall withdraw money from savings/ current account within the limit Client shall transfer money within the limit

PowerPoint Presentation:

Client transfer withdraw view Balance Use Cases Transactions Add structures 

PowerPoint Presentation:

Client transfer withdraw view Balance Use Cases Transactions print Balance get Accounts Structures added

PowerPoint Presentation:

Clerk add new account add new card fix PIN Use Cases Card Manipulation Client Add structures 

PowerPoint Presentation:

Clerk add new account add new card fix PIN Use Cases Card Manipulation Client

ATM- Withdraw From Current:

ATM- Withdraw From Current Name : Withdraw From Current Actor : Client Pre-conditions : User already logged-in A menu is active with ‘withdraw’ option Post-conditions : Amount is deducted from user’s account Purpose : To allow the client to withdraw money Description: (1) Client initiates this use case by selecting ‘withdraw’ (2) System get all the accounts (use case get Account) (3) System displays all the accounts and prompts to select any one (3) Client selects one account (4) System prompts for the amount (5) Client indicate an amount (6) System issues money, update record, and confirms Alternative courses: ( 3) & (4) System selects the only one available account (6) requested amount is bigger than balance, system display message Errors: Issue Cash?

Prototype Withdraw from Current:

Prototype Withdraw from Current Select A Service Withdraw View Balance Transfer Select An Account Cheque Savings (House) Credit Give An Amount OK Suceess Take Your Money Another Transaction? Get Your Card? OK OK

ATM- Withdraw:

ATM- Withdraw System gets all accounts Client selects Fast cash Client Select One Account Client selecetd withdraw Displays all accounts [accounts>1] Eject Card [account=1] System asks for Amount to withdraw [amount > balance] Client types amount Issue cash Display message [amount > balance] [Quit]

Realize Usecases:

Realize Usecases Identify System’s Tasks Identify Collaborating Objects Allocate Responsibilities Draw CRC Draw Colloboration Assign a Ctrl class (and a UI class- if necessary) for each usecase. Draw Collobaration again Update Class diagram

PowerPoint Presentation:

System’s Tasks Identified (1) System gets all the accounts on Card (2) System displays the details of Accounts (3) Prompts to select one (4 System prompts for the amount (5) System issue money (6) Update records (update what?) How to allocate these tasks to different classes?

PowerPoint Presentation:

2 Use case Realization! withdraw Client :Account :Card withdraw 1 Identify Collaborations

CRC - Allocate Responsibilities:

CRC - Allocate Responsibilities Class Name Card Responsibilities Collaborations Provide Card information. Class Name Account Responsibilities Collaborations Provide Account information. Provide Withdrawal Provide list of Accounts. Account provides Account’s detail.

PowerPoint Presentation:

Collaboration Diagram (Initial Idea)! Client ::Card ::Account getAllAccDetail() *getAccDetail() 2 1 withdraw(acc,amm) 3 withdraw(amm) 4

PowerPoint Presentation:

withdraw(am) ::withdrawUI ::withdrawCtrl Client ::Card ::Cheque 2 1 3 5.1 getAllAccDetail() startUI() selectAccount withdraw(cID) *getAccDetail() 1.1 4 proAmount withdraw(acc,am) 5 0 Collaboration Diagram, with UI and CTRL objects! Issue Cash?

Sequence diagram:

Sequence diagram :Card :Account getAllAccDetail() withdraw(acc,am) *getAcc Detail( ) Client withdraw(am) with entity objects only Use Case: withdraw

With Boundary & Control Classes:

With Boundary & Control Classes *getAccDetail() : withdrawUI : withdrawCtrl : Card : Account withdraw() proAmount() withdraw() startUI() *getAllAccDetails() Client Use Case: withdraw selectAccount() Sequence diagram Issue Cash?

Withdraw- Operation Specification Pre- and Post-condition Pair:

Withdraw- Operation Specification Pre- and Post-condition Pair pre-conditions: CARD is valid ACCOUNT is valid ACCOUNT is associated with CARD amount is valid post-conditions: if amount is greater than ACCOUNT.balance value of ACCOUNT.balance set equal to ACCOUNT.balance-amount value of result set equal to success otherwise value of result set equal to failure Issue Cash?

Structured English- withdraw:

Structured English- withdraw get all the accounts associated with CARD if there are more than one ACCOUNT Do while there is no more ACCOUNTS left get all the details associated with ACCOUNT display details endDo set ACCOUNT to user selected ACCOUNT else set ACCOUNT to the only existing ACCOUNT endIf if ACCOUNT.balance is greater than amount set ACCOUNT.balance to ACCOUNT.balance – amount set result to TRUE else set result to FALSE endIf return result Issue Cash?

Activity Diagram- Withdraw:

Get Account Details [ NoOfAccounts = 1 ] [amount < =A . balance] A.balance  A.balance-amount Result  TRUE List an Account details A  Only Account Activity Diagram- Withdraw [ NoOfAccounts > 1 ] Get amount Get User’s Choice (say A) [more] [no more] [amount >A . balance] Result  FALSE Issue Cash?

Complete other Usecases!:

Complete other Usecases! View Balance Transfer Add Card Add Account Change PIN Change Status Check PIN

An independent ATM host can access any bank. It also supports a large number of ATMs placed with different merchants. :

An independent ATM host can access any bank. It also supports a large number of ATMs placed with different merchants.

authorStream Live Help