HighRollers Group TeamTalak Incorporated Bank of Stalingrad Online Banking Solution.
A Project Report on Online Banking Solution
Transcript of A Project Report on Online Banking Solution
-
8/15/2019 A Project Report on Online Banking Solution
1/75
1 | P a g e
Gr een BankOnl i ne Banki ng Sol ut i on
Developed by: Ankit Mishra
Tecnia Institute of Advanced StudiesMCA Vth Semester
Tools &Technologies usedJava, JDBC
JSPServlets
Eclipse IDEOracle 8i
TECNIA INSTITUTE OF ADVANCED STUDIES(Approved by AICTE, Ministry of HRD, Govt. of India)
(Affiliated to GGS Indraprastha University, Delhi)
-
8/15/2019 A Project Report on Online Banking Solution
2/75
2 | P a g e
Acknowledgement
Any project combines efforts, ideas, suggestions, reviews & hard work.
II wwoouulldd ssiinncceer r eellyy lliik k ee ttoo tthhaannk k MMrr.. VVii j jaayy SSiinngghhaall ((PPrrooggrraamm CCoooorrddiinnaattoorr -- MMCCAA)) f f oor r
aalllloowwiinngg mmee ttoo ccaar r r r yy oouutt tthhee p pr r oo j jeecctt wwoor r k k ,, aaccttiinngg aass tthhee gguuiiddiinngg ss p piir r iitt b beehhiinndd tthhee
ccoomm p piillaattiioonn oof f tthhiiss p pr r oo j jeecctt r r ee p poor r tt aanndd f f oor r p puuttttiinngg ttr r eemmeennddoouuss eef f f f oor r ttss f f r r oomm hhiiss ssiiddee ttoo
aassssiisstt mmee aass mmuucchh aass p poossssii b bllee.. WWiitthhoouutt hhiiss ssuu p p p poor r tt aanndd gguuiiddaannccee tthhiiss p pr r oo j jeecctt r r ee p poor r tt ccoouulldd
nnoott hhaavvee b beeeenn ttr r aannssf f oor r mmeedd iinnttoo r r eeaalliittyy..
TECNIA INSTITUTE OF ADVANCED STUDIES (Approved by AICTE, Ministry of HRD, Govt. of India)
(Affiliated to GGS Indraprastha University, Delhi)
-
8/15/2019 A Project Report on Online Banking Solution
3/75
3 | P a g e
CERTIFICATE
This is to certify that this project entitled “Green Bank Online BankingSolution” submitted in partial fulfillment of the degree of MASTER OFCOMPUTER APPLICATION to the Tecnia Institute of Advanced Studies,done by Mr. Ankit Mishra, Enroll No. 0671704406 is an is an authenticwork carried out by him at Tecnia Institute of Advanced Studies undermy guidance. The matter embodied in this project work has not beensubmitted earlier for award of any degree or diploma to the best of myknowledge and belief.
( Ankit Mishra ) ( VIJ AY SINGHAL )
Enrollment No. : 0671704406 MCA-Programme Coordinator
Course : MCA
Place: New Delhi
Date:
-
8/15/2019 A Project Report on Online Banking Solution
4/75
4 | P a g e
SELF CERTIFICATE
This is to certify that the dissertation/project report entitled “Green BankOnline Banking Solution” done by me is an authentic work carried out forthe partial fulfilment of the requirements for the award of the degree ofMASTER OF COMPUTER APPLICATION (MCA) under the guidance of Mr.Vijay Singhal. The matter embodied in this project work has not beensubmitted earlier for award of any degree or diploma to the best of myknowledge and belief.
Ankit Mishra
Enroll. No 067104406
MCA Vth Semester
Place: New Delhi
Date:
-
8/15/2019 A Project Report on Online Banking Solution
5/75
5 | P a g e
Table Of Contents
Synopsis
Part I INTRODUCTION1. Proposed System 7
2. Definition of Problem 8
3. Theoretical Background 10
4. Objective and Scope of the Project 11
Part I I System Analysis5. Requirement Analysis 13
6. Feasibility study 14
Part I I I System Requirements7. Hardware / Software specification 117
Part IV System Design8. Database design 18
9. E-R diagram 20
10. Dataflow Diagram 21
11. Use Case Diagram 23
12. Activity Diagrams 24
13. Deployment Environment Diagram 26
14. Process Description for customer 27
Part V Methodology Adopted15. Java Server Pages 28
16. Servlets 34
17. MVC Architecture Model2 36
18. Apache Tomcat 37
-
8/15/2019 A Project Report on Online Banking Solution
6/75
6 | P a g e
Part VI Software Development19. Input/Output Screens with Sample Data 39
20. Sample codes 55
Part VII System Testing
21. Testing Methodology 70
Part VII I Conclusion 22. Limitations
23. Future Enhancements
24. Bibliography
-
8/15/2019 A Project Report on Online Banking Solution
7/75
7 | P a g e
Synopsis - Mini Project
Green Bank - Online Banking Solution
Created by: Ankit Mishra
Course: MCA- Vth SemesterRoll No. 0671704406
Introduction
The project is intended to provide online banking facilities such as checking accounts, paying mobile bills, getting pay-in slips and making transfers over World Wide Web.
Customer is supposed to provide login id and password to access his bank account online.
With proper authorization the customer will be allowed to perform various bankingactivities. In addition to conventional banking services the customer is also facilitated
with service like recharging mobile accounts for Airtel customers
There are two major ends in this project the customer end and the administrator end.
• Customer end is the end where customers make requests to view their accountinformation update information and do transactions or pay certain bills.
• Administrator end is responsible for validating the user i.e. not allowing any
unauthorized person to access the account. In event of a customer forgetting theLogin password, provision has been made to provide password through a secure passage. Administrator is responsible for adding customers without affecting
existing customers.
Objective and Scope of the project
The main purpose of Online Banking Solution is to provide customers with an ability tomake transactions online over a very user friendly interface.
Facilities provided
• View Account: Customer is authorized to check his account.
• Transfer Money: Customer can transfer money online over a secure passage toanother account.
• Credit Card Facility: Customer can login using the credit card number. Acustomer can also apply for a credit card.
• Application Forms: Different forms such as new cheque book request, change ofaddress etc can be downloaded.
-
8/15/2019 A Project Report on Online Banking Solution
8/75
8 | P a g e
• Customer Help: A document enabling customers to understand Online Banking.
• Bill Payment: Bills pertaining electricity, mobile can be paid online.
• Mobile Recharge: In collaboration with Airtel, users can get their accountrecharged.
• Generate Account Statements
•
Architecture of Online Banking (Green Bank)
The Online Banking Application is based on 3-tiered model. The Enterprise
architecture forOnline Banking Green Bank).
Figure1: Architecture of Online Banking (Green Bank)
The 3-tiered architecture shown above has the following major components:
• Client: There will be two clients for the application. One will be a web-baseduser-friendly client called bank customers. The other will be for administration
purposes.
• Application Server: It takes care of the server script, takes care of JDBC-ODBCdriver, and checks for the ODBC connectivity for mapping to the database in
order to fulfill client and administrator’s request.
• Database: Database Servers will stores customer’s and bank data.
-
8/15/2019 A Project Report on Online Banking Solution
9/75
9 | P a g e
Software Development Methodology
Analysis
The table below lists the functionalities to be included in the Online Banking Application,
as well as certain features that will not be supported. This list is a tentative, since it may be discovered during development that additional features are required or some existing
features may prove to be unworkable or impractical due to time limitations. Theapplication will be written Java Server Pages (JSP), as it is easier to write and maintain
pages. Table 1 represents the features supported by Online Banking
Feature Support
Support 3-tier architecture(Client, Server,Database)
yes
Easy means of navigation through pagescontaining proper session tracking.
yes
Easy means of navigation Yes
Support of application server Tomcat
Support JDBC-ODBC connections yes
Menus created with the help of flash yes
Database support Yes(Oracle 8.1.7)
Establish Database Connection yes
Generation of Use Case and Dataflow
diagrams
yes
Programming language support yes
Operating system Windows 98, 2000,Xp,Vista
Table1 Functionalities of Online Banking
-
8/15/2019 A Project Report on Online Banking Solution
10/75
10 | P a g e
-
8/15/2019 A Project Report on Online Banking Solution
11/75
11 | P a g e
Software and Hardware Requirements
• Hardware requirements: P4 (2.4 GHz), 512 mb DDR ram
•
Operating System: Windows Xp(Professional) SP2• Software Requirements: Eclipse IDE, Apache tomcat 6.0.18, JavaScript, HTML,
JSP and Servlets, Oracle 8.1.7
Limitations
• The project can be best viewed on Firefox. • It provides banking facilities to personal banking. • Enterprise Java Beans have not been implemented. • SSL is not implemented. • Loan facilities, credit card login is not being provided.
ConclusionThis project shows, how Online applications like online Banking, can easily be developedusing Enterprises Java Technologies and its distributed architectures \[Page-Centric,
Page-View, and Model 1]. A more efficient approach would be to utilize Model ViewController 2 architecture, which makes application reusable, robust, and more object-
oriented the approach followed in this project.
-
8/15/2019 A Project Report on Online Banking Solution
12/75
12 | P a g e
Proposed System
Those that do are sometimes referred to as "brick-to-click" banks, both to
distinguish them from brick-and-mortar banks that have yet to offer online banking, as well as from online or "virtual" banks that have no physical branches
or tellers whatsoever.
The challenge for the banking industry has been to design this new servicechannel in such a way that its customers will readily learn to use and trust it. After
all, banks have spent generations earning our trust; they aren't about to risk that ona Web site that is frustrating, confusing or less than secure.
The proposed system will show the Online using Servlets and JSP and Oracle8i as
the backend. This project makes use of flash navigation menu bars which makes iteasier to navigate through the site and the project is build around MVC
architecture which makes it more robust system.The vision is simple and powerful: customers will be able to perform banking functionalities in an easy
manner .
-
8/15/2019 A Project Report on Online Banking Solution
13/75
13 | P a g e
Definition of Problem
The purpose of this project is to develop an on-line banking system that provides
customers with the facility to check their accounts and do transactions on-line.The system will provide all the banks facilities to its customers when their
authentications [user id and password] matches, including viewing accountinformation, performing fund transfers, giving the customer an option of changing
address, password retrieval, performing transactions, viewing transactions andlocate bank branches. The system allows and should allow customers to view
their personnel accounts and to pay bills online from their account.
The system should assign a unique transaction number to every transaction that auser makes.. The Administrator will administer both normal bank account. The
administrator have the ability to perform various operations like creating a normal
bank account for the customer and performing functions like transfers,withdrawals and deposits when the customers want teller transactions. Theadministrator also has the privilege to close the customer’s account on the request
of the bank customer. The customer should be able to access his/her accountfrom anywhere just by inputting the correct user-id and password.
Advantages of online banking
• Convenience: Unlike your corner bank, online banking sites never close;they're available 24 hours a day, seven days a week, and they're only a mouse
click away.
• Ubiquity: If you're out of state or even out of the country when a money problem arises, you can log on instantly to your online bank and take care of business, 24/7.
• Transaction speed: Online bank sites generally execute and confirmtransactions at or quicker than ATM processing speeds.
• Efficiency: You can access and manage all of your bank accounts, includingIRAs, CDs, even securities, from one secure site.
• Effectiveness: Many online banking sites now offer sophisticated tools,including account aggregation, stock quotes, rate alerts and portfolio managing programs to help you manage all of your assets more effectively. Most are also
compatible with money managing programs such as Quicken and MicrosoftMoney.
-
8/15/2019 A Project Report on Online Banking Solution
14/75
14 | P a g e
Disadvantages of online banking
•
Start-up may take time: In order to register for your bank's online program, youwill probably have to provide ID and sign a form at a bank branch. If you andyour spouse wish to view and manage your assets together online, one of you
may have to sign a durable power of attorney before the bank will display allof your holdings together.
• Learning curve: Banking sites can be difficult to navigate at first. Plan to investsome time and/or read the tutorials in order to become comfortable in your
virtual lobby.
•
Bank site changes: Even the largest banks periodically upgrade their online programs, adding new features in unfamiliar places. In some cases, you mayhave to re-enter account information.
• The trust thing: For many people, the biggest hurdle to online banking islearning to trust it. Did my transaction go through? Did I push the transfer button once or twice? Best bet: always print the transaction receipt and keep it
with your bank records until it shows up on your personal site and/or your bank statement.
-
8/15/2019 A Project Report on Online Banking Solution
15/75
15 | P a g e
Theoretical Background
Similar banking applications are available in the market. A considerable amount
of research has been done in past few months on this project. Many banks hadmigrated from paper based banking system to electronic online banking. Each
bank had its own, user friendly interface, which helps its customers to interactwith their account at their ease. A wide variety of Online Banking applications are
available in the market which in turn help the bank to function smoothly. All banks which are using online banking application uses the same basic principle.
Axis Bank
has excellent features, which allows customers to check their accounts and view
their statements. The best thing about this bank’s system allows us to schedule
payments and do online transactions. The security feature is the best; it gains thetrust of the customer and allows them to do their transitions in an efficient andsecure manner. However, the interface is very complicated for novice users. The
interface for credit card customer is confusing
Canara Bank
One of the finest bank of India , who perform their transactions online. Thesecurity issues are wonderful, and it allows the customer to view their
transactions, pay bills online, ATM/branch locator and provide
-
8/15/2019 A Project Report on Online Banking Solution
16/75
16 | P a g e
Project Scope
The Online banking Application project will be divided into 2 modules namely:
1. Bank Account2. Bank Account Administrator
Module 1
In this module the customer is allowed to logon to the website and can access
his/her account by getting user name and password which will be verified with theserver and the database. Once he/she gets verified then they are allowed to view
their personal account and perform operations such as change of address, paying bills online, viewing transactions and transferring money into other accounts.
Once the customer finishes the task the update information instantly gets stored
into the database. The customer is then allowed to sign out from his/her account.
Module 2
In this module the administrator is allowed to log on to the website and can accesshis/her administrative account by using the user name and password which will
then be verified with the database. Once he/she gets verified the administrativeinterface will be displayed, where the administrator can perform operations for
both new customers and existing customers. Administrator will help a newcustomer in opening their account by taking complete information from them.
Administrator provides services like withdrawal, deposit, transfer and deletingcustomer during the time of closing the account. In this module administrator
provides great customer service to the customers who want to do phone bankingor teller banking. The interface for administrator will be both very user friendly
and efficient. The data gets stored in the database instantly when the administratorhits the submit button.
-
8/15/2019 A Project Report on Online Banking Solution
17/75
17 | P a g e
Facilities provided
• View Account: Customer is authorized to check his account.
• Transfer Money: Customer can transfer money online over a secure passage toanother account.
• Credit Card Facility: Customer can login using the credit card number. Acustomer can also apply for a credit card.
• Application Forms: Different forms such as new cheque book request, changeof address etc can be downloaded.
•
Customer Help: A document enabling customers to understand OnlineBanking.
• Mobile Recharge: In collaboration with Airtel, users can get their accountrecharged.
• Generate Account Statements
-
8/15/2019 A Project Report on Online Banking Solution
18/75
18 | P a g e
Requirements Analysis
The requirements can be defined as “A complete understanding of the software
development effort. No matter how well designed or well coded, a poorlyanalyzed and specified program will disappoint the user and bring grief to the
developer.”
System requirements should set out what the system should do rather than howthis is done. A requirement may be a functional requirement, that is, it describesa system service or function. Alternatively, it may be a non-functionalrequirement. A non-functional requirement is a constraint placed on the system(for instance, the required response time) or on the development process (such as
the use of a specific language standard).
The Design process involves developing several models of the system at different
levels of abstraction. As a design is decomposed, errors and omissions in earlierstages are discovered. Design is a creative process. Although methods and
guidelines are helpful, judgment and flair are still required to design a softwaresystem.
Requirements may be either:
• Functional, describing the facilities of the system
• Non-functional, describing constraints which may impact later development phases
-
8/15/2019 A Project Report on Online Banking Solution
19/75
19 | P a g e
Feasibility Study
Feasibility is the determination of whether or not a project is worth doing. The process followed in making this determination is known as feasibility. It is very
necessary to evaluate the feasibility of a project. In the development of the present project, no such limitations were imposed that were not feasible.
All the projects are feasible given unlimited resources and infinite time.
Unfortunately the development of a computer-based system is more likely to be plagued by a scarcity of resources and difficult delivery date. Therefore it is both
necessary and prudent to evaluate the feasibility of a project. Hence this is themost important aspect in analysis part of any system. The feasibility study enables
us to know whether it is viable to go for computerization or not.
This is the most important aspect in the analysis part of the system. Designing phase is generally dependent upon the feasibility study. The feasibility study
enables us to determine whether it is feasible to go for computerization. Sokeeping this aspect in view the new computerized system has also undergone
many checks and then only it was decided to develop the system.
There are different modes of feasibility study.
• Technical FeasibilityThe technical feasibility is concerned withspecifying the equipments and software that will successfully satisfy theuser requirements. A system is technically feasible if it can be designed
and implemented with the limitations of available resources.The technical requirement i.e. the hardware and software required by the
new system is of low cost and needing very less maintenance cost. Thereis no need to buy anything extra for the system. The projected resources
are enough for the system. So the development of the new system istechnically feasible.
The proposed system is technically feasible as the resources that are
needed for the proposed system are available.
• Economic Feasibility
Economic feasibility analysis is most frequently used technique for
evaluating the effectiveness of the proposed system. It is also known asCost/Benefit Analysis. The proposed computerized system is
economically feasible, if the benefit in the long run compensates the costincurred in the designing and implementation of the system.
-
8/15/2019 A Project Report on Online Banking Solution
20/75
20 | P a g e
The cost factor of the system involves the Manpower cost, Hardware cost, and the
Software cost.
Manpower Cost: There is no need to employ any extra person to use this systemas its very user friendly and very easy to learn too.
Hardware Cost: The hardware cost is very less. So this system is economicallyregarding hardware cost.
Software Cost: The software needed for the development of the project is nil aswe are using Free and Open Source Software (FOSS) like Java.
The development of the proposed system does not result in too much extra
expenditure. The existing hardware and software will fulfill the requirement of the
proposed system. Thus, the proposed system is economically feasible.
§ Social Feasibility
Social feasibility is a determination of whether a proposed system will beacceptable to the people or not. This determination typically examines the
probability of the project being accepted by the group directly affected by the proposed change in system.
The proposed system helps to reduce the time of the user. So, the proposed system
is accepted by the user. Thus, the proposed system is socially feasible.
§ Legal Feasibility
Legal feasibility is a determination of whether the proposed system infringes on
any known Acts or pending legislations. We are using Free and Open SourceSoftware (FOSS) so the proposed system does not infringe on any legal Acts.
Thus, it is legally feasible.
§ Time Feasibility
Time feasibility determines whether the proposed project can be implemented
fully within the stipulated time frame.
The proposed system was allotted two months time for being implemented. Thetime allotted for the proposed system is quite sufficient. Thus, the proposed
system is time feasible.
Thus, the proposed system passes all the feasibility tests.
-
8/15/2019 A Project Report on Online Banking Solution
21/75
21 | P a g e
Hardware/Software Specifications
SOFTWARE REQUIREMENTS
• Front End Tools: Servlets and JSP.• Back End Tools: Oracle8i• Server: Apache Tomcat Server
HARDWARE REQUIREMENTS
• Pentium III 600 MHz and above.
• RAM 64 MB and above.
-
8/15/2019 A Project Report on Online Banking Solution
22/75
22 | P a g e
Database Design
Customer table
Name Null? Type
Customer_id (PK) NOT NULL INTEGER
Cust_first_name VARCHAR2(20)
Cust_last_name VARCHAR2(20)
DOB VARCHAR2(20)
Gender VARCHAR2(2)
Customer Detail table
Name Null? Type
Customer_id (FK) NOT NULL INTEGER
City VARCHAR2(20)
State VARCHAR2(20)
Zip VARCHAR2(20)
Phone Number NUMBER(10)
Email id VARCHAR2(20)
Login table
Name Null? Type
Customer_id (FK) NOT NULL INTEGER
Password VARCHAR2(30)
Username VARCHAR2(30)
Credit Card table
Name Null? Type
Request Number NOT NULL INTEGER
Name VARCHAR2(30)
Profession VARCHAR2(30)
Annual Income INTEGER
Address VARCHAR2(30)
City VARCHAR2(30)
Telephone Number VARCHAR2(30)
Card type VARCHAR2(30)
-
8/15/2019 A Project Report on Online Banking Solution
23/75
23 | P a g e
Account table
Name Null? Type
Account Number (PK) NUMBER(8)
Customer_id (FK) NOT NULL INTEGER
Min_Balance NUMBER(8)
Current balance NUMBER(8)
Recommended by VARCHAR2(20)
Nominee VARCHAR2(20)
Type_of_account VARCHAR2(20)
Date_of_opening VARCHAR2(20)
Date_of_access VARCHAR2(20)
Branch locator table
Name Null? Type
Location NOT NULL VARCAR2(30)
Branch_city VARCHAR2(20)
Address VARCHAR2(30)
Transaction(transfer-funds) table
Name Null? Type
Trans_id NOT NULL NUMBER(10)
Acc_no NUMBER(10)
Account to NUMBER(10)Amount NUMBER(10)
Transaction_date VARCHAR2(20)
Trans_no INTEGER
description VARCHAR2(30)
Employee table
Name Null? Type
Employee_id (PK) NOT NULL NUMBER(10)
Name VARCHAR2(20)
Working_from VARCHAR2(20)
Age NUMBER(10)
Transaction type table
Name Null? Type
Transaction Number (PK) INTEGER
Account Number (FK) INTEGER
-
8/15/2019 A Project Report on Online Banking Solution
24/75
24 | P a g e
Entity Relationship Diagram
-
8/15/2019 A Project Report on Online Banking Solution
25/75
25 | P a g e
Data Flow Diagrams
Context Level Diagram
dfd Data Model
customer
Adm in istrato r
Onlie ban king
Web Solution
customer services
Adm in istrator
services
-
8/15/2019 A Project Report on Online Banking Solution
26/75
26 | P a g e
Level 1 Diagram
-
8/15/2019 A Project Report on Online Banking Solution
27/75
27 | P a g e
Use Case Diagram
uc Use Case Model
Administrator
Add New User
Update User profile
DeleteAccount
Customer
Enter Login id and
password
View Account
Summary
View Mini S tatement
Transfer of Funds
Mobile recharge
Request for
cheque book
Request for
forgoton
password
Request for new
credit card
verification
view balance
«include»
«include»
«include»
«include»
-
8/15/2019 A Project Report on Online Banking Solution
28/75
28 | P a g e
Activity Diagram
-
8/15/2019 A Project Report on Online Banking Solution
29/75
29 | P a g e
-
8/15/2019 A Project Report on Online Banking Solution
30/75
30 | P a g e
DeploymentDiagram
-
8/15/2019 A Project Report on Online Banking Solution
31/75
31 | P a g e
-
8/15/2019 A Project Report on Online Banking Solution
32/75
32 | P a g e
Comparison between J SP and other technologies
J SP vs. Active Server Pages(ASP)
ASP is a similar technology from Microsoft. The advantages of JSP are Saturday,
March 13 2004 two fold. First, the dynamic parts written in java , not VisualBasic or other MS-specific language, so its more powerful and easier to use.
Second, it is portable to other Operating systems and non-Microsoft Web servers.
J SP vs. J avaScript
Client-side scripting with JavaScript is certainly handy and useful, but it does
present several problems, including the following: You must count on thecustomer's browser to have scripting enabled, which, of course, you can t.
• Different customers may use different browsers. And coding client-sidescripts that work on different browsers can be a headache.
• Scripting languages used on the client side cannot match the strength andversatility of Java.
• Client-side scripting languages have very limited access to server-sideresources, such as databases. JavaServer pages have access to all server-
side resources within the well-defined architecture of J2EE.
• You have the usual problems of maintaining software on the client that
caused
Advantages of using JSP over competing technologies are as follows:
o JSP enables a clean separation of business logic from presentation. o JSP, by using Java as the scripting language, is not limited to a specific
vendor s platform.
o JSP, as an integral part of the J2EE architecture, has full access toserver-side resources.
• Because JSP pages execute on the server, you need not require the client to use
a particular browser or have a fixed configuration.
J SP vs. Pure Servlets
JSP doesn’t give anything that you couldn't in principle do with a servlet. But it ismore convenient to write and modify regular HTML than have million of println
statements.
-
8/15/2019 A Project Report on Online Banking Solution
33/75
33 | P a g e
J ava Server Pages
While there are numerous technologies for building web applications that serve
dynamic content, the one that has really caught the attention of the developmentcommunity is JavaServer Pages (JSP). And not without ample reason either. JSP
not only enjoys cross-platform and cross-Web-server support, but effectivelymelds the power of server-side Java technology with the WYSIWYG features of
static HTML pages.
JSP pages typically comprise of:
• Static HTML/XML components.
• Special JSP tags
• Optionally, snippets of code written in the Java programming language called"scriptlets."
Consequently, you can create and maintain JSP pages by conventionalHTML/XML tools.
It is important to note that the JSP specification is a standard extension defined ontop of the Servlet API. Thus, it leverages all of your experience with servlets.
There are significant differences between JSP and servlet technology. Unlikeservlets, which is a programmatic technology requiring significant developer
expertise, JSP appeals to a much wider audience. It can be used not only bydevelopers, but also by page designers, who can now play a more direct role in
the development life cycle.
Another advantage of JSP is the inherent separation of presentation from content
facilitated by the technology, due its reliance upon reusable componenttechnologies like the JavaBeans component architecture and Enterprise JavaBeans
technology.
-
8/15/2019 A Project Report on Online Banking Solution
34/75
34 | P a g e
J SP Architecture
Web
Server
Server
Extension
JSP
Engine
Servlet
Engine
ClientServer-Side
J SP Advantages
§ Separation of static from dynamic content§ Write Once Run Anywhere§ Dynamic content can be served in a variety of formats
§ Recommended Web access layer for n-tier architecture.§ Completely leverages the Servlet API.
J SP Syntax Basics
JSP syntax is fairly straightforward, and can be classified into directives, scriptingelements, and standard actions.
Directives
JSP directives are messages for the JSP engine. They do not directly produce any
visible output, but tell the engine what to do with the rest of the JSP page. JSPdirectives are always enclosed within the tag. The two primarydirectives are page and include.
Page Directive
-
8/15/2019 A Project Report on Online Banking Solution
35/75
35 | P a g e
Typically, the page directive is found at the top of almost all of your JSP pages.There can be any number of page directives within a JSP page, although the
attribute/value pair must be unique. Unrecognized attributes or values result in atranslation error. For example,
makes available the types declared within the included packages for scripting and
sets the page buffering to 16K.
Include Directive
The include directive lets you separate your content into more manageable
elements, such as those for including a common page header or footer. The pageincluded can be a static HTML page or more JSP content. For example, the
directive:
can be used to include the contents of the indicated file at any location within the
JSP page.
Declarations
JSP declarations let you define page-level variables to save information or definesupporting methods that the rest of a JSP page may need. While it is easy to get
led away and have a lot of code within your JSP page, this move will eventuallyturn out to be a maintenance nightmare. For that reason, and to improve
reusability, it is best that logic-intensive processing is encapsulated as JavaBeancomponents.
Declarations are found within the tag. Always end variabledeclarations with a semicolon, as any content must be valid Java statements:
You can also declare methods. For example, you can override the initialization
event in the JSP life cycle by declaring:
-
8/15/2019 A Project Report on Online Banking Solution
36/75
36 | P a g e
Expressions
With expressions in JSP, the results of evaluating the expression are converted toa string and directly included within the output page. Typically expressions are
used to display simple values of variables or return values by invoking a bean'sgetter methods. JSP expressions begin within tags and do not include
semicolons:
Scriptlets
JSP code fragments or scriptlets are embedded within tags. This Javacode is run when the request is serviced by the JSP page. You can have just about
any valid Java code within a scriptlet, and is not limited to one line of sourcecode. For example, the following displays the string "Hello" within H1, H2, H3,and H4 tags, combining the use of expressions and scriptlets:
-
8/15/2019 A Project Report on Online Banking Solution
37/75
37 | P a g e
J SP Implicit Objects
As a convenience feature, the JSP container makes available implicit objects thatcan be used within scriptlets and expressions, without the page author first havingto create them. These objects act as wrappers around underlying Java classes or
interfaces typically defined within the Servlet API. The nine implicit objects:
1. request: represents the HttpServletRequest triggering the service invocation.
Request scope.2. response: represents HttpServletResponse to the request. Not used often by
page authors. Page scope.
3. pageContext: encapsulates implementation-dependent features inPageContext. Page scope.
4. application: represents the ServletContext obtained from servlet configurationobject. Application scope.
5. out: a JspWriter object that writes into the output stream. Page scope.6. config: represents the ServletConfig for the JSP. Page scope.7. page: synonym for the "this" operator, as an HttpJspPage. Not used often by
page authors. Page scope.
8. session: An HttpSession. Session scope.9. exception: the uncaught Throwable object that resulted in the error page beinginvoked. Page scope.
-
8/15/2019 A Project Report on Online Banking Solution
38/75
38 | P a g e
Servlets
The Java Servlet API allows a software developer to add dynamic content to a
Web server using the Java platform. The generated content is commonly HTML, but may be other data such as XML. Servlets are the Java counterpart to non-Java
dynamic Web content technologies such as PHP, CGI and ASP.NET. Servlets canmaintain state across many server transactions by using HTTP cookies, session
variables or URL rewriting.
The Servlet API, contained in the Java package hierarchy javax.servlet, definesthe expected interactions of a Web container and a servlet. A Web container is
essentially the component of a Web server that interacts with the servlets. TheWeb container is responsible for managing the lifecycle of servlets, mapping a
URL to a particular servlet and ensuring that the URL requester has the correctaccess rights.
A Servlet is an object that receives a request and generates a response based onthat request. The basic servlet package defines Java objects to represent servlet
requests and responses, as well as objects to reflect the servlet's configuration parameters and execution environment. The package javax.servlet.http defines
HTTP-specific subclasses of the generic servlet elements, including sessionmanagement objects that track multiple requests and responses between the Web
server and a client. Servlets may be packaged in a WAR file as a Web application.
Servlets can be generated automatically by JavaServer Pages (JSP) compiler, oralternately by template engines such as WebMacro. Often servlets are used in
conjunction with JSPs in a pattern called "Model 2", which is a flavor of themodel-view-controller pattern.
The Servlet lifecycle consists of the following steps:
1. The Servlet class is loaded by the container during start-up.2. The container calls the init() method. This method initializes the servlet
and must be called before the servlet can service any requests. In the entirelife of a servlet, the init() method is called only once.
3. After initialization, the servlet can service client-requests. Each request isserviced in its own separate thread. The container calls the service()
method of the servlet for every request. The service() method determinesthe kind of request being made and dispatches it to an appropriate method
to handle the request. The developer of the servlet must provide animplementation for these methods. If a request for a method that is not
implemented by the servlet is made, the method of the parent class iscalled, typically resulting in an error being returned to the requester.
-
8/15/2019 A Project Report on Online Banking Solution
39/75
39 | P a g e
4. Finally, the container calls the destroy() method which takes the servletout of service. The destroy() method like init() is called only once in the
lifecycle of a Servlet.
Servlet containers
A Servlet container is a specialized web server that supports Servlet execution. Itcombines the basic functionality of a web server with certain Java/Servlet specific
optimizations and extensions – such as an integrated Java runtime environment,and the ability to automatically translate specific URLs into Servlet requests.
Individual Servlets are registered with a Servlet container, providing the containerwith information about what functionality they provide, and what URL or other
resource locator they will use to identify themselves. The Servlet container is thenable to initialize the Servlet as necessary and deliver requests to the Servlet as
they arrive. Many containers have the ability to dynamically add and remove
Servlets from the system, allowing new Servlets to quickly be deployed orremoved without affecting other Servlets running from the same container.Servlet containers are also referred to as web containers or web engines.
Like the other Java APIs, different vendors provide their own implementation ofthe Servlet container standard. For a list of some of the free and commercial web
containers, see the list of Servlet containers. (Note that 'free' means that non-commercial use is free. Some of the commercial containers, e.g. Resin and Orion,
are free to use in a server environment for non-profit organizations).
-
8/15/2019 A Project Report on Online Banking Solution
40/75
40 | P a g e
MVC Architecture
The main aim of the MVC architecture is to separate the business logic and
application data from the presentation data to the user.
Here are the reasons why we should use the MVC design pattern.
1. They are resuable : When the problems recurs, there is no need to invent anew solution, we just have to follow the pattern and adapt it as necessary.
2. They are expressive: By using the MVC design pattern our application becomes more expressive.
1). Model: The model object knows about all the data that need to be displayed.It is model who is aware about all the operations that can be applied to transform
that object. It only represents the data of an application. The model representsenterprise data and the business rules that govern access to and updates of this
data. Model is not aware about the presentation data and how that data will bedisplayed to the browser.
2). View : The view represents the presentation of the application. The viewobject refers to the model. It uses the query methods of the model to obtain thecontents and renders it. The view is not dependent on the application logic. It
remains same if there is any modification in the business logic. In other words, wecan say that it is the responsibility of the of the view's to maintain the consistency
in its presentation when the model changes.
3). Controller: Whenever the user sends a request for something then it alwaysgo through the controller. The controller is responsible for intercepting therequests from view and passes it to the model for the appropriate action. After the
action has been taken on the data, the controller is responsible for directing theappropriate view to the user. In GUIs, the views and the controllers often work
very closely together.
Features of MVC2:
1. The MVC2 architecture removes the page centric property of MVC1architecture by separating Presentation, control logic and the application state.
2. In MVC2 architecture there is only one controller which receives all therequest for the application and is responsible for taking appropriate action in
response to each request.
-
8/15/2019 A Project Report on Online Banking Solution
41/75
41 | P a g e
Apache Tomcat
The Apache HTTP Server, commonly referred to simply as Apache, is a webserver notable for playing a key role in the initial growth of the World Wide Web.
Apache was the first viable alternative to the Netscape CommunicationsCorporation web server (currently known as Sun Java System Web Server), and
has since evolved to rival other Unix-based web servers in terms of functionalityand performance.
Apache is developed and maintained by an open community of developers under
the auspices of the Apache Software Foundation. The application is available fora wide variety of operating systems, including UNIX, FreeBSD, Linux, Solaris,
Novell NetWare, Mac OS X, Microsoft Windows, OS/2, TPF, and eComStation.Released under the Apache License, Apache is characterized as free software and
open source software.
Since April 1996 Apache has been the most popular HTTP server on the WorldWide Web. As of June 2008[update] Apache served 49.12% of all websites.
FeaturesApache supports a variety of features, many implemented as compiled moduleswhich extend the core functionality. These can range from server-side
programming language support to authentication schemes. Some commonlanguage interfaces support mod_perl, mod_python, Tcl, and PHP. Popular
authentication modules include mod_access, mod_auth, and mod_digest. Asample of other features include SSL and TLS support (mod_ssl), a proxy
module, a useful URL rewriter (also known as a rewrite engine, implementedunder mod_rewrite), custom log files (mod_log_config), and filtering support
(mod_include and mod_ext_filter).
Popular compression methods on Apache include the external extension module,mod_gzip, implemented to help with reduction of the size (weight) of web pages
served over HTTP. Apache logs can be analyzed through a web browser usingfree scripts such as AWStats/W3Perl or Visitors.
Virtual hosting allows one Apache installation to serve many different actual
websites. For example, one machine, with one Apache installation couldsimultaneously serve www.example.com, www.test.com, test47.test-
server.test.com, etc.
-
8/15/2019 A Project Report on Online Banking Solution
42/75
42 | P a g e
Apache features configurable error messages, DBMS-based authentication
databases, and content negotiation. It is also supported by several graphical userinterfaces (GUIs) which permit easier, more intuitive configuration of the server.
UsageApache is primarily used to serve both static content and dynamic Web pages onthe World Wide Web. Many web applications are designed expecting the
environment and features that Apache provides.
Apache is the web server component of the popular LAMP web server applicationstack, alongside MySQL, and the PHP/Perl/Python (and now also Ruby)
programming languages.Apache is redistributed as part of various proprietary software packages including
the Oracle Database or the IBM WebSphere application server. Mac OS X
integrates Apache as its built-in web server and as support for its WebObjectsapplication server. It is also supported in some way by Borland in the Kylix andDelphi development tools. Apache is included with Novell NetWare 6.5, where it
is the default web server.
Apache is used for many other tasks where content needs to be made available ina secure and reliable way. One example is sharing files from a personal computer
over the Internet. A user who has Apache installed on their desktop can putarbitrary files in the Apache's document root which can then be shared.
Programmers developing web applications often use a locally installed version of
Apache in order to preview and test code as it is being developed.
Microsoft Internet Information Services (IIS) is the main competitor to Apache,trailed by Sun Microsystems' Sun Java System Web Server and a host of other
applications such as Zeus Web Server. Some of the biggest web sites in the worldare run using Apache. Google's search engine front end is based on a modified
version of Apache, named Google Web Server (GWS). Several Wikimedia projects also run on Apache servers.
-
8/15/2019 A Project Report on Online Banking Solution
43/75
43 | P a g e
Main Page (index.jsp)
-
8/15/2019 A Project Report on Online Banking Solution
44/75
44 | P a g e
Login.html
-
8/15/2019 A Project Report on Online Banking Solution
45/75
45 | P a g e
Customer’s Page
-
8/15/2019 A Project Report on Online Banking Solution
46/75
46 | P a g e
Funds Transfer page
-
8/15/2019 A Project Report on Online Banking Solution
47/75
47 | P a g e
Fund’s confirmation page
-
8/15/2019 A Project Report on Online Banking Solution
48/75
48 | P a g e
Mini Statement page
-
8/15/2019 A Project Report on Online Banking Solution
49/75
49 | P a g e
-
8/15/2019 A Project Report on Online Banking Solution
50/75
50 | P a g e
Mini Statement page
-
8/15/2019 A Project Report on Online Banking Solution
51/75
51 | P a g e
Mobile Recharge page
-
8/15/2019 A Project Report on Online Banking Solution
52/75
52 | P a g e
Form Download Center page
-
8/15/2019 A Project Report on Online Banking Solution
53/75
53 | P a g e
Branch Locator page
-
8/15/2019 A Project Report on Online Banking Solution
54/75
54 | P a g e
Branch Locator page
-
8/15/2019 A Project Report on Online Banking Solution
55/75
55 | P a g e
Credit card page
-
8/15/2019 A Project Report on Online Banking Solution
56/75
56 | P a g e
Credit card registration form
-
8/15/2019 A Project Report on Online Banking Solution
57/75
57 | P a g e
Administrator end
-
8/15/2019 A Project Report on Online Banking Solution
58/75
58 | P a g e
New user Registration Form page
-
8/15/2019 A Project Report on Online Banking Solution
59/75
59 | P a g e
Package com.example.model
Class Summary
AccountModel
CancelTransModel
ConfirmationModel
DeleteQueryModel
EmployeeAuthorizeModel
ListenerModel
LocatorQueryModel
MobileModel
QueryModel
RegisterQueryModel
ShowModel
test
TransferQueryModel
UpdateQueryModel
Package com.example.web
Class Summary
AccountSummary
CancelTrans
Confirmation
DatabaseListener
DatabaseTest
DeleteAcct
EmployeeLoginId
Expdf
Packages
com.example.model
com.example.web org.apache.jsp
-
8/15/2019 A Project Report on Online Banking Solution
60/75
60 | P a g e
Locator
LoginId
Mobile
Register
Show
Transfer
Update
Package org.apache.jspClass Summary
_02_jsp
AccountSummary_jsp
Administrator_jsp
blocate_jsp
BranchLocate_jsp
confirm_jsp
confirmrecharge_jsp
index_jsp
locate_jsp
main_jsp
miniStatement_jsp
MobileRecharge_jsp
transaction_jsp
-
8/15/2019 A Project Report on Online Banking Solution
61/75
61 | P a g e
ListenerModel.java
package com.example.model;
import java.sql.*;
package com.example.model;import java.sql.*;
public class ListenerModel
{
public Statement stmt;
public Connection conn;
public ResultSet rs; private String cn;
private String pn;
private String sd;
private String uid; private String pwd;
public ListenerModel(String ComputerName,String portNo, String sid, String userId, String passwd)
{
cn = ComputerName;
pn = portNo;
sd = sid;
uid = userId;
pwd = passwd;System.out.println(cn + ComputerName);
try
{
String str = "jdbc:oracle:thin:@" + cn + ":" + pn + ":" + sd ;System.out.println(str);
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(str, uid, pwd);
stmt = conn.createStatement();
}
catch(Exception e){
System.out.println("exception:" + e);
}
}
public void doClose(){
try
{
rs.close();
stmt.close();
conn.close();
}catch(Exception e)
-
8/15/2019 A Project Report on Online Banking Solution
62/75
62 | P a g e
{
System.out.println("Exception" + e);
}
}
}
DatabaseListener.java
package com.example.web;
import javax.servlet.*;
import com.example.model.ListenerModel;
public class DatabaseListener implements ServletContextListener
{
public void contextInitialized(ServletContextEvent event){String ComputerName = event.getServletContext().getInitParameter("ComputerName");
String portNo = event.getServletContext().getInitParameter("PortNo");
String Sid = event.getServletContext().getInitParameter("Sid");
String userID = event.getServletContext().getInitParameter("UserId");
String Passwd = event.getServletContext().getInitParameter("Passwd");
ListenerModel l = new ListenerModel(ComputerName, portNo, Sid, userID, Passwd );
event.getServletContext().setAttribute("Database",l);
}
public void contextDestroyed(ServletContextEvent event) {// Nothing to to here
}
}
-
8/15/2019 A Project Report on Online Banking Solution
63/75
63 | P a g e
Loginid.java
package com.example.web;
import java.io.*;import javax.servlet.*;
import javax.servlet.http.*;
import com.example.model.ListenerModel;
import com.example.model.QueryModel;
public class LoginId extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet
{
public void doPost(HttpServletRequest request, HttpServletResponse response)throws
IOException,ServletException
{
String s=null;response.setContentType("text/html");
try{
HttpSession session;
session = request.getSession(true);
ListenerModel l = (ListenerModel)getServletContext().getAttribute("Database");
String uname = request.getParameter("loginid");
String pname = request.getParameter("pass");
QueryModel q = new QueryModel();int result = q.authorize(l,uname,pname);
q.userAccount(l,uname);
if(result==1){
session.setAttribute("s",q.cname);
session.setAttribute("myacct",q.account);
response.sendRedirect("main.jsp");
}
else
{
response.sendRedirect("index.jsp");}
}
catch(Exception e){
System.out.println(e);
}
}
}
-
8/15/2019 A Project Report on Online Banking Solution
64/75
64 | P a g e
QueryModel.java
package com.example.model;
import java.sql.*;
public class QueryModel
{
public int account;
public int id=0;
public String str[] = new String[100]; public int flag=1;
public String cname;
public int authorize(ListenerModel l1,String name,String pass){
try
{
l1.rs = l1.stmt.executeQuery("select username,password,cust_first_name from customer, login where
login.username='"+name+"' and login.password= '"+pass+"'and login.customer_id=customer.customer_id")
;
if(l1.rs.next()){
cname=l1.rs.getString("cust_first_name");
return flag;
}
return flag = 0;
}catch(Exception e)
{
System.out.println("Exception:" + e);
}return flag;
}
public void userAccount(ListenerModel l1,String name)
{
try{
l1.rs=l1.stmt.executeQuery("select customer_id from login where username ='"+name+"'");
while(l1.rs.next())
{
id = l1.rs.getInt("customer_id");
}
System.out.println(id);
-
8/15/2019 A Project Report on Online Banking Solution
65/75
65 | P a g e
l1.rs = l1.stmt.executeQuery("select acc_no from account where account.customer_id='"+id+"' ");
while(l1.rs.next())
{
account= l1.rs.getInt("acc_no");
}System.out.println(account);}
catch(Exception e)
{
System.out.println("Exception:" + e);
}
}
}
02.jsp getting into the customer page
Untitled Document
Welcome
-
8/15/2019 A Project Report on Online Banking Solution
66/75
66 | P a g e
TransferQueryModel.java
package com.example.model;
import java.sql.*;
import java.util.*;
import java.io.*; public class TransferQueryModel
{
public int source;
public int destination;
public int transamount;
public int caccno; public int maccno;
public String name;
public int id=0;
public int flag = 1;
int [] account = new int[2];
int j =0;
public int transact(ListenerModel l1,int acctFrom,int acctTo,int amount,String name)
{
try
{
l1.rs=l1.stmt.executeQuery("select customer_id from customer where cust_first_name='"+name+"'");
while(l1.rs.next()){
id = l1.rs.getInt("customer_id");
}
System.out.println(id);
l1.rs = l1.stmt.executeQuery("select acc_no,curr_bal,min_bal from account where
account.customer_id='"+id+"' ");
while(l1.rs.next()){
account[j]= l1.rs.getInt("acc_no");
j++;caccno = l1.rs.getInt("curr_bal");
maccno = l1.rs.getInt("min_bal");
}System.out.println(caccno);
System.out.println(maccno);
for(int i = 0 ; i < 3 ; i++)
{
if(acctFrom == account[i] && caccno > amount && caccno > maccno){
-
8/15/2019 A Project Report on Online Banking Solution
67/75
67 | P a g e
l1.rs = l1.stmt.executeQuery("insert into transfer
(acc_no,account_to,amount,transaction_date,trans_no,description)
values('"+acctFrom+"','"+acctTo+"','"+amount+"',sysdate,2,'Debit') ");
//l1.rs = l1.stmt.executeQuery("insert into transfer
(account_to,amount,transaction_date,trans_no,description)values('"+acctTo+"','"+amount+"',sysdate,1,'Credit') ");
l1.rs = l1.stmt.executeQuery("select acc_no,account_to,amount,transaction_date from transfer where
trans_id = (select max(trans_id) from transfer)order by trans_id");
while(l1.rs.next())
{
source =l1.rs.getInt("acc_no");
destination = l1.rs.getInt("account_To");
transamount=l1.rs.getInt("amount");
}
System.out.println(source);return flag;
}
else
{
flag = 0;
return flag;
}
}
}
catch(Exception e)
{
System.out.println("Exception:" + e);
}
return flag;
}}
-
8/15/2019 A Project Report on Online Banking Solution
68/75
68 | P a g e
Web.xml
login
com.example.web.LoginId
login
/login.do
Database
com.example.web.DatabaseTest
Database
/Database.do
Regcom.example.web.Register
-
8/15/2019 A Project Report on Online Banking Solution
69/75
69 | P a g e
Reg
/reg.do
Locate
com.example.web.Locator
Locate
/locate.do
Expdfcom.example.web.Expdf
Expdf
/New User Application Form
Transfer
com.example.web.Transfer
Transfer
/transact.do
AdminLogincom.example.web.EmployeeLoginId
AdminLogin/admin.do
DeleteAcct
com.example.web.DeleteAcct
-
8/15/2019 A Project Report on Online Banking Solution
70/75
70 | P a g e
DeleteAcct
/delete.do
CancelTransactioncom.example.web.CancelTrans
CancelTransaction
/cancel.do
Confirmation
com.example.web.Confirmation
Confirmation
/confirm.do
Mobile
com.example.web.Mobile
Mobile
/mobile.do
Show
com.example.web.Show
Show
/show.do
AccountSummary
com.example.web.AccountSummary
AccountSummary
/summary.do
-
8/15/2019 A Project Report on Online Banking Solution
71/75
71 | P a g e
ComputerNamegamearena
PortNo
1521
Sid
bank
UserIdscott
Passwd
tiger
com.example.web.DatabaseListener
-
8/15/2019 A Project Report on Online Banking Solution
72/75
72 | P a g e
Testing Methodology
Testing is vital for the success of the system. Software testing reviews the
specification, design and coding of the system and helps in software qualityassurance. It focuses on finding operational flaws in the system. So that the
software becomes error-free and prevents failure.
Testing is a process of executing a program with the intent of finding an error. Agood test is one that has a high probability of finding a yet undiscovered error.
Thus, systematic test should be carried out that uncovers different types of errorwith minimum amount of time and effort.
Testing is also carried out to see if the performance requirements have been met.Testing is also a good indication for software reliability.
Testing is carried out at various stages. In this project, I did unit testing and
system testing during the testing phase.
Unit Testing
Unit testing is performed on the smallest unit of software design – the modules.Unit testing gives stress on the modules independently of one another, to find
errors. A program unit is usually small enough for the programmer to test it ingreat detail. Unit testing helps in detecting errors in coding and logic that are
contained within the module.During the unit testing phase, various modules in the developed system were
tested separately. For example, in the data entry module, the sample data was fed
into this module to check whether all the validations that are applied on inputforms are working properly or not. Unit testing also helped me in finding outwhether the data was properly saved in the database or not. Likewise, this testing
method was applied on the modification, deletion, search, pay slip generation andreport modules.
Some of the tests carried during unit testing phase were:
Peak Load Test: The test determined whether the system can handle the volumeof activities that occur when the system is at the peak of its processing. All the
modules passed this test.
Procedure Test: This test helped in checking the specified operating conditions,input values and expected results
Performance Test: The test checked the response time, execution time andthroughput time of the modules.
-
8/15/2019 A Project Report on Online Banking Solution
73/75
73 | P a g e
Recovery Test: The test helped in verifying the ability of the system to recoverfrom failure. Some changes were made in the modules to fulfill this test
requirement.
Storage Test: It helped in checking whether the transaction data was properly being saved on the disk or not. Changes were made in the modules according to
this test’s results.The unit testing helped in finding out which module of the system is not working
as desired. Accordingly, changes were made and then the modules were testedagain, until they were up to the expected standard.
System Testing
During system testing phase, all the sub-systems are gathered and a test isconducted to determine whether the whole system meets the user requirements. A
system is tested for online responses, volume of transactions, stress, recoveryfrom failure and usability.
System testing involves two kinds of activities.
Integration Testing: Integration testing is of two kinds – Bottom-Up integrationand Top-Down Integration. For this system, Bottom-Up Integration Testing was
carried out.Bottom-up Integration is the traditional strategy used to integrate the components
of a software system into a functioning whole. Bottom-up integration consists of aUnit Testing, followed by the Sub-System Testing, and testing of the entire
system. Unit testing has the goal of discovering errors in the individual modulesof the system. The primary function of Sub-System testing is to verify operation
of the interface between the modules in the sub-system. System testing isconcerned with the decision-logic, control flow, recovery procedures, capacity
and timing characteristics of the entire system.
User Acceptance Testing: The user acceptance test verifies that the system’s procedures operate up to system’s specifications and that the integrity of the data
is maintained. It involves the execution of Procedure Test, Performance Test andPeak-Load Test. It demonstrates that the system satisfies all the user requirements
-
8/15/2019 A Project Report on Online Banking Solution
74/75
74 | P a g e
Limitations
• The project can be best viewed on Firefox. • It provides banking facilities to personal banking. • Enterprise Java Beans have not been implemented. • SSL is not implemented. • Loan facilities, credit card login is not being provided.
Future Enhancements
The Online Banking project can be enhanced in future, which will increase thecredibility and reliability of the website. The enhancements could be done byadding credit checks generating credit card statements. The enhancements that
could be done are as follows:
• It can be implemented fully on the Internet by registering a domain and buyinga web space.
• It can provide the Credit card bill payment option.
• It can provide user loan facilities with interest rates in accordance with bank to.
• It can be merged with other e-commerce websites for providing a gateway to
pay through credit cards .
-
8/15/2019 A Project Report on Online Banking Solution
75/75
Bibliography
Books•
Kathy Sierra & Bert Bates, Head First J SP and Servlets • Kathy Sierra & Bert Bates, Head First J ava • Chip Dawes & Biju Thomas, Introduction To Oracle 9i • Lynn Beighley, Head First SQL • Roger Pressman, Software Engineering • Michael Morrison, Head First J ava Script
Websites• www.sourceforge.net
• www.javaranch.com
• www.w3schools.com
• www.webreference.com
References
• www.icicibank.com
• www.hdfcbank.com
• www.unitybanking.com