Documente Academic
Documente Profesional
Documente Cultură
INTRODUCTION
Today many banks offer Internet banking services, which enable you to manage all aspects of
your account on the web. Some banks are pure Internet banks but in this work is done by the
employee and user also can fetch their account information and can transfer the money to the
different (other) account no. When deciding on an Internet banking account, you should consider
factors such as minimum balance requirements, monthly maintenance fees.
1. User
2. Employee
3. Administrator
In user mode user only can access the information about the own account & transfer the money
to the other account from self account.
In employee mode
2. Transactions.
3. Update Accounts.
1
1.2Problem Statement
To access a financial institution's online banking facility, a customer having personal Internet
access must register with the institution for the service, and set up some password (under various
names) for customer verification. The password for online banking is normally not the same as
for telephone banking. Financial institutions now routinely allocate customer numbers (also
under various names), whether or not customers intend to access their online banking facility.
Customer numbers are normally not the same as account numbers, because a number of accounts
can be linked to the one customer number. The customer will link to the customer number any of
those accounts which the customer controls, which may be cheque, savings, loan, credit card and
other accounts.
To access online banking, the customer would go to the financial institution's website, and enter
the online banking facility using the customer number and password. Some financial institutions
have set up additional security steps for access, but there is no consistency to the approach
adopted.
2
CHAPTER 2
REQUIREMENT ANALYSIS
This involves questions such as whether the technology needed for the system exists, how
difficult it will be to build, and whether the firm has enough experience using that technology.
The assessment is based on an outline design of system requirements in terms of Input, Output,
Fields, Programs, and Procedures. This can be qualified in terms of volumes of data, trends,
frequency of updating, etc.
3
Technical Feasibility is concerned with the availability and capability of hardware, software and
people. In Technical Feasibility Study we studied on those facts that are covering the whole
technological facts such as:
Hardware requirement specification
Software requirement specification
Technology used
Whether the required technology is available or nor?
Whether the required resources are available-
It is the most frequently used method for evaluating the effectiveness of the system. The
procedure is to determine the benefits and savings that are expected from the system in
comparison with the cost involved. If the benefits outweigh the cost, then system is said to be
economically feasible. Economic analysis is the most frequently used technique for evaluating
the effectiveness of a proposed system.
It is mainly related to human organizational and political aspects. For operational feasibility
study we appointed a small group of people, which included the office employees. This group
worked with the new system and found that the system was very user friendly, and very
efficient. It was found that no special training was required to operate the system. The burden
of the project manager who wants to give the issue to other employees and other staff members
was reduced. It takes about 5 minutes to enter the issue details as compared to the 30-40
minute of the manual system. And the employees found that they can prepare the statistical
reports with more speed, accuracy and in very less time.
4
2.2Software Specifications
GUI : HTML,JSP
Language : Ad-java
DBMS : SQL Server 2005
Operating System : Microsoft Windows XP
Application : Banking
Documentation : Microsoft Word 2007
Image Processor : Microsoft Paint
Software : Net beans 6.1,Jdk 1.6
5
CHAPTER 3
REQUIREMENT PROCESS
The goal of requirement process is to create and maintain a system requirement document. The
overall process includes the high level requirement engineering sub process. They are some
sub process which is given below:
3.1 Requirement Specification
Interview
Studying the existing system
Brain storming
3.2 Requirement Analysis
Anomaly
Inconsistency
Incompleteness
3.3 Requirement Elicitation
6
CHAPTER 4
SYSTEM DESIGN
System design take place when specification phase is completed and approved by customer .
4.1 ER Diagram
ER diagram stands for entity-relationship diagram,It is a graphical representation of entities
and their relationships to each other.
There are three basic elements in ER models:
a) Entities are the "things" about which we seek information.
7
4.2DFD
A data flow diagram (DFD) is a graphical representation of the "flow" of data through an
information system. A DFD shows what kinds of data will be input to and output from the
system, where the data will come from and go to, and where the data will be stored. It does not
show information about the timing of processes, or information about whether processes will
operate in sequence or in parallel (which is shown on a flowchart). A Data Flow Diagram
(DFD) is also known as a Process Model. Process Modeling is an analysis technique used to
capture the flow of inputs through a system (or group of processes) to their resulting output. On
the context diagram (also known as the 'Level 0 DFD') the system's interactions with the
outside world are modeled purely in terms of data flows across the system boundary.
This context-level DFD is next "exploded", to produce a Level 1 DFD that shows some of the
detail of the system being modeled. The Level 1 DFD shows how the system is divided into
sub-systems (processes), each of which deals with one or more of the data flows to or from an
external agent, and which together provide all of the functionality of the system as a whole.
8
4.2.21-Level DFD
Transaction
Data base
Data base
Emp _id
EMPLOYEE & password
Banking Authentication Access Info.
Update
Data base Account
Data base
9
CHAPTER 5
DATABASE DESIGN
TABLE NAME:accounts
TABLE DESCRIPTION: It keeps the information of all the opened accounts in the bank.
10
5.3Table name: accountbyemp
TABLE NAME:accountbyemp
TABLE DESCRIPTION:It keeps the information of all the transactions in the bank.
11
CHAPTER 6
CODING AND WEB PAGES
12
CODING:
<!--
Document : index
Created on : Jul 25, 2011, 4:57:46 PM
Author : ajay
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><link rel="stylesheet" type="text/css" href="ex.css">
<title>oNLINE BANKING</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body><hr>
13
</td>
<td width="800">
<form action="login" method="post">
<center>
<table border="1" >
<tr align="center" >
<td><p>Login:</td><td><input type="text" name="loginid" </td></tr>
<tr ><td><p>Password:</td><td><input type="password" name="password" ></td></tr>
<tr><td><p>Type:</td><td><select name="type" >
<option name="1">User</option>
<option name="2">Employee</option>
<option name="3">Administrator</option>
</select></td></tr>
</table><br><br>
<input type="submit" value="Login">
</center>
</form>
</td>
<td width="200">
<img src="First-Direct-Online-Banking-5.jpg" width="100" height="100" />
</td>
</tr></table>
</td>
</tr>
</table>
</body>
</html>
14
On clicking on login button on the page index.html it will bring you to this servlet page
login.java .
CODING
/*
*/
import java.io.*;
import java.net.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
/**
* @author Administrator
*/
/**
15
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
*/
String loginid=request.getParameter("loginid");
String password=request.getParameter("password");
String type=request.getParameter("type");
request.setAttribute("abc",abc);
response.setContentType("text/html;charset=UTF-8");
try
16
out.println("<link rel=stylesheet type=text/css href=ex.css> ");
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
stmt.setString(1,loginid);
stmt.setString(2,password);
stmt.setString(3,type.toLowerCase());
ResultSet rs=stmt.executeQuery();
if(rs.next())
if(type.contentEquals("Employee"))
abc.add("<CENTER><H2>WELCOME EMPLOYEE!!<H2><BR></CENTER>");
view.forward(request, response);
if(type.contentEquals("User"))
17
abc.add("<CENTER><H2>WELCOME USER!!<H2><BR></CENTER>");
view2.forward(request, response);
if(type.contentEquals("Administrator"))
abc.add("<CENTER><H2>WELCOME ADMINISTRATOR!!<H2><BR></CENTER>");
view1.forward(request, response);
out.println("</html>");
if(!rs.next())
catch(Exception e)
finally {
18
out.close();
/**
*/
processRequest(request, response);
/**
19
*/
processRequest(request, response);
/**
*/
// </editor-fold>
20
6.1.1.1Administrator page: administrator.java
When you choose ‘administrator’ option in the drop down menu, login button will bring you to
this page administrator.java .
CODING
21
/*
*/
import java.io.*;
import java.net.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
/**
* @author Administrator
*/
/**
*/
22
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
String loginname=request.getParameter("loginid");
LinkedList e =(LinkedList)request.getAttribute("abc");
Iterator iter=e.iterator();
response.setContentType("text/html;charset=UTF-8");
try {
while(iter.hasNext())
out.println(iter.next());
out.println("<html>");
out.println("<head>");
out.println("<title>Administrator</title>");
out.println("</head>");
23
out.println("<body>");
out.println("welcome "+loginname);
out.println("<a href=index.html>Exit</a>");
out.println("</div></body>");
out.println("</html>");
} finally {
out.close();
/**
24
* Handles the HTTP <code>GET</code> method.
*/
processRequest(request, response);
/**
*/
processRequest(request, response);
/**
25
*/
// </editor-fold>
When you choose ‘employee’ option in the drop down menu, login button will bring you to this
page employee.java .
26
CODING
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import java.io.*;
import java.net.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
27
/**
*
* @author Administrator
*/
public class employee extends HttpServlet {
/**
When you chose ‘user’ option in the drop down menu login button will bring you to this page
user.java .
CODING
28
/*
* and
Employee
29
Administrator
User
On clicking open account link you will get above page for creating a new account.
CODING
<!--
Author : Administrator
-->
<html>
<head>
</head>
<body>
30
<center><p>
<table>
<tr>
<
CODING
/*
31
*/
import java.io.*;
import java.net.*;
import java.sql.*;
out.println("<td>");out.println("balance");
out.println("</td>");
out.println("</tr>");
while(rs.next())
out.println("<tr>");
out.println("<td>");
out.println(rs.getString(2).toString());
out.println("</td>");
out.println("<td>");
* @param
// </editor-fold>
32
}
On clicking individual account link you will get this page individual.html , which shows the
transactions done by each account individually.
CODING
<!--
Document : individual
Author : apeksha
-->
33
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<center>
Enter month
34
CODING
/*
*/
import java.io.*;
import java.net.*;
/**
35
* @param request servlet request
*/
processRequest(request, response);
/**
// </editor-fold>
Deposit money
Withdraw money
Transfer money
36
CODING
<!--
Document : transactn
Author : apeksha
-->
<html>
<title>Transaction</title>
37
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<option>Deposit</option><option>Transfer</option><option>Withdraw</option></select>
<p>
</center></form></body>
</html>
6.1.5.1 : transaction.java
38
CODING
/*
*/
import java.io.*;
import java.net.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
39
/**
* @author apeksha
*/
/**
*/
String type=request.getParameter("type");
String accountno=request.getParameter("accountno");
String nm=request.getParameter("nm");
response.setContentType("text/html;charset=UTF-8");
//String action;
try {
40
if(accountno.isEmpty()){out.println("<p>Please enter account no!!");}
out.println("<html>");
out.println("</head>");
out.println("<body>");
out.println("<h1>account no :"+accountno+"</h1>");
out.println("</form>");
41
out.println("</body>");
out.println("</html>");
} finally {
out.close();
/**
*/
processRequest(request, response);
/**
42
* @param request servlet request
*/
processRequest(request, response);
/**
*/
// </editor-fold>
43
6.1.6 : Edit Account: edit_acc.html
CODING
<!--
Document : edit_acc
Author : apeksha
-->
<html>
44
<title>edit account</title>
</head>
</form>
</form>
</form>
</body>
</html>
45
6.1.6.1 : Edit Account Information: edit_account.html
CODING
<!--
Document : edit_acc
Author : apeksha
-->
<html>
46
<head><link rel="stylesheet" type="text/css" href="ex.css">
<title>edit account</title>
</head>
</form>
</form>
</form>
</body>
</html>
47
6.1.6.1.1 : edit_acc.java
CODING
/*
*/
import java.io.*;
import java.net.*;
import java.sql.*;
import javax.servlet.*;
48
import javax.servlet.http.*;
/**
* @author apeksha
*/
/**
*/
String accountno=request.getParameter("accountno");
response.setContentType("text/html;charset=UTF-8");
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
49
PreparedStatement stmt=con.prepareStatement("select name,address,balance from accounts
where accountno=?");
stmt.setString(1,accountno);
ResultSet rs=stmt.executeQuery();
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet edit_acc</title>");
out.println("</head>");
out.println("<body>");
if(rs.next()){
out.println("accoutno:");
out.println("name:");
out.println("address:");
out.println("balance:");
50
out.println("<input type=text name=balance value="+rs.getInt(3) +" disabled=true><br>"
out.println("</form>");
}else{
out.println("<p>Invalid accoutno!!");
out.println("<form action=edit_account.html>");
out.println("</form>");
out.println("</body>");
out.println("</html>");
} catch(Exception e){}
finally {
out.close();
51
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the
left to edit the code.">
/**
*/
processRequest(request, response);
/**
*/
processRequest(request, response);
52
}
/**
*/
// </editor-fold>
53
CODING
/*
*/
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
/**
* @author apeksha
*/
/**
54
*/
response.setContentType("text/html;charset=UTF-8");
try {out.println("<html>");
out.println("<head>");
out.println("<title>Servlet Close_acc</title>");
out.println("</head>");
out.println("<body>");
out.println("</form>");
out.println("</body>");
out.println("</html>");
} finally {
out.close();
55
}
/**
CODING
/*
56
* and open the template in the editor.
*/import java.io.*;
import java.net.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
/**
* @author apeksha
*/
/**
*/
57
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
ResultSet rs=stmt.executeQuery();
out.println("<html>");
out.println("<head>");
out.println("<title>account info</title>");
out.println("</head>");
out.println("<body>");
out.println("<tr>");
out.println("<td>loginid");
out.println("</td>");
out.println("<td>password");
58
out.println("</td>");
out.println("<td>type");
out.println("</td>");
out.println("</tr>");
while(rs.next())
out.println("<tr>");
out.println("<td>");
out.println(rs.getString(2));
out.println("</td>");
out.println("<td>");
out.println(rs.getString(3));
out.println("</td>");
out.println("<td>");
out.println(rs.getString(4));
out.println("</td>");
out.println("</tr>");
out.println("</table>");
59
out.println("</body>");
out.println("</html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet show</title>");
out.println("</head>");
out.println("<body>");
out.println("</body>");
out.println("</html>");
*/
} catch(Exception e){}finally {
out.close();
/**
60
* @param request servlet request
*/
processRequest(request, response);
} /**
*/
processRequest(request, response);
} /**
*/
61
}
// </editor-fold>
6.1.8 : Exit
6.2 About Us
62
CODING
<!--
Document : AboutUs
Author : apeksha
-->
<html>
<head>
<title>About Us</title>
</head>
<body>
<hr>
<p align="justify" title="about us" > This online Bank is one of the India's most popular bank
with total assets of Rs. 4,062.34 billion (US$ 91 billion) at March 31, 2011 and profit after tax
Rs. 51.51 billion (US$ 1,155 million) for the year ended March 31, 2011.
63
<hr>
<p>The Bank has a network of 2,533 branches and 6,503 ATMs in India, and has a presence in
19 countries, including India.
<hr>
<p> Bank offers a wide range of banking products and financial services to corporate and retail
customers through a variety of delivery channels and through its specialised subsidiaries in the
areas of investment banking, venture capital and asset management.
<hr>
<p>The Bank currently has subsidiaries in the United Kingdom, Russia and Canada, branches in
United States, Singapore, Bahrain, Hong Kong, Sri Lanka, Qatar and Dubai International
Finance Centre and representative offices in United Arab Emirates, China, South Africa,
Bangladesh, Thailand, Malaysia and Indonesia. Our UK subsidiary has established branches in
Belgium and Germany.
Its equity shares are listed in India on Bombay Stock Exchange and the National Stock Exchange
of India Limited and its American Depositary Receipts (ADRs) are listed on the New York Stock
Exchange (NYSE).
<h5>Board of Directors</h5>
ICICI Bank's Board members include eminent individuals with a wealth of experience in
international business, management consulting, banking and financial services.
.........................................................
<h5>Career Opportunities</h5>
64
Learn moreAwards
Time and again our innovative banking services has been recognized and rewarded world over.
.........................................................
</body>
</html>
6.3 Contact Us
CODING
65
<!--
Document : ContactUs
Author : apeksha
-->
<html>
<title>Safe Banking</title>
</head>
<body>
<hr>
<h5>help@onlinebank.com</h5>
<h5>customerCare@onlinebank.com</h5>
66
<p> you can contact us by phone nos...
<hr>
<h5>09312693459</h5>
<h5>09312693458</h5>
</body>
</html>
67
CODING
<!--
Document : SafeBanking
Created on : Aug 1, 2011, 8:19:22 PM
Author : apeksha
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" type="text/css" href="ex.css">
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
68
<body>
<H4>Steps to Login</H4>
<P>You will receive two pin mailers from this Online Bank<BR>
Internet Banking User id, <BR>
Login password and Transaction password.<BR>
<UL>
<LI>Check that the pin mailers arrive in a sealed condition, else please contact our 24 hour
Customer Care Centre.</LI>
<LI>After you get the Key,enter it in the user id and password on the website and press
LOGIN.</LI>
<li>After you request for a new password, the system would prompt for change in passwords.
</li>
<li>Your password should be atleast 8 characters long.</li>
<li>We recommend you to change both transaction and login password.</li>
<li>Passwords are case sensitive. <li>
<LI>Your internet banking account is locked in case you enter wrong user id and password 3
times. </LI>
<LI>Always log out of ONLINEBANK.COM when you have finished your
activities.</LI></UL>
<A HREF="index.html">Login</A>
69
<li>You need to enter your Internet Banking User id and password each time you access your
internet banking account. Since your access is protected by this password it is very important that
you protect your password, by making it known ONLY to you.
</li>
<li>The system prompts you to change the password on first time login. We recommend that you
change both login and transaction password.
</li>
<li>Your password should be atleast 8 characters long. Passwords are case sensitive.
</li>
<li>Do not use your date of birth, telephone number, address, your name or the name of a friend
or relative in your password.
</li>
<li>Your internet banking account is locked in case you enter wrong user id and password 3
times.
</li>
<li>Passwords are case sensitive.
</li>
<li>Change your password regularly.
</li>
<li>Ensure that you are not observed while entering the password.
</li>
<li>Never leave your computer unattended while you are logged in to onlineBank.com
</li>
<li>Always logoff from Internet Banking upon completion of your session. Use the Logout
button for closing the session. It is preferable not to shut the window to log off.
</li>
<li>Disable the option on browsers for storing user names and passwords. You can refer to the
help section available on your browser for instructions</li>
</ul>
</body>
70
</html>
71
CHAPTER 7
TEST PLAN
Software testing is an activity performs to uncover the error and it is a critical element of
software quality assurance and represents the ultimate review of software specification, design
and coding. Hence the importance of software testing and its implications with respect to
software quality can’t be overemphasized. It is used to detect errors. Testing is a dynamic
method for verification and validation, where the system to be tested is executed and the
behavior of the system is observed
7.2.2Integration Testing
Integration testing is a systematic technique for constructing the program structure while at the
same time conducting tests to uncover errors associated with interfacing. The objective is to
take unit-tested modules and build a program structure that has been detected by design. There
are two types of integration testing namely, Top-Down Integration and Bottom-Up
72
Integration. For the system a combination of both the types known as Sandwich Testing has
been used. The Top-Down Integration was used during the integration of the various Masters
and the Bottom-up Integration method was used during the integration of the various modules
of the process generation and the report generation.
7.2.3Validation Testing
Once the software was completely assembled as a package; interface errors uncovered and
corrected, final series of software tests for validity of the software was carried out. Module
interfaces (Graphical User Interfaces developed in a Visual Environment) were also tested for
proper working of the windows, pull-down menus, mouse operations, data entry using these
interfaces, and the report formats. At the end of this testing phase, it was ensured that the
function or performance characteristics of the software conform to the specifications provided
by the management and hence are accepted.
A series of these acceptance tests of the system were carried out at the place
where this software system was developed (Alpha Testing) in a natural setting
and in a controlled environment. The client was called over for testing the
software and “by looking over the shoulder” of the client/user of the system, all
the errors and usage problems were recorded and corrected. Later this software application
was put on live testing (Beta Testing) for the client in its original environment. (i.e., at the
office of the company).During this phase, it was ensured that all elements of the software
configuration have been properly developed, are catalogued, and have the necessary detail to
support the maintenance phase of the software life cycle (Configuration Review).
Black box testing focuses on the functional requirements of the software. That is, Black Box
testing enables the software engineer to derive sets of input conditions that will fully exercise
all functional requirements for a program. Black Box Testing is not an alternative to white-box
techniques. Rather, it is a complementary approach that is likely to uncover a different class of
errors than white-box methodsBlack-Box Testing attempts to find errors in the following
categories:
73
Incorrect or missing functions.
Interface errors.
Errors in data structures or external data base access.
Performance errors.
Initialization and termination errors.
Unlike White Box Testing, which is performed early in the testing process, Black Box Testing
tends to be applied during later stages of testing. Because Black Box Testing purposely
disregards control structure, attention is focused on the information domain
White Box Testing knowing the internal workings of a product tests can be conducted to
ensure that internal operations are performed according to specifications and all internal
components have been adequately exercised.Using white box testing methods the test cases
that can derived are:
All independent paths with in a module have been exercised at least once.
Execute all loops at their boundaries and within their operational bounds.
74
CHAPTER 8
MAINTAINANCE
7.1 Need of Maintenance
Modification of a software product performed after delivery to keep a software product usable
in a changed or changing environment.
Modification of a software product after delivery to detect and correct latent faults in the
software product before them become effective faults.
75
CHAPTER 9
CONCLUSION
In final project we will try to expand the scope of the project as much as we can. In
addition to providing all necessary features of a browser we will also try to add some new
features to this so that we can make it more preferable to others. In spite of having a short period
of time and a challenging environment to cope with, we are concentrating on building a efficient
and preferable proxy server application, that can suitably meet its requirements, what it meant
for. Now a day’s all banks are moving towards E-banking solution.
76
BIBLIOGRAPHY
Executive editors: Alain Abran, James W. Moore; editors Pierre Bourque, Robert Dupuis,
ed (March 2005). "Chapter 2: Software Requirements". Guide to the software
engineering body of knowledge (2004 ed.). Los Alamitos, CA: IEEE Computer Society
Press. ISBN 0-7695-2330-7. Retrieved 2007-02-08. "It is widely acknowledged within
the software industry that software engineering projects are critically vulnerable when
these activities are performed poorly."
Wiegers, Karl E. (2003). Software Requirements (2nd ed.). Redmond, WA: Microsoft
Press. ISBN 0-7356-1879-8.
Phillip A. Laplante (2007) What Every Engineer Should Know about Software
Engineering. Page 44.^SYSTEMS ANALYSIS
Requirements Engineering A good practice guide, Ian Sommerville and Pete Sawyer,
John Wiley and Sons, 1997
Company, People's Computer (1987). "Dr. Dobb's journal of software tools for the
professional programmer". Dr. Dobb's journal of software tools for the professional
programmer (M&T Pub) 12 (1–6): 116.
Kolawa, Adam; Huizinga, Dorota (2007). Automated Defect Prevention: Best Practices
in Software Management. Wiley-IEEE Computer Society Press. pp. 41–43.
Laycock, G. T. (1993) (PostScript). The Theory and Practice of Specification Based
Software Testing. Dept of Computer Science, Sheffield University, UK. Retrieved 2008-
02-13
77
References:
78