Sie sind auf Seite 1von 56

QR CODE BASED E-VOTING SYSTEM

By
V.VINOTHINI
Register No: 820316621326
of
A.V.C. COLLEGE OF ENGINEERING
Mannampandal, Mayiladuthurai-609 305.

A PROJECT REPORT
Submitted to the

FACULTY OF
INFORMATION AND COMMUNICATION ENGINEERING
In partial fulfillment of the requirements
for the award of the degree
of

MASTER OF COMPUTER APPLICATIONS


MAY-2019
A.V.C COLLEGE OF ENGINEERING
MAYILADUTHURAI, MANNAMPANDAL-609 305,
NAGAPATTINAM(DT), TAMIL NADU
|Approved by AICTE & Affiliated by Anna University, Chennai|
|Re-Accredited by NAAC with ‘B++’ Grade (2nd Cycle)|
|An ISO 9001:2015 Certified Institution|

DEPARTMENT OF COMPUTER APPLICATIONS


(An Recognized Research Centre of Anna University, Chennai)

BONAFIDE CERTIFICATE

Certified that this project report titled “QR CODE BASED E-VOTING SYSTEM”
is the bonafide work of Ms. V. VINOTHINI (Reg No: 820316621326) who carried out the
project under my supervision. Certified further that to the best of my Knowledge the work
reported herein does not form part of any other project report or dissertation on the basis of
which a degree or award was conferred on earlier occasion on this or any other candidate.

SUPERVISOR DIRECTOR

Place: Mannampandal
Date:

Submitted for the Anna University Examination held on:______________

INTERNAL EXAMINER EXTERNAL EXAMINER

Ph.No: 04364-227202, Fax No: 227299, Website: www.avcengg.net, E-mail: avcce@avccengg.net


DECLARATION

I, V.VINOTHINI (Reg.No: 820316621326), the student of A.V.C. COLLEGE OF

ENGINEERING, Department of Computer Applications, would like to declare that the project

work entitled as “QR CODE BASED E-VOTING SYSTEM” is the result of the original work

done by me during the course of the study and is submitted on the partial fullfilment for the

award of degree of “MASTER OF COMPUTER APPLICATIONS” of Anna University,

Chennai.

Place:Mannampandal Signature

Date:

(V.VINOTHINI)
ABSTRACT

“QR CODE BASED E-VOTING SYSTEM” is created as website. In this system the
voter has to register using the application and the QR code will be provided when the admin has
to accept the voter based on the voter details. In this system the voter details are made to hide in
the QR code, using multiplexing and demultiplexing process encode and decode the information
from single QR code with special symbols and split the data back to their QR code pattern.

This design and implement an e-voting system using QR codes of user with the
maximum security. This can not only make sure voter’s identity but also ensure the registration
of the verifying candidate who is eligible for voting. After the login the voter would be select
their candidates from candidate list. If voter tries to vote again the system will deny the voter.
This module has the process of storing the selected candidate information from the client, which
are send through the web service.

All these information’s will be stored in the database. We are maintaining a centralized
server to receive the selected voter list from the database through internet. In this module the
candidate see they data retrieved from the database. The Voter will use this list to perform the
voting. The main purpose of implementing his concept is to increase the voting percentage. So
that the voter is not required to visit the voting center to cast the voter.
ACKNOWLEDGEMENT

This project work itself is an acknowledgement to the intensity drive and technical
competence of many who have contributed to it. I express my thanks to everyone who
contributed and guided me much for the successful completion of this simple effort.

I express my sincere thanks to Dr. K.P. ARULSRI, M.E., Ph.D., Principal, A.V.C.
College of Engineering who helped me in providing required facility in completing the project.

I express my sincere gratitude to Dr. S. SELVAMUTHUKUMARAN, M.C.A., Ph.D.,


Vice-principal cum Director, Department of Computer Applications, A.V.C. College of
Engineering who allowed me to do my final project work independently and effectively.

I am grateful to my internal guide Mrs. N. KANIMOZHI, M.C.A., Assistant Professor,


Department of Computer Applications, A.V.C. College of Engineering, for his valuable
guidance, idea, advice and encouragement for the successful completion of the project work.

I am thankful to my external guide Ms. S. DURGA, Project Developer, Techtronsoft


Solution Pvt Ltd, Trichy for his valuable guidance for successful completion of this project.

At this moment, I take the opportunity to thank my dear family for giving me all the
support I needed throughout the time of my project work. My hearty thankful to my friends who
were with me and gave me all the support I needed to complete my project successfully.
TABLE OF CONTENTS

CHAPTER NO CONTENT PAGE NO


LIST OF TABLES (i)
LIST OF FIGURES (ii)
LIST OF ABBREVIATIONS (iii)
1 INTRODUCTION

2 SYSTEM CONFIGURATION
2.1Hardware Configuration
2.2 Software Configuration
3 SOFTWARE FEATURES
3.1 ASP.NET 2005
3.2 SQL Server 2005
4 PROJECT DESCRIPTION
4.1 Overview of the project
4.2 Problem Statement
4.3 Module Descriptions

5 SYSTEM ANALYSIS
5.1 Existing System
5.2 Proposed System
6 SYSTEM DESIGN
6.1 UML Diagram
6.2 Database Design
7 SYSTEM TESTING
7.1 Test Plan
7.2 Test Cases
7.3 Bug Report
8 CONCLUSION
9 FUTURE ENHANCEMENT
10 APPENDICES
Appendix 1: Sample Source Code
Appendix 2: Sample Screen Shots
Appendix 3: Sample Reports
11 REFERENCES
LIST OF FIGURES

FIGURE NO FIGURE NAME PAGE NO


7.1.1 Use Case Diagram

7.1.2 Class Diagram


7.1.3 Sequence Diagram

7.1.4 Collaboration Diagram

7.1.5 Activity Diagram

7.1.6 State Chart Diagram

7.1.7 Component Diagram

7.1.8 Deployment Diagram


LIST OF ABBREVIATIONS

S.NO ABBREVIATIONS MEANING


1 CLS Common Language Specification

2 CLR Common Language Runtime

3 CTS Common Type System

4 SQL Structured Query Language

5 FCL Framework Class Library


CHAPTER 1
INTRODUCTION

E-voting greatly reduces direct human control and influence in voting process. This
provides an opportunity for solving some old electoral problems but also introducing whole
range of new concern. The e-voting system provides a voting service that allows people to vote
from any poll site in the country electronically. This system includes legal, regulatory,
sociological and behavioral aspects of the current voting system, while adding additional
convenience and more secure to the growing environment of voting process.

Technology upgrades in election are always challenging projects that require careful,
deliberation and planning. Introducing e-voting is probably most difficult upgrade as this
technology touches the core of the entire electoral process -the casting and counting of votes.
This paper design and implement an e-voting system using QR codes with the maximum
security. This can not only make sure voter’s identity but also ensure the registration of the
verifying candidate who is eligible for voting.

The Quick Response (QR) code is generated from Session password. The Visual
Cryptography (VC) is performed on QR code. Thus, voters are provided with utmost security.
QR code (abbreviated from Quick Response Code) is the trademark for a type of matrix barcode
(or two dimensional barcode) first designed for the automotive industry in Japan. A barcode is a
machine-readable optical label that contains information about the item to which it is attached. A
QR code uses four standardized encoding modes (numeric, alphanumeric, byte / binary, and
kanji) to efficiently store data extensions may also be used.
CHAPTER 2
ORGANIZATION PROFILE

About company:
Techtron soft Solutions is a privately owned software& Embedded development
company based in Tamil Nadu. We are specialists in the delivery of software consultancy and
bespoke custom-built software solutions. Our key objectives as an organization are customer
satisfaction and employee satisfaction.
TTS focuses on providing an exceptional level of service to a manageable number of
customers. Our commitment to customer satisfaction is second to none – not least because repeat
business is an important source of our revenue. We aim to be a complete technology partner for
our clients, from initial consultancy and design phases right through to deployment and ongoing
support, and we have partnerships with trusted third parties for services such as web design and
hosting which we believe are best outsourced to established specialists in those fields.

We have experience of a vast range of markets and technologies and are always seeking
to broaden our horizons even further. A can-do attitude prevails and, when asked by our clients if
we can help with their new requirements, the answer is usually yes. We are happy to undertake
work on a fixed-price, fixed-timescale basis – so our customers can be confident of what they’re
getting when, and at what price. They can budget and plan their IT strategy accurately, a luxury
of which most IT directors merely dream. In an industry where the majority of projects are
delivered late or over-budget, this gives our customers (and us) a huge competitive advantage.
TTS Offers Hands-on Training in various Technologies. Our courses emphasize task oriented.
Not product-oriented training– training that integrates technologies the way your business does.
Our Experts have cross-platform knowledge and experience. TTS prepares you to become a
more knowledgeable, efficient, effective, and valuable employee.TTS having expertise in
providing end to end Software Development Solutions. We offer customized software
development services to different corporate houses and institutions as per their exact need and
requirements. We have employed a team of qualified and experienced software experts.
TTS Conducting Job Fairs & Campus interviews in the name of TTS HR Consultants. TTS
HR Consultants having Strong Relationship with various Companies. (Both IT sectors Non-IT
sectors). We are recruiting Right candidates from various Colleges and fulfilling the industry
needs.Soft skills is a sociological term relating to a person’s “EQ” (Emotional Intelligence
Quotient), the cluster of personality traits, social graces, communication, language, personal
habits, friendliness, and optimism that characterize relationships with other people. Soft skills
complement hard skills which are the occupational requirements of a job and many other
activities.

Finally, we offer genuine value for money to our clients. We believe the quality of our
staff, software and service to be superior to almost all of the biggest and best names in the
industry – many of whom charge fees at least two or three times TTS’s.

TTS provide Quality website designing,time bound, cost effective and value added
servicesfor technology innovative business solutions that require specialized domain expertise.
We are best and website designer with high quality standards. We are one of the best SEO
specialist company in Trichy with lot of latest tools to ensure your page ranking in search
engines.
CHAPTER 3
SYSTEM CONFIGURATION

3.1 HARDWARE REQUIREMENTS


The hardware used for development of the project is
PROCESSOR : DUAL CORE PROCESSOR 2.6.0 GHZ
PROCESSOR SPEED : 1GB
RAM : 160GB
COMPACT DISK : 650MB
MONITOR : 15 INCH COLOR MONITOR
KEYBORD : STANDARD KEYBORD

3.2 SOFTWARE REQUIREMENTS


The software used for development of the project is
OPERATING SYSTEM : WINDOWS 7
FRONT_END : ASP.NET
BANK_END : SQL SERVER 2010
APPLICATION : WEB APPLICATION
CHAPTER 4
SOFTWARE FEATURES

4.1 FRONT END: .NET FRAMEWORK


The .NET Framework (pronounced dot net) is a software framework developed by
Microsoft that runs primarily on Microsoft Windows. It includes a large library and provides
language interoperability (each language can use code written in other languages) across several
programming languages.

Programs written for the .NET Framework execute in a software environment (as
contrasted to hardware environment), known as the Common Language Runtime (CLR), an
application virtual machine that provides services such as security, memory management, and
exception handling. The class library and the CLR together constitute the .NET Framework.

The .NET Framework's Base Class Library provides user interface, data access, database
connectivity, cryptography, web application development, numeric algorithms, and network
communications. Programmers produce software by combining their own source code with the
.NET Framework and other libraries.

The .NET Framework is intended to be used by most new applications created for the
Windows platform. Microsoft also produces an integrated development environment largely for
.NET software called Visual Studio

DESIGN FEATURES

Interoperability

Because computer systems commonly require interaction between newer and older
applications, the .NET Framework provides means to access functionality implemented in newer
and older programs that execute outside the .NET environment.

Access to COM components is provided in the System Runtime. Interop Services and
System. Enterprise Services namespaces of the framework; access to other functionality is
achieved using the P/Invoke feature.
Common Language Runtime Engine

The Common Language Runtime (CLR) serves as the execution engine of the .NET
Framework. All .NET programs execute under the supervision of the CLR, guaranteeing certain
properties and behaviors in the areas of memory management, security, and exception handling.

Language Independence

The .NET Framework introduces a Common Type System, or CTS. The CTS
specification defines all possible datatypes and programming constructs supported by the CLR
and how they may or may not interact with each other conforming to the Common Language
Infrastructure (CLI) specification. Because of this feature, the .NET Framework supports the
exchange of types and object instances between libraries and applications written using any
conforming .NET language.

Base Class Library

The Base Class Library (BCL), part of the Framework Class Library (FCL), is a library
of functionality available to all languages using the .NET Framework. The BCL provides classes
that encapsulate a number of common functions, including file reading and writing, graphic
rendering, database interaction, XML document manipulation, and so on. It consists of classes,
interfaces of reusable types that integrate with CLR (Common Language Runtime).

Simplified Deployment

The .NET Framework includes design features and tools which help manage the
installation of computer software to ensure it does not interfere with previously installed
software, and it conforms to security requirements.

Security

The design addresses some of the vulnerabilities, such as buffer overflows, which have
been exploited by malicious software. Additionally, .NET provides a common security model for
all applications.
Portability

While Microsoft has never implemented the full framework on any system except
Microsoft Windows, it has engineered the framework to be platform-agnostic, and cross-
platform implementations are available for other operating systems (see Silverlight and the
Alternative implementations section below). Microsoft submitted the specifications for the
Common Language Infrastructure (which includes the core class libraries, Common Type
System, and the Common Intermediate Language), the C# language, and the C++/CLI language
to both ECMA and the ISO, making them available as official standards. This makes it possible
for third parties to create compatible implementations of the framework and its languages on
other platforms.

Common Language Infrastructure (CLI)

The purpose of the Common Language Infrastructure (CLI) is to provide a language-


neutral platform for application development and execution, including functions for Exception
handling, Garbage Collection, security, and interoperability.

By implementing the core aspects of the .NET Framework within the scope of the CL,
this functionality will not be tied to a single language but will be available across the many
languages supported by the framework. Microsoft's implementation of the CLI is called the
Common Language Runtime, or CLR.

The CIL code is housed in CLI assemblies. As mandated by the specification, assemblies
are stored in the Portable Executable (PE) format, common on the Windows platform for all
DLL and EXE files. The assembly consists of one or more files, one of which must contain the
manifest, which has the metadata for the assembly.

The complete name of an assembly (not to be confused with the filename on disk)
contains its simple text name, version number, culture, and public key token. Assemblies are
considered equivalent if they share the same complete name, excluding the revision of the
version number. A private key can also be used by the creator of the assembly for strong naming.
The public key token identifies which public key an assembly is signed with. Only the
creator of the keypair (typically the .NET developer signing the assembly) can sign assemblies
that have the same strong name as a previous version assembly, since he is in possession of the
private key. Strong naming is required to add assemblies to the Global Assembly Cache

Security

.NET has its own security mechanism with 2 general features: Code Access Security
(CAS), and validation and verification. Code Access Security is based on evidence that is
associated with a specific assembly. Typically the evidence is the source of the assembly
(whether it is installed on the local machine or has been downloaded from the intranet or
Internet). Code Access Security uses evidence to determine the permissions granted to the code.

Other code can demand that calling code is granted a specified permission. The demand
causes the CLR to perform a call stack walk: every assembly of each method in the call stack is
checked for the required permission; if any assembly is not granted the permission a security
exception is thrown.

Class library

The .NET Framework includes a set of standard class libraries. The class library is
organized in a hierarchy of namespaces. Most of the built-in APIs are part of either System.* or
Microsoft.* namespaces. These class libraries implement a large number of common functions,
such as file reading and writing, graphic rendering, database interaction, and XML document
manipulation, among others. The .NET class libraries are available to all CLI compliant
languages. The .NET Framework class library is divided into two parts: the Base Class Library
and the Framework Class Library

The Base Class Library (BCL) includes a small subset of the entire class library and is the
core set of classes that serve as the basic API of the Common Language Runtime. The classes in
mscorlib.dll and some of the classes in System.dll and System.core.dll are considered to be a part
of the BCL. The BCL classes are available in both .NET Framework as well as its alternative
implementations including .NET Compact Framework, Microsoft Silverlight and Mono.
The Framework Class Library (FCL) is a superset of the BCL classes and refers to the
entire class library that ship with .NET Framework. It includes an expanded set of libraries,
including Windows Forms, ADO.NET, ASP.NET, Language Integrated Query, Windows
Presentation Foundation, Windows Communication Foundation among others. The FCL is much
larger in scope than standard libraries for languages like C++, and comparable in scope to the
standard libraries of Java.

Memory management

The .NET Framework CLR frees the developer from the burden of managing memory
(allocating and freeing up when done); it handles memory management itself by detecting when
memory can be safely freed. Memory is allocated instantiations of .NET types (objects) from the
managed heap, a pool of memory managed by the CLR. As long as there exists a reference to an
object, which might be either a direct reference to an object or via a graph of objects, the object
is considered to be in use.

When there is no reference to an object, and it cannot be reached or used, it becomes


garbage, eligible for collection. NET Framework includes a garbage collector which runs
periodically, on a separate thread from the application's thread, that enumerates all the unusable
objects and reclaims the memory allocated to them.

The .NET Garbage Collector (GC) is a non-deterministic, compacting, mark-and-sweep


garbage collector. The GC runs only when a certain amount of memory has been used or there is
enough pressure for memory on the system. Since it is not guaranteed when the conditions to
reclaim memory are reached, the GC runs are non-deterministic.

Each .NET application has a set of roots, which are pointers to objects on the managed
heap (managed objects). These include references to static objects and objects defined as local
variables or method parameters currently in scope, as well as objects referred to by CPU
registers. When the GC runs, it pauses the application, and for each object referred to in the root,
it recursively enumerates all the objects reachable from the root objects and marks them as
reachable.
It uses CLI metadata and reflection to discover the objects encapsulated by an object, and
then recursively walk them. It then enumerates all the objects on the heap (which were initially
allocated contiguously) using reflection. All objects not marked as reachable are garbage. This is
the mark phase.

Since the memory held by garbage is not of any consequence, it is considered free space.
However, this leaves chunks of free space between objects which were initially contiguous. The
objects are then compacted together to make used memory contiguous again. Any reference to an
object invalidated by moving the object is updated by the GC to reflect the new location. The
application is resumed after the garbage collection is over.

4.2 BACK END: SQL SERVER:

Microsoft SQL Server is a relational database management system developed


by Microsoft. As a database server, it is a software product with the primary function of storing
and retrieving data as requested by other software applications which may run either on the same
computer or on another computer across a network (including the Internet).

Microsoft markets at least a dozen different editions of Microsoft SQL Server, aimed at
different audiences and for workloads ranging from small single-machine applications to large
Internet-facing applications with many concurrent users. Data storage is a database, which is a
collection of tables with typed columns.

SQL Server supports different data types, including primary types such
as Integer, Float, Decimal, Char (including character strings), Varchar (variable length character
strings), binary (for unstructured blobs of data), Text (for textual data) among others.
The rounding of floats to integers uses either Symmetric Arithmetic Rounding or Symmetric
Round Down (fix) depending on arguments: SELECT Round(2.5, 0)

Microsoft SQL Server also allows user-defined composite types (UDTs) to be defined
and used. It also makes server statistics available as virtual tables and views (called Dynamic
Management Views or DMVs).

In addition to tables, a database can also contain other objects including views, stored
procedures, indexes and constraints, along with a transaction log. A SQL Server database can
contain a maximum of 231 objects, and can span multiple OS-level files with a maximum file size
of 260 bytes (1exabyte).

The data in the database are stored in primary data files with an extension . mdf
Secondary data files, identified with a .ndf extension, are used to allow the data of a single
database to be spread across more than one file, and optionally across more than one file system.
Log files are identified with the .ldf extension.

Storage space allocated to a database is divided into sequentially numbered pages, each
8 KB in size. A page is the basic unit of I/O for SQL Server operations. A page is marked with a
96-byte header which stores metadata about the page including the page number, page type, free

Page type defines the data contained in the page: data stored in the database, index,
allocation map which holds information about how pages are allocated to tables and indexes,
change map which holds information about the changes made to other pages since last backup or
logging, or contain large data types such as image or text.

While page is the basic unit of an I/O operation, space is actually managed in terms of
an extent which consists of 8 pages. A database object can either span all 8 pages in an extent
("uniform extent") or share an extent with up to 7 more objects ("mixed extent"). A row in a
database table cannot span more than one page, so is limited to 8 KB in size.

However, if the data exceeds 8 KB and the row contains varchar or varbinary data, the
data in those columns are moved to a new page (or possibly a sequence of pages, called
an allocation unit) and replaced with a pointer to the data.

For physical storage of a table, its rows are divided into a series of partitions (numbered 1
to n). The partition size is user defined; by default all rows are in a single partition. A table is
split into multiple partitions in order to spread a database over a computer cluster. Rows in each
partition are stored in either B-tree or heap structure.

If the table has an associated, clustered index to allow fast retrieval of rows, the rows are
stored in-order according to their index values, with a B-tree providing the index. The data is in
the leaf node of the leaves, and other nodes storing the index values for the leaf data reachable.
If the index is non-clustered, the rows are not sorted according to the index keys. An
indexed view has the same storage structure as an indexed table. A table without a clustered
index is stored in an unordered heap structure. However, the table may have non-clustered
indices to allow fast retrieval of rows. In some situations the heap structure has performance
advantages over the clustered structure. Both heaps and B-trees can span multiple allocation
units.

Concurrency And Locking

SQL Server allows multiple clients to use the same database concurrently. As such, it
needs to control concurrent access to shared data, to ensure data integrity when multiple clients
update the same data, or clients attempt to read data that is in the process of being changed by
another client. SQL server provides two modes of concurrency control: pessimistic
concurrency and optimistic concurrency. When pessimistic concurrency control is being used,
SQL Server controls concurrent access by using locks.

Locks can be either shared or exclusive. Exclusive lock grants the user exclusive access
to the data no other user can access the data as long as the lock is held. Shared locks are used
when some data is being read multiple users can read from data locked with a shared lock, but
not acquire an exclusive lock. The latter would have to wait for all shared locks to be released.

Locks can be applied on different levels of granularity on entire tables, pages, or even on
a per-row basis on tables. For indexes, it can either be on the entire index or on index leaves. The
level of granularity to be used is defined on a per-database basis by the database administrator.
While a fine-grained locking system allows more users to use the table or index simultaneously,
it requires more resources, so it does not automatically yield higher performance.

SQL Server also includes two more lightweight mutual exclusion solutions latches and
spinlocks which are less robust than locks but are less resource intensive. SQL Server uses them
for DMVs and other resources that are usually not busy. SQL Server also monitors all worker
threads that acquire locks to ensure that they do not end up in deadlocks in case they do, SQL
Server takes remedial measures, which in many cases are to kill one of the threads entangled in a
deadlock and roll back the transaction it started.[6] To implement locking, SQL Server contains
the Lock Manager.
The Lock Manager maintains an in-memory table that manages the database objects and
locks, if any, on them along with other metadata about the lock. Access to any shared object is
mediated by the lock manager, which either grants access to the resource or blocks it. SQL
Server also provides the optimistic concurrency control mechanism, which is similar to the multi
version concurrency control used in other databases.

Social database frameworks are the most critical database frameworks utilized as a part
of the product business today. A standout amongst the most remarkable frameworks is Microsoft
SQL Server. SQL Server is a database administration framework created and showcased by
Microsoft. It runs solely under Windows NT and Windows 95/98

The Most Critical Parts Of SQL Server 8

SQL Server is anything but difficult to utilize.

SQL Server scales from a portable tablet to symmetric multiprocessor frameworks.

SQL Server gives information warehousing elements that as of recently have just been
accessible in Oracle and other more costly DBMS.

A database framework is a general gathering of distinctive database programming


segments and databases containing the parts viz. Database application projects, Front-End
segments, Database administration frameworks, and Databases.

A Database Framework Must Give The Accompanying Element

 Physical information autonomy

 Logical information autonomy

 Query advancement

 Data honesty

 Concurrency control

 Backup and recuperation

 Security and approval


SQL Server is a Relational Database Management System. The SQL Server social dialect
is called Transact-SQL.SQL is resource arranged dialect. This implies that SQL can inquiry
numerous lines from one or more tables utilizing only one announcement. This component
permits the utilization of this dialect at a coherently larger amount than procedural dialects.
Another vital property of SQL is its non-procedurally. SQL contains two sub dialects DDL and
DML.

SQL Server functions as a characteristic augmentation of Windows NT and windows


95/98.SQL Server is generally simple to oversee through the utilization of a graphical registering
environment for each undertaking of framework and database organization.

SQL Server uses administrations of Windows NT to offer new or expanded database


capacities, for example, sending and accepting messages and overseeing login security.

The SQL Server chairman's essential device for connecting with the framework is
Enterprise Manager. The Enterprise Manager has two primary purposes: Administration of the
database server and Management of database items.

 SQL Server Query Analyzer gives a graphical presentation of the execution arrangement
of a question and a programmed segment that recommends which list ought to be utilized
for a chose inquiry. This intelligent segment of SQL Server performs the assignments
like:

 Generating and executing Transact-SQL explanations

 Putting away the produced Transact-SQL explanations in a document

 Analyzing execution gets ready for produced inquiries

 Graphically representing the execution arrangement for a chose question.

A put away method is an exceptional sort of clump written in Transact-SQL utilizing the
SQL dialect and SQL augmentations. It is saved money on the database server to enhance the
execution and consistency of monotonous undertakings. SQL Server backings put away methods
and framework techniques.
Put away techniques can be utilized for the accompanying purposes: to control access
approval, to make a review trial of exercises in database tables, to discrete information definition
& information control articulations concerning a database & every single comparing application.

The database article perspective can be utilized for:

 Restricting the utilization of specific sections and lines of tables - that is to control access
to a specific piece of one or more tables,

 To shroud the points of interest of confounded inquiries, to limit embedded & redesigned
qualities to certain extents.

The Query Optimizer is the piece of SQL Server that chooses how to best perform a
question. It creates a few inquiry execution gets ready for the given question & chooses the
arrangement with the most minimal expense.

SQL Server can work in one of two security modes:

 Windows NT

 Mixed

Windows NT security mode solely utilizes Windows NT client records to sign into the SQL
Server framework. Blended mode permits clients to associate with SQL Server utilizing the
Windows NT security framework or the SQL Server framework. Moreover it gives three security
offices to controlling access to database objects:

 Transact-SQL explanations GRANT, DENY, and REVOKE.

 Views.

 Stored methodology

A Windows NT client record or a SQL server login name permits a client to sign into the
SQL server framework. A client who hence needs to get to a database of the framework needs a
database client record to work in the DB. In this manner clients must have a DB client represent
each DB they need to utilize. In the event that there is no such record the client may be permitted
to work in the DB under the visitor account."
Put away methods can likewise be utilized to limit information access. The confinement of
information access utilizing put away methodology is based upon the property that the consent to
execute a put away' strategy is free of any authorization for DB objects that are referenced by the
put away system.

SQL server gives an instrument called a trigger for upholding procedural respectability
requirements.

A DBMS handles 2 sorts of honesty requirements:

 Declarative Integrity limitations characterized utilizing CREATE & ALTER TABLE


articulations.

 Procedural honesty requirements took care of by triggers.

A trigger is an instrument that is conjured when a specific activity happens on a specific


table. Every trigger has 3 general parts:

 A name

 The activity

 The execution

SQL server keeps record of every change it makes to the db amid an exchange. This is
essential in the event that a lapse happens amid the execution of the exchange. For this situation
all already executed explanations inside of the exchange must be moved back.

SQL server keeps every one of these records, specifically the previously, then after the
fact values, in one or more documents called the exchange log. Each DB of the SQL server
framework has its own particular exchange log. Concurrency in multi-client frameworks, for
example, SQL Server has chosen impact of execution.

At the point when access to the information is taken care of such that stand out project at
once can utilize the information, preparing moderates significantly. SQL Server like all different
DBMSs takes care of this issue utilizing exchanges.
All announcements inside an exchange manufacture a nuclear unit. This implies that
either all announcements are executed or for the situation of disappointment, all announcements
are wiped out.

Elements of SQL Server

Microsoft SQL Server bolsters a full arrangement of elements that outcome in the
accompanying. SQL incorporates an arrangement of managerial and advancement instruments
that enhance our capacity to introduce, convey, oversee and use SQL Server over a few locales.

Adaptability

The same database motor can be utilized crosswise over stages going from smart phones
Microsoft Windows95 to substantial; multiprocessor servers running Microsoft Windows NT,
Enterprise Edition.

Ease in building information distribution centers

SQL Server incorporates instruments for removing and examining synopsis information
for online investigative preparing (OLAP). SQL Server likewise incorporates apparatuses for
outwardly planning databases and breaking down information utilizing English based inquiries.

SQL API (SQL Application Programming Interface)

Implanted SQL applications utilize the DB-library DLL to get to SQL server. The SQL
Server ODBC driver clients don't get to Microsoft SQL Server straightforwardly. They utilize an
application kept in touch with access the information in SQL Server. SQL Server can likewise be
gotten to through COM, Microsoft ActiveX, or Windows DNA (Windows Distributed Internet
Applications Architecture) parts. Applications are composed to get to SQL Server through a
database Application Programming Interface (API).

HTML

HTML remains for Hyper Text Markup Language. It is a basic content designing dialect
used to make hypertext records. It is a stage free dialect not at all like most other programming
dialect. HTML is impartial and can be utilized on numerous stage or desktop. It is this
component of HTML that makes it mainstream as standard on the WWW.
This adaptable dialect permits the making of hypertext connections, otherwise called
hyperlinks. These hyperlinks can be utilized to unite reports on diverse machine, on the same
system or on an alternate system, or can even indicate purpose of content in the same record.

HTML is utilized for making archives where the accentuation is on the presence of the
record. It is likewise utilized for DTP. The records made utilizing HTML can have content with
diverse sizes, weights and hues. It can also contain graphics to make the document more
effective.
CHAPTER 5

PROJECT DESCRIPTION

5.1 Overview of the project


The QR Code system has become popular outside the automotive industry due to its fast
readability and greater storage capacity compared to standard UPC barcode. Applications include
product tracking, item identification, time tracking, document management, general marketing,
and much more. To view the encrypted data we perform de-cryptography, then the password for
login is obtain by scanning this QR code using smart phone. To avoid hackers to find both the
shares and session password proper use of QR technique is provided so that there will be secure
environment for voter to cast his vote.

Problem Statement

The barcode must be read using computer vision techniques and barcode can hold
information, it makes this vision task in consumer scenarios unusually challenging. Barcode
decoder can give the vision algorithm feedback, and develop a progressive strategy of the voter.

MODULE DESCRIPTIONS
 Admin

 Registration

 QR Code Generation

 Vote

Admin:
This module handled by admin who has all control in voting system . Admin has unique
user name and password. Admin only has rights to give permission to users for access the
system. Admin add the candidate details in this site.
Registration:

In this module, If the voter is new to the process he/she had should register and the
database will generate the QR-Code for the voter. After the Registration the database ask the
password for an authentication. Then the voter should perform the operation for process to vote.

QR Code Generation:

In this module we are creating QR Code for encoding the information about the voter.
The voter details contains voter_ id no, voter_ name, DOB, Address. QR Code can hold
information more than other bar codes.

Voting Module:

This module has the process of storing the selected candidate information from the client,
which are send through the web service. All these information’s will be stored in the database.
We are maintaining a centralized server to receive the selected voter list from the database
through internet. The Voter will use this list to perform the voting.
CHAPTER 7

SYSTEM DESIGN

7.1UML DIAGARAM

Unified Modelling Language is a graphical visualization language. It paves an easier


what for building a model for an existing or proposed system.

7.1.1Use Case Diagram

UML Use Case Diagrams. Use case diagrams are usually referred to as
behavior diagrams used to describe a set of actions (use cases) that some system or systems
(subject) should or can perform in collaboration with one or more external users of the system
(actors).

Registeration

Login

Qr code generation User


Admin

Candidate Details

Vote

Fig No: 7.1.1 Use case diagram for QR code based e-voteing system
7.1.2 Class Diagram

In software engineering, a class diagram in the Unified Modeling Language (UML) is a


type of static structure diagram that describes the structure of a system by showing the
system's classes, their attributes, operations (or methods), and the relationships among objects.

Server
+User Details
+Qr code
+User Maintanance()

Admin User
+Details +Details
+Data +Login
+Candidate() +Register()
+vote()

Fig No: 7.1.2 Class diagram for QR code based e-voteing system
7.1.3 Sequence Diagram
Sequence diagrams are sometimes called event diagrams or event scenarios. A sequence
diagram shows, as parallel vertical lines (lifelines), different processes or objects that live
simultaneously, and, as horizontal arrows, the messages exchanged between them, in the order in
which they occur.

Admin Server User

1 : Registration()

2 : Login()

3 : verification()

4 : Qr Code generation()

5 : Login()

6 : Verification()

7 : Add Candidate Details()

8 : View Details()

9 : Vote()

Fig No: 7.1.3 Sequence Diagram For QR code based e-voteing system
7.1.4 Collaboration Diagram
A collaboration diagram, also called a communication diagram or interaction diagram, is
an illustration of the relationships and interactions among software objects in the Unified
Modeling Language (UML).

Fig No: 7.1.4 Collaboration Diagram For QR code based e-voteing system
7.1.5 Activity Diagram
Activity diagram is another important diagram in UML to describe the dynamic aspects
of the system. Activity diagram is basically a flowchart to represent the flow from one activity to
another activity.

Registration

Login

Qr Code Generation

Candidate Details

Vote

Fig No: 7.1.5 Activity Diagram For QR code based e-voteing system
State Chart Diagram

State chart diagram is mainly used to describe the behaviour of a system. It will describe
the possible state so of on object as event occurs.

Fig No: 7.1.6 State chart diagram for QR code based e-voteing system
Component Diagram

A Component diagram is mainly used to describe the behaviour of a system. It will


describe the possible states of an object as event occurs.

Fig No: 7.1.7 component diagram for QR code based e-voteing system
Deployment Diagram

Fig 7.1.8 Deployment for QR code based e-voteing system


7.2 DATABASE DESIGN

7.2.1Table Structure For Candidate

Field Data Type Size Constraint Description

Id Int 11 Primary Key Specify the candidate ID

Name Varchar 30 NULL Store the user name

Contact Big int 20 NULL Store the user contact

Party Varchar 50 NULL Specify the party name

Caption Varchar 50 NULL Specify the party caption

Rdate Varchar 15 NULL Specify the registration date

7.2.2 Table Structure For Tab Poll_ Details

Field Type Size Constraints Description

Id int 10 Primary key Specify the poll ID

Voter Id Varchar 20 NULL Specify the voter ID

CandId Varchar 20 NULL Specify the candidate Name


7.2.3Table Structure For Table Voters

Field Type Size Constraint Description

Id Int 11 Primary Key Specify the ID

Name Varchar 30 NULL Specify the Voter Name

Gender Varchar 10 NULL Specify the gender

Fname Varchar 30 NULL Specify the father name.

Dob Varchar 15 NULL Specify the Date of Birth

Address Varchar 50 NULL Specify the address

Contact Bigint 20 NULL Store contact number

Photo Varchar 50 NULL Attach the photo

Proof Varchar 50 NULL Attach the proof

Rdate Varchar 15 NULL Specify the register date

Voterid Varchar 20 NULL Specify the voter ID


CHAPTER 8

SYSTEM TESTING

TYPES OF TESTING

Unit Testing

The first test in the development process is the unit test. The source code is normally
divided into modules, which in turn are divided into smaller units called units. These units have
specific behavior. The test done on these units of code is called unit test. Unit test depends upon
the language on which the project is developed.

Unit tests ensure that each unique path of the project performs accurately to the
documented specifications and contains clearly defined inputs and expected results. Functional
and reliability testing in an Engineering environment. Producing tests for the behavior of
components (nodes and vertices) of a product to ensure their correct behavior prior to system
integration.

System Testing

Several modules constitute a project. If the project is long-term project, several


developers write the modules. Once all the modules are integrated, several errors may arise. The
testing done at this stage is called system test. System testing ensures that the entire integrated
software system meets requirements. It tests a configuration to ensure known and predictable
results. System testing is based on process descriptions and flows, emphasizing pre-driven
process links and integration points. Testing a specific hardware/software installation. This is
typically performed on a COTS (commercial off the shelf) system or any other system comprised
of disparate parts where custom configurations and/or unique installations are the norm.

Integration Testing
Testing in which modules are combined and tested as a group. Modules are typically
code modules, individual applications, source and destination applications on a network, etc.
Integration Testing follows unit testing and precedes system testing.
8.1 Test Plan

TEST PLAN TESTING TYPE OF DURATION REMARK


ID MODULE TESTING
TP1 Admin login Unit Testing 2 Hours Admin can enter
into the system
TP2 Voter Unit Testing 1 Hour Register page
Registration Design
TP3 Voting Moduel Unit Testing 2 Hours Voting page

TP4 Candidate Unit Testing 2 Hours Registration page


registration design
TP5 User login Unit Testing 3 Hours User can enter
into the system
TP6 View details Unit Testing 3 Hours View all details
in user page
8.2 Test Case
8.2.1 User login

TEST TEST TEST ACTUAL ACTUAL EXPECTED


CASE ID PLAN ID CASE INPUT OUTPUT OUTPUT STATUS
TC01 TC01 User User Register Register Pass
Registration Personal page page design
details Design

8.2.2 Admin Login:

TEST TEST TEST ACTUAL ACTUAL EXPECTED


CASE ID PLAN ID CASE INPUT OUTPUT OUTPUT STATUS
TC02 TC02 Admin Enter User View the View the Pass
login name and admin page Admin page
Password design design
8.3 Bug Report
Bug Name: Application crash on clicking the SAVE button while creating a new user.

Bug ID: (It will be automatically created by the BUG Tracking tool once you save this bug)

Area Path: USERS menu > New Users

Reason: Defect

Status: New/Open/Active (Depends on the Tool you are using)

Environment: Windows 2007/SQL Server 2005

Description:

Application crash on clicking the SAVE button while creating a new the user, hence unable to
create a new user in the application.

Steps To Reproduce:

1) Login into the application

2) Navigate to the Users Menu > New User

3) Filled all the user information fields

4) Clicked on ‘Save’ button

5) Seen an error page “ORA1090 Exception: Insert values Error…”

6) See the attached logs for more information (Attach more logs related to bug..IF any)

7) And also see the attached screenshot of the error page.

Expected result: On clicking SAVE button, should be prompted to a success message “New
User has been created successfully”.
CHAPTER 9
CONCLUSION
Now a days, use of e-Voting application are increased. Security is an important issue for
handling such services. Current system provide security card based facility to authenticate user
but this is not much more secure and will not be available for any time or situation. To overcome
such type of issues we propose online e-Voting authentication system using QR-code.

Context QR codes can provide great value when used in situations that dynamically
change depending on the context. Augmented reality is an interesting field for the application of
this concept, as it enables user interaction with different technologies. Depending on the context,
the characteristics of contextual QR codes assist users to bring them closer into augmented
reality and enable content access from different experiences immediately and transparently by
taking advantage of the features provided by contextual QR codes.
CHAPTER 10

FUTURE ENHANCEMENT

An interesting future study might involve simulating voting method at different gateway.

This Project has presented a system that uses contextual QR Codes to activate different
actions to deal with different devices and user situations. Our system will demonstrate that it is
possible to implement different augmented reality technologies under different contexts.
APPENDIX-I

ADMIN

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
public partial class AdminHome : System.Web.UI.Page
{
SqlConnection con = new SqlConnection(@"Data
Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\govdb.mdf;Integrated
Security=True;User Instance=True");
SqlCommand cmd;
protected void Page_Load(object sender, EventArgs e)
{
cmd = new SqlCommand("select * from regtb", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
ADMIN LOGIN
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class AdminLogin : System.Web.UI.Page


{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text == "admin" & TextBox2.Text == "admin")
{
Response.Redirect("AdminHome.aspx");
}
else
{
Response.Write("<Script> alert('Password Mismatch') </Script>");
}
}
}
CANDIDATE REGISTRATION

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;

public partial class CandidateReg : System.Web.UI.Page


{

SqlConnection con = new SqlConnection(@"Data


Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\govdb.mdf;Integrated
Security=True;User Instance=True");
SqlCommand cmd;
string filename;

protected void Page_Load(object sender, EventArgs e)


{

}
protected void Button1_Click(object sender, EventArgs e)
{
filename = System.IO.Path.GetFileName(FileUpload1.PostedFile.FileName);
FileUpload1.PostedFile.SaveAs(Server.MapPath("~/images/" + filename));
cmd = new SqlCommand("insert into candidatetb values(@Candidate,@Party,@Image)",
con);
cmd.Parameters.AddWithValue("@Candidate", TextBox1.Text);
cmd.Parameters.AddWithValue("@Party", TextBox2.Text);
cmd.Parameters.AddWithValue("@Image", "~/images/" + filename);
con.Open();
cmd.ExecuteNonQuery();
con.Close();

Response.Write("<Script> alert('Candidate Info Saved!') </Script>");

}
}

NEW USER
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Net;
using System.IO;
using MessagingToolkit.QRCode.Codec;
using MessagingToolkit.QRCode;
using System.Drawing.Imaging;
public partial class NewUser : System.Web.UI.Page
{

SqlConnection con = new SqlConnection(@"Data


Source=.\SQLEXPRESS;AttachDbFilename=|Datadirectory|\govdb.mdf;Integrated
Security=True;User Instance=True");
SqlCommand cmd;
string filename;
string extractedText = string.Empty;

protected void Page_Load(object sender, EventArgs e)


{

}
protected void Button1_Click(object sender, EventArgs e)
{
string yourcode = TextBox24.Text;
QRCodeEncoder enc = new QRCodeEncoder();
Bitmap qrcode = enc.Encode(yourcode);
Random r = new Random();
int ii = r.Next(111, 999);
qrcode.Save(Server.MapPath("~/Qrcode/" + ii + ".bmp"));
Image1.ImageUrl = "~/Qrcode/" + ii + ".bmp";
Label36.Text = ii + ".bmp";
filename = System.IO.Path.GetFileName(FileUpload2.PostedFile.FileName);
FileUpload2.SaveAs(Server.MapPath(@"~\images\" + filename));
cmd = new SqlCommand("insert into regtb
values(@Name,@Faname,@gender,@dob,@Age,@mobile,@email,@address,@married,@pinc
ode,@state,@city,@school,@passyear,@mark,@school1,@passyear1,@mark1,@college,@pass
year2,@mark2,@ostudy,@company,@exp,@salary,@uname,@password,@path,@aadhar)",
con);
cmd.Parameters.AddWithValue("@Name", TextBox1.Text);
cmd.Parameters.AddWithValue("@Faname", TextBox2.Text)
cmd.Parameters.AddWithValue("@gender",
RadioButtonList1.SelectedItem.Text);cmd.Parameters.AddWithValue("@dob", TextBox3.Text);
cmd.Parameters.AddWithValue("@Age", TextBox4.Text);
cmd.Parameters.AddWithValue("@mobile", TextBox5.Text);
cmd.Parameters.AddWithValue("@email", TextBox6.Text);
cmd.Parameters.AddWithValue("@address", TextBox7.Text);
cmd.Parameters.AddWithValue("@married", DropDownList1.Text);
cmd.Parameters.AddWithValue("@pincode", TextBox8.Text);
cmd.Parameters.AddWithValue("@state", DropDownList2.Text);
cmd.Parameters.AddWithValue("@city", DropDownList3.Text);
cmd.Parameters.AddWithValue("@school", TextBox9.Text);
cmd.Parameters.AddWithValue("@passyear", TextBox10.Text);
cmd.Parameters.AddWithValue("@mark", TextBox11.Text);
cmd.Parameters.AddWithValue("@school1", TextBox12.Text);
cmd.Parameters.AddWithValue("@passyear1", TextBox13.Text)
cmd.Parameters.AddWithValue("@passyear2", TextBox16.Text);
cmd.Parameters.AddWithValue("@mark2", TextBox17.Text);
cmd.Parameters.AddWithValue("@ostudy", TextBox18.Text);
cmd.Parameters.AddWithValue("@company", TextBox19.Text);
cmd.Parameters.AddWithValue("@exp", DropDownList4.Text);
cmd.Parameters.AddWithValue("@salary", TextBox20.Text);
cmd.Parameters.AddWithValue("@uname", TextBox21.Text);
cmd.Parameters.AddWithValue("@password", TextBox22.Text);
cmd.Parameters.AddWithValue("@path", @"~\images\" + filename);
cmd.Parameters.AddWithValue("@aadhar", TextBox24.Text);
con.Open();
cmd.ExecuteNonQuery();
con.Close()
Response.Write("<Script> alert('Record Saved!') </Script>");
// sendmessage(TextBox5.Text, "UserName" + TextBox24.Text + " Password " +
TextBox22.Text);
}
public void sendmessage(string targetno, string message)
{
String query =
"http://bulksms.mysmsmantra.com:8080/WebSMS/SMSAPI.jsp?username=fantazy&password=
1324149931&sendername=fantaz&mobileno=" + targetno + "&message=" + message;
WebClient client = new WebClient();
Stream sin = client.OpenRead(query);
Response.Write("<script> alert('Message Send') </script>");
}
public void clear()
{
TextBox1.Text = "";
TextBox2.Text = "";
TextBox3.Text = "";
TextBox4.Text = "";
TextBox5.Text = "";
TextBox6.Text = "";
TextBox7.Text = "";
TextBox8.Text = "";
TextBox9.Text = "";
TextBox10.Text = "";
TextBox11.Text = "";
TextBox12.Text = "";
TextBox13.Text = "";
TextBox14.Text = "";
TextBox15.Text = "";
TextBox16.Text = "";
TextBox17.Text = "";
TextBox18.Text = "";
TextBox19.Text = ""
TextBox20.Text = "";
TextBox21.Text = "";
TextBox22.Text = "";
}
protected void Button2_Click(object sender, EventArgs e)
{
clear();
}
}
APPENDIX II

SCREEN SHOTS

Home page

Admin
User Information

Candidate Registration
QR Registration

Candidate Information
Voteing Result

Das könnte Ihnen auch gefallen