E-Bank Project
E-Bank Project
E-Bank Project
&
(2007-2010)
1
Subbalakshmi Lakshmipathy College of Science
TVR Nagar,
Aruppukottai Road, Madurai-625022
Department of Computer Science
BONAFIDE CERTIFICATE
This is to certify that the project report entitled Online Banking System is a bonafide
Mr./Ms : G MUTHUMANIKANDAN
Reg No : 70244
Course & Year : III B.sc CS
In partial fulfillment of requirements for the award of Degree of B.Sc CS, I certify that the
Project Work carried out by him/her is an independent work under my supervision and guidance
and this project has not formed the basis for the award of any Degree/Diploma/Associate
Place :
2
ORGANISATION GUIDE CERTIFICATE
___________. This project is an independent work of the candidate and this work
has not been done previously by any one to the best of my knowledge.
Designation:
3
Declaration
I hereby declare that this project work entitled ONLINE BANKING SYSTEM
a record of original work done by me and this project work has not formed the basis for the award
of any Degree / Associate ship / Fellowship or similar to any candidate in any University.
Course / Year
Reg, No.
4
Acknowledgement
At the very outset, I dedicate my deepest sense of gratitude to my parents for showering on
me that blessing and love which have induced me to make this project a success.
I would like to express my grateful thanks to our President Dr.R.Lakshmipathy and our
beloved Principal Dr.R.Srinivasan, for permitting me to do this project and for their
encouragement in my academic career.
I am thankful to my friends who are the real supporters of my academic career. Finally, I am
willing to express my heartfelt thanks to the ALMIGHTY for showering his blessings to be a
successful human being in all walks of my life.
MUTHUMANIKANDAN G
(70244)
5
CONTENTS
1. INTRODUCTION
1.1 Organization Profile
1.2 Synopsis
2. PROBLEM DEFINITIONS
2.1 Existing System
2.2 Proposed System
3. SYSTEM ANALYSIS
3.1 Feasibility Analysis
4. SYSTEM REQUIREMENTS
4.1 Hardware Requirements
4.2 Software Requirements
5. SYSTEM DESIGN
5.1 E-R diagram
5.2 Data Dictionary
5.3 Data Flow Diagram
6. SYSTEM DESCRIPTION
7. SOURCE CODE
8. SYSTEM TESTING
11. CONCLUSION
BIBILIOGRAPHY
6
7
INTRODUCTION
The main purpose that banks have been serving since their inception is keeping our money
safe for us. While keeping our money safe, they also let us earn a certain amount of interest on the
money deposited with them. Traditional banks have been doing this, and internet banks continue the
same function. The only difference is in the way the transactions are made.
They all know about internet banking and most of us use it quite often as well, but few of us
actually understand about the history of internet banking and how it all came out. Knowing the
history of internet banking can be incredibly useful, especially since it will allow us to have more
respect for the little things that we take for granted.
Internet banking has been around for quite a few years now, but has really only become
prominent over the past year or so in particular. Internet banking offers an array of different
advantages to the user, including account balances and history including year-to-date information,
the ability to transfer money from one account to another and to payees for bill payments, check
history, reorders, and stop payments, check credit card balances and statements, complete online
loan applications, secure interactive messaging with staff, and much more. Internet banking
basically allows you to be able to do everything that you can in your regular banking institution,
only with the benefit that you can do it all right from the convenience of your own home. Not only
is this great because you can be comfortable and have peace of mind knowing that you can keep
track yourself of all your banking issues, but as well it allows for more ease because you never have
to worry about rushing out and making it to the bank.
8
About the company
Bharat Sevak Samaj (BSS) is the National Development Agency sponsored by the
Planning Commission, Government of India to ensure public co-operation for implementing
government plans. The main purpose behind the formulation of Bharat Sevak Samaj is to
initiate a nation wide, non official and non political organization with the object of enabling,
individual citizens to contribute, in the form of an organized co-operative effort, to the
implementation of the National Development Plan. The constitution and functioning of Bharat
Sevak Samaj is approved unanimously by the Indian Parliament.
Bharat Sevak Samaj is a mission and movement to mobilize peoples’ active participation
and the development programs of the Nation was set up in 1952 under the president ship of
Pandit Jawaharlal Nehru, then Prime Minister of India on the recommendation of the National
Advisory Committee on public co-operation of the Planning Commission, Government of India.
BSS have developed scientifically as the most powerful National Development Agency in India
with its ardent initiative for the reconstruction, resurgence and rejuvenate of the society. BSS
presently carries out numerous functional activities and vocational training programs in various
fields all over India through its franchises with an idea of tackling unemployment through job
oriented education.
9
BSS Cyber Solutions
BSS Cyber Solutions (BSS CS) is a division of Bharat Sevak Samaj to provide total
solutions in the arena of Information Technology and to promote high end IT education
and training all over India. BSS Cyber Solutions as a part of its total computer education
policy, imparting training in various courses of computer technology all over India
through franchises. The training programs are suitable for non-matriculates,
matriculates graduates, post graduates, professionally qualified people, and business
men and employed personal. BSS CS offers courses certified by Bharat Sevak Samaj
and International companies like Microsoft, CISCO, CompTIA etc.
10
SYNOPSIS
With cybercafés and kiosks springing up in different cities access to the Net is going to be
easy. Internet banking (also referred as e banking) is the latest in this series of technological
wonders in the recent past involving use of Internet for delivery of banking products & services.
Even the Morgan Stanley Dean Witter Internet research emphasized that Web is more important for
retail financial services than for many other industries. Internet banking is changing the banking
industry and is having the major effects on banking relationships. Banking is now no longer
confined to the branches were one has to approach the branch in person, to withdraw cash or
deposit a cheque or request a statement of accounts. In true Internet banking, any inquiry or
transaction is processed online without any reference to the branch (anywhere banking) at any time.
Providing Internet banking is increasingly becoming a "need to have" than a "nice to have" service.
The net banking, thus, now is more of a norm rather than an exception in many developed countries
due to the fact that it is the cheapest way of providing banking services.
11
12
PROBLEM DESCRIPTION
Existing System
Existing system is the traditional banking, where customers have to go through the long
queue, time wasted and still wouldn’t have access to efficient and effective banking system.
Proposed System
Considering the stress and time taken to go to bank and do transaction. The development of
a well structure and secured online banking system will allow customer to perform objectives like,
creating a banking system that is easily accessible by customers from the comfort of their homes,
offices. Reduce the flow of human traffic and long queues at banks; Promote efficient and effective
banking for the banks by focusing on those services that still require physical presence at the
banking hall. Provides intra-bank funds transfer services to their customers. Keep a detailed log of
customer transactions with the bank on his account. Generate the statement of account of a selected
period of time for customers. And Provide a customer relationship services.
13
14
SYSTEM ANALYSIS
System analysis is a logical process; the objective of this stage is not actually to solve the
problem but to determine what must be done to solve the problem. The basic objective of the
analysis stage is to develop the logical model of the system using tools such as UML (Unified
modeling language).
MAIN OBJECTIVE
FEASIBILITY ANALYSIS
15
16
Software Requirements
Application Requirements
Database Server
• My SQL 5.0.
• Mozilla Firefox.
Hardware Requirements
• Pentium IV 233MHz.
• 128 MB RAM.
Communication Interface
17
18
Data Flow Diagrams
Disputes the functions and sub functions that transforms the dataflow.
• The Data flow diagram provides additional information that is used during the analysis of
the information domain, and server as a basis for the modelling of functions.
Admin Panel:
Login
19
Transaction:
Transaction Verification
Choose Transaction
Processing:
Reporting
Customer Authority
Candidate
Database Update
20
ER-Diagrams
The entity Relationship Diagram (ERD) depicts the relationship between the data objects.
The ERD is the notation that is used to conduct the date modelling activity the attributes of
each data object noted is the ERD can be described resign a data object descriptions.
The set of primary components that are identified by the ER-Diagram are
• Data object
• Relationships
• Attributes
The primary purpose of the ERD is to represent data objects and their relationships.
21
ER-Diagram
Customer
id
Admin id Password
Password
Phone no
Date of Birth
Age
IS
Email
Balance_enq
Funds_transfer Mini stmts
Accounts_types
Availabl
Perfor Generat
Generat e
m e
e the amount
transac trans_lis
account tions t
s
Displays
22
Activity Diagram for overall system
23
Start
Valid
user
Transfer update
Balance enquiry Funds transfer Mini statements
profile
Log out
No
24
Stop
Accessing view:
User after logging into his/her account a page is displayed with the basic requirements:
1) Balance Enquiry.
2) Funds Transfer
Description:
• Client can view the balance left in his account, if once he has entered into his account.
Preconditions:
• The client has already been logged in.
25
Fund Transfer:
26
27
Users of the system:
In this online internet banking system, the users are
Administrators
Customers
Administrator: He is the super user responsible for managing system users, taking system
backup, generating reports, maintaining organization details, Starting Sessions and ending
Sessions and also manages various requests from different Types of users.
• Providing Username, Password and other information required for the users to start
an account.
28
• Starting Sessions: The Administrator creates the system users and will be assigned
with the different roles. He is also responsible to start the session when a particular user wants
to use the system every time (It is automatically managed setup).
• Crash Recovery: The Administrator manages the crash recovery at the time of
system crash or failure occurs.
• Ending session: The administrator is responsible for ending the session when the
particular user logged out of the system (It is automatically managed setup).
Customer (Normal/others): Ordinary customers have a user name & password with which they
can login into their account. They can perform all the transactions such as funds transfer, balance
enquiry etc by sitting at their home on internet.
• Login: User can login to the system by providing appropriate username and
password provided by the administrator.
• Selecting the Account: After logging in the user is provided with a screen showing
the details of accounts and he selects one of the account inorder to perform the transaction.
• Balance Enquiry: He can view the balance left in his account, if once he has entered
into his account.
29
• Funds Transfer: Upon the request the user can transfer funds from his account to
other accounts.
• Mini statements: He also can take a mini statement print out upon his requirement.
30
Database Design
CustomerAI
Field Name Data Type SIZE
AccountNo Varchar 50
A_Sno Int 4
UserID Varchar 50
AccountName Varchar 50
AccountType Varchar 50
Balance Int -
Login Details
Field Name Data Type SIZE
Sno Int 15
UserID Varchar 20
Password Varchar 20
Mini_stat
Field Name Data Type SIZE
UserID Varchar 50
T_date Date -
T_Id Int 20
T_Accountno Int 20
T_Amount Int -
31
CustomerPI
Field Name Data Type SIZE
UserID Varchar 50
FirstName Varchar 50
LastName Varchar 50
FatherName Varchar 50
DOB Varchar 50
Age Int 2
Landline_No Varchar 20
Mobile_Phone Varchar 10
Nationality Varchar 10
Email Varchar 50
Occupation Varchar 50
O_Address Varchar 50
Office_phone Varchar 50
Employer Varchar 50
City Varchar 50
Pincode Varchar 50
State Varchar 50
Country Varchar 50
32
Bankdb (Transaction List)
Field Name Data Type SIZE
T_Id Int 30
AccountNo Varchar 50
TDate Varchar 50
Debit Int 20
Credit Int 20
Balance Int -
DepositAcct Varchar 50
WithdrawAcct Varchar 50
33
34
Overall Description
The Online banking Application project will be divided into 4 modules namely:
• Login
• Registration
• Account Information
• Transaction
Description
Login: The customer is asked to enter user name & password. When the user enters
the details & submits it goes to a validation engine where it checks valid/not. If valid he is
shown with list of accounts he has with the bank.
Registration: Once your registration is complete you will be able to access all of your
accounts, with information asked in the prompts during the registration process. We use this
information to authenticate you as a user with access to the retail loan or lease account. Details
such as name........add phone......20
35
Account Information:
o Selecting the Account: After logging in the user is choose the details of accounts
and he selects one of the accounts in order to perform the transaction.
Transaction: This module maintains the information related to the funds that have been
transferred by the customer from one of his account to another account of his own. This
module helps the customer in executing the fund transfer without the physical visit to the banks
premises.
o Mini Statement: When the user requests for mini statements in the home page,
system asks the type of statement needed by the customer. When the customer
selects the type of statement. The system displays the list of transactions on the
screen. If the customer wants to take print outs he can take the print outs of the same.
36
37
Tools and Technologies used
PHP
PHP: Hypertext Preprocessor (the name being a recursive acronym) is a widely used,
general-purpose scripting language that was originally designed for web development to produce
dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and
interpreted by a web server with a PHP processor module, which generates the web page document.
As a general-purpose programming language, PHP code is processed by an interpreter application
in command-line mode performing desired operating system operations and producing program
output on its standard output channel. It may also function as a graphical application. PHP is
available as a processor for most modern web servers and as standalone interpreter on most
operating systems and computing platforms.
PHP was originally created by Rasmus Lerdorf in 1995 and has been in continuous
development ever since. The main implementation of PHP is now produced by The PHP Group and
serves as the de facto standard for PHP as there is no formal specification. PHP is free software
released under the PHP License, which is incompatible with the GNU General Public License
(GPL) because restrictions exist regarding the use of the term PHP.
Security
The National Vulnerability Database stores all vulnerabilities found in computer software.
The overall proportion of PHP-related vulnerabilities on the database amounted to: 20% in 2004,
28% in 2005, 43% in 2006, 36% in 2007, 35% in 2008, and 30% in 2009. Most of these PHP-
related vulnerabilities can be exploited remotely: they allow hackers to steal or destroy data from
data sources linked to the webserver (such as an SQL database), send spam or contribute to DoS
attacks using malware, which itself can be installed on the vulnerable servers.
These vulnerabilities are caused mostly by not following best practice programming rules:
technical security flaws of the language itself or of its core libraries are not frequent (23 in 2008,
about 1% of the total). Recognizing that programmers cannot be trusted, some languages include
taint checking to detect automatically the lack of input validation which induces many issues. Such
a feature is being developed for PHP, but its inclusion in a release has been rejected several times in
the past.
38
Hosting PHP applications on a server requires a careful and constant attention to deal with
these security risks. There are advanced protection patches such as Suhosin and Hardening-Patch,
especially designed for web hosting environments.
Speed optimization
As with any interpreted language, PHP scripts are stored as human-readable source code and
are compiled on-the-fly by the PHP engine. In order to speed up execution time and not have to
compile the PHP source code every time the webpage is accessed, PHP scripts can also be stored in
binary format using PHP compilers such as phc and roadsend.
Code optimizers aim to reduce the runtime of the compiled code by reducing its size and
making other changes that can reduce the execution time with the goal of improving performance.
The nature of the PHP compiler is such that there are often opportunities for code optimization, and
an example of a code optimizer is the eAccelerator PHP extension.
Another approach for reducing overhead for high load PHP servers is using an Opcode
cache. Opcode caches work by caching the compiled form of a PHP script (opcodes) in shared
memory to avoid the overhead of parsing and compiling the code every time the script runs.
Resources
PHP includes free and open source libraries with the core build. PHP is a fundamentally
Internet-aware system with modules built in for accessing FTP servers, many database servers,
embedded SQL libraries such as embedded PostgreSQL, MySQL and SQLite, LDAP servers, and
others. Many functions familiar to C programmers such as those in the stdio family are available in
the standard PHP build.
PHP allows developers to write extensions in C to add functionality to the PHP language.
These can then be compiled into PHP or loaded dynamically at runtime. Extensions have been
written to add support for the Windows API, process management on Unix-like operating systems,
multibyte strings (Unicode), cURL, and several popular compression formats. Some more unusual
39
features include integration with Internet Relay Chat, dynamic generation of images and Adobe
Flash content, and even speech synthesis. The PHP Extension Community Library (PECL) project
is a repository for extensions to the PHP language.
My- SQL
MySQL is a relational database management system (RDBMS)
2. The MySQL development project has made its source code available under
the terms of the GNU General Public License, as well as under a variety of
proprietary agreements. MySQL is owned and sponsored by a single for-profit firm,
the Swedish company MySQL AB, now owned by Sun Microsystems, a subsidiary
of Oracle Corporation.
Uses
Many web applications use MySQL as the database component of a LAMP software stack.
Its popularity for use with web applications is closely tied to the popularity of PHP, which is often
combined with MySQL
MySQL code uses C and C++. The SQL parser uses yacc and a home-brewed lexer. It is
works on many different system platforms, including AIX, BSDi, FreeBSD, HP-UX, i5/OS, Linux,
Mac OS X, NetBSD, Novell NetWare, OpenBSD, OpenSolaris, eComStation, OS/2 Warp, QNX,
IRIX, Solaris, Symbian, SunOS, SCO OpenServer and Microsoft Windows. All major programming
languages with language-specific APIs include Libraries for accessing MySQL databases. In
addition, an ODBC interface called MyODBC allows additional programming languages that
support the ODBC interface to communicate with a MySQL database, such as ASP or ColdFusion.
The MySQL server and official libraries are mostly implemented in ANSI C &ANSI C++.
40
Database
A collection of programs that enables you to store, modify, and extract information from a
database. Information of the users gets stored in a relational database. The application works well
with MS- Access as database, it also works well with MySQL, SQL Server 2000 and Oracle.
Data Manipulation Language (DML) is used to modify the data present in database:
Official
The official MySQL Workbench is a free integrated environment developed by MySQL AB,
that enables users to graphically administer MySQL databases and visually design database
structure. MySQL Workbench replaces the previous package of software, MySQL GUI Tools.
Similar to other third-party packages but still considered the authoritative MySQL frontend,
MySQL Workbench lets users manage the following:
41
• Database design & modeling
In this project, MySQL is used as the backend database. MySQL is an opensource database
management system. The features of MySQL are given below
• MySQL is open source database system. The database software can be used and modify by
anyone according to their needs.
• It is fast, reliable and easy to use. To improve the performance, MySQL is multithreaded
database engine. A multithreaded application performs many tasks at the same time as if
multiple instances of that application were running simultaneously.
In being multithreaded MySQL has many advantages. A separate thread handles each incoming
connection with an extra thread that is always running to manage the connections. Multiple clients
can perform read operations simultaneously, but while writing, only hold up another client that
needs access to the data being updated. Even though the threads share the same process space, they
execute individually and because of this separation, multiprocessor machines can spread the thread
across many CPUs as long as the host operating system supports multiple CPUs. Multithreading is
the key feature to support MySQL’s performance design goals. It is the core feature around which
MySQL is built.
42
43
Source code
<?php
ob_start();
define('ROOT_PATH', dirname(__FILE__));
if(!is_file(ROOT_PATH . '/lib/confs/Conf.php')) {
header('Location: ./install.php');
exit ();
}
session_start();
if(!isset($_SESSION['fname'])) {
header("Location: ./login.php");
exit();
}
define('Admin', 'MOD001');
define('PIM', 'MOD002');
define('MT', 'MOD003');
define('Report', 'MOD004');
define('Leave', 'MOD005');
define('TimeM', 'MOD006');
define('Benefits', 'MOD007');
define('Recruit', 'MOD008');
44
require_once ROOT_PATH . '/lib/common/authorize.php';
$_SESSION['path'] = ROOT_PATH;
?>
<?php
/* Default modules */
if (!isset ($_GET['menu_no_top'])) {
if ($_SESSION['isAdmin'] == 'Yes') {
$_GET['menu_no_top'] = "hr";
} else if ($_SESSION['isSupervisor']) {
$_GET['menu_no_top'] = "ess";
} else {
$_GET['menu_no_top'] = "ess";
}
}
if($_SESSION['isAdmin']=='Yes') {
$rights = new Rights();
/*
* Assign Manager's access to recruitment module
45
*/
if ($_SESSION['isManager'] || $_SESSION['isDirector'] || (isset($_SESSION['isAcceptor']) &&
$_SESSION['isAcceptor']) || (isset($_SESSION['isOfferer']) && $_SESSION['isOfferer'])){
$arrAllRights[Recruit]=array('add'=> false , 'edit'=> true , 'delete'=> false, 'view'=> true);
}
}
switch ($_GET['menu_no_top']) {
case "eim":
$arrRights=$arrAllRights[Admin];
break;
case "hr" :
$arrRights=$arrAllRights[PIM];
break;
case "mt" :
$arrRights=$arrAllRights[MT];
break;
case "rep" :
$arrRights=$arrAllRights[Report];
break;
case "leave" :
$arrRights=$arrAllRights[Leave];
break;
case "time" :
$arrRights=$arrAllRights[TimeM];
break;
case "recruit" :
$arrRights=$arrAllRights[Recruit];
break;
}
$_SESSION['localRights']=$arrRights;
$styleSheet = CommonFunctions::getTheme();
} else {
if ($_SESSION['timePeriodSet'] == 'Yes') {
$timeHomePage = 'lib/controllers/CentralController.php?
timecode=Time&action=View_Select_Employee';
} else {
$timeHomePage = 'lib/controllers/CentralController.php?
timecode=Time&action=Work_Week_Edit_View';
}
$timesheetPage = 'lib/controllers/CentralController.php?
timecode=Time&action=View_Select_Employee';
}
47
if ($authorizeObj->isESS()) {
if ($_SESSION['timePeriodSet'] == 'Yes') {
$timeHomePage = 'lib/controllers/CentralController.php?
timecode=Time&action=Show_Punch_View';
} else {
$timeHomePage = 'lib/controllers/CentralController.php?
timecode=Time&action=Work_Week_Edit_View';
}
}
if ($authorizeObj->isAdmin()) {
$recruitHomePage = 'lib/controllers/CentralController.php?recruitcode=Vacancy&action=List';
} else if ($authorizeObj->isManager() || $authorizeObj->isDirector() || $authorizeObj->isAcceptor()
|| $authorizeObj->isOfferer()) {
$recruitHomePage = 'lib/controllers/CentralController.php?
recruitcode=Application&action=List';
}
if ($_SESSION['isAdmin']=='No') {
if($_SESSION['isProjectAdmin']) {
// Allow project admins to view PAC (Project Activity) page only (in the admin module)
// If uniqcode is not set, the default view is Project activity
if ((!isset($_GET['uniqcode'])) || ($_GET['uniqcode'] == 'PAC')) {
$allowAdminView = true;
}
}
if($_SESSION['isSupervisor']) {
// Allow supervisors to view TCP (Company property) page only (in the admin module)
// If uniqcode is not set, the default view is Company Property
if ((!isset($_GET['uniqcode'])) || ($_GET['uniqcode'] == 'TCP')) {
$allowAdminView = true;
}
}
}
if ($_SESSION['isAdmin']=='Yes' || $arrAllRights[Admin]['view']) {
$menuItem = new MenuItem("admin", $lang_Menu_Admin, "./index.php?
menu_no_top=eim");
$menuItem->setCurrent($_GET['menu_no_top']=="eim");
$sub = new MenuItem("companyinfo", $lang_Menu_Admin_CompanyInfo, "#");
$subsubs[] = new MenuItem("companyinfo", $lang_Menu_Admin_CompanyInfo_Gen,
"index.php?uniqcode=GEN&menu_no_top=eim");
$subsubs[] = new MenuItem("companyinfo",
$lang_Menu_Admin_CompanyInfo_Locations, "index.php?uniqcode=LOC&menu_no_top=eim");
$subsubs[] = new MenuItem("companyinfo",
$lang_Menu_Admin_CompanyInfo_CompStruct, "index.php?
uniqcode=CST&menu_no_top=eim");
$subsubs[] = new MenuItem("companyproperty",$lang_Menu_Admin_Company_Property,
"index.php?uniqcode=TCP&menu_no_top=eim&pageNo=1");
$sub->setSubMenuItems($subsubs);
$subs = array();
$subs[] = $sub;
$subs[] = $sub;
$sub = new MenuItem("memberships",$lang_Menu_Admin_Memberships, "#");
$subsubs = array();
$subsubs[] = new MenuItem("memberships",
$lang_Menu_Admin_Memberships_MembershipTypes, "index.php?
uniqcode=MEM&menu_no_top=eim");
$subsubs[] = new MenuItem("memberships",
$lang_Menu_Admin_Memberships_Memberships, "index.php?
uniqcode=MME&menu_no_top=eim");
$sub->setSubMenuItems($subsubs);
$subs[] = $sub;
if ($_SESSION['ldap'] == "enabled") {
$subs[] = new MenuItem("ldap", $lang_Menu_LDAP_Configuration, "index.php?
uniqcode=LDAP&menu_no_top=eim");
}
$menuItem->setSubMenuItems($subs);
$menu[] = $menuItem;
define('PIM_MENU_TYPE', 'left');
$_SESSION['PIM_MENU_TYPE'] = PIM_MENU_TYPE;
if (PIM_MENU_TYPE == 'dropdown') {
$sub = new MenuItem("personal",$lang_pim_tabs_Personal, "#", null, $enablePimMenu);
$subsubs = array();
$subsubs[] = new MenuItem("personal", $lang_pim_PersonalDetails,
"javascript:parent.rightMenu.displayLayer(1)", null, $enablePimMenu);
$subsubs[] = new MenuItem("personal",$lang_pim_tabs_Contact,
"javascript:parent.rightMenu.displayLayer(4)", null, $enablePimMenu);
$subsubs[] = new MenuItem("personal",$lang_pim_tabs_EmergencyContacts,
"javascript:parent.rightMenu.displayLayer(5)", null, $enablePimMenu);
$subsubs[] = new MenuItem("personal",$lang_pim_tabs_Dependents,
"javascript:parent.rightMenu.displayLayer(3)", null, $enablePimMenu);
52
$subsubs[] = new MenuItem("personal",$lang_pim_tabs_Immigration,
"javascript:parent.rightMenu.displayLayer(10)", null, $enablePimMenu);
$sub->setSubMenuItems($subsubs);
$subs[] = $sub;
$menu[] = $menuItem;
}
$subs = array();
$subsubs = array();
if ($authorizeObj->isESS()) {
$subsubs[] = new MenuItem("leavesummary",
$lang_Menu_Leave_PersonalLeaveSummary, "lib/controllers/CentralController.php?
leavecode=Leave&action=Leave_Summary&id={$_SESSION['empID']}");
}
if ($arrAllRights[Leave]['view'] || $authorizeObj->isSupervisor()) {
$subsubs[] = new MenuItem("leavesummary",
$lang_Menu_Leave_EmployeeLeaveSummary, "lib/controllers/CentralController.php?
leavecode=Leave&action=Leave_Select_Employee_Leave_Summary");
}
$sub->setSubMenuItems($subsubs);
} else if ($authorizeObj->isESS()) {
$sub = new MenuItem("leavesummary", $lang_Menu_Leave_LeaveSummary,
"lib/controllers/CentralController.php?
leavecode=Leave&action=Leave_Summary&id={$_SESSION['empID']}");
}
$subs[] = $sub;
if ($authorizeObj->isESS()) {
$subs[] = new MenuItem("leavelist", $lang_Menu_Leave_MyLeave,
"lib/controllers/CentralController.php?leavecode=Leave&action=Leave_FetchLeaveEmployee");
$subs[] = new MenuItem("applyLeave", $lang_Menu_Leave_Apply,
"lib/controllers/CentralController.php?leavecode=Leave&action=Leave_Apply_view");
}
$menuItem->setSubMenuItems($subs);
$menu[] = $menuItem;
}
if ($authorizeObj->isAdmin() || $authorizeObj->isSupervisor()) {
$subsubs = array();
55
if ($authorizeObj->isESS()) {
$timesheetLink = 'javascript: location.href = \'' .
$_SESSION['WPATH'] . '/lib/controllers/CentralController.php?
timecode=Time&action=View_Current_Timesheet&clientTimezoneOffset=\' + escape((new
Date()).getTimezoneOffset() * -1);';
$subsubs[] = new MenuItem("timesheets",
$lang_Menu_Time_PersonalTimesheet, $timesheetLink);
}
$subs[] = $sub;
$attsubs = array();
if ($authorizeObj->isESS()) {
$attsubs[] = new MenuItem("timesheets", $lang_Time_Menu_PunchInOut,
"lib/controllers/CentralController.php?timecode=Time&action=Show_Punch_View");
$attsubs[] = new MenuItem("projectTime", $lang_Time_Menu_MyReports,
"lib/controllers/CentralController.php?timecode=Time&action=Show_My_Report");
}
$attendance->setSubMenuItems($attsubs);
$subs[] = $attendance;
56
/* Attendance Menu Items: End */
/*if ($authorizeObj->isESS()) {
$subs[] = new MenuItem("projectTime", $lang_Menu_Time_ProjectTime,
"lib/controllers/CentralController.php?timecode=Time&action=Time_Event_Home");
}*/
$menuItem->setSubMenuItems($subs);
}
$menu[] = $menuItem;
}
$subs = array();
if (Config::getHspCurrentPlan() > 0) {
$sub = new MenuItem("hsp", $lang_Menu_Benefits_HealthSavingsPlan,
$personalHspSummary);
} else {
$sub = new MenuItem("hsp", $lang_Menu_Benefits_HealthSavingsPlan,
"lib/controllers/CentralController.php?benefitcode=Benefits&action=Hsp_Not_Defined");
}
$subsubs = array();
if ($authorizeObj->isESS()) {
$yearVal = date('Y');
$subsubs[] = new MenuItem("hsp", $lang_Benefits_HspExpenditures,
"lib/controllers/CentralController.php?
benefitcode=Benefits&action=Hsp_Expenditures&year={$yearVal}&employeeId={$_SESSION['e
mpID']}");
$subsubs = array();
$subsubs[] = new MenuItem("payrollschedule",
$lang_Benefits_ViewPayrollSchedule , "lib/controllers/CentralController.php?
benefitcode=Benefits&action=Benefits_Schedule_Select_Year");
if ($arrAllRights[Benefits]['add']) {
58
$subsubs[] = new MenuItem("payrollschedule",
$lang_Benefits_AddPayPeriod , "lib/controllers/CentralController.php?
benefitcode=Benefits&action=View_Add_Pay_Period");
}
$sub->setSubMenuItems($subsubs);
$subs[] = $sub;
}
$menuItem->setSubMenuItems($subs);
$menu[] = $menuItem;
}
$subs = array();
if ($_SESSION['isAdmin']=='Yes') {
$subs[] = new MenuItem("vacancies",$lang_Menu_Recruit_JobVacancies ,
"lib/controllers/CentralController.php?recruitcode=Vacancy&action=List");
}
$menuItem->setSubMenuItems($subs);
$menu[] = $menuItem;
}
$subs = array();
$subs[] = new MenuItem("viewreports",$lang_Menu_Reports_ViewReports , "index.php?
repcode=EMPVIEW&menu_no_top=rep");
$menu[] = $menuItem;
}
$menu[] = $menuItem;
61
$menuItem->setSubMenuItems($subs);
$menu[] = $menuItem;
/* End of main menu definition */
if ($rightsCount === 0) {
$home = 'message.php?case=no-rights&type=notice';
} else {
$home = "";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OrangeHRM</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link href="themes/<?php echo $styleSheet;?>/css/style.css" rel="stylesheet" type="text/css"/>
<link href="favicon.ico" rel="icon" type="image/gif"/>
<script type="text/javaScript" src="scripts/archive.js"></script>
<?php
$menuObj->getCSS();
$menuObj->getJavascript($menu);
?>
</head>
<body>
<div id="companyLogoHeader"></div><div id="rightHeaderImage"></div>
<!-- <div id="menu-div" style="clear:left;"> -->
<?php $menuObj->getMenu($menu, $optionMenu, $welcomeMessage);?>
<!-- </div> -->
<div id="main-content" style="float:left;height:640px;text-align:center;padding-left:0px;">
<iframe style="display:block;margin-left:auto;margin-right:auto;width:100%;" src="<?php echo
$home;?>" id="rightMenu" name="rightMenu" height="100%;" frameborder="0"></iframe>
</div>
if (document.getElementById("main-content")) {
document.getElementById("main-content").style.height = (dimensions[1] - 100 - <?
php echo $menuObj->getMenuHeight();?>) + 'px';
}
if (document.getElementById("main-content")) {
if (dimensions[0] < 940) {
dimensions[0] = 940;
}
exploitSpace();
window.onresize = exploitSpace;
//]]>
</script>
</body>
</html>
<?php ob_end_flush(); ?>
64
65
TESTING
Software testing is a process of analyzing or operating software for the purpose of finding
bugs. Test activities that are associated with analyzing the products of software development
include code inspections, walkthroughs, and desk checks.
UNIT TESTING
Unit testing involves test planning, test case development and measurement of test unit
against the requirement specifications.
Planning involves designing the schedule, determining the resources required and
determining the features to be tested. Test case development involves designing test cases that are to
be tested; the test cases are prepared so as to test the system exhaustively to find the bugs present in
the system. Measurement of test unit against specification involves testing the system by giving the
test cases as input and checking the systems adherence to its specification.
• See if the validations of input data are all taken care off.
Test cases were designed to check the results retrieved from the database and the validation
of all user inputs. All the modules were tested thoroughly. The module interface was also tested to
ensure that information flows into and out of the program units.
66
INTEGRATION TESTING
This testing is performed after all individual modules are developed and ready for the
integration. The objective of this testing is to build a program structure as dictated in the design by
taking unit tested modules.
REQUIREMENT TO BE TESTED
2. Verify if invalid users are blocked from logging into the application.
This service validates fetches the account details given an account Id down integration is an
incremental approach to the construction of program structure. Modules are integrated by moving
downward through the control hierarchy, beginning with the main module. Modules subordinate to
the main module are incorporated into the structure in depth first manner. In this way, interfacing
between the various modules was also thoroughly tested. In this System, the integration testing is
done by checking all possible workflows of the analysis and cleaning process.
SYSTEM TESTING
System Testing is a series of test, which have to be performed to fully exercise the computer-
based system. It ensures that all the system elements are fully integrated and each element
performs its allocated function.
67
PERFORMANCE TESTING
Performance testing is done to test run-time performance of the software within context of an
integrated system. For real time systems, adherence to performance requirements is a must. It
determines the amount of execution time spent in various units, program throughput and response
time. This system being highly user-interactive and capable of executing large volume of data was
expected to have a small response time.
This is a unit testing method where a unit will be taken at a time and tested thoroughly at a
statement level to find the maximum possible errors. I tested step wise every piece of code, taking
care that every statement in the code is executed at least once. The white box testing is also called
Glass Box Testing. I have generated a list of test cases, sample data. which is used to check all
possible combinations of execution paths through the code at every module level.
This testing method considers a module as a single unit and checks the unit at interface and
communication with other modules rather getting into details at statement level. Here the module
will be treated as a block box that will take some input and generate output. Output for a given set
of input combinations are forwarded to other modules.
TEST CASES
VALIDATE LOGIN
If the login credentials are correct, it returns the UserContext to the caller.
68
Test Test case Input data Expected Result result
no
1 For invalid login and Client ,152fg An exception with the error False
password identifier INVALID_LOGIN_
is thrown Validate the result
with Data in the database.
2 For expired login and Client 2, An exception with the error identifier False
password Purity INVALID_LOGIN_ is thrown.
Validate the result with data in the
database.
3 For reports between two 12/07/14 to An exception with the error identifier False
invalid dates 01/12/08 NON_ DATE is thrown
4 For reports between two 02/12/07 to The report was generated from the True
valid dates 07/12/08 database
69
70
FUTURE ENHANCEMENT
Today, online banking services are quite varied. One of the best features of online banking is
putting the user in control. The user controls all bill paying, transfers, and investments from home.
There are other features, though of online banking. One of these is increased accessibility to
your account information. Users of online banking services can access their account information
from anywhere in the world! This is particularly helpful for businesses. Internet business banking is
becoming increasingly popular, as businesses are becoming more global in their reach. Now
business people can access their accounts, even when on overseas business trips. Business Internet
banking is extremely popular for this reason.
71
72
CONCLUSION
This section discuses the result of the work done in this project And also mentions the future
scope for improvement.
Conclusion
As the world becomes more of a global village being runned by paperless systems, the idea
of a cashless society is the hope of the future. Thus more innovations will still evolve which will
make cashless transactions easily accessible and affordable.
The “Banking Online System is a big and ambitious project. I am thankful for being
provided this great opportunity to work on it. As already mentioned, this project has gone through
extensive research work. On the basis of the research work, we have successfully designed and
implemented banking online System.
73
74
Bibliography
BOOK REFERENCES
• W. Lecky-Thompson,” Web Programming with XHTML, PHP and MySQL”, 2nd Edition,
2008
• W. Jason Gilmore,” Beginning PHP and MySQL”, 3rd Edition,2008
WEB SITES
• Online banking of National City bank www.Nationalcity.com
• Online banking of Bank one www.BankOne.com
• Online banking of ICICI bank www.ICICI.com
• PHP tutorials www.phpbuilder.com
• PHP tutorials www.php-learn-it.com
75