Vous êtes sur la page 1sur 62




In India, we are following the common two techniques for Voting. They are
Ballot Voting and Electronic Voting.
1.1.1 Ballot Voting
Ballot is a device used to cast votes in an election, and may be a piece
of paper or a small ball used in secret voting. It was originally a small ball
(see blackballing) used to record decisions made by voters. Each voter uses
one ballot, and ballots are not shared. In the simplest elections, a ballot may
be a simple scrap of paper on which each voter writes in the name of
a candidate, but governmental elections use pre-printed to protect
the secrecy of the votes. The voter casts his/her ballot in a box at a polling
station. In British English, this is usually called a "ballot paper". The
word ballot is used for an election process within an organisation (such as a
trade union "holding a ballot" of its members).
1.1.2 Electronic Voting
Voting machines are the total combination
of mechanical, electromechanical, or electronic equipment (including
software, firmware, and documentation required to program control, and
support equipment), that is used to define ballots; to cast and count votes; to
report or display election results; and to maintain and produce any audit
trail information. The first voting machines were mechanical but it is
increasingly more common to use electronic voting machines.



Cloud computing is the use of computing resources (hardware and
software) that are delivered as a service over a network (typically the Internet). The
name comes from the common use of a cloud-shaped symbol as an abstraction for
the complex infrastructure it contains in system diagrams. Cloud computing
entrusts remote services with a user's data, software and computation.


o Infrastructure as a service (IaaS)
o Platform as a service (PaaS)
o Software as a service (SaaS)
o Network as a service (NaaS)

Public Cloud
Public cloud or external cloud describes cloud computing in the traditional
main stream sense, whereby resources are dynamically provisioned on a fine-
grained, self-service basis over the Internet, via web applications/web services,
from an off-site third-party provider who shares resources and bills on a fine-
grained utility computing basis.
Hybrid Cloud
A hybrid cloud environment consisting of multiple internal and/or external
Private Cloud
Private cloud and internal cloud are neologisms that some vendors have
recently used to describe offerings that emulate cloud computing on private
networks. These (typically virtualization automation) products claim to "deliver
some benefits of cloud computing without the pitfalls", capitalizing on data
security, corporate governance, and reliability concerns.
Different types of cloud computing and a little bit about what they offer to
1. Web-based cloud services: These services let you exploit certain web
service functionality, rather than using fully developed applications. For
example, it might include an API for Google Maps, or for a service such as
one involving payroll or credit card processing.

2. SaaS (Software as a Service): This is the idea of providing a given
application to multiple tenants, typically using the browser. SaaS solutions
are common in sales, HR, and ERP.
3. Platform as a Service: This is a variant of SaaS. You run your own
applications but you do it on the cloud providers infrastructure.
4. Utility cloud services: These are virtual storage and server options that
organizations can access on demand, even allowing the creation of a virtual
data center.
5. Managed services: This is perhaps the oldest iteration of cloud solutions. In
this scenario, a cloud provider utilizes an application rather than end-users.
So, for example, this might include anti-spam services, or even application
monitoring services.
6. Service commerce: These types of cloud solutions are a mix of SaaS and
managed services. They provide a hub of services which the end-user
interacts with. Common implementations include expense tracking, travel
ordering, or even virtual assistant services.


2.1An Efficient Online Voting System
According to Ankit Anand and Pallavi Divya developed a framework and
identify necessary properties that a secure and trusted online voting system. Such a
framework will allow us to evaluate as well as compare the merits of existing and
future candidate online voting schemes. This online voting system is highly
secured, and its design is very simple, ease of use and also reliable. The proposed
software is developed and tested to work on Ethernet and allows online voting. It
also creates and manages voting and an election detail as all the users must login
by user name and password and click on his favorable candidates to register vote.
This will increase the voting percentage in India. By applying high security it will
reduce false votes.

2.2 Highly Secured online voting system over Network
According to Mr.K.P.Kaliyamoorthie and R.Udayakumar said that
people who have citizenship of India and whose age is above 18 years and of any
sex can give their vote through online without going to any physical polling station
and can speed the counting of ballots and can provide improved accessibility for
disabled voters. Election Commission Officer (Election Commission Officer who
will verify whether registered user and candidates are authentic or not) to
participate in online voting. This online voting system is highly secured, and its
design is very simple, ease of use and also reliable. The proposed software is
developed and tested to work on Ethernet and allows online voting. It also creates
and manages voting and an election detail as all the users must login by user name
and password and click on his favorable candidates to register vote.


2.3 Highly Secure Online Voting System with Multi Security using Biometric
and Steganography
According to Cross Datson presented a new online voting system
employing biometrics in order to avoid rigging and to enhance the accuracy and
speed of the process . The basic idea is to merge the secret key with the cover
image on the basis of core image. The result of this process produces a stego image
which looks quite similar to the cover image. The core image is a biometric
measure, such as a fingerprint image. The stego image is extracted at the server
side to perform the voter authentication function. This system greatly reduces the
risks as the hackers have to find both the secret key and template which makes the
election procedure to be secure and robust against a variety of fraudulent

2.4 Cloud based e-Voting: One Step Ahead for Good Governance in India
According to Praveen and O.P.Rishi enhanced the security and reliability
of data to validate the voter from AADHAR database and to collect and count the
votes in Election Commission data center . On implementation it will facilitate
those voters who are willing but not in to the position to cast their votes owing to
their absence from head quarter for reasons beyond their control.
E- Voting model has been integrated with AADHAR CARD or Unique
Identification (UID) card data base using cloud. By integrating e-Voting model
with cloud infrastructure and AADHAR CARD database, percentage of polling
would increase and can provide authentic electoral voting mechanism to satisfy the
need of the voters. It would enable users and developers to utilize computing
resources that are virtualized and serve the needs of the voters via the internet.



3.1.1 Paper Based Voting Process
The process, which is involved in the paper-based electoral system, is
a rigorous one. First, all persons who are eligible to vote should be a citizen
of the country. These persons will have to go and get enumerated six months
in advance after which the election workers will visit their residential
addresses to ensure first that those persons actually live there and ascertain
that they have given the correct information about themselves. After
validation, a voters Id will be issued. The complete procedure involves lot
of paper work. After voting, the counting of ballots will be looked after by
another group of officers. With all these steps, groups and procedures that
are involved, the process can prove to be tedious, error prone and costly. The
semi-manual process only allows the government to store voters
information on a database, which can be retrieved on a computer on the
election date to facilitate faster searches.
3.1.2 Machine Based Voting Process
Electronic Voting Machines are using now a days to poll Vote. Before
the commencement of the polling process, the Presiding Officer
demonstrates to the polling agents present that there are no hidden votes
already recorded in the machine by pressing the 'Result' button. Then he or
she conducts a mock poll by asking the polling agents to record their votes
and presses the result button to satisfy them that the result shown is strictly
according to the choice recorded by them. Finally the clear button is pressed

to clear the result of the mock poll and the unit is sealed before sending it to
the respective polling booths. Each Control Unit has a unique ID Number,
which is painted on each unit with a permanent marker. This ID Number
will be allowed to be noted by the Polling Agents and will also be recorded
in a Register maintained for the purpose by the Returning Officer. The
address tag attached to the Control Unit also will indicate this ID Number.
This is to avoid replacement of a genuine EVM by another one.
During the counting of votes, the results are displayed by pressing the
'Result' button. There are two safeguards to prevent the 'Result' button from
being pressed before the counting of votes officially begins. (a) This button
cannot be pressed till the 'Close' button is pressed by the Polling Officer in-
charge at the end of the voting process in the polling booth. (b) This button
is hidden and sealed; this can be broken only at the counting center in the
presence of designated officials.

3.1.1 Disadvantages
More time consuming
People tries to poll fake vote
Sometimes Ballot papers should be damaged
Failure of Electronic machine at voting period


In proposed system, we are going to implement Two Methodologies
Online voting
Manual voting

3.2.1 Online Voting System:
In Online, the Election Commission gives Users ID and
Password by using the following Criteria. If the user is eligible for
electing the candidate (18 age) he/she must enroll his/her name in to
the Election Board. The Election Board gave VoterID for every user
who are all registering in to the Election Board.
In Online, the username is given by following Method. It give 11 digit
number as a user name. Strucutre of UserID:
First 3 Digit contains District Code
Second 3 Digit contains Assembly Code
Third 2 Digit contains Block Number
Fourth 2 Digit contains Family Number
Fifth 1 Digit Number contains Member
Number(which number you are in the family)
The Password for first time entry of voter is generated by
the Systemis their Member ID
By entering the Username and Password of the candidate
enter in to the Module2 (Security Question).There some

Security Question is presented for Verification of the User.
After that the Auto generated Password is Sending to Users
Email ID or to their Mobile Phone. User enter the Auto
generated Password in the next stage. Then the list of
Candidates who are all nominated for the Election in the
Particular District and Assembly Constitution are shown. These
List is shown by UserID (District Code and Assembly
Code).Then the User elect any Candidate from the List. Then
the Elected Candidate Counter Value is increased and the Value
stored in Cloud. When the Candidate selects (or) elect
Candidate, the barcode is disabled otherwise enabled. Suppose
the user elect the Candidate by Online he will easily enter in to
the Election Board to elect the Candidate.

3.2.2 Manual Voting System:
To avoid the Second Time entry of any User in to the Election
Booth we provide the Bar Code. The Bar Code contains the same UserID
having 11 Digit Number. If the User elect the candidate in online, the Bar
Code is disabled otherwise enabled. If the Bar Code is not disabled then
the user enters in to the Voting System. There the actual process happen
in the Election Booth (Manual Verification) is carried out. After that,
User can select any and that information get stored in the Cloud. By
using the Barcode we can elect the candidates wherever we are. The vote
is going to our Assembly only, not where we voted, because the District
Code and the Assembly Code made it Easy.


A main goal of the feasibility study is to assess the economic viability of the
proposed business. The feasibility study needs to answer the question: Does the
idea make economic sense? The study should provide a thorough analysis of the
business opportunity, including a look at all the possible roadblocks that may stand
in the way of the cooperatives success. The outcome of the feasibility study will
indicate whether or not to proceed with the proposed venture. If the results of the
feasibility study are positive, then the cooperative can proceed to develop a
business plan.
Although it is difficult to accept a feasibility study that shows these results,
it is much better to find this out sooner rather than later, when more time and
money would have been invested and lost.
Operational feasibility study must answer the six items above,
how is it used in the real world. A good examples might be if a
company has determined that it needs to totally redesign the
workspace environment.
After analyzing the technical, economic, and scheduling
feasibility studies, next would come the operational analysis. In order
to determine if the redesign of the workspace environment would
work, an example of an operational feasibility study would follow
Process-Input and analysis from everyone the new redesign will
affect along with a data matrix on ideas and suggestions from
the original plans

Evaluation-Determinations from then process suggestions; will
the redesign benefit everyone.

The Technical feasibility studies assess the details of how you
will deliver a product or service. Think of the technical feasibility
study as the logistical or tactical plan of how your system will produce,
deliver, and track its services. Do not make the mistake of trying to
entice investors with your staggering growth projections and potential
returns on their investment that only includes income to the business.
With any increases in revenue there is always an increase in expenses.
Expenses for technical requirements should be noted in the technical
feasibility study.

Economical feasibility, for purposes of this analysis, will be
defined as a comparative analysis of one potential scenario of
anticipated costs of implementation of this system to the resulting
revenues. A determination of economic feasibility requires an
identification of the potential costs associated with this system. The
estimated total costs for the first year of this system(2012-2013)
would be Rs.10,041.00. The significant part of that total cost comes
from varied expenditures in the operations and administration of the


The first year, it is likely would have higher computer equipment
and software acquisition costs than the following year. However, we
expect this system to receive more requests for paid advanced services
by residents, which will require higher costs of transportation,
marketing, and employment costs.


3.4.1 Login Module
Login Module which performs the work of Login Process. The
User already have an account can able to login with the help of
secret password. Username is 11 digit numbers which enables the
user to login in to the Module .Password is assigned for each voter
to cast their vote.

3.4.2 Authentication Module
Authentication Module is next to the Login Module. In this
module user is forward to answer a secret question which is only
known to voter who is having a account. This module is used to
check whether the correct user is logging or not. Secret questions
can be retrieved from the Database and thus the voter can able to
answer the question .If the voter had made a correct answer
authentication module takes him to the next module i.e.,Voting


3.4.3 Voting Module
Voting Module is an important module which main
function is to displaying the candidates list. This modules asks
the voter district and voters constituency. the module which
displays the candidates list for that selected constituency to the
voter. With the help of this information the voter can select the
candidate form the List. Submit button is provided at bottom of
the Screen. Voter selected the candidate and click the submit
button and the counter value for the selected candidate is
incremented and thus the module takes the voter tot the next
module i.e., Acknowledgement Module.

3.4.4 Acknowledgement Module
Acknowledgement Module is the last module and thus
the casting process is over and it ensures the voter whether they
made their vote or not Acknowledgement Module which
provides the message that Successfully Voted which is
considered as a Acknowledgement given to the voter who cast
their Vote. In Server ,Counter value for selected candidate is
incremented in the Database. This Database is used easy to
publish the results based on the counter values appeared in the



Requirement analysis for software development projects is the exploratory,
development activity of helping users figure out what they want and recording the
same for further use in the subsequent phases of development. Requirements
analysis is critical to the success of a systems or software project. The
Requirements should be documented, actionable, measurable, testable, traceable,
related to identified business needs or opportunities, and defined to a level of detail
sufficient for system design.
4.1.1 Non Functional Requirements
Non-functional requirements are qualities or standards that the
system under development must have or comply with, but which
are not tasks that will be automated by the system. Non-
Functional Requirements in software Engineering presents a
systematic and pragmatic approach to building quality into
software systems.
4.1.2 Functional Requirements
Functional requirements are observable tasks or processes that
must be performed by the system under development. For example, a
functional requirement of a stock trading system is must update and
remember stock prices; for a web search engine, must process
withdraws and dispense cash to the customer.


No of system 2+Virtual Machines
Processor Intel CORE2Duo
Hard Disk 80 GB

Front End ASP.NET
Database Ms SQL server
Operating system Windows 7 Operating system,
Linux red hat
Cloud tool Open stack
Virtualization VM ware



Unified Modeling Language (UML) is a standardized general purpose
modeling language in the field of object oriented software engineering .The UML
is used to specify , visualize, modify, construct and document the artifacts of an
object- oriented software intensive system under development . UML offers
standard way such as:
1. Activities
2. Actors
3. Business process
4. Logical components.

Fully dressed use cases show more detail and are structured; they are
useful in order to obtain a deep understanding of the goals, tasks, and
requirements. In addition to the black-box versus white-box visibility type,
use cases are written in varying degrees of formality:
Briefterse one-paragraph summary, usually of the main
success scenario. The prior Process Sale example was brief..
Casualinformal paragraph format. Multiple paragraphs that
cover various scenarios. The prior Handle Returns example was
Fully dressedthe most elaborate. All steps and variations are
written in detail, and there are supporting sections, such as
preconditions and success guarantees.

Figure 5.1 Use case Diagram


A sequence diagram is an interaction diagram that shows how
processes operate with one another and in what order. It is a construct of a
Message Sequence Chart. A sequence diagram shows object interactions
arranged in time sequence. It depicts the objects and classes involved in the
scenario and the sequence of messages exchanged between the objects
needed to carry out the functionality of the scenario.
Sequence diagrams are typically associated with use case realizations
in the Logical View of the system under development. Sequence diagrams
are sometimes called event diagrams, 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. This allows the specification of simple runtime scenarios in a
graphical manner.
It is desirable to isolate and illustrate the operations that an external
actor requests of a system, because they are an important part of
understanding system behavior. The UML includes sequence diagrams as a
notation that can illustrate actor interactions and the operations initiated by
them. A sequence diagram is a picture that shows, for a particular scenario
of a use case, the events that external actors generate, their order, and inter-
system events.


Figure 5.1.2 Sequence Diagram


A Communication diagram models the interactions between objects or
parts in terms of sequenced messages. Communication diagrams represent a
combination of information taken from Class, Sequence, and Use Case
Diagrams describing both the static structure and dynamic behavior of a
However, communication diagrams use the free-form arrangement of
objects and links as used in Object diagrams. In order to maintain the
ordering of messages in such a free-form diagram, messages are labeled with
a chronological number and placed near the link the message is sent over.
Reading a communication diagram involves starting at message 1.0, and
following the messages from object to object.
Communication diagrams show a lot of the same information as
sequence diagrams, but because of how the information is presented, some
of it is easier to find in one diagram than the other. Communication
diagrams show which elements each one interacts with better, but sequence
diagrams show the order in which the interactions take place more clearly.
Objects are shown as rectangles with naming labels inside. These
labels are preceded by colons and may be underlined. The relationships
between the objects are shown as lines connecting the rectangles. The
messages between objects is shown as arrows connecting the relevant
rectangles along with labels that define the message sequencing.


Figure 5.1.3 Communication Diagram


Activity diagrams are used to represent the flow of statements. These
are also useful to represent the business and operate on step by step work
flow of components in a system. It shows the overall flow control. A UML
activity diagram offers rich notation to show a sequence of activities. It may
be applied to any purpose (such as visualizing the steps of a computer
algorithm), but is considered especially useful for visualizing business
workflows and processes, or use cases.
Activity diagrams are graphical representations of workflows of
stepwise activities and actions with support for choice, iteration and
concurrency. In the Unified Modeling Language, activity diagrams are
intended to model both computational and organizational processes (i.e.
workflows). Activity diagrams show the overall flow of control.
Activity diagrams are constructed from a limited number of shapes,
connected with arrows. The most important shape types:
rounded rectangles represent actions;
diamonds represent decisions;
bars represent the start (split) or end (join) of concurrent activities;
a black circle represents the start (initial state) of the workflow;
an encircled black circle represents the end (final state).
Arrows run from the start towards the end and represent the order in
which activities happen. However, the join and split symbols in activity
diagrams only resolve this for simple cases; the meaning of the model is not
clear when they are arbitrarily combined with decisions or loops.


Figure 5.1.4 Activity Diagram



Data flow Diagram(DFD) is an important technique for modeling a systems
high-level by showing how input data is transferred to output results through a
sequence of functional transformations. DFDs reveal relationship among and
between the various components in a program or system. DFD also explains the
flow of data and their relationships. DFD consists of four major components
1. Entities
2. Processes
3. Data stores
4. Data flow
Data flow Diagram (DFD) is an important technique for modeling a
systems high-level by showing how input data is transferred to output results
through a sequence of functional transformations. DFDs reveal relationship among
and between the various components in a program or system. DFD also explains
the flow of data and their relationships. Data flow diagrams can be used in both
Analysis and Design phase of the SDLC.
A data flow diagram (DFD) is a graphical representation of the "flow" of
data through an information system, modeling its process aspects. Often they are a
preliminary step used to create an overview of the system which can later be
elaborated. DFDs can also be used for the visualization of data processing
(structured design).A DFD shows what kind of information will be input to and
output from the system, where the data will come from and go to, and where the
data will be stored. It does not show information about the timing of processes, or
information about whether processes will operate in sequence or in parallel (which
is shown on a flowchart).

It is common practice to draw the context-level data flow diagram first,
which shows the interaction between the system and external agents which act as
data sources and data sinks. This helps to create an accurate drawing in the context
diagram. The system's interactions with the outside world are modeled purely in
terms of data flows across the system boundary. The context diagram shows the
entire system as a single process, and gives no clues as to its internal organization.
This context-level DFD is next "exploded", to produce a Level 1 DFD that
shows some of the detail of the system being modeled. The Level 1 DFD shows
how the system is divided into sub-systems (processes), each of which deals with
one or more of the data flows to or from an external agent, and which together
provide all of the functionality of the system as a whole. It also identifies internal
data stores that must be present in order for the system to do its job, and shows the
flow of data between the various parts of the system.Data flow diagrams were
proposed by Larry Constantine, the original developer of structured design, based
on Mattew and Peter "data flow graph" model of computation.
Data flow diagrams are one of the three essential perspectives of the
structured-systems analysis and design method SSADM. The sponsor of a project
and the end users will need to be briefed and consulted throughout all stages of a
system's evolution. With a data flow diagram, users are able to visualize how the
system will operate, what the system will accomplish, and how the system will be
implemented. The old system's dataflow diagrams can be drawn up and compared
with the new system's data flow diagrams to draw comparisons to implement a
more efficient system. Data flow diagrams can be used to provide the end user with
a physical idea of where the data they input ultimately has an effect upon the
structure of the whole system from order to dispatch to report. How any system is
developed can be determined through a data flow diagram model.


Voter Database



Candidate Database

Figure 5.2 Data Flow Diagram

Login and
Displaying the
candidate List

5.3.1 User Login
In this Phase, user make a request to server by entering his/her userID
and Password. Server validate password and userID of a voter which is
stored in a Cloud .If the userID and Password is correct it will proceed the
voter to enter for next Stage i.e., answering the Security Question process.
5.3.2 Security System
In this Phase, voter appeared for answering the security question
which is provided for all the voters. Answer for the security question is
confidential and voter have a responsibility to maintain the secrecy. Server
make a request to client system by displaying the Security question to the
voter. The Voter make a response by answering for the security question to
be asked by the server. After this process, Server validate answer that is
stored in the Cloud. The Server sends the Auto generated password to the
voters mail or their Mobile Phones .If the Auto generated password is
correct then the voting system allows the voter to proceed to the next
5.3.3 Voting System
Voting System is the next process to the Security Question. In this
Process, System displays the candidate list of the Voter preferred
constituency. Voter can able to select the district, state and his/her
constituency for electing their preferred candidate. Voter selected the

candidate and enters the submit button. Thus the process is get terminated
and moves to Acknowledgement Module.
5.3.4 Acknowledgement
Acknowledgement which ensures the voter whether they can cast their
voter in a proper manner or not.acknowlegement makes the process of
increase in counter values of the voter preferred candidate in the Candidate
Database that is stored in a Cloud Server.
5.3.5 Barcode Verification
Voter are making their presence in Polling Booth with their Voter ID.
They can undergone Barcode verification of the voter ID for ensuring
validating the voter informations.
5.3.6 Manual Verification
Manual Verification is nothing but the checking the voter details that
is stored in a Cloud server and checking whether voter cast their vote
previously or not i.e., through Online Process. If voter not cast their vote
through online they will be allowed for casting their vote in the Booth. This
process is mainly made to avoid and eliminate the Fake Vote Process.
5.3.7 Electing the Candidate
Electing the Candidate under Manual Verification is the normal
process. The voter undergone several verification process and finally voter
allowed to elect their preferred Candidate. The counter value for selected
voter is get incremented and stored in a Common cloud Server.


Figure 5.3 Architecture Diagram



Phase Task Description
Phase 1 Analysis
Analyze the information given in the IEEE
Phase 2 Literature survey
Collect raw data and elaborate on literature
Phase 3 Design
Assign the module and design the process flow
Phase 4 Implementation
Implement the code for all the modules and
integrate all the modules.
Phase 5 Testing
Test the code and overall process weather the
process works properly.
Phase 6 Documentation
Prepare the document for this project with
conclusion and future enhancement.



6.1 Features of. Net
Microsoft .NET is a set of Microsoft software technologies for rapidly
building and integrating XML Web services, Microsoft Windows-based
applications, and Web solutions. The .NET Framework is a language-neutral
platform for writing programs that can easily and securely interoperate. Theres no
language barrier with .NET: there are numerous languages available to the
developer including Managed C++, C#, Visual Basic and Java Script. The .NET
framework provides the foundation for components to interact seamlessly, whether
locally or remotely on different platforms. It standardizes common data types and
communications protocols so that components created in different languages can
easily interoperate.
.NET is also the collective name given to various software components
built upon the .NET platform. These will be both products (Visual Studio.NET and
Windows.NET Server, for instance) and services (like Passport, .NET My
Services, and so on).

The .NET Framework has two main parts:
1. The Common Language Runtime (CLR).
2. A hierarchical set of class libraries.


The CLR is described as the execution engine of .NET. It provides the
environment within which programs run. The most important features are
Conversion from a low-level assembler-style language, called
Intermediate Language (IL), into code native to the platform being
executed on.
Memory management, notably including garbage collection.
Checking and enforcing security restrictions on the running code.
Loading and executing programs, with version control and other such
The following features of the .NET framework are also worth
Managed Code
The code that targets .NET, and which contains certain extra Information -
metadata - to describe itself. Whilst both managed and unmanaged code can run
in the runtime, only managed code contains the information that allows the CLR to
guarantee, for instance, safe execution and interoperability.
Managed Data
With Managed Code comes Managed Data. CLR provides memory
allocation and Deal location facilities, and garbage collection. Some .NET
languages use Managed Data by default, such as C#, Visual Basic.NET and
JScript.NET, whereas others, namely C++, do not. Targeting CLR can, depending
on the language youre using, impose certain constraints on the features available.
As with managed and unmanaged code, one can have both managed and
unmanaged data in .NET applications - data that doesnt get garbage collected but
instead is looked after by unmanaged code.

Common Type System
The CLR uses something called the Common Type System (CTS) to strictly
enforce type-safety. This ensures that all classes are compatible with each other, by
describing types in a common way. CTS define how types work within the
runtime, which enables types in one language to interoperate with types in another
language, including cross-language exception handling. As well as ensuring that
types are only used in appropriate ways, the runtime also ensures that code doesnt
attempt to access memory that hasnt been allocated to it.
Common Language Specification
The CLR provides built-in support for language interoperability. To ensure
that you can develop managed code that can be fully used by developers using any
programming language, a set of language features and rules for using them called
the Common Language Specification (CLS) has been defined. Components that
follow these rules and expose only CLS features are considered CLS-compliant.
The Class Library
.NET provides a single-rooted hierarchy of classes, containing over 7000
types. The root of the namespace is called System; this contains basic types like
Byte, Double, Boolean, and String, as well as Object. All objects derive from
System. Object. As well as objects, there are value types. Value types can be
allocated on the stack, which can provide useful flexibility. There are also efficient
means of converting value types to object types if and when necessary. The set of
classes is pretty comprehensive, providing collections, file, screen, and network
I/O, threading, and so on, as well as XML and database connectivity.

The class library is subdivided into a number of sets (or namespaces), each
providing distinct areas of functionality, with dependencies between the
namespaces kept to a minimum.
The multi-language capability of the .NET Framework and Visual Studio
.NET enables developers to use their existing programming skills to build all types
of applications and XML Web services. The .NET framework supports new
versions of Microsofts old favorites Visual Basic and C++ (as VB.NET and
Managed C++), but there are also a number of new additions to the family.
Visual Basic .NET has been updated to include many new and improved
language features that make it a powerful object-oriented programming language.
These features include inheritance, interfaces, and overloading, among others.
Visual Basic also now supports structured exception handling, custom attributes
and also supports multi-threading.
Visual Basic .NET is also CLS compliant, which means that any CLS-
compliant language can use the classes, objects, and components you create in
Visual Basic .NET.
Managed Extensions for C++ and attributed programming are just some of
the enhancements made to the C++ language. Managed Extensions simplify the
task of migrating existing C++ applications to the new .NET Framework.
C# is Microsofts new language. Its a C-style language that is essentially
C++ for Rapid Application Development. Unlike other languages, its
specification is just the grammar of the language. It has no standard library of its
own, and instead has been designed with the intention of using the .NET libraries
as its own.

Microsoft Visual J# .NET provides the easiest transition for Java-language
developers into the world of XML Web Services and dramatically improves the
interoperability of Java-language programs with existing software written in a
variety of other programming languages.
Active State has created Visual Perl and Visual Python, which enable .NET-
aware applications to be built in either Perl or Python. Both products can be
integrated into the Visual Studio .NET environment. Visual Perl includes support
for Active States Perl Dev Kit.
Other languages for which .NET compilers are available include

Windows Forms
Base Class Libraries
Common Language Runtime
Operating System
Fig 6.1.Net Framework
C#.NET is also compliant with CLS (Common Language Specification) and
supports structured exception handling. CLS is set of rules and constructs that
are supported by the CLR (Common Language Runtime). CLR is the runtime

environment provided by the .NET Framework; it manages the execution of the
code and also makes the development process easier by providing services.
C#.NET is a CLS-compliant language. Any objects, classes, or components
that created in C#.NET can be used in any other CLS-compliant language. In
addition, we can use objects, classes, and components created in other CLS-
compliant languages in C#.NET .The use of CLS ensures complete
interoperability among applications, regardless of the languages used to create
the application.
Constructors and Destructors:
Constructors are used to initialize objects, whereas destructors are used to
destroy them. In other words, destructors are used to release the resources
allocated to the object. In C#.NET the sub finalize procedure is available. The
sub finalize procedure is used to complete the tasks that must be performed
when an object is destroyed. The sub finalize procedure is called automatically
when an object is destroyed. In addition, the sub finalize procedure can be
called only from the class it belongs to or from derived classes.
Garbage Collection
Garbage Collection is another new feature in C#.NET. The .NET Framework
monitors allocated resources, such as objects and variables. In addition, the
.NET Framework automatically releases memory for reuse by destroying
objects that are no longer in use.
In C#.NET, the garbage collector checks for the objects that are not
currently in use by applications. When the garbage collector comes across an

object that is marked for garbage collection, it releases the memory occupied by
the object.
Overloading is another feature in C#. Overloading enables us to define
multiple procedures with the same name, where each procedure has a different set
of arguments. Besides using overloading for procedures, we can use it for
constructors and properties in a class.
C#.NET also supports multithreading. An application that supports
multithreading can handle multiple tasks simultaneously, we can use
multithreading to decrease the time taken by an application to respond to user
Structured Exception Handling
C#.NET supports structured handling, which enables us to detect and
remove errors at runtime. In C#.NET, we need to use TryCatchFinally
statements to create exception handlers. Using TryCatchFinally statements,
we can create robust and effective exception handlers to improve the performance
of our application.
The .NET Framework
The .NET Framework is a new computing platform that simplifies
application development in the highly distributed environment of the Internet.


1. To provide a consistent object-oriented programming environment
whether object codes is stored and executed locally on Internet-
distributed, or executed remotely.
2. To provide a code-execution environment to minimizes software
deployment and guarantees safe execution of code.
3. Eliminates the performance problems.
There are different types of application, such as Windows-based applications
and Web-based applications.

The OLAP Services feature available in SQL Server version 7.0 is
now called SQL Server 2000 Analysis Services. The term OLAP Services
has been replaced with the term Analysis Services. Analysis Services also
includes a new data mining component. The Repository component
available in SQL Server version 7.0 is now called Microsoft SQL Server
2000 Meta Data Services. References to the component now use the term
Meta Data Services. The term repository is used only in reference to the
repository engine within Meta Data Services. SQL-SERVER database
consist of six type of objects,
They are,

A database is a collection of data about a specific topic.
Views of Table:
We can work with a table in two types,
1. Design View
2. Datasheet View
Design View
To build or modify the structure of a table we work in the table design view.
We can specify what kind of data will be hold.
Datasheet View
To add, edit or analyses the data itself we work in tables datasheet view
A query is a question that has to be asked the data. Access gathers data that
answers the question from one or more table. The data that make up the answer is
either dynaset (if you edit it) or a snapshot (it cannot be edited).Each time we run
query, we get latest information in the dynaset. Access either displays the dynaset
or snapshot for us to view or perform an action on it, such as deleting or updating.



The purpose of testing is to discover errors. Testing is the process of trying
to discover every conceivable fault or weakness in a work product. It provides a
way to check the functionality of components, sub assemblies, assemblies and/or a
finished product It is the process of exercising software with the intent of ensuring
that the Software system meets its requirements and user expectations and does not
fail in an unacceptable manner. There are various types of test. Each test type
addresses a specific testing requirement.
7.2.1 Unit testing
Unit testing involves the design of test cases that validate that the internal
program logic is functioning properly, and that program inputs produce valid
outputs. All decision branches and internal code flow should be validated. It is
the testing of individual software units of the application .it is done after the
completion of an individual unit before integration. This is a structural testing,
that relies on knowledge of its construction and is invasive. Unit tests perform
basic tests at component level and test a specific business process,
application, and/or system configuration. Unit tests ensure that each unique
path of a business process performs accurately to the documented
specifications and contains clearly defined inputs and expected results.

7.2.2 Integration testing
Integration tests are designed to test integrated software components
to determine if they actually run as one program. Testing is event driven and
is more concerned with the basic outcome of screens or fields. Integration
tests demonstrate that although the components were individually
satisfaction, as shown by successfully unit testing, the combination of
components is correct and consistent. Integration testing is specifically
aimed at exposing the problems that arise from the combination of
7.2.3 Functional test

Functional tests provide systematic demonstrations that functions tested
are available as specified by the business and technical requirements, system
documentation, and user manuals.
Functional testing is centered on the following items:
Valid Input : identified classes of valid input must be accepted.
Invalid Input : identified classes of invalid input must be rejected.
Functions : identified functions must be exercised.
Output : identified classes of application outputs must be
Systems/Procedures: interfacing systems or procedures must be invoked.
Organization and preparation of functional tests is focused on
requirements, key functions, or special test cases. In addition, systematic
coverage pertaining to identify Business process flows; data fields,
predefined processes, and successive processes must be considered for

testing. Before functional testing is complete, additional tests are identified
and the effective value of current tests is determined.
7.3 System Testing
System testing ensures that the entire integrated software system meets
requirements. It tests a configuration to ensure known and predictable
results. An example of system testing is the configuration oriented system
integration test. System testing is based on process descriptions and flows,
emphasizing pre-driven process links and integration points.

7.3.1 White Box Testing
White Box Testing is a testing in which in which the software tester
has knowledge of the inner workings, structure and language of the
software, or at least its purpose. It is purpose. It is used to test areas that
cannot be reached from a black box level.

7.3.2 Black Box Testing
Black Box Testing is testing the software without any knowledge of
the inner workings, structure or language of the module being tested.
Black box tests, as most other kinds of tests, must be written from a
definitive source document, such as specification or requirements
document, such as specification or requirements document. It is a testing
in which the software under test is treated, as a black box .you cannot
see into it. The test provides inputs and responds to outputs without
considering how the software works.


7.3.3 Unit Testing:
Unit testing is usually conducted as part of a combined code
and unit test phase of the software lifecycle, although it is not
uncommon for coding and unit testing to be conducted as two distinct

7.4 Test strategy and approach
Field testing will be performed manually and functional tests will be
written in detail.
Test objectives
All field entries must work properly.
Pages must be activated from the identified link.
The entry screen, messages and responses must not be delayed.
Features to be tested
Verify that the entries are of the correct format
No duplicate entries should be allowed
All links should take the user to the correct page.
Integration Testing
Software integration testing is the incremental integration testing of two
or more integrated software components on a single platform to produce
failures caused by interface defects.
The task of the integration test is to check that components or software
applications, e.g. components in a software system or one step up
software applications at the company level interact without error.

Acceptance Testing: User Acceptance Testing is a critical phase of any
project and requires significant participation by the end user. It also ensures
that the system meets the functional requirements.

Test Results: All the test cases mentioned above passed successfully. No
defects encountered.
7.5 Test cases
7.5.1 Test Case: Server Configuration and Storage Management
T1: checking the User ID and password of the voters
1. The ID proof should be in the standardize format,
A. It should have numeric values.
B. It should be the standardize one.
Test Data :{ ID and password proof}
Values: { 90112333043 }
Expected results
1. If the given Id and password is valid then it ask security
password for the voter and forward the details to server.
2. If the given Id proof is not valid then display that as Enter
the valid Id and password.
Values : { 03041993}
Expected results
1. If the given Id is not valid then informed that as enter the
valid User ID and password proof.

Values : { null }
Expected results
1. Then display informed that as Enter the valid UserID and
password .
7.5.2 Test Case: Authenticate for Security question
T1: Display security question to the voter
Test data: {Text password}
Values: {abcde }
Expected results:
1.If the given password is valid then it generates auto generated
password to voter Email
2.If the given password is not valid then it ask valid security
password to the voter
7.5.3 Test Case: Displaying District list
T1: To check whether the entered district is valid or not
1. To select valid district shown in the List box field.
Test data: {District}
Values: {kancheepuram}
Expected result:
1. If the selected district is valid then display particular
constituency list to the voter.
2. If the district field is empty then display select district


7.5.4 Test Case: Displaying Constituency list
T1: To check valid constituency list
Test Data:{Constituency }
Values : {Chengalpet}
Expected values:
1.check if the selected constituency is valid then display list of
2.If constituency is not valid then display select a valid

7.5.5 Test Case: Displaying candidates list
T1: To test candidate name is valid or not
Test data: {candidate}
Values: {aaaa}
Expected values:
1. check if the selected candidate name is valid then update
information in database then send voter acknowledgement
2. If the candidate name is not valid then display message select
valid name


As cloud computing becomes increasingly popular, by the exponential
growth of internet for information to make smooth decisions at all spheres. On
moving to cloud we can increase the data security and it helps the people to caste
their vote anywhere from the World. It mainly helps to reduce the casting of Fake
Votes. Our project enables a voter to cast his/her vote through internet without
going to voting booth and additionally registering himself/herself for voting in
advance, proxy vote or double voting is not possible, fast to access, highly secure,
easy to maintain all information of voting, highly efficient and flexible. Hence, by
this voting percentage will increase drastically. The using of online voting has the
capability to reduce or remove unwanted human errors. In addition to its reliability,
online voting can handle multiple modalities, and provide better scalability for
large elections. Online voting is also an excellent mechanism that does not require
geographical proximity of the voters. For example, soldiers abroad can participate
in elections by voting online.
Future enhancements focused to design a system which can be easy to use
and will provide security and privacy of votes on acceptable level by concentrating
the authentication and processing section .In case of online e-voting some
authentication parameters like facial recognition , In case of offline e-voting some
authentication parameters like, Finger Vein and iris matching detection can be


using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
namespace pursuing
publicpartialclass_Default : System.Web.UI.Page
protectedvoid Page_Load(object sender, EventArgs e)
protectedvoid Button1_Click(object sender, EventArgs e)
SqlConnection con = newSqlConnection(@"Data
project\pursuing\pursuing\App_Data\voter.mdf;Integrated Security=True;User
SqlCommand cmd = newSqlCommand("select COUNT(*)FROM login WHERE
userid='" + TextBox1.Text + "' and password='" + TextBox2.Text + "'");
cmd.Connection = con;
int OBJ = Convert.ToInt32(cmd.ExecuteScalar());
if (OBJ > 0)


Response.Redirect("securepage.aspx?" + TextBox1.Text);
Label3.Text = "Invalid username or password";
protectedvoid Button2_Click(object sender, EventArgs e)

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Text;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
using System.Collections.Specialized;
namespace pursuing
publicpartialclasssecurepage : System.Web.UI.Page
String connStr =

protectedvoid Page_Load(object sender, EventArgs e)
Label3.Text = Request.QueryString.ToString();


protectedvoid Button1_Click(object sender, EventArgs e)
SqlConnection con = newSqlConnection(@"Data
project\pursuing\pursuing\App_Data\voter.mdf;Integrated Security=True;User
SqlCommand cmd = newSqlCommand("select COUNT(*)FROM login WHERE
question='"+quesText.Text+"'and password='" + TextBox2.Text + "'");
cmd.Connection = con;
int OBJ = Convert.ToInt32(cmd.ExecuteScalar());
if (OBJ > 0)
Label4.Text = "Invalid username or password";


protectedvoid ques_TextChanged(object sender, EventArgs e)
SqlConnection con = newSqlConnection(@"Data
project\pursuing\pursuing\App_Data\voter.mdf;Integrated Security=True;User
SqlCommand cmd = newSqlCommand("select question from login where
userid=" + Label3.Text + "");
cmd.Connection = con;


protectedvoid Button2_Click(object sender, EventArgs e)
Response.Redirect("~/Default.aspx", true);


using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;

namespace pursuing
publicpartialclasscandidate : System.Web.UI.Page
protectedvoid Page_Load(object sender, EventArgs e)
protectedvoid Button1_Click1(object sender, EventArgs e)
SqlConnection con = newSqlConnection(@"Data
project\pursuing\pursuing\App_Data\voter.mdf;Integrated Security=True;User
SqlCommand cmd = newSqlCommand("select COUNT(*)FROM districtn
WHERE district='"+ListBox1.Text+"'" );
cmd.Connection = con;
int OBJ = Convert.ToInt32(cmd.ExecuteScalar());
if (OBJ > 0)


Label1.Text = "Invalid district name";


protectedvoid Button2_Click(object sender, EventArgs e)
Response.Redirect("~/Default.aspx", true);

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
namespace pursuing
publicpartialclass_const : System.Web.UI.Page
string connStr =
publicstaticArrayList Files = newArrayList();
protectedvoid Page_Load(object sender, EventArgs e)
Label2.Text = Request.QueryString.ToString();


SqlConnection con = newSqlConnection(connStr);
string com = "Select * from +List1.Text+";

SqlDataAdapter adpt = newSqlDataAdapter(com, con);

DataSet myDataSet = newDataSet();

adpt.Fill(myDataSet, "+List1.Text+");

DataTable myDataTable = myDataSet.Tables[0];

DataRow tempRow = null;

foreach (DataRow tempRow_Variable in myDataTable.Rows)


tempRow = tempRow_Variable;

List1.Items.Add((tempRow["Constituency"] + ""));


protectedvoid Button2_Click(object sender, EventArgs e)
Response.Redirect("~/candidate.aspx", true);
protectedvoid Button1_Click(object sender, EventArgs e)


using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
namespace pursuing
publicpartialclassdispcandidate : System.Web.UI.Page

publicstaticArrayList Files = newArrayList();
protectedvoid Page_Load(object sender, EventArgs e)

l1.Text = Request.QueryString.ToString();
SqlConnection con = newSqlConnection(connStr);
string com = "Select * from +ListBox1.Text+";
SqlDataAdapter adpt = newSqlDataAdapter(com, con);
DataSet myDataSet = newDataSet();
adpt.Fill(myDataSet, "+ListBox1.Text+");
DataTable myDataTable = myDataSet.Tables[0];
DataRow tempRow = null;
foreach (DataRow tempRow_Variable in myDataTable.Rows)
tempRow = tempRow_Variable;
ListBox1.Items.Add((tempRow["candidatenameandparty"] + ""));

protectedvoid Button1_Click(object sender, EventArgs e)
SqlConnection con = newSqlConnection(@"Data
_Data\voter.mdf;Integrated Security=True;User Instance=True;");

SqlCommand cmd = newSqlCommand("select COUNT(*) FROM where
candidatenameandparty='" + ListBox1.Text + "'");
cmd.Connection = con;

int OBJ = Convert.ToInt32(cmd.ExecuteScalar());

if (OBJ > 0)

Label1.Text = "Invalid name";




This snapshot shows voter login process. It checks whether the entered user Id
password is valid or not. If the login id and password is valid, it shows next



In this module describes about authentication process for particular user.
This module display security question and validate password.



In this snapshot describes about displaying district names to the user. Here, user
can select particular district then constituency list will be showed in next page.


This snapshot describes to display constituency list voter who selected particular
district. If the voter select constituency list then, candidate list showing in next



This snapshot shows candidate list for selected constitution. Voter can elect
candidate in this page .

This snapshot describes about voter acknowledgement which is created after
candidate elected process.



[1].Ankitanand , An Efficient online voting system International Journal of
Modern Engineering Research ,vol. 2 ,2012.

[2].B. Swaminathan and J. Cross Datson Dinesh, Highly Secure Online Voting
System with Multi Security using Biometric and Steganography, International
Journal Of Advanced Scientific Research And Technology Issue 2, Volume 2
April 2012.

[3]. Ashutosh Gupta, Cloud based e-Voting: One Step Ahead for Good
Governance in India ,International Journal of Computer Applications April 2013.

[4]. Salman Faiz Solehria ,Cost Effective Online Voting System for Pakistan,
International Journal of Electrical and Computer science, vol.11,2011

[5]. Shivendra Katiyar, Kullai Reddy Meka, Ferdous A. Barbhuiya, Sukumar
Nandi Online Voting System Powered By Biometric Security Using
International Conference on Emerging Applications of Information Technology,


[6]. Mr.K.P.Kaliyamoorthie ,R.Udayakumar, Highly Secured online voting
system over Network International Journal of Science and Technology.

[7].Sanjay Saini and Dr. Joydip Dhar, An eavesdropping proof secure online
voting model International Conference on Computer Science and Software
Engineering 2008.

[8].E.S. Shameem Sulthana and Dr. S.Kanmani, Evidence based Access Control
over Web Services using Multi Security International Journal of Computer
Applications March 2011.

[9]. Alok Kumar Vishwakarma1 and Atul Kumar A Novel Approach for Secure
Mobile-Voting using Biometrics in Conjunction with Elliptic Curve Crypto-
Stegano Scheme International Journal of Technology and Engineering Systems,
March 2011.

[10] Cloud Computing for E-Governance, A White paper IIIT Hyderabad, India,
January 2010

[11] Cloud Computing Wikipedia online available at

[12] Ashutosh Gupta, O.P. Rishi, Praveen Dhyani Cloud Computing based model
for e services retrieval in E-Governance framework unpublished 2011.