You are on page 1of 79

On-line Banking system

Project Work

RDVV, JABALPUR

On-line Banking system

1. Project Title : Online Banking System


2. Software Base: Visual Basic .NET
3. Submitted for Course & year: BCA ( VIth SEM)
4. Group Examination (Project Report & Disk Evaluation mark
planning+20marks Development+20 marks Execution)
Examinar-1

Examinar-2

Group Evaluation

(Max.30)

(Max.30)

(M.G.)
(Max.60)

5)Individual Students Evaluation:


Enr.

Roll

No.

No.

Name of Candidate

Int. Marks

Ext.

Total

(IM)given

Marks

Marks

by Head of

(EM)

(Max.

Study

given

100)

Centre

by UNI

MT=

(Max.20)

Examiner

MG+

(Max.80)

IM+ME

Manisha Thakur

RDVV, JABALPUR

On-line Banking system

Affiliated to
MAKHANLAL CHATURVEDI RASHTRIYA PATRAKARITA EVAM
SANCHAR VISHWAVIDYALAYA

CERTIFICATE
This is certifying that this project report entitled: -

Online Banking system


Which is being submitted by the students as partial fulfillment for the
degree of BCA of Makhanlal Chaturvedi Rashtriya Patrakarita Evam
Sanchar vishwavidhyalya for the academic year 2014-15, ensure the
bonafide work of the candidate and was carried out under supervision in the
center of ADVANCE COURSES OF COMPUTER APPLICATION..
This report is up to standard both in respect of its contents and its
literary presentation for being referred to the examiner

Submitted By:

(Director/Center

Head)
Manisha Thakur
RDVV, JABALPUR

Mr. Sourabh Khare


3

On-line Banking system

Affiliated to
MAKHANLAL CHATURVEDI RASHTRIYA PATRAKARITA EVAM
SANCHAR VISHWAVIDYALAYA

CERTIFICATE
This is certifying that this project report entitled: -

Online Banking system


Which is being submitted by the students as partial fulfillment for the
degree of BCA of Makhanlal Chaturvedi Rashtriya Patrakarita Evam
Sanchar vishwavidhyalya for the academic year 2014-15, ensure the
bonafide work of the candidate and was carried out under supervision in the
center of Advance Courses of Computer Application.
This report is up to standard both in respect of its contents and its
literary presentation for being referred to the examiner

Submitted By :

Under the guidance

of :
Manisha Thakur
Agrahari
RDVV, JABALPUR

Ms. Swati
4

On-line Banking system

Affiliated to
MAKHANLAL CHATURVEDI RASHTRIYA PATRAKARITA EVAM
SANCHAR VISHWAVIDYALAYA

CERTIFICATE
This is certifying that this project report entitled: -

Online Banking system


Which is being submitted by the students as partial fulfillment for the
degree of BCA of Makhanlal Chaturvedi Rashtriya Patrakarita Evam
Sanchar vishwavidhyalya for the academic year 2014-15, ensure the
bonafide work of the candidate and was carried out under supervision in the
center of Advance Courses Of Computer Application.
This report is up to standard both in respect of its contents and its
literary presentation for being referred to the examiner

RDVV, JABALPUR

On-line Banking system

Internal Examiner Submitted By :

External

Examiner

Manisha Thakur

RDVV, JABALPUR

On-line Banking system

Affiliated to
MAKHANLAL CHATURVEDI RASHTRIYA PATRAKARITA EVAM
SANCHAR VISHWAVIDYALAYA

DECLARATION
We the Student of Advance Courses Of Computer
Application, Declare That This Project Has Been Designed
By Me, under the Guidance of Ms. Swati Agrahari. It Is
Our Original Work. It Has Been Created As Major Project
Work For The Degree Of BCA.

Submitted By :
Manisha Thakur

RDVV, JABALPUR

On-line Banking system

Affiliated to
MAKHANLAL CHATURVEDI RASHTRIYA PATRAKARITA EVAM
SANCHAR VISHWAVIDYALAYA

ACKNOWLEDGEMENT
We thank to Ms. Swati Agrahari and all the faculty
and non-teaching staff of this institute for their
support .we are very much thankful to all our friends
who knowingly or unknowingly helped for the
completing of this project.
Last but not the least we extend our gratefulness to
our parents who help us throughout our studies in
many ways.
Submitted
By:
Manisha Thakur
RDVV, JABALPUR

On-line Banking system

Contents
Preface............................................................................................viii
Acknowledgement....ix
Chapter 1: Introduction...1
Introduction ...........................2
Scope and purpose of document............3
Motivation .........4
Chapter 2: System Analysis............................................................................... 5
2.1 Problem statement.6
2.2 Survey and evaluation of available solution..7
Chapter 3: Proposed solution .............................................................................8
3.1 Introduction9
3.2 Features ...11
3.3 Approach .12
Chapter 4: Technical description ................................................................... 13
4.1 Technology and Environment......14
4.2 System requirement ....15
4.3 Underlying technology domain .......16
Chapter 5: Software engineering approach ....................................................23
5.1 Introduction .24
5.2 Conception
Phase.....................................................................25
5.2.1 Problem definition ......25
5.2.2 Aim to be achieved .........25
5.2.3 Expected benefits ........25
5.2.4 Scope ......25
5.3 General phase ..........................................................................26
5.3.1 Phase definition ...26
5.3.2 Development phase .....26
5.3.3 Maintenance phase ..26
Chapter 6: Process model ..................................................................................27
6.1 Description ..28
6.2 Why model was chosen? .30
Chapter 7: Requirement analysis .....................................................................31
RDVV, JABALPUR

7.1
7.2
7.3

On-line Banking system


Introduction..32
Specification ...33
Functional & nonfunctional requirement 35

Chapter 8: Risk Management .......................................................................... 36


10.1 Introduction ...37
10.2 Risk implementation .39
10.3 Types of risk .....40
Chapter 9: Review .....41
11.1 Post implementation reviews.42
Chapter 10: System design ........44
13.1 Introduction ...45
13.2 Data flow diagram .47
13.3 ER-Diagram ......49
13.4 Table structures .51
13.5 EMS functional & web page design..54
13.6 Web Pages ........55
Chapter 11: User Characteristics ... 66
14.1 Introduction........67
Chapter 12: System testing ....68
15.1 Fundamentals of software testing ......69
15.2 Strategic approach toward software testing ...71
15.3 Unit testing .....72
15.4 Integration testing ......73
15.5 Validation testing .......74
15.6 System testing ....75
Chapter 13: Limitations ........76
Chapter 14: Future Enhancements ......78
Chapter 15: Conclusion..........80
Chapter 16: References..............82

RDVV, JABALPUR

10

On-line Banking system

INTRODUCTION
Statement of Introduction

Welcome to On-line banking system is a website dedicated to those people, who are
anxious to get their dream Banking system. An online bank is banking facilities
available on internet. The main services offered by an online bank are as follows:
1. Balance Enquiry and Statement
2. Transaction History
3 Transfer funds online
4 Card-2-Card Funds Transfer
5 Prepaid Mobile Recharge
6 Send a Smart Money Order
7 Stop Payment Request
8 Open Fixed Deposit and Recurring Deposit account
9. Request for cheque book

Scope and Purpose of Document


The purpose of this document is to provide full information about the different phases
of our project to the management. This gives full idea about the progress of our project
and is useful for:

The management personnel to understand different issues of the project.


The review and the auditing that word to enhance the quality of this project.

This document gives a complete idea about:

The referential documents that may be used to have a detailed study.


Information about the efficiency of the existing solutions.
Proposed solution and complete description about approach use to implement that
solution.
The description of SDLC and technologies used.

RDVV, JABALPUR

11

On-line Banking system

Description of the project requirement i.e. functional, nonfunctional, hardware


and software requirements etc.
Complete project plan describing monthly milestones, deliverables, and risks
associated in achieving the milestones and the review and audit documents.
Description of the future plan including month wise milestones and deliverables,
risk assessment and mitigation.

Motivation
Networks are changing the way we do business and the way we live. The
availability of data and facility to update the data being anywhere is the main reason why
we implemented the information system using web technology.
The development of personal computer has brought about a tremendous change
for business, industry, science and education. The problem of managing the data on single
machine is becoming more critical, but with the event of web technology distances are
meaningless and data can be viewed or updated from anyplace.

The accessibility feature of the web technology.


The problem of maintaining redundant data.

Inspired we to develop a system which could to some extent provide a way to


minimize the manual work and redundant data.

RDVV, JABALPUR

12

On-line Banking system

SYSTEM ANALYSIS
Problem Statement
Manual banking system has following sets of problems:
Limited hours of transactions.
When day-to-day to transaction volume is high then customer has to wait for
simple services such as account statement and balance check.
Problem of incorrect entries.
Loan application disposal.
Prolonged wait to know about the status of a loan application.
Problem in obtaining information about installment payments and balance
installments.
Problem in transferring amount from one account to another

Survey and Evaluation of Available Solution

After surveying we found that existing websites do not provide all the facilities
for a on-line banking at the same system. Some of the websites are available but with
many drawbacks. Such as hacking Account information at these sites is not regular. .
Therefore such websites dont fulfill the perfect -ness of a online-banking site.

RDVV, JABALPUR

13

On-line Banking system

PROPOSED SOLUTION
Introduction
An online bank is banking facilities available on internet. The main services
offered by an online bank are as follows:
Balance Enquiry and Statement

Check out your last 10 transactions in your bank account with real
Time balance.
Transaction History

Check out past transactions from the date of account opening.


Transfer funds online

Transfer funds to any Bank Account in India


Card-2-Card Funds Transfer
Send money to over 27 million Visa Debit or Credit Card holders
Across 150 cities in India.
Prepaid Mobile Recharge
Recharge your prepaid mobile online anywhere, anytime in just a few
Minutes.
Pay your Utility bills
Pay bills to utility service providers like electricity, telephone
and postpaid mobiles. You can also pay your insurance premiums as
well as your Bank credit card dues.
Open Fixed Deposit and Recurring Deposit account
Apply online to open Fixed Deposits and/or Recurring Deposits.
Request for cheque book
Cheque book is delivered to your communication address upon request.
Stop Payment Request
Issue instructions to stop payment of a particular cheque.
Request for Debit Card
Apply online for an ATM/ Debit Card
Monthly Statement by email
Subscribe to free monthly bank/credit card statements to be
Delivered to your email id.
RDVV, JABALPUR

14

On-line Banking system

Features

Services offered by our software


Opening of different types of accounts
Our banking software support opening of different types of accounts like saving bank
account, recurring deposit account and current account. Minimum balance of each
account is different and interest rate also varies.

Managing Account
This software provide support for on line deposit, Money transfers, withdrawal in all type
of account.

Loan facility
You can apply and pay your loan installments using our software.

Credit Card management


You can check the uses of credit card and repay the amount.

On line statement generation facility


You can generate various type of statement like banking statement, loan installment
details and credit card details etc.

RDVV, JABALPUR

15

On-line Banking system

Approach

First and foremost the major task was to hide the administrative work from
general users. Every type of user must have isolated working unrelated or un-disturbing
others area of work. Therefore we designed the website with three different perspectives.
The major task is to authenticate users and provide them links to pages for which they are
actually authenticated. Our approach was quite simple as we used the authenticating
procedures to verify authorized users. Any user to access dynamic information, must first
login in his area of concern. This login page then directs him to his field of work
otherwise he may not be able to gain access to the database of the system. We simply
chose .Net platform to work with the specific use of ASP.Net which is useful for
development in web related fields.

The general approach we emphasized for developing employment management


system are given below-

1
2
3
4
5
6
7

Reduced manpower.
Increased operational efficiency.
Increased accuracy and reliability.
Improved moral.
Reduced operational time.
Data security.
Reduced paper work.

RDVV, JABALPUR

16

On-line Banking system

TECHNICAL DESCRIPTION
Technology and Environment

OS - Microsoft Windows Server 2003


Database Server Oracle 9(i)
Clients - Microsoft Internet Explorer 5 & above.
Tools - Microsoft Visual Studio.NET 2005
Services - ASP.NET ,XML Web services

RDVV, JABALPUR

17

On-line Banking system

System Requirements
System Requirements for Installing Visual Studio .NET Versions
Visual Studio .NET
Enterprise
Architect
Processor

Enterprise
Developer

Professional

Academic

PC with a Pentium III-class processor, 450 MHz


(recommended: Pentium IV-class, 600MHz)

RAM1

Windows 2000 Professional 96 MB; Windows 2000 Server 192


MB
(recommended: 128 MB for Professional, 256 MB for Server)
Windows XP Professional 192 MB
(recommended: 256 MB)
Windows .NET Server 2003 192 MB
(recommended: 256 MB)

Available Hard 900 MB on system drive, 4.1 GB installation drive


Disk Space2
Operating
System3, 4

Windows 2000, Windows XP and Windows .NET Server 2003

CD-ROM or
DVD-ROM
Drive5

Required

Video

800 x 600, 256 colors (recommended: High Color 16-bit)

Mouse

Microsoft mouse or compatible pointing device

RDVV, JABALPUR

18

On-line Banking system

Underlying Technology Domain


.NET Overview:
The .NET platform is a new development framework with a new programming
interface to Windows services and APIs, integrating a number of technologies that
emerged from Microsoft during the late 1990s.
The platform consists of four separate product groups:
Development tools:
A set of languages, including C# and VB.NET; a set of development tools,
including Visual Studio.NET; a comprehensive class library for building web services
and web and Windows applications; as well as the Common Language Runtime to
execute objects built within this framework.
Specialized servers:
A set of .NET Enterprise Servers, formerly known as SQL Server 2000, Exchange
2000, BizTalk 2000, and so on, that provides specialized functionality for relational data
storage, email, and B2B commerce.
Web services:
An offering of commercial web services, recently announced as project
Hailstorm; for a fee, developers can use these services in building applications that
require knowledge of user identity.
Microsoft .NET acknowledges and responds to the following trends within the
software industry today:
Web paradigm shifts:
Represents changes in web technologies to simplify the development of web
applications. Over the last few years, web application development has shifted from
connectivity (TCP/IP), to presentation (HTML), to programmability (XML and SOAP).
A key goal of Microsoft .NET is to enable software to be sold and distributed as a service.
The .NET Platform:

RDVV, JABALPUR

19

On-line Banking system


The Microsoft .NET Platform consists of five main components. At the lowest
layer lies the operating system (OS), which can be one of a variety of Windows
platforms, including Windows XP, Windows 2000, Windows Me, and Windows servers.
As part of the .NET strategy, Microsoft has promised to deliver more .NET device
software to facilitate a new generation of smart devices.
On top of the operating system is a series of .NET Enterprise Server products that
simplify and shorten the time required to develop and manage large-scale business
systems. These server products include Application Center 2000, BizTalk Server 2000,
Commerce Server 2000, Exchange Server 2000, Host Integration Server 2000, Internet
Security and Acceleration Server 2000, and SQL Server 2000. Since Web Services are
highly reusable across the Web, Microsoft plans to provide a number of building-block
services those applications developers can use, for a fee. An example of building block
Service is Microsoft Passport, which allows you to use a single username and password
at all web sites that support Passport authentication.
At the top layer of the .NET architecture is a brand new development tool called
Visual Studio.NET (VS.NET), which makes possible the rapid development of Web
Services and other applications. A successor of Microsoft Visual Studio 6.0, VS.NET is
an Integrated Development Environment (IDE) that supports four different languages and
features such as cross-language debugging and the XML Schema Editor.
The .NET Framework is a new development and runtime infrastructure that will
change the development of business applications on the Windows platform. It includes
the Common Language Runtime (CLR) and a common framework of classes that can be
used by all .NET languages.
.NET Framework:

Figure: 4.1. Layered .NET Framework


The most important component of the Framework is something called the CLR. If
you are a Java programmer, think of the CLR as the .NET equivalent of the Java Virtual
RDVV, JABALPUR

20

On-line Banking system


Machine ( JVM). If you don't know Java, think of the CLR as the heart and soul of the
.NET architecture. At a high level, the CLR activates objects, performs security checks on
them, lays them out in memory, executes them, and garbage-collects them.
Conceptually, the CLR and the JVM are similar in that they are both runtime
infrastructures that abstract the underlying platform differences. However, while the JVM
currently supports just the Java language, the CLR supports all languages that can be
represented in the Common Intermediate Language (CIL). The JVM executes byte code,
so it could technically support many different languages, too. Unlike Java's byte code,
though, IL is never interpreted. Another conceptual difference between the two
infrastructures is that Java code runs on multiple platforms with a JVM, whereas .NET
code runs only on the Windows platforms with the CLR (at the time of this writing).
Microsoft has submitted the Common Language Infrastructure (CLI), which is functional
a subset of the CLR, to ECMA, so a third-party vendor could theoretically implement a
CLR for a platform other than Windows On top of the framework base classes is a set of
classes that extend the base classes to support data management and XML manipulation.
The data classes support persistent data managementdata that is stored on
backend databases. These classes include the Structured Query Language (SQL) classes
to let you manipulate persistent data stores through a standard SQL interface. Similar to
the SQL classes, the set of classes called ADO.NET allow you to manipulate persistent
data. Alongside of the data classes, the .NET Framework supports a number of classes to
let you manipulate XML data, perform XML searching, and perform XML translations.
Web Forms include a number of classes that allow you to rapidly develop web
Graphical User Interface (GUI) applications. If you're currently developing web
applications with Visual Interdev, you can think of Web Forms as a facility that allows
you to develop web GUIs using the same drag-and-drop approach as if you were
developing the GUIs in Visual Basic. Simply drag and drop controls onto your Web
Form, double-click on a control, and write the code to respond to the associated event.
Windows Forms support a set of classes that allow you to develop nativeWindows GUI applications. You can think of these classes collectively as a much better
version of MFC because they support easier GUI development and provide a common,
consistent interface that can be used in all languages.
The Common Language Runtime:
The most important component of the .NET Framework is the Common Language
Runtime (CLR). The CLR manages and executes code written in .NET languages and is
the basis of the .NET architecture, similar to the Java Virtual Machine. The CLR activates
objects, performs security checks on them, lays them out in memory, executes them, and
garbage-collects them.
CLR Environment:
The CLR manages the execution of code in the .NET Framework. An assembly is
the basic unit of deployment and versioning, consisting of a manifest, a set of one or
RDVV, JABALPUR

21

On-line Banking system


more modules, and an optional set of resources. Figure 4-1 shows the two portions of
the .NET environment, with the bottom portion representing the CLR and the top portion
representing the CLR executables or Portable Executable (PE) files, which are .NET
assemblies or units of deployment. The CLR is the runtime engine that loads required
classes, performs just-in-time compilation on needed methods, enforces security checks,
and accomplishes a bunch of other runtime functionalities.
The CLR executables shown in Figure 4-2 are either EXE or DLL files that consist
mostly of metadata and code.
.

Figure 4.2. The CLR environment


The Benefits of ASP.NET:
Microsoft, realizing that ASP does possess some significant shortcomings,
developed ASP.NET. ASP.NET is a set of components that provide developers with a
framework with which to implement complex functionality. Two of the major
improvements of ASP.NET over traditional ASP are scalability and availability. ASP.NET
is scalable in that it provides state services that can be utilized to manage session
variables across multiple Web servers in a server farm. Additionally, ASP.NET possesses
a high performance process model that can detect application failures and recover from
them.
Along with improved availability and scalability, ASP.NET provides the following
additional benefits:
Simplified development:
ASP.NET offers a very rich object model that developers can use to reduce the
amount of code they need to write.

Language independence:
ASP pages must be written with scripting. In other words, ASP pages must be
written in a language that is interpreted rather than compiled. ASP.NET allows compiled
languages to be used, providing better performance and cross-language compatibility.
Simplified deployment:
RDVV, JABALPUR

22

On-line Banking system


With .NET components, deployment is as easy as copying a component assembly
to its desired location.
Cross-client capability:
One of the foremost problems facing developers today is writing code that can be
rendered correctly on multiple client types. For example, writing one script that will
render correctly in Internet Explorer 5.5 and Netscape Navigator 4.7, and on a PDA and a
mobile phone is very difficult, if not impossible, and time consuming. ASP.NET provides
rich server-side components that can automatically produce output specifically targeted at
each type of client.
Web services:
ASP.NET provides features that allow ASP.NET developers to effortlessly create
Web services that can be consumed by any client that understands HTTP and XML, the
de facto language for inter-device communication.
Performance:
ASP.NET pages are compiled whereas ASP pages are interpreted. When an
ASP.NET page is first requested, it is compiled and cached, or saved in memory, by
the .NET Common Language Runtime (CLR). This cached copy can then be re-used for
each subsequent request for the page. Performance is thereby improved because after the
first request, the code can run from a much faster compiled version.
Probably one of the most intriguing features of ASP.NET is its integration with
the .NET CLR. The CLR executes the code written for the .NET platform. The .NET
compilers target the .NET runtime and generate intermediate language (IL) binary code
(kind of like Java and byte code). The code generated by .NET compilers cannot be run
directly on the processor because the generated code is not in machine language. During
runtime, the .NET compilers convert this intermediate code to native machine code and
that machine code is eventually run on the processor. Additionally, the .NET compilers
also produce metadata that describes the code. The .NET runtime loads metadata
information for performing different tasks like resolving method calls, loading different
dependent modules, marshaling data from one component to another, and so on. Since the
.NET runtime produces binary code that is later compiled, effectively any language that is
CLR compliant and can generate IL code can be used to write ASP.NET applications and
components. Code written using the .NET Common Language Runtime is said to be
managed code. Code that does not use this infrastructure is referred to as unmanaged
code.

RDVV, JABALPUR

23

On-line Banking system

Introducing Oracle9i
Oracle9i takes business where it needs to be: meeting and exceeding stringent demands
for high-quality service in a service-driven marketplace. Oracle9i is designed to optimize
traditional, internet and intranet applications, and to stimulate the emerging hosted
application market on the internet.
Oracle9i builds on historic strengths to offer the first complete and simple software
infrastructure for the internet's next generation of intelligent, collaborative applications.
The Oracle9i new features expedite delivery of critical performance, scalability, and
availability essential to providing hosted service software for anyone, anywhere, anytime.
Oracle9i architecture is depicted in Figure 1-1.

Figure 1-1 Oracle9i Architecture

Oracle9i Database
The Oracle9i Database introduces the following advanced and automated design features
that refine Oracle9i Application Server and Oracle9i Developer Suite to optimize
performance for traditional applications and the emerging hosted application market.
Oracle9i Real Application Clusters
Replacing Oracle Parallel Server, Oracle9i Real Application Clusters provides out-of-thebox, linear scaling transparency, compatibility with all applications without redesign, and
the ability to rapidly add nodes and disks.

RDVV, JABALPUR

24

On-line Banking system


Systems Management
Integrated system management products create a complete view of all critical
components that drive e-business processes. From the client and application server to the
database and host, Oracle9i quickly and completely assesses the overall health of an ebusiness infrastructure.
High Availability
Setting a new standard for high availability, Oracle9i introduces powerful new
functionality in areas of disaster recovery, system fault recovery, and planned downtime.
High Security
Oracle9i offers the most secure internet platform for protecting company information
through multiple layers of security for data, users, and companies. Included are features
for building internet-scale applications, for providing security for users, and for keeping
data from different hosted user communities separate.
Oracle9i Application Server
Recognized as the leading application server for database-driven Web sites, Oracle9i
Application Server offers the industry's most innovative and comprehensive set of
middle-tier services.
Comprehensive Middle-tier Services
Continued innovation within comprehensive middle-tier services, ranging from selfservice enterprise portals, to e-stores and supplier exchange, sustains the Oracle9i
Application Server as the industry's preferred application server for database-driven Web
sites.
New Caching Technology
The new caching technology in Oracle9i can dramatically increase Web site performance,
scalability, and availability. Greater numbers of users can be provided with more
personalized, dynamic Web content without adding more application or database servers.

Scalability and Performance


Superb scalability and performance now is made available for all Web applications.
Oracle Portal services make it easy for Web site developers to deploy enterprise portals
with centralized management and unified security. Standard Java, with rich XML and
content management support, as well as back-office transactional applications built using
Oracle Forms Developer, can easily be deployed.

RDVV, JABALPUR

25

On-line Banking system

Wireless Device Access


Information in any database or internet application is easily available through Oracle9i.
Support for each wireless device's specific markup language is no longer necessary.

Business Intelligence
Oracle9i Application Server has built-in reporting and ad hoc query functionality to
derive business intelligence after Web site deployment.

Oracle9i Developer Suite


Oracle Internet Developer Suite combines leading Oracle applications development tools,
business intelligence tools, and enterprise portal building tools in a single, integrated
product. Built on internet standards such as Java, XML, CORBA, and HTML, the Oracle
Internet Developer Suite provides a high-performance development environment with
tools needed to respond to rapidly changing markets and user demands.

Extensive Development Alternatives


Oracle Internet Developer Suite tools are suitable for any kind of development approach,
including component-based development, Java coding, and visual modeling, and offer
rapid application development based on 4GL. Applications can be developed for all
clients, including High Productive Java Client, Universal HTML Client, and Anywhere
Mobile Client.

Tools
Oracle Internet Developer Suite tools include: Oracle Forms Developer; Oracle Designer;
Oracle Developer and Business Components for Java; Oracle Reports Developer; and
Oracle Discoverer.

RDVV, JABALPUR

26

On-line Banking system

Oracle9i Database New Features

1. Availability
2. Scalability
3. Performance
4. Security
5. Manageability
6. Development Platform for E-Business Applications
7. Windows Integration
8. Internet Content Management
9. E-Business Integration
10. Packaged Applications
11. Business Intelligence
12. Heterogeneous Services

RDVV, JABALPUR

27

On-line Banking system

SOFTWARE ENGINEERING APPROACH


Introduction
Software engineering is the application of a systematic, disciplined and
quantifiable approach to the development, operation and maintenance of software.
According to Fritz Bauer --- Software engineering is the establishment and use of
sound engineering principles in order to obtain economically software that is reliable and
works efficiently on real machines.
Actually, software engineering is a layered technology. It can easily be explained
with the help of a diagram given below:

Tools
Methods
Process
A Quality Focus

Figure5.1 SE in Layered Technology


Any engineering approach must have, as a base, an organizational commitment to
quality, and software engineering is not the exception.
Next comes the process layer, which is the foundation for software engineering.
Process provides a framework for a set of key process areas (KPAs) which is a must for
the effective delivery of software engineering technology.
Above the process layer, there stands software engineering methods which
provide the technical how-tos in software building. They encompass a wide range of
tasks including requirement analysis, design, program construction, testing and support.
On the top of the software engineering layers hierarchy, there comes software
engineering tools which gives support (automated and semi-automated) for the process
and methods.

RDVV, JABALPUR

28

On-line Banking system

Conception Phase
In the software development, before going to the design issue, software
requirement analysis is done. At this stage, different methods are applied to calculate
what and how. That is what functions and performance are needed, what interfaces
are to be established and how those functions are to be achieved. For this purpose, some
methods are used which are as follows:

Problem definition
Aim to be achieved
Expected benefits

Problem Definition:

To manage a large database.


To provide best user friendly interfaces.
To provide efficient search engines.

Aim to be achieved:

System must provide the best suitable jobs for the job seekers.
Information regarding campus recruitments is to be available.
Latest company papers should be available.
Mailing facility should be available.
Search engines are provided for best search results.
Semester projects should be available.
The system should provide interview experiences of different candidates.

Expected benefits
Educational institutions will provide information inputs on a large pool of
educated resources, which are their outputs, into the E-CS. Engineering graduates,
Medical Students, Accountants, MBAs, Vocationally trained resources, Computer
Trainees and a whole host of educational institution outputs may now figure in the E-CS
database as available pool of resources which the employee organizations can choose and
pick.
Scope:
Because, this system is developed on the .NET platform using SQL server as for
database, the chance for this platform to be out-dated or to crash is almost negligible. So,
there is a great chance to establish this system in market.

RDVV, JABALPUR

29

On-line Banking system

General Phase
Regardless to the area of application, size of project, or its complexity, the
software engineering work can be categorized into the following three generic phases:

Definition phase
Development phase
Maintenance phase

Definition Phase:
The definition phase helps in answering what, that is, it emphasizes on what.
During this phase, the software engineer tries to get what information is to be processed,
what functions and performance are needed, what system behavior is likely to be, what
interfaces are to be established, what design constraint present, and what validation
criteria are required to have a successful system. Thus, the major requirements of the
system and software are identified.
Development Phase:
The development phase emphasizes on how. During this phase, a software
engineer tries to know how data are to be structured, how function is to be applied in
software architecture, how procedural details are to be implemented, how interfaces are
to be defined. How the design will be transformed into any nonprocedural programming
language and how testing will be done.
Maintenance Phase:
This phase emphasizes on change related with the error correction, adaptations
(according to the software environment), and changes due to enhancements brought about
by the changing needs of the customer. This phase actually reapplies the steps of
definition and development phases. During maintenance phase, the following four types
of changes are found:

Correction
Adaptation
Enhancement
Prevention

RDVV, JABALPUR

30

On-line Banking system

PROCESS MODEL

SDLC (System Development Life Cycle)


The incremental model combines elements of the linear sequential model with the
iterative philosophy of prototyping. Referring to the given figure, the increment model
applies linear sequences in a staggered fashion as calendar time progresses.

Figure 6.1 Incremental Model


Analysis:
In the analysis process we gathered all the information about the requirement of
the E-Consultancy Service (E-CS). The information domain for the E-CS is
knowledge base to be developed which contains all the information about the respective
queries. We have gathered information from the available websites. The features that
should be included in our website are based on the features and drawbacks of the sites
available on the net. We have studied all the available sites that are basically developed to
provide technical support to the user. We have tried to provide user support for their
convenience.

RDVV, JABALPUR

31

On-line Banking system


Design:
The design part gives the complete structure of the architecture, interface
representation and procedural details of the system.

Code Generation:
The code will be generated at the platform of Visual Studio .Net. We use MS SQL
server to handle data base activity.
Testing:
The testing will be done after code generation by our management team that
includes all the process that tested the working of our system.

RDVV, JABALPUR

32

On-line Banking system

Why model was chosen?


The incremental model combines elements of the linear sequential model with the
iterative philosophy of prototyping. Each linear sequence produces a deliverable
increment of the software.
When an incremental model is used, the first increment is often a core product.
That is, basic requirements are addressed, but many supplementary features are
undelivered. The core product is used by the customer. As a result of use and/or
evaluation, a plan is developed for the next increment. The plan address the modification
of the core product to better meets the needs of the customer and the delivery of
additional features and functionality. This process is repeated following the delivery of
each increment, until the complete product is produced.
The incremental development is particularly useful when staffing is unavailable
for a complete implementation by the business deadline that has been established for the
project.

RDVV, JABALPUR

33

On-line Banking system

REQUIREMENT ANALYSIS

Introduction

Requirement analysis is a software engineering task that bridges the gap between
system level requirements engineering and software design. Requirements engineering
activities result in the specification of softwares interface must meet. Requirements
analysis allows the software engineer to refine the software allocation and build models
of the data, functional & behavior that can be translated to data, architectural, interface
and component-level designs. Finally the requirements specification provides the
developer and the customer with the means to access quality once software is built.

RDVV, JABALPUR

34

On-line Banking system

Software Requirement Specification


Purpose:
This document specifies the requirements for the E-CONSULTANCY SERVICE
This document attempts to produce a clear and full detail description of the
functionalities and development documentation necessary to implement and develop the
interface. The authors intent to provide a full understanding and a clear objective with
regards to the interface and its purpose.

Intended readers and reading suggestions:


This documents audience includes:

Developers.
Testers.
Users.

The following are recommended readings for each audience group:

Developers: This document is meant to read in its entirely and in sequential


order. Descriptions and explanations are often built upon previously revealed
information. Use cases the reader to a specific section of this document to
enhance understanding of the current reading material.

Testers and Users: Testers and users are required to thoroughly read and
understand the document. All notations and references should be unearthed. The
tester should experiment with the prototype in conjunction with the use cases to
develop a complete understanding of correct functionality. The tester and user
should read and develop a clear understanding of all the technical terms. A
reference may be taken from glossary or the referential documents.

RDVV, JABALPUR

35

On-line Banking system

Requirement specification:
Specification, regardless of the mode through which we accomplish it, may be
viewed as a representation process. A number of specification principles adapted are as
under:
1. Separate functionality from implementation.
2. Develop a model of the desired behavior or a system that encompasses
data & the functional responses of a system to various stimuli from the
environment.
3. Establish the context in which software operates by specifying the manner
in which other system components interact with software.
4. Establish the content & structure of a specification in a way that will
enable it to be amenable to change.
5. Create a cognitive model rather than design or implementation model. The
cognitive model describes a system as perceived by its user community.

RDVV, JABALPUR

36

On-line Banking system

Functional and Non-functional requirements


During information transformation the software must perform at least three basic
functions, i.e. input, processing and output. The software engineering when creating
functional model of an application, concentrates on problem specific functions. The
functional model starts with a single context level model, i.e. the name of the software to
be built. With each of several iterations, more functional detail is provided until a
thorough delineation of all system functionality is represented.

The basis of the nonfunctional requirement is the stimulus / response


characteristic of the software, i.e. response to event from the outside world. A computer
program always exists in some state, i.e. an externally observable mode of behavior (for
example, waiting, computing, printing, polling etc). It is changed only when some event
occurs

RDVV, JABALPUR

37

On-line Banking system

RISK MANAGEMENT

Risk Management

Risk management is broadly defined to include risk assessment , risk


characterization, risk communication, risk management, and policy relating to risk.
The purpose of risk management is to identify threats to project success and to
mitigate or eliminate negative impacts to the project. Not all risks can be eliminated, but
mitigation and contingency plans can be developed to lessen their impact if they occur.
The basic elements of the Risk Management Process are:
Risk Identification: - Risk identification consists of determining which risks are
likely to affect the project and documenting the characteristics of each. Risk
identification is not a one-time event; it should be performed on a regular basis
throughout the project. Risk identification should address both internal and
external risks. Internal risks are things that the project team can control or
influence; external risks are things beyond the control or influence of the project
team.

Risk Analysis: - Risk analysis involves evaluating risks and risk interactions to
assess the range of possible project outcomes. It is primarily concerned with
determining which risk events warrant response.

Risk Planning (Mitigation and Contingency Planning): - Risk planning is


composed of two parts: mitigation planning and contingency planning. It involves
assigning responsibility for risk actions, developing mitigation and/or contingency
plans, developing measurements and developing action plans to respond to the
risk. Note that it may not always be possible or feasibly to mitigate risks; some
risks may have to be accepted.

Risk Implementation: - Risk implementation involves the implementation of the


risk mitigation and contingency plans developed in the previous step.

Risk Tracking & Control: - Risk Tracking & Control follows the progress of the
risk and its probability, as well as the status of any mitigation strategies that have
been executed. When changes occur, the basic cycle of identify, analyze, and
respond is repeated.

Communication: - Effective communication helps to ensure risks are identified


and tracked throughout all levels of the project.

RDVV, JABALPUR

38

On-line Banking system


Risks can come from a variety of sources, both internal and external to the
project. The Project Office must also consider political and organizational risks. Although
the Project Office cannot always eliminate these risks, effective communication can
mitigate some of the impacts in these critical areas.
The first step in managing risks is to identify them. Risk identification
should consider all areas of a project and both internal and external factors. Potential
risks and their causes should be identified and documented. Risks should be identified
through the use of a questionnaire and interviews with project management, staff,
stakeholders and users.
Some common risks to software projects are:

Continuous stream of requirements changes


Unrealistic schedules and budgets
Developing the wrong software functions
Developing the wrong user interface
"Gold plating" - paying too much attention to what the customer wants changed
Real-time performance shortfalls

There may be specific risks associated with a particular phase also, such as in
implementation and Maintenance and Operations (M&O)
Contingency Plans:
For those risks where it is unlikely or uncertain that the mitigation will be
effective, a contingency plan should be developed. Contingency plans attempt to
minimize the effects of the risk assuming the event does occur (also known as "damage
control").
A trigger mechanism should be identified that indicates when the contingency
plan should be initiated. In some cases, the plan may be initiated before the risk occurs or
in parallel with the mitigation activities in order to be prepared for the risk occurrence.
Typical components of a contingency plan include:

Description of the impending risk


Anticipated effects on project schedule
Anticipated effects on project budget
Anticipated effects on work products or deliverables
Desired outcome of contingency activities
What activities will be executed to minimize risk's effects
Who is responsible for the activities
When will the activities occur (what is the trigger event)
How to evaluate and track the effect of the contingency activities

RDVV, JABALPUR

39

On-line Banking system

Risk Implementation

Risk implementation is the performance of the activities described by the risk


mitigation and contingency plans. The appropriate measures and status are reported to
track effectiveness. If there are significant changes in status or approach, this information
should be forwarded to the Track/Control process for review, and to determine if the
current action plans should be revised.
Risk tracking & Control:
Risk Tracking & Control follows the progress of the risk and its exposure, as well
as the status of any mitigation and contingency strategies that have been executed.
Periodic re-assessments of the risks should be performed to determine if known
risks have become more likely, less likely or have resolved themselves, and to identify
new risks as the project progresses.
Some examples of tracking metrics include

Number of customer requests for changes


Number of days behind schedule for a particular milestone or deliverable
Rate of project or vendor staff turnover
Customer comments on user interface design

The identified metrics and/or events are tracked to determine if there are any
changes in the risk profile. In the event the risk exposure increases significantly, the risk
should be elevated to project management. Refer to the SID Policy on Risk Management
for a sample risk escalation matrix.
Any mitigation activities should be tracked to determine if they are having the
desired effect of reducing risk exposure. If the mitigation strategies do not appear to be
having a positive effect, new approaches should be implemented.
The status of significant risks should be discussed at the project management
status meetings. The Project Manager may assign additional staff if necessary to assist
with additional mitigation activities.
The vendor should report their current high priority risks in their status meetings.
The project is also required to report the project risks in status reports to the department.

RDVV, JABALPUR

40

On-line Banking system

Types of Risks

Project risks:
It threatens the project plan. That is if project risks become real, it is likely that
project schedule will slip & that costs will increase. Project risk identifies potential
budgetary, schedule, personnel resource & their impact on a software project.
Technical risks:
Technical risks threaten the quality & timeliness of the software to be produced. If
a technical risk becomes a reality, implementation may become difficult or impossible.
Technical risks identify potential design, implementation, interface, verification, and
maintenance problems. Technical risk occurs because the problems harder to solve than
we thought it would be.
Business model:
It threatens the viability of the software to be built. Business risks often jeopardize
the project or the product. Candidates for the top five business risks are:

Building an excellent product or system that no one really wants.


Building a product that no longer fits into the overall business strategy for the
system.
Building a product that sales force doesnt understand how to sell.
Losing the support of team members due to change in focus or change in people.

RDVV, JABALPUR

41

On-line Banking system

REVIEW
Review
Introduction:
A Post Implementation Review (PIR) is a formal review of a program or project.
It is used to answer the question: Did we achieve what we set out to do, in business terms
and if not, what should be done?
For a construction, development or procurement project, a PIR is undertaken
when there has been time to demonstrate the business benefits of a new service or
building. For a major program of change there may be several PIRs over time.

Why is it important?
A PIR is an essential component of the benefits management process. It checks
whether benefits, including these set out in the business case have been achieved and
identifies opportunities for further improvement. Without a PIR, you cannot demonstrate
that your investment in the programmed of business change was worthwhile.

Who is involved?
Team members conducting the review will typically include:

people with working knowledge of the business area under review and its
processes
people with relevant technical knowledge

strategy planners with knowledge of the organizations business strategy and the
business change contribution to it

People involved in the everyday benefits management process.

Principles:
Projects vary in their scope, method of delivery and the environment in which
they are implemented. The reviews of such projects vary similarly. There is, however, a
set of fundamental principles, which apply to all projects; they have implications for the
conduct of the review.
Reviews help organizations to assess the contribution of business change projects
to business objectives these objectives and the metrics that will be applied to measure

RDVV, JABALPUR

42

On-line Banking system


their achievement should be stated in your business and supporting strategies. In practice,
these objectives are achieved through projects and programmers of business change.
End Project Report (EPR) and PIR are related but have different objectives a
EPR is a one-off exercise at the end of a project with the key objective of learning lessons
and feeding them into the organizations project management processes and procedures
for the benefit of future projects. The objective of the PIR is to ensure that the maximum
benefit is obtained for the organization through the business change that the project made
possible, and to make recommendations if the benefits are not obtained.
PIRs identify and appraise opportunities to improve the effectiveness of business
change by maximizing benefits and by minimizing costs and risks throughout its
lifecycle a business change will consume resource and have the potential to deliver
benefit. Over time and with changing circumstances the benefits profile will alter. PIRs
examine ways of maximizing benefits and minimizing costs on an ongoing basis.
Reviews must be conducted in an open manner; organizations must be prepared to
learn to get most value, reviews should be conducted openly and participants must be
prepared to make constructive criticism. It is only in this way that real lessons will be
learned or improvements to business processes and supporting infrastructure made.
Recommendations need to be implemented by the organization if reviews are to
add real value recommendations for improvements should add value to the business.
This will involve changing the way the business system or process operates in some way.
Recommendations must be sufficiently robust for the organization to be able to act upon
them. Importantly, good practice in project management and business operations should
be included in recommendations for incorporating in the organizations guidelines for
good practice.

Figure 11.1 : The PIR process

RDVV, JABALPUR

43

On-line Banking system

SYSTEM DESIGN

System Design
System development can generally be thought of having two major components:
1)
2)

Systems Analysis
Systems Design

In System Analysis more emphasis is given to understanding the details of an


existing system or a proposed one and then deciding whether the proposed system is
desirable or not and whether the existing system needs improvements. Thus, system
analysis is the process of investigating a system, identifying problems, and using the
information to recommend improvements to the system.
System design is the process of planning a new business system or one to replace
or complement an existing system. Analysis specifies what the system should do. Design
states how to accomplish the objective.
The design documentation covers the application, user interface, business rules,
database analysis, interface review for external systems, network and security design

RDVV, JABALPUR

44

On-line Banking system

Figure 13.1: System Development Cycle

Principles of System design:

Correct & complete: The design should correctly implement a specification.


Maximize Cohesion: Cohesion describes how well the contents of a module cohere
(stick together). A component should implement a single logical function or should
implement a single logical entity.
Minimize Coupling: Coupling describes how modules interact. Systems should be
loosely coupled. Highly coupled systems have strong interconnections with units
dependent on each other. Loosely coupled systems are made up of components that
are independent or almost independent.
Understandability: A design must be understandable if it is to support modification.
Adaptability: The design must be easy to change.

Characteristics of good and bad design


Good Design
RDVV, JABALPUR

Bad Design
45

On-line Banking system

Change in one part of the system


doesn't always require a change in
another part of the system.
Every piece of logic has one and one
home.
The logic is near the data it operates
on.
System can be extended with changes
in only one place.

Simplicity

One
conceptual
change
requires changes to many parts
of the system.
Logic has to be duplicated.
Cost of a bad design becomes
overwhelming.
Can't remember where all the
implicitly linked changes have
to take place.
Can't add a new function
without breaking an existing
function.

Table 13.1

Data Flow Diagram

RDVV, JABALPUR

46

On-line Banking system

User Home

Login
Verificatio
n

User
Login

If User

If
Administrator
Loan
Applic
ation
process

Administrator
Home

Master
entry
process

Master
Tables

New
Account

Cust_acc
table

Money
Trans.

To User

Loan
verific
ation
process

Trans

Acc.t
Displa
y

Loan
Dtl.

ER-Diagram
RDVV, JABALPUR

47

On-line Banking system

Acc_type

trans
trans_id

Ty_id(p.k.)

User_ty

Cust

uty_id(p.k.)

cust_id (p.k.)

Cust_acc
acc_id(p.k.)

Loan_ty

Loans

Loan_dtl

Lty_id (p.k.)

Lty_id (p.k.)

Lty_id (p.k.)
Lty_dtl(p.k.)

Figure 13.4: ER-Diagram Whole System

RDVV, JABALPUR

48

On-line Banking system

DATA BASE

A CC_TY PE
T Y_ID
A CC_NA ME
MIN_B AL
INTRES T_P E R_A NA M

NUMBE R(3)
V ARCHAR2(60)
NUMBE R(10 ,2)
NUMBE R(5,2 )

TY_ID = TY_ID

ACC_ID = ACC_ID

CUS T_A CC
A CC_ID
NUMBE R(5)
CUS T _ID
NUMBE R(5)
T Y_ID
NUMBE R(3)
A CC_NO
V ARCHAR2(10)
UTY_ID = UTY_ID
OPE NING_DA TE
DAT E
OPE NING_B A L
NUMBE R(10 ,2)

LOAN_TY
LT Y_ID
NUMBE R(3)
LT Y_NAME
V ARCHAR2(30)
INTE RE ST
NUMBE R(10 ,2)

T RA NS
LTY_ID
= LTY_ID
T RA NS _ID
NUMBE R(20 )
A CC_ID
NUMBE R(5)
DEB IT
NUMBE R(10 ,2)
CRE DIT
NUMBE R(10 ,2)
T R_DTL
V ARCHAR2(30)
P TRANS_ID
NUMBE R(20 )

LOAN_ID = LOAN_ID

CUST_ID = CUST_ID

CUST_ID = CUST_ID

CUS T
CUS T_ID
UTY _ID
CNA ME
A DDR
T ELNO
P WD
CCRNO

LOANS
LOAN_ID
NUMBE R(8)
CUS T_ID
NUMBE R(5)
LT Y_ID
NUMBE R(3)
LOAN_DT
DAT E
LOAN_AMT
NUMBE R(10 ,2)
LOAN_PE RI OD
NUMBE R(2)
NO_OF_INS T A
NUMBE R(3)
P ENALT Y
NUMBE R(10 ,2)
INST A_A MT
NUMBE R(10 ,2)
IS PA ID
CHA R(1)
TRANS_ID = TRANS_ID
IS CCR
CHA R(1)
IS GRANTE D
CHA R(1)
A PP _NO
V ARCHAR2(30)

UTY _ID
UTY PE

USE R_T Y
NUMBE R(5)
V ARCHAR2(10)

LOAN_DT L
LOAN_ID
NUMBE R(8)
LOAN_DT L
NUMBE R(8)
T RA NS _ID
NUMBE R(20 )
CUS T_ID
NUMBE R(5)
A MT _PA ID
NUMBE R(10 ,2)
P AY _DT
DAT E
RECIPT _NO
V ARCHAR2(5)

NUMBE R(5)
NUMBE R(5)
V ARCHAR2(40)
V ARCHAR2(50)
V ARCHAR2(30)
CHA R(30)
V ARCHAR2(20)

Web Pages
Home Page

RDVV, JABALPUR

49

On-line Banking system

Administrators Login screen

RDVV, JABALPUR

50

On-line Banking system

Login Page
RDVV, JABALPUR

51

On-line Banking system

Account Type

RDVV, JABALPUR

52

On-line Banking system

Customer screen

RDVV, JABALPUR

53

On-line Banking system

New Account Screen

RDVV, JABALPUR

54

On-line Banking system

Transaction screen

RDVV, JABALPUR

55

On-line Banking system

RDVV, JABALPUR

56

On-line Banking system


Customer Login Screen

RDVV, JABALPUR

57

On-line Banking system


Account Details

RDVV, JABALPUR

58

On-line Banking system


Money transfer

RDVV, JABALPUR

59

On-line Banking system


Loan Application

RDVV, JABALPUR

60

On-line Banking system


Installment Payment

RDVV, JABALPUR

61

On-line Banking system

USER
CHARACTERISTICS
Implementation

We divide the on-line banking for Two types of user they are as under:
1. Administrator.
2. Customers.
.
1. Administrator:
In on-line banking administrator can perform the following function:
Can create new account types.
Can create new loan types.
Can create new customers.
Can create new accounts.
Can deposit money and withdrawal.
Can approve loans.
2. customers:
Customers are the regular user of our site. Customers can perform the various
functions as a user they are as under:

check his account balance


money transfer from one account to another account
Account statements.
Loan application and view approval state.
Payment of loan installments.

RDVV, JABALPUR

62

On-line Banking system

12
12

SYSTEM
TESTING

Fundamentals
Fundamentalsofofsoftware
softwaretesting
testing
Strategic
approach
toward
software
Strategic approach toward software
testing
testing
Unit
Unittesting
testing
Integration
Integrationtesting
testing
Validation
Validationtesting
testing
System
Systemtesting
testing

RDVV, JABALPUR

63

On-line Banking system

Fundamentals of Software Testing


Testing is basically a process to detect errors in the software product. Before
going into the details of testing techniques one should know what errors are. Whenever
there is difference between what is expected out of software and what is being achieved,
there is an error. For the output of the system, if it differs from what was required, it is
due to an error. In case of an error there may be change in the format of out, some
unexpected behavior from system, or some value different from the expected is obtained.
These errors can due to wrong analysis, wrong design, or some fault on developer's part.
All these errors need to be discovered before the system is implemented at the customer's
site. Because having a system that does not perform as desired be of no use. All the effort
put in to build it goes waste. So testing is done. And it is equally important and crucial as
any other stage of system development. For different types of errors there are different
types of testing techniques. In the section that follows we'll try to understand those
techniques.

Test Information Flow:


Testing is a complete process. For testing we need two types of inputs. First is
software configuration. It includes software requirement specification, design
specifications and source code of program. Second is test configuration. It is basically
test plan and procedure. Software configuration is required so that the testers know what
is to be expected and tested whereas test configuration is testing plan that is, the way how
the testing will be conducted on the system. It specifies the test cases and their expected
value. It also specifies if any tools for testing are to be used. Test cases are required to
know what specific situations need to be tested. When tests are evaluated, test results are
compared with actual results and if there is some error, then debugging is done to correct
the error. Testing is a way to know about quality and reliability. Error rate that is the
occurrence of errors is evaluated. This data can be used to predict the occurrence of errors
in future.

Test Case design:


We now know, test cases are integral part of testing. So we need to know more
about test cases and how these test cases are designed. The most desired or obvious
expectation from a test case is that it should be able to find most errors with the least
amount of time and effort.

RDVV, JABALPUR

64

On-line Banking system


Levels of testing:
We can break up testing procedure in four major parts. These are also known as levels of
testing

Client Needs

Acceptance Testing

Requirements

System Testing

Integration Testing

Design

Code

Unit Testing

Figure 15.1: Level of Testing

RDVV, JABALPUR

65

On-line Banking system

Strategic Approach towards Software Testing


There are different techniques for detecting and eliminating bugs that originate in
respective phase. Software testing strategy integrates software test case design techniques
into a well-planned series of steps that result in the successful construction of software.
Testing is a set of activities. These activities so planned and conducted schematically that
it leaves no scope for rework or bugs. Various software-testing strategies have been
proposed so far. All provide a template for testing. Things that are common and important
in these strategies are:

Testing begins at the module level and works outward: tests which are carried
out are done at the module level where major functionality is tested and then it
works toward the integration of the entire system.

Different testing techniques are appropriate at different points in time: Under


different circumstances, different testing methodologies are to be used which will
be the decisive factor for software robustness and scalability. Circumstance
essentially means the level at which the testing is being done (Unit testing, system
testing, Integration testing etc.) and the purpose of testing.

The developer of the software conducts testing and if the project is big then there
is a testing team: All programmers should test and verify that their results are
according to the specification given to them while coding. In cases where
programs are big enough or collective effort is involved for coding,
responsibilities for testing lies with the team as a whole

Debugging and testing are altogether different processes. Testing aims to finds the
errors whereas debugging is the process of fixing those errors. But debugging
should be incorporated in testing strategies A software strategy must have lowlevel tests to test the source code and high-level tests that validate system
functions against customer requirements

RDVV, JABALPUR

66

On-line Banking system

Unit Testing
We know that smallest unit of software design is a module. Unit testing is
performed to check the functionality of these units. It is done before these modules are
integrated together to build the overall system. Since the modules are small in size,
individual programmers can do unit testing on their respective modules. So unit testing is
basically white box oriented. Procedural design descriptions are used and control paths
are tested to uncover errors within individual modules. Unit testing can be done for more
than one module at a time.
The following are the tests that are performed during the unit testing:

Module interface test: here it is checked if the information is properly flowing


into the program unit and properly coming out of it.

Local data structures: these are tested to see if the local data within it (module) is
stored properly by them.

Boundary conditions: It is observed that much software often fails at boundary


conditions. That's why boundary conditions are tested to ensure that the program
is properly working at its boundary conditions.

Independent paths: All independent paths are tested to see that they are properly
executing their task and terminating at the end of the program.

Error handling paths: These are tested to check if errors are handled properly by
them.

Unit Testing Procedure:


Unit testing begins after the source code is developed, reviewed and verified for
the correct syntax. Though each module performs a specific task yet it is not a standalone
program. It may need data from some other module or it may need to send some data or
control information to some other module. Since in unit testing each module is tested
individually, so the need to obtain data from other module or passing data to other
module is achieved by the use of stubs and drivers. Stubs and drivers are used to simulate
those modules. A driver is basically a program that accepts test case data and passes that
data to the module that is being tested. Similarly stubs are also programs that are used to
replace modules that are subordinate to the module to be tested. Once the individual
RDVV, JABALPUR

67

On-line Banking system


modules are tested then these modules are integrated to form the bigger program
structures. So next stage of testing deals with the errors that occur while integrating
modules.

Integration Testing
Unit testing ensures that all modules have been tested and each of them works
properly individually. Unit testing does not guarantee if these modules will work fine if
these are integrated together as a whole system. It is observed that many errors crop up
when the modules are joined together. Integration testing uncovers errors that arise when
modules are integrated to build the overall system. Following types of errors may arise:

Data can be lost across an interface. That is data coming out of a module is not
going into the desired module.

Sub-functions, when combined, may not produce the desired major function.

Individually acceptable imprecision may be magnified to unacceptable levels. For


example, in a module there is error-precision taken as +- 10 units. In other module
same error-precision is used. Now these modules are combined. Suppose the
error-precision from both modules needs to be multiplied then the error precision
would be +-100 which would not be acceptable to the system.

Global data structures can present problems: For example, in a system there is a
global memory. Now these modules are combined. All are accessing the same
global memory. Because so many functions are accessing that memory, low
memory problem can arise.

Integration testing is a systematic technique for constructing the program structure


while conducting tests to uncover errors associated with interfacing. The objective is to
take unit tested modules, integrate them, find errors, remove them and build the overall
program structure as specified by design.

RDVV, JABALPUR

68

On-line Banking system

Validation Testing

After the integration testing we have an assembled package that is free from
modules and interfacing errors. At this stage a final series of software tests, validation
testing begins. Validation succeeds when software functions in a manner that can be
expected by the customer. Software validation is achieved through a series of black-box
tests that demonstrate conformity with requirements.
Alpha and Beta testing:
For a software developer, it is difficult to foresee how the customer will really use
a program. When custom software is built for one customer, a series of acceptance tests
are conducted to enable the customer to validate all requirements. Acceptance test is
conducted by customer rather than by developer. If software is developed as a product to
be used by many customers, it is impractical to perform formal acceptance tests with each
one. Most software product builders use a process called alpha and beta testing to
uncover errors that only the end user seems able to find. Customer conducts the alpha
testing at the developers site. The software is used in a natural setting with the developer.
The developer records errors and usage problem. Alpha tests are conducted in a
controlled environment.
The beta test is conducted at one or more customer sites by the end user(s) of the
software. Here, developer is not present. Therefore, the beta test is a live application of
the software in an environment that cannot be controlled by the developer. The customer
records all problems that are encountered during beta testing and reports these to the
developer at regular intervals. Because of problems reported during beta test, the software
developer makes modifications and then prepares for release of the software product to
the entire customer base.

RDVV, JABALPUR

69

On-line Banking system

System Testing
System testing is actually a series of different tests whose primary purpose is to
fully exercise the computer-based system. Although each test has a different purpose, all
work to verify that all system elements have been properly integrated and perform
allocated functions. In the following section, different system tests are discussed.

Testing Strategies:
Unit testing - based on the unit test plan for various screens and their outputs.
System testing - based on the system test plan for concurrency and performance issues
Sample Unit Test Cases:
For Login Screen
SN. Test Condition
Enter an invalid
Password
1
2
3

5.

Expected Result

Press "Login"
without entering the
username
Enter the Password
less than four character
Log on to the
system using the
same username and
password from two
Computers.
Log on to the system using
different user-ids
from different machines
and try editing the same
enquiry

Should give you the message that the password is


invalid.
Should prompt you that a
value is expected for
Username
Should prompt that the
Password cannot be less than four character
Should give you the message that somebody is
already logged on the system using this username and
password.
Should allow you but
should do it sequentially ( meaning the addition of
comments should be cumulative)

Table 15.1: Sample Unit Test Case

RDVV, JABALPUR

70

On-line Banking system

13
13

LIMITATION

RDVV, JABALPUR

71

On-line Banking system

Limitations

On-line banking is an online system, so it must need an internet connection to


access it..
The scope and reach of on-line banking will be dependant on how widely the
Kiosks are spread out.

Credit card transactions and statements are not added.

Possibilities of fraud.

Electronic clearance scheme is not supported

RDVV, JABALPUR

72

On-line Banking system

14
14

FUTURE
ENHANCEMENT

RDVV, JABALPUR

73

On-line Banking system

Future Enhancements

Credit card transactions and statements generation facilities.


Possibilities of fraud can be limited using internet securities and encryption.

Enhancement for electronic clearance scheme.

RDVV, JABALPUR

74

On-line Banking system

15
15

CONCLUSION

RDVV, JABALPUR

75

On-line Banking system

Conclusion

RDVV, JABALPUR

76

On-line Banking system

16
16

REFERENCES

RDVV, JABALPUR

77

On-line Banking system

References

BOOKS:
Software engineering
ASP.Net Unleashed
.Net Web Services
Database Management System
Professional VS .NET 2005

RDVV, JABALPUR

R.Pressman
Stephen Walther
Keith Ballinger
Henry F.Korth,Navathe
Worn Publication

78

On-line Banking system

RDVV, JABALPUR

79

You might also like