Professional Documents
Culture Documents
PROJECT REPORT
ON
Submitted To
GWALIOR (M.P.)
BACHELOR OF ENGINEERING
IN
INFORMATION TECHNOLOGY
2012-2016
Submitted By
Page 1
Signature verification system MITS
CERTIFICATE
This is to certify that Shivpratap singh and Pallav Sharma students of
Bachelor of Engineering In Information Technology of Madhav Institute of
Technology and Science, Gwalior have completed their minor project
entitled “Digital Signature Verification”. They have submitted a satisfactory
project report for the award of Degree of Bachelor Of Engineering in
Information Technology.
To the best of my knowledge, the presented project report has not been
submitted for the award of any other diploma or degree certificate.
Director
Dr. Sanjeev Jain
Under the Supervision of:
Page 2
Signature verification system MITS
ACKNOWLEDGEMENT
Preparing any project requires views of many people but we suspect that
technical projects are more different than others. A great many people are
involved in various stages of the project prepration who shared their
knowledge and experience.
Before we get into thick of things we would like to add a few heartfelt words
for the people who are part of this project in numerous ways people who
gave un-ending support right from the stage idea was concieved.
We shall be failing in our duty , if we do not express our heart felt gratitude
to Dr. R.K.Gupta (Professor & Head) Department Of Information Technology,
M.I.T.S. Gwalior for his support in the project.
Page 3
Signature verification system MITS
Table of contents
1. INTRODUCTION 9-11
1.1 Purpose……………………………………………. …………..
1.2 Problem Specification……………………………………………
1.3 Objectives……………………………………………………….
1.4 Definitions, Acronyms and Abbreviations Acronyms Description
1.5 Overview………………………………………….…...
1.6 How does a Signature scanner work? …………………
OVERALL DESCRIPTION
2.1 Product Perspective………………………………………..
2.2 Information Gathering…………………………………
2.3 Feasibility Study……………………………………………
2.3.1 Economic Feasibility…………………………………….
2.3.2 Technical Feasibility……………………………………
2.3.3 Operational feasibility ……………………………….....
2.4 Hardware Requirement………………………………….... ..
2.5 Software Requirement……………………………………
Page 4
Signature verification system MITS
3. DESIGN 16-25
3.1 Database Design………………………………………………………………….
3.1.1 E-R diagram…………………………………………………………………….
3.1.2 Functional diagram………………………………………………………….
3.1.3 Dataflow diagram…………………………………………………………….
4. IMPLEMENTATION 26-48
4.1 Description of project…………………………………………
4.2 Technical Discussion………………………………………….
5. TESTING 49-53
5.1 Unit Testing……………………………………………………..
5.2 Validation Testing……………………………………………....
5.3 White Box Testing………………………………………………
5.4 Integration Testing …..………………………………………....
5.5 System Testing………………………………………………….
5.5.1 Performance testing…………………………………………..
5.5.2 Stress Testing…………………………………………………
Page 5
Signature verification system MITS
9. CONCLUSION 65
10. BIBILIOGRAPHY 66
Page 6
Signature verification system MITS
PREFACE
Digital signatures have evolved as a means of personal identification numbers (PIN). PINs
are used in identifying criminals, providing secure logins and in many other applications.
Extraction and Verification of Biometric signatures are tedious tasks that are prone to errors
and influenced by many factors.
it is an application designed to help matching Signature . The tool provides techniques for
interactive matching, breaks the process into steps allowing users to interfere at each step and
make changes, and allows users to visualize the entire process.
Page 7
Signature verification system MITS
1. Introduction
1.1 Purpose
This document describes the functional, non-functional and hardware requirements and the
importance of a signature verification with briefly presenting its input and output
functionalities. And also this would give an overview to the client and would give detail
specification for the developer.
Page 8
Signature verification system MITS
still have been focused on this area. Though many facial recognitions systems have been
proposed and have demonstrated significant promises, robust face recognition is still under
research. In a high volume, high speed environments, Signature and face recognition
systems do not have the accuracy, reliability or ability to handle large, diverse population as
needed for critical applications and up to now it is challengeable.
1.3 Objectives
This project is aimed at,
Identify the faults of currently using algorithms for signature verification
And make suggestions to improve those.
Develop a new algorithm for matching the person's signature against a large
Database containing over several millions of data at a high speed.
1.4 Definitions, Acronyms and Abbreviations
Acronyms Description
API Application Programming Interface
GUI Graphical User Interface
1.5 Overview
Section 2 here deals with the overall description about the product while
Describing the product perspective, functional and data requirements, input and output
Data, general constraints and assumptions of the application briefly.
Only specific characteristics, which are unique to every sign, are filtered and saved as an
encrypted biometric key or mathematical representation. No image of a sign is ever saved,
Page 9
Signature verification system MITS
only a series of numbers (a binary code), which is used for verification. The algorithm cannot
be reconverted to an image, so no one can duplicate your sign
Overall Description
2.1 Product Perspective
This product is aimed to provide a best fitted engine to enroll, verify and identify signature
data at a high speed and very low error rate. As the input devices, web cam, scanner or any
other image acquisition device can be used where user feeds input through this image
acquisition device while processed biometric information is stored in an internal database.
Product will do the comparison between internal database and given inputs by the user at
identification.
Page 10
Signature verification system MITS
We have used both the above methods to gain the basic requirement of the system. We have
talked to many clients about what they think of the existing Social networking sites, how and
what data they manage, what are the expectations with the system and the problems occurring in
the existing system.
We have also taken into account all pre-existing social networking site and have studied in
depth their features.
The project “community tracking in social networking site” is a collaborative site development
effort aimed at creating a robust, commercial grade, feature full and easy to interact social
networking site with additional feature of enhanced community suggestion, creation and sharing
views over any subject matter related to community with other community members.
2.3Feasibility Study
Feasibility studies are in today's market absolutely essential as they represent an objective
assessment of the economic viability of a project to a developer or investor. It serves as an
indispensable tool for dialogue and negotiations with operators on one hand and to secure
financing on the other hand.
Therefore It is necessary to determine whether such system would be feasible or not. That’s
why a feasibility study was conducted in order to assertion whether this project worth doing or
not.
Technical Feasibility
Operational Feasibility
Economical Feasibility
To deploy the application, the only technical aspects needed are mentioned below:
Page 11
Signature verification system MITS
SN Software Specification
1 Java Technology J2EE
2 Web Server Tomcat 5.5
3 Browser Google Chrome
4 Database Environment Microsoft access 2007
The above requirements of deploying this project can be easily managed and hence project is
technically feasible. It also requires concepts of DHTML, Database connectivity etc. which too
can be dealt.
The project is economically feasible as the only cost involved is having a computer with the
minimum requirements. For the users to access the application the only cost involved will be in
this system .
Java Platform and Tomcat 5.5 too is a free software available for free download. Thus Project
“Signature Verification system” is economically feasible.
Our project requires no special technical guidance and all the views available are self
explanatory. Naming conventions of java technologies, minimum LOC and security features
have been implemented to make this project operationally feasible.
Users are well guided with success and failures message for all the actions taken. To make data
flow clear and class interactivity visible different type of diagrams like Data Flow Diagrams and
E-R Diagrams have been prepared during designing phase of the project. The project is more
over aimed to recognition and develops a new algorithm for matching the person's signature
against a large database containing over several millions of data at a high speed. Develop a
Page 12
Signature verification system MITS
specialized algorithm for signature matching on large databases with references taken on
different time scale and conditions at very low error rates.
Stringent security features and platform independence are other features which make this
project operationally feasible.
CPU: PENTIUM IV
RAM :256 MB OR ABOVE
3. Design
3.1 Database Design
Page 13
Signature verification system MITS
Data base designing is a very sensitive aspect in successful implementation of any project.
Data base is generally used to store all pieces of information.
If database is not maintained properly there may arise inefficient system and may cause
several system performance issues, memory problems, unreliability and ambiguous
performance of system, DB2, MY-SQL, SQL server 2000 etc.
The development team designed a database called studreg, which will be created by using
Microsoft Access 2000.
4. Implementation
1) Project initiation
2) Project Execution
3) Project completion
In the project initiation stage, we prepare the project plans and finalize the outcome of each
phase. In this stage we also prepare a comprehensive list of tasks involved in each phase.
In the project execution stage, we develop the product. In the case of the signature
verification system, we will develop the student identification application. This stage consists
of the following phases:
Page 14
Signature verification system MITS
1) Requirement Analysis
2) High level Design
3) Low level design
4) Construction
5) Testing
6) Acceptance
Page 15
Signature verification system MITS
1. Home page
2. Login page
3. Student registration form
4. Display exam date/time
5. Instruction page
6. Change center
7. Contact information
8. About PMT
9. Help Page
10. …etc.
Page 16
Signature verification system MITS
the test of designing the interface. Various others take the job of writing the code to
develop the application.
For invoking this project on your system, you have to insure that the following things
have in your system.
3.8 Module………….
Page 17
Signature verification system MITS
Snapshots-
Student Login
Page 18
Signature verification system MITS
Student Home
Page 19
Signature verification system MITS
Result
Page 20
Signature verification system MITS
Page 21
Signature verification system MITS
Three-Tier Architecture is a deployment style that describes the separation of functionality into
layers with each segment being a tier that can be located on a physically separate computer.
They evolved through the component-oriented approach, generally using platform specific
methods for communication instead of a message-based approach.
Structure
Using this architecture the software is divided into 3 different tiers: Presentation tier, Logic
tier, and Data tier. Each tier is developed and maintained as an independent tier.
1-Presentation tier
Page 22
Signature verification system MITS
This is the topmost level of the application. The presentation layer provides the application’s
user interface (UI). Typically, this involves the use of Graphical User Interface for smart client
interaction, and Web based technologies for browser-based interaction. The presentation tier
displays user’s profile page & home page from where it can perform all other activities. It
communicates with other tiers by outputting results to the browses and all other tiers in the
network.JSP technology have been used as front end tool for this project
2-Logic tier
The logic tier is pulled out from the presentation tier and, as its own layer; it controls an
application’s functionality by performing detailed processing. Logic tier is where mission-
critical business problems are solved. The components that make up this layer can exist on a
server machine, to assist in resource sharing. These components can be used to enforce business
rules, such as business algorithms and legal or governmental regulations, and data rules, which
are designed to keep the data structures consistent within either specific or multiple databases.
Because these middle-tier components are not tied to a specific client, they can be used by all
applications and can be moved to different locations, as response time and other rules require.
Servlets have been used for business logic in this project.
3-Data tier
This tier consists of database servers, is the actual DBMS access layer. It can be accessed
through the business services layer and on occasion by the user services layer. Here information
is stored and retrieved. This tier keeps data neutral and independent from application servers or
business logic. Giving data its own tier also improves scalability and performance.
This layer consists of data access components (rather than raw DBMS connections) to aid in
resource sharing and to allow clients to be configured without installing the DBMS libraries and
ODBC drivers on each client. An example would be a computer hosting a database management
Page 23
Signature verification system MITS
Scalability. Because tiers are based on the deployment of layers, scaling out an
application is reasonably straightforward.
5. Testing
Software testing is a process of running with intent of finding various errors in software. It
represents final review of other phases of software like specification, design, code generation
etc.
Page 24
Signature verification system MITS
Unit Testing is a dynamic method for verification where program is actually compiled and
executed. In our project unit testing has been performed in parallel with the coding phase. We
have tested each part of module separately. As the modules were built up testing was carried out
simultaneously, tracking out each and every kind of input and checking the corresponding
output until module is working correctly. Functionality of module was also tested as separate
units.
E.g. in user login module when a user enters his login credentials a request is forwarded to
server side and authentication of user is verified. If authentication is valid then he will be
immediately prompted to his profile page otherwise an error message will be displayed.
Page 25
Signature verification system MITS
Alpha & Beta testing: Alpha testing is done at developer’s site i.e. by own and Beta
testing is done after once project has been deployed.
Test Cases: We have used a number of test cases for testing the product. There were
different cases for which different inputs were used to check whether desired output is
produced or not. e.g. -
1. Login of a new user in the server should make his status 1 so that he
can be shown in online friend list.
2. When a user logout his status is updated to 0 meaning he is offline.
3. Change in existing information of the user has to update the details of
the user.
4. Any changes or operations done by the user have to update the
summary correctly.
5. Because same page is inserting data into more than one table in the
database atomicity of the transaction is carefully tested.
6. On successful registration dynamic generation of required tables have
been made to make system fair and reliable.
Finally a lot of effort has been made that system performs all the functions as described in
section 1.3 “Envisioned system” namely
Page 26
Signature verification system MITS
are tested by providing test cases that exercises specific sets conditions and loops. Using white-
box testing software developer can drive test cases that
Guarantee that all independent paths within a module have been exercised at least once.
Exercise all logical decisions on their true and false side.
Exercise all loops at their boundaries and within their operational bound.
Exercise internal data structure to ensure their validity.
At every stage of project development we have tested the logics of program by supplying the
invalid inputs and generating the respective error messages. All the loops and conditional
statements are tested to the boundary conditions and validated properly.
In our project we have used Bottom-up approach of integration testing. Thus here first of all
sublevel modules are tested separately the whole module is integrated and tested. Once lower
level module is ready then its top level module is tested and then integrated & finally both are
tested after integration. This procedure repeats to integrate all modules together.
Page 27
Signature verification system MITS
6. Technologies Used
6.1 JAVA
JAVA is a platform Independent Language. It is important to Internet programming. (One
of the points to be noted about Java is that, it has developed concurrently with the WEB
Programming in which the APPLETS, SERVLETS, are the ways to enhance the results of
HTML Pages on the Net.) The NET Pages of the Module “Online Bus Reservation” of portal
Destination Travels.Com are also Designed, Developed with functionality by Servlet in the
background, which not only enhance the NET pages in the foreground but also maintains the
requirements of the Visitors. Various remarkable features of Java that makes this language
getting universal acceptance are:
6.1.1 Portability
Page 28
Signature verification system MITS
6.1.2 Security:-
It achieves security by confining a Java program to the Java execution environment
and not allowing access to other parts of computer.
A Java program is created as a text file with the file extension .java. It is compiled into
one or more files of byte codes with the extension .class. Byte codes are sets of instructions
similar to the machine code instructions created when a computer program is compiled. The
difference is that machine code must run on the computer system it was compiled for, and
byte codes can run on any computer system equipped to handle Java programs.
Page 29
Signature verification system MITS
adaptable for use in other projects, easier to understand, and more bug proof. The language
includes a set of class libraries that provide basic variable types, system input and output
capabilities, and other functions. It also includes classes to support networking, Internet
protocols, and graphical user interface functions.
Java Is Safe
Another thing essential to Java's success is that it be safe. The original reason for Java to
execute reliably was that people expect their waffle irons not to kill them or to exhibit any
other unreliable behavior. This emphasis on security was well-suited for Java's adaptation to
the World Wide Web.
A Java program that executes from a Web page is called an applet. All other Java programs
are called applications. When an applet is encountered on a Web page (if the user's browser
can handle Java), the browser downloads the applet along with the text and images on the
page. The applet then runs on the user's computer. This act should raise a red flag-danger!
Danger!-because a lot of harmful things can occur when programs are executed: viruses,
Trojan horses, the Microsoft Network, and so on.
Java provides security on several different levels. First, the language was designed to make it
extremely difficult to execute damaging code. The elimination of pointers is a big step in this
regard. Pointers are a powerful feature, as the programmers of C-like languages can attest,
but pointers can be used to forge access to parts of a program where access is not allowed,
and to access areas in memory that are supposed to be unalterable. By eliminating all pointers
except for a limited form of references to objects, Java is a much more secure language.
Because of the multiple levels of security, and the continued efforts to improve these
measures, Java is generally regarded as a secure means to execute code over the World Wide
Web.
6.2 Servlet
Page 30
Signature verification system MITS
Page 31
Signature verification system MITS
server side, it does not depend on browser compatibility Servlet are modules that extend
request/response- oriented servers, such as Java- enabled web servers. For example, a
Servlet might be responsible for taking data in an HTML order entry form and applying the
business logic used to update a company order database.
Servlet are to servers, what applets are to browser. Unlike applet however Servlet have no
graphical user interface. Servlet can be embedded in many different servers because the
Servlet API, which you use to write Servlet, assumes nothing about server’s environment or
protocol. Servlet have become most widely used within HTTP servers.
6.3 HTML
The Language used to develop web pages is called Hypertext Markup Language .HTML is
the language interpreted by browser. Web pages are also called HTML document. HTML is a
set of special codes that can be embedded in text to add formatting and linking information.
An HTML tag is specified as tags in an HTML document. HTML is used for presentation
of data; it provides the format of data.
6.4 JDBC
JDBC defines eight interfaces that must be implemented by a driver in order to be JDBC-
compliant:
java.sql.Driver
java.sql.Connection
java.sql.Statement
java.sql.PreparedStatement
java.sql.CallableStatement
java.sql.ResultSet
Page 32
Signature verification system MITS
java.sql.ResultSetMetaData
java.sql.DatabaseMetaData
The central object around which the whole concept revolves is the java.sql.DriverManager
object. It is responsible for keeping track of the various JDBC implementations that may
exist for an application. If, for example, a system were aware of Sybase and Oracle JDBC
implementations, the Driver Manager would be responsible for tracking those
implementations. Any time an application wants to connect to a database, it asks the Driver
Manager to give it a database connection, using a database URL through the Driver Manager
get Connection () method. Based on this URL, the Driver Manager searches for a Driver
implementation that accepts the URL. It then gets a Connection implementation from that
Driver and returns it to the application.
The Driver Manager is the only instantiated class provided by JDBC other than exception
objects and a few specialized subclasses of java.util.Date. Additional calls made by an
Page 33
Signature verification system MITS
application are written against the JDBC interfaces that are implemented for specific
DBMSs.
Understanding JDBC
JDBC is a Java API for executing SQL statements. It consists of a set of classes and
interface written in Java programming language. JDBC provides a standard API for
tool/database developers and makes it possible to write database applications using a pure Java
API.
Using JDBC, it is easy to send SQL statements to virtually any relational database .In
other words, with the JDBC API, it isn’t necessary to write one program to access a MSSQL
database, another program to access an Oracle database, another program to access an
Informix database, and so on. One can write a single program using JDBCAPI, and the
program will be able to send SQL statements to the appropriate database and with an
application written in the Java programming language. The combination of Java and JDBC has
a facility that writes it once and run it anywhere.
Jdbc extends what can be done in java. With java and the JDBC API, it is possible to
publish a web page containing an applet that uses information obtained from a remote
database or an enterprise can use JDBC to connect all its employees to one or more internal
databases via an Intranet. With more or more programmers using the Java programming
language, the need for easy database access from Java in continuing to grow.
Page 34
Signature verification system MITS
Our project “community tracking in social networking site” has been planned to adhere Spiral
model of project development.
The spiral model combines the idea of iterative development (prototyping) with the systematic,
controlled aspects of the waterfall model. It allows for incremental releases of the product, or
incremental refinement through each time around the spiral. The spiral model also explicitly
includes risk management within software development and determining how to lessen the risk
helps keep the software development process under control.
The spiral model is based on continuous refinement of key products for requirements
and analysis, system and software design, and implementation At each iteration around the
cycle, the products are extensions of an earlier product. This model uses many of the same
Page 35
Signature verification system MITS
phases as the waterfall model, in essentially the same order, separated by planning, risk
assessment, and the building of prototypes and simulations.
The spiral lifecycle model allows for elements of the product to be added in when they become
available or known. This assures that there is no conflict with previous requirements and
design. This method is consistent with approaches that have multiple software builds and
releases and allows for making an orderly transition to a maintenance activity.
Another positive aspect is that the spiral model forces early user involvement in the system
development effort. For projects with heavy user interfacing, such as user application programs
or instrument interface applications, such involvement is helpful.
Starting at the center, each turn around the spiral goes through several task regions:
Note that the requirements activity takes place in multiple sections and in multiple iterations,
just as planning and risk analysis occur in multiple places.
Final design, implementation, integration, and test occur in iteration 4. The spiral can be
repeated multiple times for multiple builds. Using this method of development, some
functionality can be delivered to the user faster than the waterfall method.
Page 36
Signature verification system MITS
The project “Signature Verification system” developed based on Spiral model is found to
satisfactorily perform all functions.
More over a fine imprint of advanced dynamic technologies such as AJAX, JavaScript,
Cascade style sheets have been used along with JSP to provide a really exciting GUI
environment.
The application is easy to use and interactive making experience of identity checking
recreational for user. In Identification mode the system performs a one-to-many comparison
against a biometric database in attempt to establish the identity of an unknown individual. The
system will succeed in identifying the individual
All the modules of the project has been tested and finally system testing and integration testing
has been completed and fixed all possible ambiguities.
8.2 Challenges
9. Conclusions
This product is aimed to provide a best fitted engine to enroll, verify and identify Signature
data. As the input device, scanner is used where user feeds input through this Signature
scanner device while processed biometric information is stored in an internal database.
Product will do the comparison between internal database and given inputs by the user at
identification.
10. Bibliography
Page 37
Signature verification system MITS
Website
1. www.google.com.in
2. www.howstuffwork.com
3. http:// java.sun.com
4. www.bioelectronix.com
5. www.wikipedia.com
6. docs.oracle.com/javase/tutorial/jdbc/basics/connecting.html
7. www.w3schools.com
Page 38