Software requirement specification document
for project Banking System
Ahmed Mohamed Abdelfattah Issa
Supervised by: Dr. Ayman Ezzat
May 16, 2020
1 Introduction
In our system we aim to find out a creative solution for bank system routine.
This system will replace the usual paper-based system for banking
operations for a modern technology that is easy to use, and this system will
make the customer control his bank account via smart phones and laptops.
It allows the Client to deposit funds and use our checking accounts and debit
cards to pay his bills or make purchases. Customer can easily pay their bills
and save the money and time wasted when they need to pay bills through
convert the service of payment to online service.
1.1 Purpose of this document
The purpose of this project to give solutions to the most problems in
traditional Banks. The functionalities of our system will facilitate the
Customer’s banking dealings. The intended audience are Tellers and
Managers.
1
1.2 Scope of this document
The scope of this document will be on Customers, Tellers and Admins. This
system is responsible for operating a payment system, providing loans,
taking deposits, and helping with investments. We have used Jira software
to arrange and manage our requirements in our system.
1.3 Overview
In this system there are 3 Different types of users: Admin, Teller and Customer.
Our system will facilitate for customers to make their banking transactions in easy
way to use.
1.4 Business Context
Our project is tending to solve two main problems, it will solve the data
redundancy and save time and money and it will also solve global trade
2
problems by making most companies around the world conduct their
transactions easily and transfer their money from country to country to
easily. it will also replace the usual paper-based system for banking
operations .
2 General Description
2.1 Product Functions
. Functions of Our Online Banking System:
Admin Dashboard
Easy Clients registration
Customer Dashboard
Teller Dashboard
Admin Login pages are hidden from customers for security purposes.
Teller mange the Customer’s transfer, withdraw and Deposit
Print the invoice Voucher for deposit and withdrawal from the ATM
2.2 Similar System Information
Digital Web Plus Online Banking System: This is an Online Banking
System source code developed in PHP, HTML, JavaScript, and MySQL
database. This site has a beautiful and simple design but it has a limited
number of users and they are the client and the admin and It doesn't have a
lot of features.
Digital Our
Web B.A.M System
Design
GUI ✓ ✗ ✓
User
✗ ✓ ✓
3
Experien
ce
Several
Features ✗ ✓ ✓
Different
Users ✗ ✗ ✓
Web-
Based ✓ ✓ ✗
Bank account management system by Md. Jasim Uddin from City university:
Their primary aim to develop a project for solving financial application of a
customer in banking environment by providing various ways to perform banking
tasks. Also, to enable the user’s facilities to have additional functionalities and to
provide secure and efficient net banking which are not provided under a
conventional banking project. This system contains many features and functions
that the user can use easily and provide more security for the user but it has a non-
developed design which make them look like an old system.
4
5
6
2.3 User Characteristics
People who will use our system must be proficient in using computers
and smartphones. They should know English to be able to deal with the
system
2.4 User Problem Statement
The user 's problem it was in the time wasted, data redundancy and
failure Transactions.
2.5 User Objectives
The user wants to have his own control panel and also wants to control
his account using a software system and dispense paper dealings
2.6 General Constraints
This system works on computers and all types of processors are
allowed to run this system
3 Functional Requirements
Function code 1
Function Name bunifuThinButton29_Click//Login
Description This function will loop on all data base tables and it will check if the user state =0 then it
will login as admin if the user state =1 then it will login as teller if the user state =2 then
it will login as customer
Priority 10/10
Input Enter Username and enter Password
Output Admin Dashboard or Teller Dashboard or Customer Dashboard
Critically high
Risks Database may be failure
Dependencies with 2)Form1_Load() // for select the functions
other requirements
Pre-Condition Not logged in
Post-Condition Logged in
7
Function code 3
Function Name withdraw_click ()
Description This function will loop on Account data base rows [dt.Rows] and it will search on the
Customer Account number if it located then the Account balance will reduce in his
account and it will be updated in the data base.
Priority 9/10
Input Variable real_account will be become each row value until reach the specified Account
number
Output the BLAcc will becomes the new value balance and it will be updated in the data base
Critically high
Risks Database may be failure
Dependencies with 1)bunifuThinButton29_Click() // for Login
other requirements 2)Form1_Load() // for select the functions
Pre-Condition Account balance unchanged remains the same value
Post-Condition Account Balance reduced
Function code 4
Function Name deposite_click ()
Description This function will loop on Account data base rows [dt.Rows] and it will search on the
Customer Account number if it located then the Account balance will be the value
inserted in the text box and it will be updated in the data base.
Priority 9/10
Input Variable real_account will be become each row value until reach the specified Account
number
Output the BLAcc will becomes the new value balance and it will be updated in the data base
Critically high
Risks Database may be failure
Dependencies with 1)bunifuThinButton29_Click() // for Login
other requirements 2)Form1_Load() // for select the functions
Pre-Condition Account balance unchanged remains the same value
Post-Condition Account Balance increased by the value inserted in text box
8
Function code 5
Function Name bunifuThinButton21_Click () // for Pay bill
Description If the customer presses the Bill radio button then he will Select the Organization. This
function will loop on Account data base rows [dt.Rows] . the customer will enter the
amount there will be a condition (new balance-amount>=0) if this condition is true the
Account balance will be the value inserted in the text box and it will be updated in the
data base.
Priority 9/10
Input Variable new balance will be become the value inserted in textbox
Output the BLAcc will becomes the new balance and it will be updated in the data base
Critically high
Risks Database may be failure
Dependencies with 1)bunifuThinButton29_Click() // for Login
other requirements 2)Form1_Load() // for select the functions
Pre-Condition Account balance unchanged remains the same value
Post-Condition Account Balance decreased by the value inserted in text box
Function code 6
Function Name bunifuThinButton21_Click () // for donate
Description If the customer presses the Donate radio button. then he will Select the charity. This
function will loop on Account data base rows [dt.Rows] . the customer will enter Amount
there will be a condition (new balance-amount>=0) if this condition is true the Account
balance will be the value inserted in the text box and it will be updated in the data base.
Priority 9/10
Input Variable new balance will be become the value inserted in textbox
Output the BLAcc will becomes the new balance and it will be updated in the data base
Critically high
Risks Database may be failure
Dependencies with 1)bunifuThinButton29_Click() // for Login
other requirements 2)Form1_Load() // for select the functions
Pre-Condition Account balance unchanged remains the same value
Post-Condition Account Balance decreased by the value inserted in text box
9
Function code 7
Function Name makecBtn_Click () // for make cheque
Description This function will loop on Account data base rows [dt.Rows] . the customer will enter the
Customer Account number if it located the Account balance will be the value inserted in
the text box and it will be updated in the data base. And the voucher cheque is ready for
printing
Priority 8/10
Input Variable new balance will be become the value inserted in textbox
Output the BLAcc will becomes the new balance and it will be updated in the data base
Critically high
Risks Database may be failure
Dependencies with 1)bunifuThinButton29_Click() // for Login
other requirements 2)Form1_Load() // for select the functions
Pre-Condition Account balance unchanged remains the same value
Post-Condition Account Balance decreased by the value inserted in text box
And the cheque is ready for printing
Function code 8
Function Name Transfer ()
Description The customer will enter his account number and the receiver account number and the
amount to be transfer This function will loop on Account data base rows [dt.Rows] then
the Receiver Account balance will be the value inserted in the text box and it will be
updated in the data base.
Priority 9/10
Input Variable new balance will be become the value inserted in textbox
Output the BLAcc will becomes the new value balance and it will be updated in the data base
Critically high
Risks Database may be failure
Dependencies with 1)bunifuThinButton29_Click() // for Login
other requirements 2)Form1_Load() // for select the functions
Pre-Condition Sender Account balance unchanged remains the same value
Post-Condition Sender Account Balance decreased by the value inserted in text box
Receiver Account Balance increased by the value inserted in text box
10
4 Interface Requirements
4.1 User Interfaces
4.1.1 GUI
11
12
13
4.1.2 CLI
Not Available.
14
4.1.3 API
We use ready-made tools Bunfi tool and Metro Framework
4.4 Software Interfaces
We use the visual studio to run the C# language and we use the sql server as a
database.
6 Design Constraints
6.1 Standards Compliance
Not Available.
6.2 Hardware Limitations
Any Windows 10 Running Pc.
7 Other non-functional attributes
7.1 Dependability: FUNCTIONS (1) login ( ) and (2) load( ) are on all
functions requirements
7.2 Portability
This System will run on windows. this need to work with C# and it
tested by windows 10
7.3 Extensibility
Our system use sql server so we can insert an unlimited number of
users
7.4 Re-usability
In DAL class it contains read and write from database functions and
we use it to insert and update
7.5 Application Affinity/Compatibility
Download cheque voucher and deposit voucher
15
8 Preliminary Object-Oriented Domain Analysis
8.1 Inheritance Relationships
This section should contain a set of graphs that illustrate the primary inheritance
hierarchy (is-kind-of) for the system. For example:
Figure 1: Inheritance Relations
8.2 Class descriptions
This section presents a more detailed description of each class this information is
in CRC Cards
8.2.2 List of Superclasses:
1)Account
2)Transaction
3)Bank Employee
8.2.3 List of Subclasses:
1.1) Checking
1.2) Saving
2.1) Deposit
2.2) transfer
2.3) withdraw
3.1) ATM operator
3.2) Teller
3.3) Manager
16
8.2.4 Operations
17
12 Appendices
Specifies other useful information for understanding the requirements. All SRS
documents should include at least the following two appendices:
12.2 Collected material
18
13 References
References
[1] Anna malai, Saravanan. (2015). system analysis and design - internet banking.
10.13140/RG.2.1.4223.6000.
[2] Uddin, Md. Jasim & Nuruzzaman, Md. (2015). Bank Account Management
System. 10.13140/RG.2.1.4335.9120.
19