You are on page 1of 58

SYNOPSIS

Cheque Leaf management System (CLMS) has been designed for the need of
various agencies that are responsible for the collection of the post-paid mobile bills.
Usually the customers pay their mobile bills by going to the specified areas and branches.

But by using this product by the concerned company, the customers can pay their bills
through cheques, and no need to stand in the long queue. Rather the company which uses

this product will have their drop boxes in some selected areas; there the customer needs
only to drop his cheque in the respective drop box.
At the end of the day the employees of the company go and collect the cheques from
the respective drop boxes. After collecting all the cheques of that particular day, they log
on to this product and start entering the data i.e. bills and cheques. The product has been
designed user friendly for entering data by the employees.
The features of this product are, Cheque Leaf Management System does the
processing of the post paid cheques, which are deposited into the paycheck boxes kept at
various outlets of a particular city.
These cheques can be of credit card customers or the mobile subscribers. System
user will have to enter all the billing details of the cheques. They have to double entry of
the cheques. If the cheques are found invalid, then they need to send it to the company.
The application enables the users to input data at a very high speed as thousands of cheque
data need to be input every days.

CHAPTER 1
SYSTEM STUDY

1. SYSTEM STUDY
1.1 Feasibility study
Feasibility studies aim to objectively and rationally uncover the strengths and
weaknesses of the existing business or proposed venture, opportunities and threats as
presented by the environment, the resources required to carry through, and ultimately the
prospects for success.

In its simplest terms, the two criteria to judge feasibility are cost required and value
to be attained. As such, a well-designed feasibility study should provide a historical
background of the business or project, description of the product or service, accounting
statements, details of the operations and management, marketing research and policies,
financial data, legal requirements and tax obligations.
Generally, feasibility studies precede technical development and project
implementation.

1.1.1 Economic feasibility


Economic analysis is the most frequently used method for evaluating the
effectiveness of a new system. More commonly known as cost/benefit analysis, the
procedure is to determine the benefits and savings that are expected from a candidate
system and compare them with costs.
If benefits outweigh costs, then the decision is made to design and implement the
system.
An entrepreneur must accurately weigh the cost versus benefits before taking an action.

Cost-based study:
It is important to identify cost and benefit factors, which can be categorized as
follows:
1. Development costs; and

2. Operating costs.

This is an analysis of the costs to be incurred in the system and the benefits
derivable out of the system.

3. Time-based study:
This is an analysis of the time required to achieve a return on investments. The
future value of a project is also a factor.

1.1.2 Technical Feasibility Study


The assessment is based on an outline design of system requirements in terms of
Input, Processes, Output, Fields, Programs, and Procedures. This can be quantified in
terms of volumes of data, trends, frequency of updating, etc. in order to estimate whether
the new system will perform adequately or not.
Technological feasibility is carried out to determine whether the company has the
capability, in terms of software, hardware, personnel and expertise, to handle the
completion of the project. When writing a feasibility report the following should be taken
to consideration:

A brief description of the business to assess more possible factor/s which could
affect the study
The part of the business being examined
The human and economic factor
The possible solutions to the problems
At this level, the concern is whether the proposal is both technically and legally
feasible (assuming moderate cost).

1.1.3Operational feasibility
Operational feasibility is a measure of how well a proposed system solves the
problems, and takes advantage of the opportunities identified during scope definition and
how it satisfies the requirements identified in the requirements analysis phase of system
development

SYSTEM SPECIFICATIONS

1.2 SYSTEM SPECIFICATIONS

1.2.1HARDWARE SPECIFICATIONS

Processor

Intel Pentium III

Speed

600 MHz

Hard Disk

10 GB

RAM

128 MB

Floppy Disk

1.44 MB

Display Type

EGA/VGA

Keyboard

104 Keys Keyboard

Mouse

Generic 2 Button

CDROM Drive

52x

1.2.2 SOFTWARE SPECIFICATIONS


Operating System

Windows 2000/XP

Front End

JSP, Servlets

Back End

MySQL

Web Browser

Internet Explorer

Web Server

Tomcat

Scripting Language

JavaScript

1.2.3 TECHNOLOGIES USED


MVC Architecture (Model-View-Controller)

XML

1.2.4 TOOLS USED


Ant
nRich (a code generating tool)

nCash(a Java-JDBC bridge, set of APIs)

1.2.4 ABOUT THE SOFTWARE

JAVA SERVER PAGES

Java Server Pages (JSP) technology enables you to mix regular, static HTML with
dynamically generated content from services. You simply write the regular HTML in the

normal manner, using familiar Web-page-building tools. Separating the static HTML from
the dynamic content provides a number of benefits over servlets alone, and the approach
used in Java Server Pages offers several advantages over competing technologies such as
ASP, PHP, or Cold Fusion.

JSP is widely supported and thus doesnt lock you into a particular operating system
or Web server and that JSP gives you full access to servlet and Java technology for the
dynamic part, rather than requiring you to use an unfamiliar and weaker special purpose

language.

Java Server Pages (JSP) technology enables you to mix regular, static HTML with
dynamically generated content from servlets. Many Web pages that are built by CGI
programs are primarily static, with the parts that change limited to a few small locations.
For example, the initial page at most on-line stores is the same for all visitors, except for a
small welcome message giving the visitors name if it is known. But most CGI variations,
including servlets, make you generate the entire page via your program, even thought most

of it is always the same. JSP lets you create the two pats separately. Most of the page
consists of regular HTML, which is passed to the visitor unchanged. Parts that are
generated dynamically are marked with special HTML-like tags and mixed right into the
page.

The advantages of JSP are two fold. First, the dynamic part is written in Java, not
VBScript or another ASP-specific language, so it is more powerful and better suited to
complex applications that require reusable components, Second, JSP is portable to other
operating systems and Web servers; you arent locked into Windows NT/2000 and IIS.
You could make the same argument when comparing JSP to Cold Fusion; with JSP you
can use Java and are not tied to a particular server product.

JSP doesnt provide any capabilities that couldnt in principle to accomplish with a
servlet. In fact, JSP documents are automatically translated into servlets behind the scenes.
But it is more convenient to write (and to modify!) regular HTML than to have a zillion
println statements that generate the HTML. Plus, by separating the presentation from the
content, you can put different people on different tasks: your web page design experts can
build the HTML using familiar tools and leave places for your servlet programmers to
insert the dynamic content.

ADVANTAGES OF JSP

vs. Active Server Pages (ASP). ASP is a similar technology from Microsoft.
The advantages of JSP are twofold. First, the dynamic part is written in Java,
not Visual Basic or other MS-specific language, so it is more powerful and
easier to use. Second, it is portable to other operating systems and nonMicrosoft Web servers.

vs. Pure Servlets. JSP doesn't give you anything that you couldn't in

principle do with a servlet. But it is more convenient to write (and to modify!)


regular HTML than to have a zillion println statements that generate the
HTML. Plus, by separating the look from the content you can put different
people on different tasks: your Web page design experts can build the HTML,
leaving places for your servlet programmers to insert the dynamic content.

vs. Server-Side Includes (SSI). SSI is a widely supported technology for


including externally defined pieces into a static Web page. JSP is better
because it lets you use servlets instead of a separate program to generate that
dynamic part. Besides, SSI is really only intended for simple inclusions, not
for "real" programs that use form data, make database connections, and the
like.

vs. JavaScript. JavaScript can generate HTML dynamically on the client.


This is a useful capability, but only handles situations where the dynamic
information is based on the client's environment. With the exception of
cookies, HTTP and form submission data is not available to JavaScript. And,
since it runs on the client, JavaScript can't access server-side resources like
databases, catalogs, pricing information, and the like.

vs. Static HTML. Regular HTML, of course, cannot contain dynamic


information. JSP is so easy and convenient that it is quite feasible to augment

HTML pages that only benefit marginally by the insertion of small amounts
of dynamic data. Previously, the cost of using dynamic data would preclude
its use in all but the most valuable instances.

SERVLETS
Servlets are Java technology's answer to CGI programming. They are programs that run
on a Web server and build Web pages. Building Web pages on the fly is useful (and
commonly done) for a number of reasons:

The Web page is based on data submitted by the user. For example the results
pages from search engines are generated this way, and programs that process
orders for e-commerce sites do this as well.

The data changes frequently. For example, a weather-report or news headlines


page might build the page dynamically, perhaps returning a previously built page
if it is still up to date.

The Web page uses information from corporate databases or other such
sources. For example, you would use this for making a Web page at an on-line
store that lists current prices and number of items in stock.

ADVANTAGE OF SERVLETS

Java servlets are more efficient, easier to use, more powerful, more portable, and
cheaper than traditional CGI and than many alternative CGI-like technologies.
Efficient. With traditional CGI, a new process is started for each HTTP request. If
the CGI program does a relatively fast operation, the overhead of starting the
process can dominate the execution time. With servlets, the Java Virtual Machine
stays up, and each request is handled by a lightweight Java thread, not a
heavyweight operating system process.
Convenient Hey, you already know Java. Why learn Perl too? Besides the
convenience of being able to use a familiar language, servlets have an extensive

infrastructure for automatically parsing and decoding HTML form data, reading and
setting HTTP headers, handling cookies, tracking sessions, and many other such
utilities.
Powerful. Java servlets let you easily do several things that are difficult or
impossible with regular CGI. For one thing, servlets can talk directly to the Web
server (regular CGI programs can't). This simplifies operations that need to look up
images and other data stored in standard places. Servlets can also share data among
each other, making useful thing like database connection pools easy to implement.
Portable. Servlets are written in Java and follow a well-standardized API.

Consequently, servlets written for, says I-Planet Enterprise Server can run virtually

unchanged on Apache, Microsoft IIS, or WebStar. Servlets are supported directly or


via a plug in on almost every major Web server.
Inexpensive. There are a number of free or very inexpensive Web servers available
that are good for "personal" use or low-volume Web sites. However, with the major
exception of Apache, which is free, most commercial-quality Web servers are
relatively expensive. Nevertheless, once you have a Web server, no matter the cost

of that server, adding servlet support to it (if it doesn't come preconfigured to


support servlets) is generally free or cheap.
JAVASCRIPT
JavaScript was developed by the Netscape Corporation and was implemented in its
original form in Netscape 2.0. JavaScript is, as the Language implies, a scripting language.
The two main sections of JavaScript are Functions and Scripts. Functions should be
defined in the <head> section of an HTML document, but can be executed in any part of

the document based on certain conditions and criteria. Scripts execute when the document
is loaded and are placed in the <body> section of the document.
Before JavaScript, to create interactive forms (web pages with fields, buttons, and
menus) you needed to write computer programs ("CGI" scripts) that resided on and ran
from a web server. But with JavaScript, you can perform many form tasks without
connecting to a web server Even better, JavaScript allows you to create content that is
dynamic, so that the code inside one web page can produce many different types of
displays and features depending on the viewer's actions, including the images that change

when you move the mouse over a graphic.


ADVANTAGES OF JAVASCRIPT
As stated above, JavaScript provides interactivity for your web pages without
relying on server-side "CGI programming, which means your pages can be interactive
even when you are not connected to the Internet. Since the code is typed directly into your
HTML files, you can create JavaScript with software as simple as a plain text editor. You

can quickly test and modify JavaScript code. JavaScript also provides useful commands
for testing the viewers capability to view other types of web multimedia
J2EE TECHNOLOGY

Today, more and more developers want to write distributed transactional


applications for the enterprise and leverage the speed, security, and reliability of serverside technology. If you are already working in this area, you know that in todays fastmoving and demanding world of e-commerce and information technology, enterprise
applications have to be designed, built, and produced for less money, with greater speed,
and with fewer resources than ever before.
To reduce costs and fast-track application design and development, Java 2
Platform, Enterprise Edition (J2EE) provides a component-based approach to the
design, development, assembly, and deployment of enterprise applications.

The J2EE platform offers a multi-tiered distributed application model, reusable


components, a unified security model, flexible transaction control, and Web services
support through integrated data interchange on Extensible Markup Language (XML)based open standards and protocols.
Not only can you deliver innovative business solutions to market faster than ever,
but also your platform-independent J2EE component-based solutions are not tied to the
products and application programming interfaces (APIs) of any one vendor. Vendors and
customers enjoy the freedom to choose the products and components that best meet their
business and technological requirements.
The J2EE platform uses a multi-tiered distributed application model for both
enterprise applications. Application logic is divided into components according to
function, and the various application components that make up a J2EE application are
installed on different machines depending on the tier in the multi-tiered J2EE environment
to which the application component belongs. Figure shows two multi-tiered J2EE

applications divided into the tiers described in the following list. The J2EE application
parts shown in Figure are presented in
J2EE Components
Client-tier components run on the client machine.
Web-tier components run on the J2EE server.

Business-tier components run on the J2EE server.


Enterprise information system (EIS)-tier software runs on the EIS server.
APACHE ANT 1.5.4
Apache Ant is a Java-based build tool. In theory, it is kind of like make, without
make's wrinkles. Why another build tool when there is already make, gnumake, nmake,
jam, and others? Because all those tools have limitations that Ant's original author couldn't
live with when developing software across multiple platforms. Make-like tools are
inherently shell-based: they evaluate a set of dependencies, then execute commands not
unlike what you would issue on a shell. This means that you can easily extend these tools
by using or writing any program for the OS that you are working on; however, this also
means that you limit yourself to the OS, or at least the OS type, such as Unix, that you are
working on.
Ant is different. Instead of a model where it is extended with shell-based
commands, Ant is extended using Java classes. Instead of writing shell commands, the
configuration files are XML-based, calling out a target tree where various tasks get
executed. Each task is run by an object that implements a particular Task interface.
WRITING A SIMPLE BUILDFILE
Ant's buildfiles are written in XML. Each buildfile contains one project and at least
one (default) target. Targets contain task elements. Each task element of the buildfile can
have an id attribute and can later be referred to by the value supplied to this. The value has
to be unique.
MySQL DATABASE
The computer industry moves to more sophisticated and distributed environments.

The overwhelming majority of databases used on computer systems are relational


databases. Also, server databases such as relational databases on mainframe or
minicomputer system support the use of Structured Query Language (SQL), as well as
proprietary tools for accessing data.
APACHE TOMCAT (WEB SERVER)
Tomcat is the servlet container that is used in the official Reference Implementation
for the Java Servlet and Java Server Pages technologies. The Java Servlet and Java Server
Pages specifications are developed by Sun under the Java Community Process. Tomcat is
developed in an open and participatory environment and released under the Apache
Software License. Tomcat is intended to be a collaboration of the best-of-breed developers
from around the world. Tomcat 4.1 is a refactoring of Tomcat 4.0.x, and contains
significant enhancements, including:
JMX based administration features
JSP and Struts based administration web application
New Coyote connector (HTTP/1.1, AJP 1.3 and JNI support)

Rewritten Jasper JSP page compiler


Performance and memory efficiency improvements
Enhanced manager application support for integration with development tools
Custom Ant tasks to interact with the manager application directly from
build.xml scripts
MVC ARCHITECTURE
Flexibility in large component based systems raise questions on how to organize a
project for easy development and maintenance while protecting your data and reputation,
especially from new developers and unwitting users. The answer is in using the Model,
View, Control (MVC) architecture.
The MVC design pattern divides applications into three components:
The Model portion of an MVC-based system typically comprises JavaBean
classes that define the internal state of the system; they also specify the actions
that can be taken to change that state.

The View portion of an application is generally constructed using JSP


technology. JSP pages can contain static HTML (or XML) text called "template
text", plus the ability to insert dynamic content based on the interpretation (at
page request time) of special action tags.
The Controller portion of the application is focused on receiving requests from
the client (typically a user running a web browser), deciding what business

logic function is to be performed, and then delegating responsibility for


producing the next phase of the user interface to an appropriate View
component

NEED FOR A FRAMEWORK


The web application developer needs a library of component-level objects to choose
from to construct web applications quickly and consistently. Every developer knows the
process - over the course of building a few applications you start to collect reusable code sometimes just a routine or utility, sometimes an entire subsystem (such as security or

database access). As you begin to re-use these pieces, you get more efficient at doing the
next project, and the next.
A framework can make it very easy to quickly build sophisticated web applications.
Rather than simple Java Servlets that merely enable access to a database, a framework
allows you to build entire systems, with secure, high-performance database access via an
object-to -relational mapping (no need to embed SQL in your code), background job
queuing and handling with dynamic invocation of custom server-side objects, and
sophisticated event notifications and logging to facilitate management of your completed
application.
Developers can focus on creating the business logic and layout of the UI. All the
tedious infrastructure work is already there to build upon, so that creating applications is
easy and fast.

ARCHITECTURE OF mPireTM FRAMEWORK


The mPireTM framework consists of 2 parts
mPireTM
nForceTM
(web interface)

nCacheTM
(Database Interface)

nCache tool act as JDBC bridge between the application logic and the actual database as
shown in figure below:
nRich

nCache

ActionRequest
HTML, JSP
Action Response

Servlet

Browsers

Web Server

JDBC
Bridge

Database

BACKEND INTERFACING PART (nCacheTM)


The Working of Tool
The structure of nCache tool is as shown in the figure below.

Create_table.sql

DO
nCache

VO entity.jar
Insert_table.sql

PO

The nCache tools takes two files as input, one, create_table.sql which contains the
tables required for the application, the other insert_table.sql which contains the initial
values that are to be inserted into the database. The create_table.sql is must.
The output of nCache contains three types of objects DO, VO, PO each for the tables used
in the database, which are auto generated by the tool.
Defining new tables (insert_table.sql)
The nCache tools takes two files as input, one, create_table.sql which contains the tables
required for the application, the other insert_table.sql which contains the initial values
that are to be inserted into the database. The data is inserted by user in insert_table.sql file.
2.2.5.2
GENERATION OF Entity. jar
Value Objects (VO)
VO is a class that contains methods that are used to getting individual records from the
record set, getting individual fields from the retrieved record, which is used by the JSP
page to display them. The common methods implemented in this class are get and set
methods which are used for getting the fields from and setting the fields to the database
tables.

Data Objects (DO)


DO is a class that contains various methods that are used in the business logic to
transact with the database. It contains methods, which handles lower level details. The

lower level function includes establishing connection with the database, executing a
database query, putting the results into the resultset, closing connection.
Page Objects (PO)

PO is the class, which contains methods that reads the data from the forms and helps
in the insertion of records into the database. The interaction of PO, VO and DO is as
shown in the figure below.

Form

PO
Object

VO
Object

DO
Object

Database

PO object is used for the population of the records in the database. It contains a method
called populate.
Populate (req, <VO object>): This method accepts two arguments, first the request
object coming from the form and second the VO object. The data (i.e., the database fields)
of the VO object are set (i.e., populated) by the method. This is how the PO object acts as
intermediary in the process of transferring the data from the form to the database.
CONNECTION POOLING
It is very expensive operation to creating a database connection for most database
engines. If you have a server application, such as a Java servlet or a middle-tier application
server, that application is likely going back and forth between the database many times per
minute. Suddenly, the "open connection, talk to the database, close connection" model of
JDBC programming becomes a huge bottleneck.
The JDBC Optional Package provides a standardized solution to the problem

connection pooling. Connection pooling is a mechanism through which open database


connections are held in a cache for use and reuse by different parts of an application. In
our frame work, each user initiates the execution of the action class, If there is a need for
Database connection, it grabs a Connection instance from the connection pool. After
serving to that user, it returns the Connection instance to the pool. The Connection is never
closed until the web server shuts down.

SYSTEM DESIGN

DATA FLOW DIAGRAM


FUNDAMENTAL DESIGN CONCEPTS
Although the degree of interest in each concept has varied over the years, each has stood the test
of time. Each provides the software designer with a foundation form which more sophisticated design
methods can be applied. Fundamental design concepts provide the necessary for getting it right.

3.2 DATA FLOW DIAGRAM


The Data Flow Diagram (DFD) is one of the most important tools used by system analysts.
Unlike detailed flowchart, Data Flow Diagrams do not supply detailed description of the
modules but graphically describes a systems data and how the data interact with the
system.
To construct a Data Flow Diagram, we use,
Arrow
Circles
Open End Box

Squares
An arrow identifies the data flow in motion. It is a pipeline through which information is
flown like the rectangle in the flowchart. A circle stands for process that converts data into
information. An open-ended box represents a data store, data at rest or a temporary
repository of data. A square defines a source or destination of system data.

nv
ali
d
Ch
e

no

u re

eq

ls

ch

t ai
qu

De
he

ce
dc

ra n

's I
qu

sho

ea

ue

rn

Ch
eq

Di

Cl

Iss

Re
tu

ue

ill

l id C

CLMS

ue

BANK

e ta i

ls
ls

e ta i

e ta i

e t a il

ls

qu e
D

a il s

yD
eta
ils

Det

nt r

r i ng

ls E

ch D

Ch e

C le a

ran
nk D

in B

ue D

n Ba
h eq

n ta i

inta

r n ed

o rd

B il

ADMINISTRATOR

I nva

Mai

Ma

Re tu

R ec

es k

er

ue

yD

Us

ue b

Pa

Is s

Ne

CUSTOMER
a nk
wB h
N e r an c
wB

Ne

Ne

I ss

DATA FLOW DIAGRAM LEVEL ZERO

USER

e
Us

w
Ne

n
Ba

3.2
- -----------------New Bank

w
Ne

3.1
------------------New User

P arty

User pr

D
rI

et ai l
s

3.3
------------------New Branch

Branch Details
Branch

Ne
w
Pa
yD
es
od
e

3.4
------------------New PayDesk

kC

P ayDesk

s
k Deta il

Bank

e
od

ADMINISTRATOR

C od e

P a y De s

B an
kD

N
a nc h
ew Br

ofile

ADMIN MODULE DFD LEVEL-ONE


DATA FLOW DIAGRAM LOGIN MODULE

4.1
ll D
Bi
-----------------Chequ
Bill Entry
e Deta
ils
Cus
tom
er D
eta
ils
Br
an
ch
De
tai
ls

il
eta

Bill

PayDesk

Bank

Branch

Customer

Cheque

eq
ue
No

nk
Ba

ils
ta
e
D

ls
tai
e
D
ch
n
a
Br

tails
er De
m
o
t
s
Cu

Cheque Details

Bill D
etails

Ch
Pas
swo
rd

InvalidReason

4.2
-----------------Invalid Entry

D
e
ta
ils

4
---------------------USER/ADMIN

Invalid
Passw
ord

4.3
----------------Change
Password

Logout

ord
Passw
New

Logout

ord

No
ue
q
e
Ch

Pa
y
D
es
k

ls
tai
e
D
nk
sk
e
Ba
yD
Pa

il
ta
e
d

Party

sw
Pas
Old

USER/ADMIN MODULE DFD LEVEL-ONE

ils
eta
D
lid
Inva

DFD LEVEL-ONE

4
---------------------USER/ADMIN
eq

ue

No

ue

No

Ch

eq

4.5
------------------Return Cheque
Re

4.4
-----------------Clearance
Cheque

a il s
Det

q ue

t a il

eq
ue
De

C he

De

a te

te

Det

da

ils
e ta
nD

a i ls

tu r

Up

Ch

Upd

MODULE

Ch

USER/ADMIN

ta i

ReturnReason

ls

Cheque

3.2 DESIGN PROCESS


Design begins when management approves the feasibility study produced during detailed
analysis and authorizes the necessary funds and personnel to continue. It concludes when management
approves the design and authorizes development of the actual system.
DATABASE DESIGN
A database is a collection of interrelated data stored with minimum redundancy to serve
many users quickly and efficiently. The general objective of database design is to make the data access
easy, inexpensive and flexible to the user.

1.1: PARTY
Field
RecId
LoginName
psword
secQuestion
secAnswer
userName
dateofbirth
dateofjoining
sex
role
originState
contactCountry
residencyStatus
contactState
contactAddress
contactCity
contactZip
contactPhone
emailAddress

Type
Integer
Varchar
Varchar
Varchar
Varchar
Varchar
Date
Date
Char
Varchar
Char
Char
Integer
Char
Varchar
Varchar
Varchar
Varchar
Varchar

Size
10
16
16
64
64
32

1
16
2
2
5
2
132
32
16
16
32

Constraints
Primary
Unique
Not Null
Not Null
Not Null
Not Null
Not Null
Not Null
Not Null
Not Null
Not Null
Not Null
Not Null
Not Null
Not Null
Not Null
Not Null
Not Null
Unique

Description
Record ID
Login Name
Password
Secret Question
Secret Answer
User Name
Date of birth
Date of Joining
Sex
Role
Origin State
Contact country
Residency Status
Contact State
Contact Address
Contact City
Contact Zip
Contact Phone
Email Address

1.2: COUNTER
Field
recId
entityName
countvalue

Type
Int unsigned
Varchar
Integer

Size
10
32
10

Constraints
Primary
Not Null
Not Null

Description
Record ID
Entity Name
Count Value

1.3: BANK
Field
recId
bankCode
bankName
shortName

Type
Integer
Varchar
Varchar
Varchar

Size
10
6
32
10

Constraints
Not Null
Primary
Not Null
Not Null

Description
Record ID
Bank Code
Bank Name
Short Name

1.4: BRANCH
Field
recId
bankCode
branchCode
branchName
branchholiday

Type
Integer
Varchar
Varchar
Varchar
Varchar

Size
10
6
6
32
10

Constraints
Not Null
Foreign
Primary
Not Null
Not Null

Description
Record ID
Bank Code
Branch Code
Branch Name
Branch Holiday

1.5: CUSTOMER
Field
recId
accId
mobileNo
custName

Type
Integer
Varchar
Varchar
Varchar

Size
10
10
14
10

Constraints
Not Null
Not Null
Primary
Not Null

Description
Record ID
Account ID
Mobile Number
Customer Name

1.6: CHEQUE
Field
recId
sno
payDeskCode
chequeNo
chequeDate
chequeAmt
bankCode
branchCode
invalidFlag
invalidCode
ReturnFlag
returnCode
clearanceFlag

Type
Integer
Integer
Integer
Integer
date
Double
Varchar
Varchar
Integer
Integer
Integer
Integer
Integer

Size
10
10
4
10
10,2
6
6
2
2
2
2
2

Constraints
Not Null
Not Null
Foreign
Primary
Not Null
Not Null
Foreign
Foreign
Not Null
Not Null
Not Null
Not Null
Not Null

Description
Record ID
Serial Number
Pay Desk Code
Cheque Number
Cheque Date
Cheque Amount
Bank Code
Branch Code
Invalid Flag
Invalid Code
Return Flag
Return Code
Clearance Flag

1.7: PAYDESK
Field
recId
payDeskCode
payDeskName

Type
Integer
Integer
Varchar

Size
10
4
20

Constraints
Not Null
Primary
Not Null

Description
Record ID
Pay Desk Code
Pay Desk Name

1.8: BILL
Field
RecId
accId
mobileNo
billAmt
chequeNo

Type
Integer
Varchar
Varchar
Double
Integer

Size
10
10
14
10,2
10

Constraints
Primary
Not Null
Foreign
Not Null
Foreign

Description
Record ID
Account ID
Mobile Number
Bill Amount
Cheque Number

1.9: INVALIDREASON
Field
recId
invalidCode
invalidReason

Type
Integer
Integer
Varchar

Size
10
2
30

Constraints
Primary
Unique
Not Null

Description
Record ID
Invalid Code
Invalid Reason

1.10: RETURNREASON
Field
recId
returnCode
returnReason

Type
Integer
Integer
Varchar

Size
10
2
30

Constraints
Primary
Unique
Not Null

Description
Record ID
Retuen Code
Return Reason

3.4 INPUT DESIGN


The input design is the process of converting the user-oriented inputs into the computer-based
format. The goal of designing input data is to make the automation as easy and free from errors as
possible. For providing a good input design for the application easy data input and selection features are
adopted.
The input design requirements such as user friendliness, consistent format and interactive dialogue
for giving the right message and help for the user at right time are also considered for the development of
the project.

The input forms compromises of the following:


User Login Page
Change Password Page
Add New User Page
Add New Bank Page
Add New Branch Page
Add New Paydesk Page
Report Page
Bills Entry Page
Invalid Entry Page
Return Entry Page
Clearance Entry Page
3.3.3

OUTPUT DESIGN
A quality output is one, which meets the requirements of the end user and presents the information

clearly. In any system results of processing are communicated to the users and to other systems through
outputs. In the output design it is determined how the information is to be displayed for immediate need
and also the hard copy output. It is the most important and direct source information to the user. Efficient
and intelligent output design improves the systems relationship with the user and helps in decisionmaking.
Output from computer is required primarily to communicate the results of processing to the users.
They are also used to provide a permanent copy of these results for latest consultation.
The output forms include the following:
Home Page
User Details Page
List Bank Details Page
List Branch Details Page
List Paydesk Details Page
List Cheque Details Page
List Customer Details Page
List Bill Details Page

3.4

DEVELOPMENT APPROACH
The development phase focuses on how the engineer attempts to develop the

system. It also deals with how data are to be structured, how the function is to be
implemented within a software architecture, how procedural details are to be implemented
within a software architecture, how procedural details are to be implemented, how
interfaces are characterized, how the design will be translated into a programming
language, and how testing will be performed. The methods applied during the
development phase will vary but three specific technical tasks should always occur.
Software Design
Code Generation
Software Testing
The classical life cycle model or the linear sequential model is a systematic and

sequential approach to software development. It progress through analysis, design, coding,


testing and support.
REQUIREMENT ANALYSIS
The requirements gathering process is intensified and focused on software. The
nature of the programs to be built, the software engineer must understand the information
domain for the software, as well as required function, behavior, performance, and
interface. Requirements for both the system and the software are documented and
reviewed with the customer.
DESIGN
Software design actually a multi step process that focuses on four distinct attributes of a
program. They are:
Data Structure
Software Architecture
Interface representations
Procedural Details.

The design process translates the requirements into a representation of the software that
can be assessed for the quality before coding begins. Like requirements, the design is
documented and becomes the part of the software configuration.
CODE GENERATION
The design must be translated into a machine-readable form. The code generation step
performs this task. If the design is performed in a detailed manner, code generation can be

accomplished mechanically.
The requirement was converted into code. The call center management needs are
converted into coding, that satisfies the requirement.
TESTING
Once code has been generated, program testing begins. The testing process focuses on the
logical internals of the software, ensuring that all statements have been tested, and on the
functional externals; that is conducting tests uncover errors and ensure that defined input
will produce actual results that agree with required results.

Testing of the software is for its consistency and accuracy. These tests are done in the
testing phase.

SAMPLE SOURCE LAYOUT / REPORT

LOGIN PAGE

LOGIN PAGE

Give the User Name and Password then click LOGIN tab to enter the package.

HOME PAGE

HOME PAGE

This is the home Page of our cheque leaf management system.

REGISTER PAGE

Registration process

Login Name

Date of joining

Password

Sex

Secret Question

Role

Secret Answer

Origin state

User Name

Contact Country

Date of birth

Residence status

AFTER LOGIN

Bank List Select the bank from the list

ICICI

State Bank of India

Indian Bank

Canara Bank

City Bank

Paydesk Add form

Pay Desk Code


Pay Desk Name

:
:

Code number
Name of the location

Paydesk list
Option

Add new information


Update old information
Delete old information

Bill Entry

Paydesk code
Paydesk name
Current date
Clearance date
Serial no
Cheque no
Cheque date
Cheque amount
Bank code
Bank name
Branch code
Branch name
Cheque amt
Total bill amt
Difference
Account no
Mobile no
Bill amount
Customer name

Fill all the information

Click The Add Button

Invalid Cheque

Select the Invalid Check Reason

Invalid Entry

Reject the Invalid Cheque

Returned Cheque

Entered serial & cheque no


Cheque info
Enter return code

Enter Serial No & Cheque No:

Return date
Return amount
Serial number
Cheque no

Cheque info
Bank no
Branch code
Cheque amount

Enter Return Code:

Select the reason for retuning the check

Serial No
Cheque amount
Cheque no
Bank code
Clearing date
Cheque date
Branch code

Reports Form:

Collection date from


Collection date to
Submit

Export Details To Excel

SOURCE CODE
1.1: PARTY
Field
RecId
LoginName
psword
secQuestion
secAnswer
userName
dateofbirth
dateofjoining
sex
role
originState
contactCountry
residencyStatus

Type
Integer
Varchar
Varchar
Varchar
Varchar
Varchar
Date
Date
Char
Varchar
Char
Char
Integer

Size
10
16
16
64
64
32

1
16
2
2
5

Constraints
Primary
Unique
Not Null
Not Null
Not Null
Not Null
Not Null
Not Null
Not Null
Not Null
Not Null
Not Null
Not Null

contactState
contactAddress
contactCity
contactZip
contactPhone
emailAddress

Char
Varchar
Varchar
Varchar
Varchar
Varchar

2
132
32
16
16
32

Not Null
Not Null
Not Null
Not Null
Not Null
Unique

Description
Record ID
Login Name
Password
Secret Question
Secret Answer
User Name
Date of birth
Date of Joining
Sex
Role
Origin State
Contact country
Residency
Status
Contact State
Contact Address
Contact City
Contact Zip
Contact Phone
Email Address

Type
Int unsigned
Varchar
Integer

Size
10
32
10

Constraints
Primary
Not Null
Not Null

Description
Record ID
Entity Name
Count Value

Type
Integer
Varchar

Size
10
6

Constraints
Not Null
Primary

Description
Record ID
Bank Code

1.2: COUNTER
Field
recId
entityName
countvalue

1.3: BANK
Field
recId
bankCode

bankName
shortName

Varchar
Varchar

32
10

Not Null
Not Null

Bank Name
Short Name

Type
Integer
Varchar
Varchar
Varchar
Varchar

Size
10
6
6
32
10

Constraints
Not Null
Foreign
Primary
Not Null
Not Null

Description
Record ID
Bank Code
Branch Code
Branch Name
Branch Holiday

Type
Integer
Varchar
Varchar
Varchar

Size
10
10
14
10

Constraints
Not Null
Not Null
Primary
Not Null

Description
Record ID
Account ID
Mobile Number
Customer Name

Type
Integer
Integer
Integer
Integer
date
Double
Varchar
Varchar
Integer
Integer
Integer
Integer
Integer

Size
10
10
4
10

Constraints
Not Null
Not Null
Foreign
Primary
Not Null
Not Null
Foreign
Foreign
Not Null
Not Null
Not Null
Not Null
Not Null

Description
Record ID
Serial Number
Pay Desk Code
Cheque Number
Cheque Date
Cheque Amount
Bank Code
Branch Code
Invalid Flag
Invalid Code
Return Flag
Return Code
Clearance Flag

1.4: BRANCH
Field
recId
bankCode
branchCode
branchName
branchholiday

1.5: CUSTOMER
Field
recId
accId
mobileNo
custName

1.6: CHEQUE
Field
recId
sno
payDeskCode
chequeNo
chequeDate
chequeAmt
bankCode
branchCode
invalidFlag
invalidCode
ReturnFlag
returnCode
clearanceFlag

10,2
6
6
2
2
2
2
2

1.7: PADESK
Field
recId
payDeskCode
payDeskName

Type
Integer
Integer
Varchar

Size
10
4
20

Constraints
Not Null
Primary
Not Null

Description
Record ID
Pay Desk Code
Pay Desk Name

Type
Integer
Varchar
Varchar
Double
Integer

Size
10
10
14
10,2
10

Constraints
Primary
Not Null
Foreign
Not Null
Foreign

Description
Record ID
Account ID
Mobile Number
Bill Amount
Cheque Number

Size
10
2
30

Constraints
Primary
Unique
Not Null

Description
Record ID
Invalid Code
Invalid Reason

Size
10
2
30

Constraints
Primary
Unique
Not Null

Description
Record ID
Retuen Code
Return Reason

1.8: BILL
Field
RecId
accId
mobileNo
billAmt
chequeNo

1.9: INVALIDREASON
Field
recId
invalidCode
invalidReason

Type
Integer
Integer
Varchar

1.10: RETURNREASON
Field
recId
returnCode
returnReason

Type
Integer
Integer
Varchar

SYSTEM TESTING

4. TESTING
Once code has been generated, program testing begins. The testing process focuses
on the logical internals of the software, ensuring that all statements have been tested, and
on the functional externals; that is conducting tests uncover errors and ensure that defined
input will produce actual results that agree with required results.
Testing of the software is for its consistency and accuracy. These tests are done in the
testing phase.
4. TESTING AND IMPLEMENTATION
4.1 SYSTEM TESTING

Once we are satisfied that all the modules work well in themselves and there are no
problems, we can know how the system will work or perform once all the modules are put
together. The main objective is to find discrepancies between the system and its original
objective, current specifications, and system documentation. Analysts try to find modules
that have been designed with different specifications, which could cause incompatibility.
At this stage the system is used experimentally to ensure that all the requirements of
the user are fulfilled. At this point, the testing takes place at different levels so as to ensure
that the system is free from failure. Testing is mostly performed by persons who have
never worked with the system before, so that the feedback we get is free from bias.
Testing is vital to success of the system. System testing makes a logical assumption that
whether all parts of the system are correct. Initially the system was given to the user for
entry validation was provided at each and every stage. So that the user is not allowed to
enter unrelated data.
The training is given to user about how to make an entry.The best test made on the
system was whether it produces the correct outputs. All the outputs were checked out and
were found to be correct. Feed-back sessions were conducted and the suggested changes
given by the user were made before the acceptance test. Finally the system is being
accepted and made to run with live data.
System tests are designed to validate a fully developed system with a view to
assuring that it meets its requirements.
TESTING METHODOLOGIES
The following are the testing methodologies:
Unit Testing
Integration Testing
User Acceptance Testing
Output Testing
Validation Testing

4.1.1UNIT TESTING
Unit testing focuses verification effort on the smallest unit of software design that is
the module. Unit testing exercises specific paths in a modules control structure to ensure
complete coverage and maximum error detection. This test focuses on each module
individually, ensuring that it functions properly as a unit. Hence, the naming is Unit
Testing.
4.1.2INTEGRATION TESTING
Integration testing addresses the issues associated with the dual problems of
verification and program construction. After the software has been integrated a set of high
order tests are conducted. The main objective in this testing process is to take unit tested
modules and builds a program structure that has been dictated by design.
The following are the types of integration testing:

Top Down Integration


Bottom Up Integration

1. TOP DOWN INTEGRATION


This method is an incremental approach to the construction of program structure.
Modules are integrated by moving downward through the control hierarchy, beginning
with the main program module. The module subordinates to the main program module are
incorporated into the structure in either a depth first or breadth first manner.
2. BOTTOM UP INTEGRATION
This method begins the construction and testing with the modules at the lowest level
in the program structure. Since the modules are integrated from the bottom up, processing
required for modules subordinate to a given level is always available and the need for the
stubs is eliminated.
The bottom up integration strategy may be implemented with the following steps:

The low-level modules are combined into clusters that perform a specific software
sub-function.
A driver i.e., the control program for testing is written to coordinate test case input
and output.

The cluster is tested.


Drivers are removed and clusters are combined moving upward in the program
structure.
4.2 SYSTEM IMPLEMENTATION
System Implementation is the stage of the project where the theoretical design is
turned into a working system. At this stage the main work load, the greatest upheaval and
the major impact on the existing system shifts to the user department. If the
implementation is not carefully planned a controlled it can cause chaos and confusion.
Implementation includes all those activities that take place to convert form the old system
to the new one.
The new system may be totally new, replacing an existing manual or automated
system or it may be a major modification to an existing system. Proper implementation is
essential to provide a reliable system to meet the organization requirements. Successful
implementation may not guarantee improvement in the organization using the new system,
but improper installation will prevent it.
The process of putting the developed system in actual use is called system
implementation. This includes all those activities that take place to convert from the old
system to the new one. The system can be implemented only after through testing is done
and if it is found to be working according to the specification. The system personnel check
the feasibility of the system.
The most crucial stage is achieving a new successful system and giving confidence
on the new system for the user that it will work efficiently and effectively. It involves
careful planning, investigation of the current system and its constraints on implementation,
design of methods to achieve the changeover. The more complex the system begins
implemented, the involvement in system analysis and the design effort required just for
implementation.
The system implementation has three main aspects. They are educations and testing,
system testing and changeover.
The implementation stage involves following tasks:
Careful planning.
Investigation of system and constraints.
Design of methods to achieve the changeover.
Training of the staff in the changeover phase.
Evaluation of the changeover method.
The method of implementation and the time scale to be adopted are found out initially.
Next the system is tested properly and the same time users are trained in the new
procedures.

4.2.1 IMPLEMENTATION PROCEDURES


Implementation of software refers to the final installation of the package in its real
environment, to the satisfaction of the intended users and the operation of the system. In
many organization, someone who will not be operating it, will commission the software
development project. The people are not sure that the software is meant to make their job
easier. In the initial stage they doubt about the software but we neither have to ensure that
the resistance does nor build up as one has to make sure that.
The active user must be aware of the benefits of using the system.
Their confidence in the software is built up
Proper guidance is imparted to the user so that he is comfortable in using the
application
Before going ahead and viewing the system, the user must know that for viewing
the result, the server program should be running in the server. If the server object is not up
running on the server, the actual processes will not take place.
4.3.2 USER TRAINING
To achieve the objectives and benefits expected form computer based system, it is
essential for the people who will be involved to be confident of their role in the new
system. As systems become more complex, the need for education and training is more
and more important.
Education is complementary to training. It brings life to formal training by
explaining the background to the resources for them. Education involves creating the right
atmosphere a motivating user staff. Education sections should encourage participation
from all staff with protection for individuals for group criticism. Education should start
will before any development work to enable users to maintain or to regain the ability to
participate in the development of their system.
Education information can make training more interesting and more understandable.
The maim should always be to make individual feel that they can sill make all important
contributions, to explain how they participate in making system changes, and to show that
the computer and computer staff do not operate in isolation, but are of same organization.

TRAINING ON THE APPLICATION SOFTWARE


After providing the necessary basic training on the computer awareness the users
will have to be trained on the new application software. This will give the underlying
philosophy of the use of the new system such as the screen flow, screen design, type of
help on the screen, type of errors while entering the data the corresponding validation
check at each entry and the ways to correct the data entered. It should then cover
information needed by the specific users/ groups to use the system or part of the system

while imparting the training of the program on the application. This training may be
different across different user groups and across different levels of hierarchy.
4.4 SYSTEM MAINTENANCE

The maintenance phase of the software cycle is the time in which a software product
performs useful work. After a system is successfully implemented, it should be
maintained in a proper manner. System maintenance is an important aspect in the software
development life cycle. The need for the system maintenance is for is to make adaptable to
the changes in the system environment.
There may be social, technical and other environmental changes, with effect a
system, which is being implemented. Software product enhancements may involve
providing new functional capabilities, improving user displays and mode of interaction,
upgrading the performance characteristics of the system. So only through proper system
maintenance procedures, the system can be adapted to cope up with these changes.
Software maintenance is of-course, far more than finding mistakes. We may
define maintenance by describing four activities that are undertaken to after a program is
released for use.
The first maintenance activity occurs because it is unreasonable to assume that
software testing will uncover all latent errors in a large software system. During the use of
any large program, errors will occur and be reported to the developer. The process that
includes the diagnosis and corrections of one or more errors is called corrective
maintenance.
The second activity that contributes to a definition of maintenance occurs because of
the rapid changes that s encountered in every aspect of computing. Therefore, adaptive
maintenance, an activity that modifies software to properly interfere with a changing
environment is both necessary and commonplace.
The third activity that may be applied to a definition of maintenance occurs when a
software package is successful. As the software is used, recommendations for new
capabilities, modifications to existing functions, and general enhancements are received
form users. To satisfy request in this category, perceptive maintenance is performed. This
activity accounts for the majority of all effort, expended on software maintenance.
The fourth maintenance activity occurs when software is changed to improve future
maintainability or reliability, or to provide a better basis for future enhancements. Often
called preventive maintenance, this activity is characterized by reverse engineering and reengineering techniques.

5. CONCLUSION
The project entitled CHEQUE LEAF MANAGEMENT SYSTEM has been
designed with much care, with the intention that the complexity involved in the project is
presented in a simple and lucid style. Much care has been taken in designing the database
so that end users can handle any fact about entries easily.

Its been a stunning experience to develop the project as per the requirements of the
organization. A lot of work was spent of brushing up of the basics. Working in the real
environment makes a lot of difference proving that the critical knowledge is much
different from on hands learning approach; it is also accounted for getting an overview of
how projects are to be handled.

5.1 SCOPE FOR FUTURE ENHANCEMENT

One thing that remains constant for software is nothing but change. The application
developed is designed in such a way that any future enhancements can be done with ease.
The system has the capability for easy integration with other systems. New modules can
be added to the existing system with less effort.
The existing module can also be modified as per the user needs. Any alteration to
the deployed system proves economical, cost wise and time wise.

6. BIBLOGRAPHY

1. Brade McGhee Robe Kraft Using Microsoft SQL Server 7.0, Prentice
Hall of India Pvt Ltd.
2. Wynkoop Stephan Special Edition Using Microsoft SQL Server 7.0,
Macmillan Company.

3. The Complete Reference.


By Vikram Vaswani, Tata McGraw hill education private limited
4. JSP 2.0: The Complete Reference by Phillip Hanna
Tata McGraw hill education private limited.

You might also like