Online Banking: Final Project
Online Banking: Final Project
Online Banking
Final Project
Nicholas Mitricka and Vaibhav Patel
Problem Statement......................................................................................................4
Analysis Model............................................................................................................5
Scenario - Login.....................................................................................................................5
Scenario - AddPayee..............................................................................................................9
Scenario - SchedulePayment................................................................................................11
Scenario - ModifyPayment...................................................................................................13
Scenario - DeletePayment....................................................................................................16
Scenario - DeliverPayment...................................................................................................17
Use Case - Login...................................................................................................................19
Use Case - AddPayee...........................................................................................................20
Use Case - SchedulePayment...............................................................................................21
Use Case - ModifyPayment..................................................................................................23
Use Case - DeletePayment...................................................................................................24
Use Case - DeliverPayment..................................................................................................25
Sequence Diagrams – Login.................................................................................................26
Sequence Diagrams – AddPayee..........................................................................................27
Sequence Diagrams – SchedulePayment..............................................................................28
Sequence Diagrams – ModifyPayment................................................................................29
Sequence Diagrams – DeletePayment.................................................................................30
Sequence Diagrams – DeliverPayment.................................................................................31
State Diagram - Account......................................................................................................32
State Diagram – Customer...................................................................................................32
State Diagram – Payment....................................................................................................33
State Diagram – Payee.........................................................................................................33
Class Diagram......................................................................................................................34
Object Diagram....................................................................................................................35
Class Details.........................................................................................................................36
System Design............................................................................................................37
Design Goals........................................................................................................................37
Subsystem and Software Architecture.................................................................................37
Deployment Diagram...........................................................................................................38
1|Page
Access Control.....................................................................................................................38
Strategies for Global Control................................................................................................39
Boundary Use Case..............................................................................................................39
Object Design.............................................................................................................40
Design Pattern Strategy.......................................................................................................40
Interface Specifications – Invariants....................................................................................41
Interface Specifications – Preconditions..............................................................................42
Interface Specifications – Post conditions............................................................................43
2|Page
Problem Statement
During a person’s normal life, they accumulate some amount of bills that
numerous letters in the mail, write out checks, mail checks, etc. This can cause
these issues are provided by many banks to customers that have a savings
Bank customers are writing out physical checks that can cause a person
payments not being sent on time, payments being sent to the wrong payee and
writing checks for more than what is in their checking account. Therefore,
3|Page
Analysis Model
Scenario - Login
4|Page
Scenario Name :Login
Participating Action Instance Bill:Customer
Flow Of Events 1. Bill activates the “Login” function of the system
by going to the login page
2. Bill enters “[email protected]” as his user name
3. Bill enter “23232323” as his password
4. Bill clicks on the button labeled “login”
5. System displays “Account has been locked due to
incorrect password”
5|Page
Scenario Name :Login
Participating Action Instance Sue:Employee
Flow Of Events 1. Sue activates the “Login” function of the system
by going to the login page
2. Sue enters “” as his user name
3. Sue enter “1234Suse” as his password
4. Sue clicks on the button labeled “login”
5. System displays “Missing information. Please fill
in the required field”
6|Page
Scenario Name :Login
Participating Action Instance Sue:Employee
Flow Of Events 1. Sue activates the “Login” function of the system
by going to the login page
2. Sue enters “[email protected]” as his user name
3. Sue clicks on the button labeled “canceled”
4. System displays “Login Canceled”
7|Page
Scenario - AddPayee
8|Page
Flow Of Events 1. Bill activates the “Add a Payee” function of the
system by clicking on the button “Add a Payee.”
2. Bill enters “Capital One” as the payee’s name
3. Bill enters “123 Washington Drive” as the
Address 1
4. Bill enters “Baton Rouge” as the city
5. Bill selects “LA” as the state
6. Bill clicks “Cancel” button
7. The Systems prompts to confirm cancelation
8. Bill clicks yes
9. System displays that the function has been
canceled.
9|Page
Scenario - SchedulePayment
10 | P a g e
Scenario Name :SchedulePayment
Participating Action Instance Bill:Customer
Flow Of Events 1. Bill activates the “SchedulePayment” function of
the system by clicking on the link
“SchedulePayment” in the functionality window
2. Bill selects “Chase”
3. Bill then enters “$200”
4. Bill selects “Checking 12341234”
5. Bill selects “4/14/2010”
6. System displays “Estimated Delivery Date” as
“4/17/2010"
7. Bill Selects “Recurring Payment”
8. System prompts for frequency and ending date
9. Bill Enters “Monthly”
10. Bill enters “3 payments”
11. Bill clicks continue button
12. Bill clicks the submit button
13. System displays entered data for verification
14. Bill clicks accept
15. System displays “Payment Scheduled
Successfully”
11 | P a g e
Scenario - ModifyPayment
12 | P a g e
Scenario Name :ModifyPayment
Participating Action Instance Bill:Customer
Flow Of Events 1. Bill activates the “ModifyPayment” function of
the system by clicking on button “Modify
Payment”
2. System will show list of all payments done by
Bill’s account which have delivery date after
today’s date
3. Bill click on payee’s name “Chase” to modify
request in payment for “Chase”
4. Bill changes date to 4/19/2010 in “Delivery Date”
calendar and changes amount to 120.34$ in
“Payment Amount” Box and click “Continue”
button
5. System ask Bill to confirm this Modify Payment
transaction
6. Bill clicks “Submit” button to confirm
7. System displays “The delivery date and payment
amount for Chase was modified to 4/19/2010
and 120.34$” message
13 | P a g e
Scenario Name :ModifyPayment
Participating Action Instance Bill:Customer
Flow Of Events 1. Bill activates the “ModifyPayment” function of
the system by clicking on button “Modify
Payment”
2. System will show list of all payments done by
Bill’s account which have delivery date after
today’s date
3. Bill click on payee’s name “Chase” to modify
request in payment for “Chase”
4. Bill changes amount to 000.00$ in “Payment
Amount” Box and click “Continue” button
5. System ask Bill to confirm this Modify Payment
transaction
6. Bill clicks “Submit” button to confirm
7. System displays “Invalid Payment Amount”
message
14 | P a g e
Scenario - DeletePayment
15 | P a g e
Scenario - DeliverPayment
16 | P a g e
Scenario Name :DeliverPayment
Participating Action Instance Cal1:Calendar
Flow Of Events 1. System activates the “DeliverPayment” function
on 4/17/2010 for Account Number “12341234”
2. System gets information for payments need to
be delivered on 4/17/2010 for Account Number
“12341234”
Payee=”Chase”
Amount=200$
3. System gets payee Account Number from its
database
Payee=”Chase”
Account Number=”87654321”
4. System transfer Payment Amount from
“12341234” to “87654321”
5. System sends message “In sufficient balance to
do Payment to Chase for amount 200$ by
AccNo:12341234 on 4/17/2010” to Account
Number “12341234” email
17 | P a g e
Use Case - Login
18 | P a g e
Use Case - AddPayee
19 | P a g e
be done securely
20 | P a g e
MsgWindow
16. MsgWindow displays “Schedule Payment Canceled” or
“Payment Successful Scheduled”
Entry Conditions Actors are logged into the system; Actor has Payees
associated with them; Actor has banking accounts that is
already known and associated with that payee.
Exit Conditions Actors have successfully scheduled a payment; actors have
canceled the functionality
Quality Requirements Data entry request should be displayed on a webpage; System
recognition message should be displayed in less than 3
seconds; Entered data should be done securely
21 | P a g e
Use Case - ModifyPayment
22 | P a g e
Use Case - DeletePayment
23 | P a g e
Use Case - DeliverPayment
24 | P a g e
Sequence Diagrams – Login
25 | P a g e
Sequence Diagrams – AddPayee
26 | P a g e
Sequence Diagrams – SchedulePayment
27 | P a g e
Sequence Diagrams – ModifyPayment
28 | P a g e
Sequence Diagrams – DeletePayment
29 | P a g e
Sequence Diagrams – DeliverPayment
30 | P a g e
State Diagram - Account
31 | P a g e
State Diagram – Payment
32 | P a g e
Class Diagram
33 | P a g e
Object Diagram
34 | P a g e
Class Details
35 | P a g e
System Design
Design Goals
Performance
o The system should be able to satisfy requests within 2 seconds.
o System should be able to handle a minimum of 1,000 concurrent
users
Dependability
o System should have a 99.9% uptime.
Cost
o The development of the system should be <$50k, excluding
hardware
Maintenance
o Full back-ups should be taken every week
o Incremental back-ups should be taken every day
o Security audits should be conducted weekly
o Disaster recovery test should be conducted bi-annually
o Performance monitoring should be in place and necessary changes
should be identified to increase performance
End User
o System should be intuitive
o Available functionality should be clearly identifiable
o Currency used should reflect the local currency of the customer
o Customers should be <79% satisfied with the system
36 | P a g e
Deployment Diagram
Access Control
Customer:
(Customer, LogIn())
(Customer, UpdateCusInfo())
(Payee, Add_Payee())
(Payee, Update_Payee())
(Payee, Remove_Payee())
(Payment, Modify_Payment())
(Payment, Delete_Payment())
(Payment, View_History())
(Payment, Schedule_Payment())
(Account, Withdrawl())
(Account, Deposit())
(Access_Control, checkAccess())
37 | P a g e
Strategies for Global Control
As this online banking system is purely utilizes via the web, the main
control strategy for this will be a combination of event driven, threads and
procedure driven control. When a user initiates functionality, an event will create
procedural way.
38 | P a g e
Object Design
Design Pattern Strategy
39 | P a g e
Interface Specifications – Invariants
40 | P a g e
Interface Specifications – Preconditions
41 | P a g e
Interface Specifications – Post conditions
42 | P a g e