alessandropro / cps406-group6-atm Goto Github PK
View Code? Open in Web Editor NEWCPS 406 - Section 4 - Group 6
CPS 406 - Section 4 - Group 6
UC #2 ValidateAccountNumber.pdf
3.2.2. ValidateAccountNumber
Priority: 1
Brief Description: System validates the customer account number by checking the database for existing matching account.
Actors: System, Database
Triggers: Customer has inputted an account number to be validated and presses ‘OK’
Flow of Events:
Basic Flow – Validate Account Number:
A Brainstorm of Use Cases for our discussion
3.2.14 Deposit
Priority: 4
Brief Description: The user gives the System an amount to deposit into their account (either cash or cheque through the deposit slot)
Actors: Account Holder, System, Database
Triggers: When the Account Holder selects ‘Deposit’ from the main menu
Flow of Events:
Basic Flow – Deposit:
The use case starts when the user selects ‘Deposit’ from the main menu
The system prompts the user to enter the amount they wish to deposit
The user enters the amount to deposit
While the System is waiting for the deposit to be put into the deposit slot
4.1 The System prompts the Account Holder to put in their cash or cheque via envelope
The System updates the active Account’s balance on database
Alternative Flow:
User presses ‘Exit’ button (UC 3.2.4 Exit)
User presses ’Return’ button (UC 3.2.5 Return)
Special Requirements: None
Preconditions: Application must be running, account must be logged in, the user selects the ‘Deposit’ button on the main menu
Postconditions:
Success Postconditions:
1. The Account receives the deposit successfully
Failure Postconditions:
1. The deposit is not completed
Extension Points: none
3.2.12 PrintReceipt
Priority: 3
Brief Description: Will print receipt with all transaction done on it.
Actors: System, Database
Triggers: When the Account Holder decides to have a receipt printed
Flow of Events:
Basic Flow – Print Receipt:
3.2.10 DispenseMoney (included in UC 3.2.8 Withdraw)
Priority: 2
Brief Description: The System dispenses the money through the money dispenser
Actors: Account Holder, System, Bank Database
Triggers: Verified withdrawal amount passed
Flow of Events:
Basic Flow – Dispense Money:
1. The use case starts when the System receives the amount to be dispensed from (UC 3.2.8 Step #6)
2. If the System does not have sufficient cash money
2.1 Display error message “Sorry, this machine is out of money.”
2.2 Return to UC 3.1.7
3. The System gets the required amount of money
4. The System dispenses the money through the money dispenser
5. While the money has not been removed from the dispenser
5.1. The System displays a remove money message
Alternative Flow:
1. User presses ‘exit’ button (UC 3.2.4 Exit)
Special Requirements: None
Preconditions: Application must be running, account must be logged in, withdrawal amount must be confirmed and passed
Postconditions:
Success Postconditions:
1. The selected amount of money is dispensed
Failure Postconditions:
1. The selected amount of money cannot be dispensed
Extension Points: none
3.2.5. Return
Priority: 2
Brief Description: Goes back to the previous page
Actors: System
Triggers: When the user presses the ‘Return’ key on screen.
Flow of Events:
Basic Flow – Return:
3.2.7. ViewBalance
Priority: 2
Brief Description: Fetches balance from database and displays it on screen
Actors: System, Database
Triggers: Account Holder request account balance
Flow of Events:
Basic Flow - View Balance:
1. Request Account balance from database
2. Display Account balance.
Alternative Flow:
1. User presses ‘exit’ button (UC 3.2.4 Exit)
Special Requirements: none
Preconditions: Application must be running, account must be logged in
Postconditions:
Success Postconditions:
1. Account balance is displayed
Failure Postconditions:
1. Account balance is not displayed
Extension Points: none
3.2.8. Withdraw (include UC 3.2.9 CheckAvailableFunds and UC 3.2.10 DispenseMoney)
Priority: 1
Brief Description: The Account Holder withdraws a specific amount from their account
Actors: Account Holder, System, Database
Triggers: Selecting ‘Withdraw’ from the main menu
Flow of Events:
Basic Flow – Withdraw:
1. The use case starts when Account Holder selects the ‘withdraw’ button on the main menu
2. The System displays a window with predetermined amounts to withdraw and an option to input a custom amount (must be a multiple of 20)
3. If a custom amount is entered and ‘enter’ is pushed
3.1. While the amount is not divisible by 20
3.1.1. Display an invalid input message
3.1.2. Clear the amount in the textbox
3.2 Continue with custom amount.
4. Else if the account holder selects a predetermined amount to withdraw
4.1 Continue with the predetermined value
5. Include (UC 3.1.9 CheckAvailableFunds)
6. Access database and withdraw the funds.
7. Include (UC 3.1.10 DispenseMoney)
8. The balance is decreased by amount selected/inputted through database
Alternative Flow:
1. User presses ‘exit’ button (UC 3.1.4 Exit)
2. User presses ‘return’ button (UC 3.1.5 Return)
Special Requirements: None
Preconditions: Application must be running, account must be logged in
Postconditions:
Success Postconditions:
1. The selected amount of money is withdrawn and the balance is updated
Failure Postconditions:
1. The selected amount of money cannot be withdrawn
Extension Points: none
3.2.6. ViewMainMenu
Priority: 1
Brief Description: Displays the main menu of options for the Account Holder
Actors: Account Holder, System
Triggers: Successful login, Account Holder selects to do another transaction
Flow of Events:
Basic Flow – View MainMenu:
1. The use case starts when one of the triggers occur
2. The system displays the main menu of option buttons
3. The system waits until the Account Holder selects one of the buttons (Withdraw, Deposit, View Balance, Exit)
4. The system calls the selected button’s function
Alternative Flow:
1. User presses ‘exit’ button (UC 3.2.4 Exit)
Special Requirements: None
Preconditions: Application must be running, Account must be logged in
Postconditions:
Success Postconditions:
1. Main menu is displayed and usable
Failure Postconditions:
1. Main menu is not displayed
Extension Points: none
3.2.11 CheckReceipt
Priority: 3
Brief Description: Asks the Account Holder if they would like a receipt of their previous transactions
Actors: Account Holder, System, Database
Triggers: When the Account Holder decided to Exit or stop using the ATM
Flow of Events:
Basic Flow – Check for a Receipt:
The use case starts when the user has decided to exit the system and ATM
The System asks the Account Holder if they would like a printed receipt.
If Account holder says yes
3.1. Extension Point (UC 3.2.12 PrintReceipt)
4. Exit use case and return to (UC 3.2.4 Exit)
Alternative Flow: None
Special Requirements: None
Preconditions: Application must be running, account must be logged in
Postconditions:
Success Postconditions:
1. Receipt will be printed.
Failure Postconditions:
1. DIsplay error
Extension Points: none
3.2.9. CheckAvailableFunds (included in UC 3.2.8 Withdraw)
Priority: 2
Brief Description: The System checks if the selected amount to be withdrawn is within the account’s balance
Actors: System, Database
Triggers: Withdraw amount selected
Flow of Events:
Basic Flow – Check Available Funds:
1. The use case starts when the System receives the amount to be withdrawn from (UC 3.2.8 Step #5)
2. The System gets the active account’s balance
3. If the withdraw amount is greater than the account’s balance
3.1 Display error message “withdraw amount exceeds balance”
3.2 Return to (UC 3.2.8 Step #2)
4. Return to (UC 3.2.8 Step #6)
Alternative Flow: None
Special Requirements: None
Preconditions: Application must be running, account must be logged in, withdrawal amount must be selected and passed
Postconditions:
Success Postconditions:
1. The selected amount of money is confirmed available to be withdrawn
Failure Postconditions:
1. The selected amount of money cannot be withdrawn
Extension Points: none
3.2.1 Login (include UC 3.2.2 ValidateAccountNumber and UC 3.2.3 ValidatePin)
Priority: 1
Brief Description: The user inputs login information and the system checks validity
Actors: Account Holder, System
Triggers: Inserting Card, NFC Card, Entering Account Number
Flow of Events:
Basic Flow – Login:
UC #13 CheckMoreTransactions.pdf
3.2.13 CheckMoreTransactions
Priority: 3
Brief Description: The System checks if the Account Holder wants to do another transaction after completing a transaction
Actors: Account Holder, System, Database
Triggers: After a transaction completes
Flow of Events:
Basic Flow – Check for a Receipt:
3.2.3. ValidatePin
Priority: 1
Brief Description: System validates the inputted PIN by checking the database for correct a corresponding PIN number.
Actors: System, Database
Triggers: Customer has inputted a PIN number to be validated and attempts to log in.
Flow of Events:
Basic Flow – Validate Pin:
3.2.4. Exit
Priority: 1
Brief Description: Exits the application
Actors: System
Triggers: Pressing the ‘exit’ button
Flow of Events:
Basic Flow – View MainMenu:
The use case starts when account holder presses the ‘exit’ button
Prompt asking, “ Would you like to exit ATM now?”
If user selects “No”
3.1 return to previous screen
System checks if transactions have been made
4.1 if a transaction have been made, Extension point (UC 3.1.11 CheckReceipt)
System switches to a new window
The new window prints “Thank you for banking with RBI”
The application exits
Alternative Flow: None
Special Requirements: None
Preconditions: Application must be running
Postconditions:
Success Postconditions:
1. Application exits
Failure Postconditions:
1. Application does not exit
Extension Points: none
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.