You are on page 1of 39

Table of Contents

1. Introduction
1.1 Purpose
1.2 Document Conventions
1.3 Intended Audience and Reading Suggestions
1.4 Definitions, acronyms, abbreviations
1.5 Scope

2. Overall Description
2.1 Product Perspective
2.2 Product Features
2.3 User Classes and Characteristics
2.4 Operating Environment
2.5 Design and Implementation Constraints
2.6 Assumptions and Dependencies

3. Specific Requirements
3.1 Functional Requirement
3.2 Requirements of the Systems for BankBazaar.com
3.3 software requirements
3.4 hardware requirements

3.b.1 module description


3.b.2 ER diadrames for create account
3.b.2 ER diadrames for withdraw money
3.b.2 ER diadrames for modify account
3.b.2 ER diadrames for delete account
3.b.3 conclusion
3.b.4 use case diagram for bank

4. External Interface Requirements


4.1 User Interfaces
4.2 Hardware Interfaces
4.3 Software Interfaces

5. Other Nonfunctional Requirements


5.1 Performance Requirements
5.2 Safety Requirements
5.3 Security Requirements
5.4 Software Quality Attributes

6. Other Requirements
6.1 Constraints
7.testing
7.1 domain testing
7.2.Banking Domain Knowledge - Introduction
1.Traditional banking sector
2.Service based banking sector
7.3 .Characteristics of a Banking Application
7.4 Test Phases in Testing Bank Applications
7.5 Sample Test Case for Net Banking Login Application

8. Performance
8.1 Security
8.2 Reliability
8.3 Availability
8.4 Maintainability
8.5 Reusability

1. Introduction
1.1 Purpose
This document describe the software requirement and specification for
Consumer Finance company (Bank Bazaar.com)

1.2 Document Conventions : font: TNR 11


1.3 Intended Audience and Reading Suggestion
The document is intended for all the stakeholders customer and the developer
(designers, testers, maintainers). The reader is assumed to have basic
knowledge of banking accounts, loan services and bak transactions.
Knowledge and understanding of UML diagrams is also required.

1.4 Definitions, Abbreviations


1.4.1 Definitions
Bank
A financial institution that holds accounts for customers and that issues cash
cards authorizing access to accounts over the ATM network.

Bank computer
The computer owned by a bank that interfaces with the ATM network and the
banks own cashier stations. A bank may actually have its own internal network
of computers to process accounts, but we are only concerned with the one
that interacts with the network.

Customer
The holder of one or more accounts in a bank. A customer can consist of one
or more persons or corporations, the correspondence is not relevant to this
problem. The same person holding an account at a different bank is considered
a different customer.

Transaction
A single integral request for operations on the accounts of a single customer.
We only specified that ATMs must dispense cash, but we should not preclude
the possibility of printing checks or accepting cash or checks. We may also
want to provide the flexibility to operate on accounts of different customers,
although it is not required yet. The different operations must balance properly.

Loan
A thing that is borrowed, especially a sum of money that is expected to be paid
back with interest( A loan is the act of giving money, property or other material
goods to another party in exchange for future repayment of the principal
amount along with interest or other finance charges).

Insurance
An arrangement by which a company or the state undertakes to provide a
guarantee of compensation for specified loss, damage, illness, or death in
return for payment of a specified premium.

Cash Card
A card assigned to a bank customer that authorizes access to accounts using an
ATM Machine. Each card contains a bank code and a card number, coded in
accordance with national standards on credit cards and cash cards. The bank
code uniquely identifies the bank within the consortium. The card number
determines the accounts that the card can access. A card does not necessarily
access all of a customers accounts. Each cash card is owned by a single
customer, but multiple copies of it may exist, so the possibility of simultaneous
use of the same card from different machines must be considered.
Mutual Fund
An investment programme funded by shareholders that trades in diversified
holdings and is professionally managed.

1.4.2 Abbrevations
Throughout this document following abbreviations are used :
I/p : input provided by the user at the run time .
o/p : output received on screen
u_name : username entered for login process
u_pass : password entered for login
success : return authenticated
failure : return Invalid usename/password
result : return output
E : EMI Value
P : Principal value
R : Rate of Interest
T : Time in months
SI : Simple Interest
CI : Compound Interest
1.5 Project Scope
The software allows you to compare policies , loans online among different
vendors in the market , and gives you the most appropriate results . It also
offers you to apply online for any kind of loan to any vendor . It tells you about
the eligibility criteria for all the services which you want to apply for.It provide
you all the information related banks at your doorsteps . The software
identifies its customer by a username and password which you get at the time
of online registration of this software. It analyse the i/p provided by user ,
search for it and provide the most relevant details . The software must handle
multiple requests from the same user and keep the record correctly . It gives a
very useful and wonderful feature Track Application .After applying for any
service user can get the status of its application at any point of time .

2. Overall Description
2.1 Product Perspective
The software work independently has no collaboration with any public /
private vendor. It works on the basic principle of Data Analysis . The
whole platform operate on the World Wide Web. The data fetched form the
survey , stores in the Database and respond back to the user when query is
fired .

GUI
This is interface must be highly intuitive or interactive because there will not
be an assistance for the user who is operating the System. At most of the
places help desk should be provided for users convenience. The screens
appearing should be designed in such a manner that it can draw User
attaraction towards the new plans for the customers.

Also the pin and password confidentiality should be maintained,


This can be done by using asterisks at the password panel.
Proper security messages should be displayed at most of the places.

Software Interface : The software operates on World Wide Web and runs
on a web browsers (Chrome , Firefox , Internet Explorer 9 or above etc ).
Retail banks
Commercial or retail banks use what is known as core banking software which
record and manage the transactions made by the banks' customers to their
accounts. For example, it allows a customer to go to any branch of the bank
and do its banking from there. In essence, it frees the customer from his/her
home branch and enables him to do banking anywhere. Further, the bank's
databases can be connected to other channels such as ATMs, Internet
Banking and SMS based banking.
Banking software is used by millions of users across hundreds or thousands of
branches. This means that the software must be managed on many machines
even in a small bank. The core banking system is a major investment for a retail
banks and maintaining and managing the system can represent a large part of
the cost of running a bank.
Trading banks

All banking and other financial institutions have areas which they specialize
in. Bloomberg is another privately held financial software, news, and data
company located in New York City, USA. It offers financial software tools such
as analytics and equity trading platform to financial companies around the
world through the Bloomberg Terminal, its core money-generating product.
1. Any windows operating system.

2. The PHP must be installed. For the database handling MYSQL must be
installed. These products are open source products.

3. The final application must be packaged in a set up program, so that the


products can be easily installed on machines. This application must be
networked to corresponding banks.

5. Performance Requirements

The system should be compatible enough to hold the general traffic .


It should not get hang or show some other problems arising out due to large
no of concurrent users . The system should be fast enough to meet the
customer The high and low temperature should not affect the performance of
the device. An uninterrupted transaction must be performed.

Hardware Interface : The software can run on any internet enabled


machine with browsers installed on it .(Browsers : It is a software that run web
applications)
Various interfaces for the product could be
1. Touch screen/Monitor
2. Keypad
3. Continuous battery backup
4. Printer which can produce the hard copy.
5. Interface that connects the device to banks computer.
6. An interface that can count currency notes.

User Interfaces
Customer : The customer user interface should be intuitive, such that 99.9%
of all new users are able to get all the information without any assistance.

Administrator : The maintainer is responsible for adding new features to


the software and servicing existing accounts present on software . A
maintainer should update the software regularly for better customer
satisfaction.

2.2 Product Features


The software should work 24 hrs for better satisfaction . The software
identifies a customer by a username and password. Here username can be
anything like : mobile number or any social id . It collects information about
various bank services (e.g., Loans, Insurances, Policies , bill payment),
communicates the transaction information to the customers bank, and
dispenses cash to the customer. The software provide their own software for
their own computers. The software requires appropriate record keeping and
security provisions. The software must handle concurrent accesses to the same
account correctly and should be able to handle multiple search queries from
multiple user at a same time .
The software provides the feature of comparing bank loans , bank policies ,
investment schemes , etc with respect to customer choice .., It analyze public
reviews , different polices ,schemes over the internet . It makes u aware about
the terms and conditions for particular scheme , eligibility criteria and all the
required documents to apply for any service . It is a software which provide
hassle free banking from any part of the world to any kind of people i.e even
neophytes can access this software and get aware from all the banking
processes.
3 User Class and Prespectives
Characterstics : There are various uses of this software ..
At first glance, price-comparison websites are an example of capitalism at its
best. Savvy consumers can use them to hunt down the best available deal for
insurance, loan and lifetime policies Firms providing such items, terrified of
losing customers, feel an obligation to improve their offerings all the time. But
recent theory and practice suggest the reality is more complex: comparison
sites are simultaneously friends and foes of competition..No need to stand in
large queues and wait for turn .

Users: are simply members of the general public with no special training.

Administrators: must be experienced network administrators, to be able to


update new features to the system

2.4 Operating Enviornment


The hardware, software and technology used should have following
specifications:
Ability to maintain the confidientiality
Ability to differntiate the currency
Ability to validate user
Search result must be available to user within notime
Should not be distractive
Should not contain irrelevant content
User friendly Regular update
Most secure
Resources must be equally available to all users
Credentials must not be shared
Search information must not be disclosed

2.5 Design and Implementation Constraints


Login
Account Info / Account Session
Validate User Account
Firstly validate that username must exsist in the database
Validate that username must be entered valid
Validate that password must be valid and consistent
Validate that username/password must not be blank .

Validate Account Info

Validate that if account is not expired


Continously validate the session of user .

2.6 Assumptions and Dependencies


Hardware never fails
Software is unbreachable
Limited number of transactions per day (sufficient paper for receipts)
Limited amount of comparisons per day (sufficient information)
Contain enough information to compare products

3 . Specific Requirments
3.1 Functional Requirments
Functional requirements of this software are organised in very simple and easy
way . Need to pass the value at the run time . All the processes are done
dynamically .

Functional Requirements 1
Description : Initial Display ( Home Screen )
Input : Select the parameters form dropdown Lists and Search
(without Login)
Processing : Execute a query at the backend
Output : Display the result .
Authorization : NONE

Functional Requirements 2
Description : Initial Display ( Home Screen )
Input : Enter u_name and u_pass
Processing : Check if the username and password entered is valid or
not. If valid result=success else result = failure
Output : Display the result .
Authorization : starts after the customer entered the details

Functional Requirements 3
Description : If the result is failure
Output : Home Screen with error prompt .

Functional Requirements 4
Description : If the result is success
Output : Display the user Home Screen

Functional Requirements 5
Description : User screen
Input : Click on the Loans and choose relevant choice(ex :
Education loan) Output : Related window

Functional Requirements 6
Description : Education Loan screen
Input : Enter degree , country , course duration , College name,
etc
Processing : Query will be fired at backend and all the details
according to filled data will be shown to the user .
Output : User get the response related to loan vendors .
Authorization : Check whether all the fields are correctly filled or not
.if not prompt an error to the user to refill the form .

Functional Requirements 7
Description : Two wheeler Loan screen
Processing : Query will be fired at backend and all the details
according to filled data will be shown to the user .
Output : User get the brief detail on two wheeler loan and user
reviews also .The windows shows result related to eligibility criteria ,
loan comparison , user details , rate of Interest and public discussions
about the loan schemes .etc
all others have the same features as two wheeler loan . Home loan , car
loan , used car loan , personal loan etc .

Functional Requirements 8
Description : Click on Insurance and then Health Insuarance
Output : Health Insurance screen will be displayed.

Functional Requirements 9
Description : Health screen window
Input : Enter check my eligibility , members to insure , age,
Processing : query will be processed
Output : result will be displayed to you .
Authorization : All the details must be filled

Functional Requirements 10
Description : Fixed Deposit screen
Input : Enter age , Nationality ,Annual income , Employed/Not
Employed
Processing : query will be processed
Output : result with all comparisons will be displayed .
Authorization : All the field must be filled
How to create a bank use case diagram

UML diagrams are often used in banking management for documenting a


banking system. In particular, the interaction of bank customers with an
automated teller machine (ATM) can be represented in a Use Case diagram.
Before the software code for an ATM, or any other system design, is written, it
is necessary to create a visual representation of any object-oriented processes.
This is done most effectively by creating a Unified Modeling Language (UML)
diagram, using object-oriented modeling. UML works as a general purpose
modeling language for software engineers or system analysts, offering a
number of different diagram styles with which to visually depict all aspects of a
software system. Concept Draw PRO diagramming software, enhanced and
expanded with the ATM UML Diagrams solution, offers the full range of icons,
templates and design elements needed to faithfully represent ATM and
banking information system architecture using UML standards. The ATM UML
Diagrams solution is useful for beginner and advanced users alike. More
experienced users will appreciate a full range of vector stencil libraries and
concept Draw PRO's powerful software, that allows you to create your ATM
UML diagram in a matter of moments
4. External Interface Requirments
4.1 User Interface
The customer user interface should be intuitive, such that almost all the new
users are able to complete their analysis without any assistance .
Ability to read the database
Ability to differtiate between currency
User friendly for convenience
Continuous power supply
Ability to connect to bankend database
Ability to take input from user Ability to validate user

4.2 Hardware Interface

System with Internet facility


System must have browser installed on it
5. Other Non-Functional Requirements

5.1 Performance Requirements


It must be able to perform in adverse conditions like high/low
temperature etc.
Uninterrupted Interrupted connections High data transfer rate

5.2 Safety Requirments

Data must be consistent .


Data must be safe from all physical menaces like : steal,theft,etc
Database must follow AAA rules of security
Intergrity must be maintained
There must be an emergency back up of data in case of system failure
Database must be divided in fragments
All the open protocols , ports must be kept closed from being Hacked .
It should not respond redirections It must contain cache.
Avoid traffic collision
Platform swap must not be there
Load Balancer should be there
Protected with SSL layer
Should be under HTTPs protocol
Web Crawlers must be there for predictions .
Database must be properly configured
Database must not respond to irrelevant SQL Injections .

5.3 Security Requirements
Users accessibility is censured in all the ways
Users are advised to change their password on first use
Users are advised not to tell their password to anyone
The maximum number of attempts to enter paassword will be three

5.4 Software Quality Analysis


Availability
Security
Maintainability

5.4.1 Availability: The software and its resources must be available to the
user at each and every point of time .

5.4.2 Security: The software must be secured enough to keep users


details
confidentiall .

5.4.3 Maintainability: The software must be maintained properly in order


to avoid inconvenience. to the user .
6. Other Requirements
6.1 Data Base
The software must be able to use several data formats according to the data
formats that are provided by the data bases of different banks. A transaction
should have all the properties of a data base transaction (Atomicity,
Consistency, Isolation, Durability).

Atomicity
This property states that a transaction must be treated as an atomic unit, that
is, either all of its operations are executed or none. There must be no state in a
database where a transaction is left partially completed. States should be
defined either before the execution of the transaction or after the
execution/abortion/failure of the transaction.

Consistency
The database must remain in a consistent state after any transaction. No
transaction should have any adverse effect on the data residing in the
database. If the database was in a consistent state before the execution of a
transaction, it must remain consistent after the execution of the transaction as
well.

Durability
The database should be durable enough to hold all its latest updates even if
the system fails or restarts. If a transaction updates a chunk of data in a
database and commits, then the database will hold the modified data. If a
transaction commits but the system fails before the data could be written on
to the disk, then that data will be updated once the system springs back into
action.

Isolation
In a database system where more than one transaction are being executed
simultaneously and in parallel, the property of isolation states that all the
transactions will be carried out and executed as if it is the only transaction in
the system. No transaction will affect the existence of any other transaction.

7.testing
Banking Domain Application Testing

Banking Applications directly deal with confidential financial data. It is mandatory


that all the activities performed by banking software run smoothly and without any
error. Banking software perform various functions like transferring and depositing
fund, balance inquiry, transaction history, withdrawal and so on. Testing banking
application assures that these activities are not only executed well but also
remain

What is Domain in Testing?


Domain is nothing but the industry for which the software testing project is
created. When we talk about software project or development, this term is often
referred. For example, Insurance domain, Banking domain, Retail Domain,
Telecom Domain, etc.

Usually, while developing any specific domain project, domain expert help is
sought out. Domain expert are master of the subject, and he may know the
inside-out of the product or application.

Why Domain Knowledge Matters?


Domain knowledge is quintessential for testing any software product, and it has
its own benefits like
Banking Domain Knowledge - Introduction
Banking domain is huge, and basically it is sub-characterized into two sectors

1. Traditional banking sector

1. Service based banking sector

traditional banking sector

Core banking

Corporate banking

Retail banking

Service based banking sector


Core
Corporate

Retail

Loan

Trade finance

Private banking

Consumer finance

Islamic banking

Customer delivery channels/Front end delivery

Based on the scope of your project you may need to test one or all of the
above service offerings. Before you begin testing, ensure you have enough
background on the service being tested.

Characteristics of a Banking Application


Before you begin testing, it's important to note the standard features expected
of any banking application. So that, you can gear your test efforts to achieve
these characteristics.

A standard banking application should meet all these characteristics as


mentioned below.

It should support thousands of concurrent user session


A banking application should integrate with other numerous applications
like trading accounts, Bill pay utility, credit cards, etc.
It should process fast and secure transactions
It should include massive storage system.
To troubleshoot customer issues it should have high auditing capability
It should handle complex business workflows
Need to support users on multiple platforms (Mac, Linux, Unix,
Windows)
It should support users from multiple locations
It should support multi-lingual users
It should support users on various payment systems (VISA, AMEX,
MasterCard)
It should support multiple service sectors (Loans, Retail banking etc.)
Foolproof disaster management mechanism

Test Phases in Testing Banking Applications


For testing banking applications, different stages of testing include

Requirement Analysis: It is done by business analyst; requirements for a


particular banking application are gathered and documented

Requirement Review: Quality analysts, business analysts, and
development leads are involved in this task. The requirement gathering
document is reviewed at this stage, and cross-checked to ensure that it
does not affect the workflow

Business Requirements Documentation: Business requirements
documents are prepared by quality analysts in which all reviewed
business requirements are covered

Database Testing: It is the most important part of bank application
testing. This testing is done to ensure data integrity, data loading, data
migration, stored procedures, and functions validation, rules testing, etc.

Integration Testing: Under Integration Testing all components that are
developed are integrated and validated

Functional Testing: The usual software testing activities like Test
Case preparation, test case review and test case execution is done
during this phase

Security Testing: It ensures that the software does not have any security
flaws. During test preparation, QA team needs to include both negative
as well as positive test scenarios so as to break into the system and
report it before any unauthorized individual access it. While to prevent
from hacking, the bank should also implement a multi-layer of access
validation like a one-time password. For Security Testing, automation
tools like IBM AppScan and HPWebInspect are used while for Manual
Testing tools like Proxy Sniffer, Paros proxy, HTTP watch, etc. are used

Usability Testing: It ensures that differently able people should be able
to use the system as normal user. For example, ATM with hearing and
Braille facility for disabled

User Acceptance Testing: It is the final stage of testing done by the end
users to ensure the compliance of the application with the real world
scenario.

Sample Test Case for Net Banking Login Application


Security is prime for any banking application. Therefore, during test
preparation, QA team should include both negative and positive test scenarios
in order to sneak into the system and report for any vulnerabilities before any
unauthorized individual get access to it. It not only involves writing negative
test cases but may also include destructive testing.

ample test cases

For Admin

Verify Admin login with valid and Invalid data

Verify admin login without data

Verify all admin home links


Verify admin change password with valid and invalid data

Verify admin change password without data

Verify admin change password with existing data

Verify admin logout

For new Branch

Create a new branch with valid and invalid data

Create a new branch without data

Create a new branch with existing branch data

Verify reset and cancel option

Update branch with valid and invalid data

Update branch without data

Update branch with existing branch data

Verify cancel option

Verify branch deletion with and without dependencies

Verify branch search option

For New Role

Create a new role with valid and invalid data


Create a new role without data

Verify new role with existing data

verify role description and role types

Verify cancel and reset option

Verify role deletion with and without dependency

verify links in role details page

For customer & Visitors

Verify all visitor or customer links

Verify customers login with valid and invalid data

Verify customers login without data

Verify bankers login without data

Verify bankers login with valid or invalid data

For New users

Create a new user with valid and invalid data

Create a new user without data

Create a new user with existing branch data

Verify cancel and reset option


Update user with valid and invalid data

Update user with existing data

Verify cancel option

Verify deletion of the user

6.Constraints

* The information of all the users must be stored in a database that is


accessible by the On- line
Banking System.

* The Online Banking System is connected to the computer and is running all
24hours a day.

* The users access the Online Banking System from any computer that has
Internet browsing capabilities and an Internet connection.

*The users must have their correct usernames and passwords to enter into the
Online Banking System.
Design Constraints:
* Software Language Used

The languages that shall be used for coding Online Banking System are c , c++ ,
java , and HTML. For working on the coding phase of the Online job portal
System Web Sphere Application Server/WebSphere Application Server CE
Server needs to be installed.

*Database design
In our database design, we give names to data flows, processes and data
stores. Although the names are descriptive of data, they do not give details .So
following DFD, our interest is to build some details of the contents of data
flows, processes and data store. A data dictionary is a structured repository of
data about data .It is a set of rigorous definitions of all DFD data elements
and data structures .

8. Performance

8.1 Security

The banking system must be fully accessible to only authentic user.


It should require pin for entry to a new environment.

8.2 Reliability
The application should be highly reliable and it should generate all the updated
information in correct order.

8.3 Availability

Any information about the account should be quickly available from any
computer to the authorized user. The previously visited customers data must
not be cleared.

8.4 Maintainability

The application should be maintainable in such a manner that if any new


requirement occurs then it should be easily incorporated in an individual
module.

8.5 Portability

The application should be portable on any windows based system. It should


not be machine specific.
THANK YOU
SOFTWARE ENGINEERING PROJECT
WORK
ON

Consumer finance company-


bankbazaar.com

SUBMITTED TO:

NAME: ASHOK
REG.NO:11610387
SECTION: K1614

You might also like