Breaking News

ONLINE VOTING SYSTEM

ONLINE VOTING SYSTEM

INTRODUCTION


1.1 GENERAL


        India is a constitutional democracy with a parliamentary system of government, and at the heart of the system is a commitment to hold regular, free and fair elections. These elections determine the composition of the government, the membership of the two houses of parliament, the state and union territory legislative assemblies, and the Presidency and vice-presidency. Elections are conducted according to the constitutional provisions, supplemented by laws made by Parliament.
     The aim of the project is to create and manage polling and election details. This is a system which enables all citizens to cast their vote online. Increasing the voting percentage across the country is the major goal of this project. People have to visit the booth to cast their vote in the present system across the country. This system is online and hence even people who live out of their home town can also vote. Database of all the eligible citizens and candidates are maintained by the system.

Online voting system gathers its own significance since the NRI voting Rights bill have been passed by the parliament on Feb 11 ,2011. . The new law will allow an Indian citizen residing abroad to enroll in voter’s list and exercise his franchise even if he or she remained away from place of residence in India for more than six months owing to employment, education or otherwise. In the present case the person should be present within the constituency on the day of polling for exercising his right to vote.

 Thus our project, online voting should enhance the opportunities of voters outside the country to vote for their nation on implementation.

1.2.        COMPANY PROFILE
             Focuz Infotech is a fast growing Linux Software company having an Impressive track record in Developing, Implementing and supporting high end Innovative technology solutions right from its take off in 1998.
We are a highly recognized national technology company, having our own dedicated R&D and Consulting divisions supported by an excellent blend of visionary consultants consists of Management and technology Professionals, who holds Sheer Confidence , Dedication, Exposure, experience and commitment for inventing and implementing ideal technical solutions. We have a large no of customers from various business domains spread across the country. We are in the technology business to ensure our customers satisfaction, further, promoting our innovative products globally through collaborations and determined to grow global.
Focuz Infotech is an ever-expanding IT Consultancy Company promoted by Focuz innovations (Pvt) Ltd, India, backed up by Focuz Group ,established in 1978 , A Rs. 2500 million, highly reputed, multifaceted corporate focused to Information Technology, Automobiles and Tourism. For more information, Plz visit www.focuz.co.in
Focuz  Infotech started its IT initiatives in the year 1998, initially concentrating on Oracle based solutions and further to UNIX and Linux Technologies in a big way.
Focuz Infotech owns world-class 24/7 capable 15000 sq. Ft. Linux Research and Development unit in Kochi, a beautiful Island in Kerala, the God's own country.

 

1.3. INTROUCTION TO TOOLS



1.3.1. LINUX
                       Linux is an operating system, a software program that controls your computer. Most vendors load an operating system onto the har d drive of a PC before delivering the PC.
            Linux is distinguished from many popular operating systems in three important ways:
Linux is a cross-platform operating system that runs on many computer models. Only UNIX, an ancestor of Linux, rivals Linux in this respect.Linux is free, in two senses. First, you may pay nothing to obtain and use Linux. On the other hand, you may choose to purchase Linux from a vendor who bundles Linux with special documentation or applications, or who provides technical support. However, even in this case, the cost of Linux is likely to be a fraction of what you'd pay for another operating system. So, Linux is free or nearly free in an economic sense.

ADVANTAGES OF LINUX
Linux source code is freely distributed. Tens of thousands of programmers have reviewed the source code to improve performance, eliminate bugs, and strengthen security. No other operating system has ever undergone this level of review. This Open Source design has created most of the advantages listed below.
Linux has the best technical support available. Linux is supported by commercial distributors, consultants, and by a very active community of users and developers. In 1997, the Linux community was awarded InfoWorld's Product of the Year Award for Best Technical Support over all commercial software vendors.
Linux has no vendor lock-in. The availability of source code means that every user and support provider is empowered to get to the root of technical problems quickly and effectively. This contrasts sharply with proprietary operating systems, where even top-tier support providers must rely on the OS vendor for technical information and bug fixes.
Linux runs on a wide range of hardware. Most Linux systems are based on standard PC hardware, and Linux supports a very wide range of PC devices. However, it also supports a wide range of other computer types, including Alpha, Power PC, 680x0, SPARC, and Strong Arm processors, and system sizes ranging from PDAs
Linux has the tools and applications you need. Programs ranging from the market-dominating Apache web server to the powerful GIMP graphics editor are included in most Linux distributions. Free and commercial applications meet are available to meet most application needs.
Linux interoperates with many other types of computer systems. Linux communicates using the native networking protocols of Unix, Microsoft Windows 95/NT, IBM OS/2, Netware, and Macintosh systems and can also read and write disks and partitions from these and other operating systems.
Linux has a low total cost of ownership. Although the Linux learning curve is significant, the stability, design, and breadth of tools available for Linux result in very low ongoing operating costs.
Linux: all for one and one for all?? All changes one makes in Open Source software will benefit each and everyone, all over the world. Without exceptions or constraints.
                  



1.3.2. JAVA

Java is an object oriented, platform independent programming language, which has become inseparably linked with the online environment of the internet. Java had a profound effect on the internet. The reason for this is quite simple. Java expands the universe of objects that can move about freely in cyberspace. Java achieves security by confining a java program to the java execution environment and not allowing it access to other parts of the computer. Java provides an elegant and efficient mechanism for attaining portability.
The java virtual machine specification defines JVM as:
                         An imaginary machine that is implemented by emulating it in software on a real machine. Code for the JVM is stored in the .class files, each of which contains code for at most one public class. Its represented as in fig1.
The java virtual machine specification provides the hardware platform specifications to which we compile all java technology codes. This software enables the Java software to be platform – independent because the compilation is done for a generic machine, known as the JVM.


Fig:1.3.3 Java Technology
1.3.3. JAVA BEAN
A Java Bean is a server-side component that helps the server side programs to be split into small manageable pieces. A Java Bean has a set of properties that can be changed or read. It is also possible to find out the properties that a bean has available. Two things make Java Beans useful. The first is that neither Java programmers nor JSP programmers need to know anything about a bean in advance in order to use it.

 The second useful thing is that it does not matter how they go about manipulating their properties. Thus Beans act as mysterious black boxes with switches and read-outs.
There are three kinds of enterprise beans: session beans, entity beans, and message driven beans. Enterprise bean often interact with the database. The original JavaBeans specification is based on the java beans package, which is a standard package in the JDK.EJB, is a framework for writing distributed programs. It involves a standardized agreement that enables a component to run within any application server (increasing code reuse).The agreement is accomplished by implementing a set of java interfaces from the EJB API.EJBs are not GUI components.


1.3.4 JAVA SERVER PAGES
Java Server Pages technology is the Java platform technology for building applications containing dynamic Web content such as HTML, DHTML,, XHTML, XML. The Java Server Pages Technology enables the authoring of web pages that create dynamic content easily but with maximum power and flexibility. This technology lets you put snippets of servlet code directly into a text based document.
The Java Server Pages technology offers a number of advantages
·                     Write Once , Run Anywhere properties
·                     High quality tool support
·                     Reuse of components and tag libraries
·                     Separation of dynamic  and static content
·                     Support for scripting actions
·                     Web access layer for N-tier enterprise application architectures.




JAVA SERVELET TECHNOLOGY
Java servlet technology let us to define HTTP-specific servlet classes. Servlet class extends the capabilities of servers that host applications accessed by way of a request-response programming model. Although servlet can respond to any type of request , they are commonly used to extend the applications hosted by web servers.
                                                                                                        

Fig1. 3.2: Execution of Java Servlet


The Java Script is a commonly used scripting language for HTML pages. The scripting languages are mainly used for client side validation purpose. As we know the scripting statements are sent to the client machine and executed there during the client operations, it reduces the work load of server. The other features are:
·         It has procedural capabilities,
·         Platform independent
·         Low disc space needed
·         Easy debugging and testing
·          
1.3.5 HTML
It is a language used for the specification of structural markup. HTML give the web authors the means to publish online documents with headings,texts,tables,lists,photos,etc.HTML is used in our program to create forms in the server side for entering, updating and viewing the server applications in a user friendly environment.


1.3.6  JDBC
JDBC is a Java API for executing SQL statements. It consists of classes and interfaces written in the Java Programming language. JDBC provides a standard API tool for database developers and make s it possible to write database applications using a pure Java API.
Using JDBC, it is easy to send SQL statements to virtually any relational database. One can write a single program using JDBC API, and the program will be able to send SQL statements to the appropriate database. The two tier jdbc modelis as given below:


             Fig: 3.3 The two-tier JDBC model


JDBC makes it possible to do three things as follows:
·                     Establish a connection with database
·                     Send SQL statements.
·                     Process the results.
                                                          


 1.3.6 MYSQL
MySQL provides our small, medium and large enterprise customers with affordable, open access to their web data warehouses. MySQL allows us to offer our System Administrator low cost, low maintenance database solution for applications without sacrificing power, performance or scalability.

Benefits of MySQL are as follows:
§     Easy to maintain & upgrade, does not have a slew of administrative tasks to put                 up.
§     Its table format does not vary between releases

§     It has cleanly separated table handler modules and can mix access to different type of tables.
§     It seems to be developed iteratively, and the features are very stable when they ship them.
It is a relational database. Over the past several years, this relational database management systems have become the most widely accepted way to manage data.
It offers benefits such as:
§     Easy to access data
§     Flexibility in data modeling
§     Reduced data storage and redundancy
§     Independence of physical storage and logical data design
§     A high level data manipulation language

  


REQUIREMENT
SPECIFICATION




        Requirement Specification is the part of the project which gives the details about the hardware and software requirements of our project. It also details the features of the programming language used.

2.1 HARDWARE REQUIREMENTS
         
      In order to implement a new system the choice of processor with maximum possible speed is made. There should be sufficient memory to store data and software tools for efficient processing.
         
            System                                        :  IBM-Compatible PC
            Processor                                     :  Pentium IV
            Speed                                          :  2.0 GHz
            Memory                                       :  256 MB RAM
            Hard Disk Drive                        :  40 GB

2.2 SOFTWARE REQUIREMENTS

      Platform                          :  Linux
        Language used             :  J2EE
        Back end                      :  My SQL
        Technologies used       :  JSP, JDBC
        Designer tool                :  HTML
         Server                          :  Apache tomcat 5.5.9         To develop application software, we use different types of software. The software for the development has been selected based on several factors such as:
  • Support
  • Cost Effectiveness
  • Development Speed
  • Ability to create robust application least time
  • Stability





   SYSTEM ANALYSIS
AND
 DESIGN


3. SYSTEM ANALYSIS

            System analysis is the process of gathering and interpreting facts, diagnosing problems and the information to recommended improvements on the system. System analysis is a problem solving activity that requires intensive communication between the system users and system developers. System analysis or study is an important phase of any system development process. The system is studied to the minutest detail and analyzed. The system analyst plays the role of  the interrogator  and dwells  deep into the working of the present system. The system is viewed as a whole and the input to the system are identified. The outputs from the organizations are traced to the various processes.
             A detailed study of the process must be by various techniques like interviews, questionnaires etc. The data collected by these sources must be scrutinized to arrive to a conclusion. The conclusion is an understanding of how the system functions. This system is called existing system. Now the existing system is subjected to close study and problem areas are identified. The designer now functions as a problem solver and tries to sort out difficulties that the enterprise faces. The solutions are given as proposals. The proposal is then weighed with the existing system analytically and the best one is selected. The proposal is presented to the user for an endorsement by the user .The proposal is reviewed on user request and suitable changes are made. This is loop that ends as soon as the user is satisfied with proposal.

3.1 EXISTING SYSTEM
                 In the present system the is no such application level system provisions in the country to carry out the voting and procedure as a whole . Also in the present status, there is no such application in use for automated system for voting according to the voting structure existing in the country. All the step by step procedures are carried out by the authorized authorities according to the jobs assigned by the ECI. The fact is all the procedures are carried out manually, starting from the registration process to result publishing.

The government to do this process manually wastes a lot of time and money. Thus the present system proves itself to be an inefficient one. The existing system is not web based. The user or person must want to go to the polling station for casting their votes.



3.2 PROPOSED SYSTEM
                  The new implemented voting protocol has two main players: The voter and administrator sections. The voter(which can be found at home, in a working station, in a special polling station or any other device have the fuction of performing the Authentication and voting).The administrator performs the function of voter and candidate registration, authorization and validation of voter, database and counting and the result.
The main advantages of the new protocol are the following:
        1) Public transparency by the administrator (publication of Voter ID key, etc.).
        2) Inured to technical troubles like interruption of access, etc, uncomplicated recovery.
        3)Possibility of configuration for different voting models by policies and Greater performance.
Furthermore it is assumed that a trustworthy Administrator is available. Apart from that, the accessibility to the public  in the voting procedure plays a special role, which means that the voting result can be monitored, although casting of the votes has to be secret as a matter of course.
Accessibility to the public is necessary for all voting stages and is performed by the electoral committee, but also by any member of the public.

3.3 DATA FLOW DIAGRAM   
      A data flow diagram (DFD) is a graphical representation of the “flow” of data through an information system. A data flow diagram can also be used for the visualization of data processing (structured design). It is common practice for a designer to draw a context-level DFD first which shows the interaction between the system and outside entities. This context-level DFD is then “exploded” to show more details of the system being modeled.

Data flow diagrams were invented by Larry Constantine, the original developer of structured design, based on Martin and Estrin’s “data flow graphs” model of computation. Data flow diagrams (DFD’s) are one of the three essential perspectives of          Structured System Analysis and Design Method SSADM. The sponsor of the project and the end users will need to be brief and consulted through out 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 data flow diagrams can be drawn up and compared with new system’s data flow diagrams to draw comparisons to implement a more efficient system. Diagram

Elements of a DFD

There are 4 key elements in a Data Flow diagram, Processes, Data Flows, Data stores, and external entities.

Table3.1.Elements of DFD


The Process entity identifies a process taking place, it must have atleast one input and output. A process with no input is known as “miracle process”. An output is a “black hole process”. Each process has the following:
A Number,A Name (verb phrase),A Description,At least one input,At least one output

The Data Flow entity identifies the flow of data between processes, data stores and external entities. A data flow cannot connect an external entity to a data source, at least one connection must be with a process. There are also “physical” flows, i.e. those that use a physical medium, like a membership card. Each data flow has the following:
A name (Noun),A Description ,One or more connection to a process

The Data Store entity identifies stores of data, both manual and electronic. Electronic or “digital” stores are identified by the letter D, and manual filing systems by the letter M. Each data store has the following:
A numberA name,A description, One or more input data flows,One or more output data flows

The External Entity identifies external entities which interact with the system, usually clients but can be within the same entity, e.g. the same doctor shown twice on the same diagram can be identified by a horizontal line in the top left corner of the symbol. Each external entity has the following:
A Name (Noun),A Description

   3.4. SYSTEM DESIGN
            System Design’s main aim is to identify the modules that should be in the system, the specifications of these modules and how they interact with each other to produce the desired results. At the end of system design all the major data structures, file formats and the major modules in the system and their specifications are decided.The most creative and challenging phase of the system development process is design phase, it is a solution, a “how to” approach to the creation of the proposed system Design, the first step in the development of an engineered product is initiated only after  a clear exposition of expected product functions becomes available. Based on the user requirements and the detailed analysis of a new system, the new system must be designed. This is the phase of system designing. Normally the design proceeds in two stages: preliminary or general design, structure or detailed design.

  Preliminary or general design: In the preliminary or general design, the features of  the new system are specified. The costs of implementing these features and benefits to be derived are estimated. If the project is still considered to be feasible, we move to detailed design stage.
            Structure or detailed design: In the detailed design stage, computer oriented work begins in the earnest. At this stage, the design of the system becomes more structured. Structured design is a blue print of a computer system solution to a given problem  having the same components and inter- relationship among the same components as the original problem. Input, output and processing specifications are drawn up in detail .In the design stage, the programming language and the platform in which the new system will run are also decided. There are several tools and techniques used for designing.

            Simple designs are easily understood, easily built, and easily tested. Simplicity is the most important criteria of a design. Other design criteria include the following:

Documentation: A good design always comes with a set of well-written documents.
Testability: In a good design, every requirement is testable. A design that cannot be easily tested against its requirements is not acceptable design.
Structure: A good design presents hierarchical structure that makes logical use of control policies among components.
Modularity: A good design is modular and exhibits the properties of high cohesiveness and low coupling.
Representation: A good design should be easily communicated to all interested parties through appropriate abstraction and representation.
Reusability: a good design should be repeatable and reusable.


3.4.1. MODULE DESIGN
            The proposed system consists of two modules,
  • Administrator Module
  • User Module

 USER (VOTER) MODULE
            User interface consists of a login name and unique password using which he/she can login into the Online Voting System. This will be supplied by the administrator to the user. Once the user has logged in, he has the privilege to view the names of the candidates listed by the administrator, view the results after the termination date of the election. The user module constitutes only one sub module:
Authentication & Voting
         Each voter is provided with unique username and password manually by the administrator. The voter uses the username and password for login and exercise the fundamental right of voting. if incorrect username and password entered, the access to is denied to the user. And also voter is allowed to vote only once.  This is the security feature provided against external access of the system.
         After login the voter enters the voter home page  ,which provides the links :
Candidate List
                   This facilitates the voter to view the candidate names, the constituency name, their symbol and their party name.
Vote
                    This provides the voter with a list of candidate with in his/her constituency along with selection option (radio button) to select the preferred candidate from the list. If the voting date is before termination date, the vote goes valid else goes invalid.
View Results
      This provides graphical and user friendly representation of the votes obtained by each candidate. It includes the percentage of the votes obtained by each candidate. But the result can be viewed only after the termination date of the election.
Logout
                                         This provides an option for the voter to quit the session ,while in the voter home page.


ADMINISTRATOR MODULE
                                          Administrator interface consists of a login name and unique password using which admin can login into the Online Voting System. Administrator has the main control of the system. By logging into the page it can perform the following tasks.

Add Candidate
  Here the admin can add the list of candidates in the election. It includes candidates name, address.gender,party, party symbol etc. The candidates will be added to the list only after completing the procedures.



Add Voter
     Here the voters can be added to the database. The voters have also the privilege to check the voters list from the homepage. The voters details includes name, address, gender, age, constituency, image etc.

Add Election
   Here the election to be conducted is selected. To add an election the constituency should be selected and termination date of election should be specified.

Add Constituency
  The constituency that is going to conduct election should be selected.

Voters List
   Here we can view the voters list. Each constituency will be having separate voters list.

Candidate List
   The list of candidates participating in the election can be seen. It includes the candidates name, party name and party symbol.
 
 The sub-modules of administrator are:
Ø Voting Structure,
Ø Voters Registration
Ø Candidate Registration
Ø Counting & Categorization of Results

Voting Structure
Here the eligible voters who are permitted to login to the system can utilize the right to vote. Each voter can register a single vote to a candidate’s favour in his/her constituency. The security measures taken within the system prevents them from exercising their votes again i.e. the second vote by the same user goes invalid. The starting and ending dates of the election are specified by the administrator. The user must have an identity card and he must be in voters list.
Voters Registration
The registration procedure of all the eligible voters .This registration process is done by the administrator. According to voters database each voter is provided with a unique identification codes which includes username and password.
The details of the voters include username, password, name, address, gender, constituency, image etc.With the voter registration, thus producing the voter list with the given information of the voters. The voter list can be viewed by anyone accessing the webpage. The admin can view the voter list with in his homepage.
Candidate Registration
The registration of the candidates in each constituency is done by the administrator. The details of the candidate includes name, address, gender ,his/her constituency, party and  image. With the candidate registration, thus producing the candidate list with the given information of the candidates. The candidate list can be viewed by admin and the vote within their respective homepages. According to candidates database (manual) each details of   the candidates are stored in database controlled by the admin including candidates details.
Counting & Categorization of Results
When the voter votes, the number of votes obtained by the selected candidate is incremented by 1.The result is published only after the voting process is over. It is accessible from the next day after the termination date. Here we depict the result in the graphical representation according to the percentage of vote obtained by the candidate. Result can be viewed by everyone who visits into the site without any authentication problem. A link to view the result is kept in the index page and both admin and voter can view the result in their respective homepages. When the user clicks the “RESULT” link, before the termination date of the election,
 “Result not Published yet” Message will be displayed. The result comes with their party symbol on the top of the graph representing the percentage of vote obtained by each candidate.

3.4.1.1 DATA FLOW DIAGRAMS
Fig 3.1 to Fig 3.4.2 shows various levels of DFD’s in our project entitled “Online Voting System”.
3.4.2. DATABASE DESIGN
A database system is an overall collection of different database software components and database containing the parts viz. Database application programs, front-end components, Database Management Systems, and Databases.

Normalization
Normalization is the process of organizing data in a database. This includes creating tables and establishing relationships between those tables according to rules designed both to protect the data and to make the database more flexible by eliminating redundancy and inconsistent dependency. Redundant data wastes disk space and creates maintenance problems .If data that exists in more than
one place must be changed , the data must be changed in exactly the same way in all locations. A buyer’s or promoter’s address change is much easier to implement if that data is stored only in the buyer’s or promoter’s table and nowhere else in the database. There are a few rules for database normalization. Each rule is called a “normal form
Data structuring is defined through a process called normalization. Data are grouped in the simplest way possible so that later changes can be made with a minimum of impact on the data structure.


There are different forms of normal forms
·         First normal form(1NF)
·         Second normal form(2NF)
·         Third normal form(3NF)
·         Boyce code normal form(BCNF)
·         Fourth Normal form(4NF)
·         Fifth Normal Form(5NF)





TABLES


Table 3.4.1 represents Candidatereg


FIELD
TYPE
KEY
Pkicandidate id
int(11)
Primary
Fkilogin id
int(11)

Candidate name
varchar(40)

Candidate address
varchar(40)

cangender
varchar(10)

candidateofbirth
Date

cansymbol
varchar(30)

fkiconstituencyid
int(11)
Foreign
phone
bigint(20)

emailid
varchar(15)

candesc
varchar(30)

status
Varchar(10)

party
varchar(20)






Table 3.4.2 represents Constituency

FIELD
TYPE
KEY
pksiconstituencyid
int(11)
Primary
fkilocationid
int(11)
Foreign
constituencyname
varchar(20)

candidatenumber
int(11)

voternumber
int(11)











Table 3.4.3 represents Electiondetails

FIELD
TYPE
KEY
Pkielectiondetailsid
Int(11)
Primary
Fkivoterid
int(11)
Foreign
Fkielectionmasterid
int(11)
Foreign
Status
varchar(20)



Table 3.4.4 represents Electionmaster

FIELD
TYPE
KEY
Pkielectionmasterid
int(11)
Primary
Electionname
varchar(30)

Fkiconstituencyid
int(11)
Foreign
Terminationdate
date


Table 3.4.5 represents Location

FIELD
TYPE
KEY
Pkilocationid
int(11)
Primary
Locationname
varchar(40)

Voterno
int(11)




Table 3.4.6 represents Login

FIELD
TYPE
KEY
Pkiloginid
int(11)
Primary
Username
varchar(20)

Password
varchar(20)

Role
varchar(20)

Status
varchar(20)







Table 3.4.7 represents Result

FIELD
TYPE
KEY
Pkresultid
int(11)
Primary
fkicandidateid
int(11)
Foreign
Count
int(11)

Termdate
Date





Table 3.4.18  represents Voterreg

FIELD
TYPE
KEY
Pkivoterid
int(11)
Primary
Fkiloginid
int(11)

Votername
varchar(40)

voteraddress
varchar(40)

Votergender
varchar(10)

Voterofbirth
Date

Voterimg
varchar(30)

fkiconstituencyid
int(11)
Foreign
Fkilocationid
int(11)
Foreign
Phone
Bigint(20)

Emailed
varchar(30)

Voterid
int(11)

Status
varchar(10)

Age
int(11)




SYSTEM TESTING
AND
 IMPLEMENTATION
  

4.1. SYSTEM TESTING


            Testing is the process of executing a program with the indent of finding any errors. Testing is vital to the  success of the system. Without  proper  testing  hide errors  will surface after sometime of use and perhaps irreversible damage has been done to valuable data. A series of  tests  like  responsiveness, its value, stress and security  are  performed  before  the  system  is  ready  for user  acceptance testing. System  testing  follows  the  logical conclusion that is  all  part of  the system  are tested  and found  to be  working  properly  under  all kinds  of situations, and  then  the system  is achieving  its goal  of processing  the data  perfectly  according  to  user  rules and  requirements.The different types of testing are given below.


Ø Unit testing
Ø Validation   testing
Ø Output testing
Ø User acceptance testing

4.1.1 UNIT TESTING

It involves the  basic  testing   of  a piece  of   code, the  size  of  which  is  often  undefined  in  practice. During   the   unit  testing  it  is tested  to  know  whether  that   particular   unit  in  the  proper  manner  as  expecting, if not  appropriate  modifications  are  applied  to  get  proper  outputs

4.1.2 VALIDATION   TESTING

At the  conclusion  of  the  black box  testing, s/w is   completely  assembled   as   a package. Interfacing  errors  have   been   uncovered  and  correct  and  final   series  of  test, ie  validation  begins. Validation  test  van  is  defined  with  a simple   definition that  validation succeeds   when the  software  functions   in a  manner  that   can  be  reasonably  accepted   by  the   customer. Thus  we  have  successfully   done  validation  testing.

4.1.3 OUTPUT TESTING

After   performing   the validation testing, next is the  output   testing  of  the  proposed system. The system cannot   be  useful  if  it not produce  required  output. The  output  displayed  by  the  system  under   consideration   will be   compared  with the  user  needs. Here the  output   format  is  considered in  2 ways, screen  format  and printed  format. The   o/p  format  on  the  screen   is  found   to  be  correct  as  the  format  was   defined  in  the  design  phase according to user  needs. As   for  the  hardcopy   the  o/p   comes  according  to  the  specification   requested   by  the  user. Here  the   o/p  testing  does  not  result   in  any  correction  in  the  system. Thus  we  have   successfully   done  output  testing.


4.1.4 USER ACCEPTANCE TESTING

It   is the key for   success of   any   system. The system   under   consideration   is tested   for  user  acceptance   by  constantly  keeping  in  touch   with  perspective   system  at  the  time of   development   and   making   changes  whenever   required. This is done   with   regarding to the   input   screen design   and output screen design.  Thus we have   successfully   done user acceptance testing.

4.2. SYSTEM IMPLEMENTATION


            System implementation is the final phase that is putting the utility into action. Implementation is the state in the project where theoretical design turned into working system. The most crucial  stage  is achieving  a new  successful  system and  giving confidence  in new  system that  it will work efficiently and  effectively. The system is implemented only after thorough checking is done and it is found working according to the specifications.
          System implementation is the final phase. i.e., putting the utility into action. Implementation is the state in the project   where theoretical design turned into working system. The most crucial  stage  is achieving  a new  successful  system and  giving confidence  in new  system that  it will work efficiently and  effectively.           Implementation is the state in the project where theoretical design turned into working system. The implementation stage is a system project in its own right. It  involves  careful  planning, design ,investigation   of the current  system and constraints  on implementation, design  of  methods  to achieve  change over  and evolution  method. Once  the planning has been completed  the major effort  is to  ensure that  the  programs  in  the  system  are  working  properly. At the same time concentrate on training user staff.





The major implementation procedures are:-
Ø Test plans
Ø Training
Ø Equipment installation
Ø Conversion

4.2.1:Test plans
   The  implementation  of a  computer  based  system  requires  that   the test data can be prepared  and  the  system  and  its elements  be tested  in a structured  manner.


 4.2.2:Training
    The  purpose  of  training   is   to ensure   that  all the personnel   who  are to  be  associated   with  the computer based  system possesses   necessary knowledge  skills.

4.2.3:Equipment installation
     Equipment vendors can provide specifications for equipment installation. They  usually  work   with  projects  equipment   installation  team  is planning  for  adequate  space, power  and  light, and  a suitable   environment. After a suitable site   has been completed, the computer equipment can be installed.

4.2.4:Conversion
      It  is  the processes of  performing   all  of  the  operations   that  result  directly  in  turnover of the  new  system   to  the  user. Conversion has two parts:-
1.      The  creation   of  a conversion   plan  at  the  start  of   the development  phase   and  the implementation  of  the  plan  throughout   the  development  phase.
2.      The   creation  of  a system  change  over  plan  at  the  end   of  the  development  phase   and   the  implementation  of  the  plan  at  the  beginning   of  operation   phase.



CONCLUSION &
FUTURE ENHANCEMENTS



5.1 CONCLUSION

                 By doing this project we were able to bring a new system for online national voting for our country. With the advent of technology and Internet in our day to day life, we were able to offer advanced voting system to voters both in the country and outside through our Online voting system.

Top 4 Reasons to Move to the Online Voting Platform

1. Efficient and Cost Effective
The system offers significant cost benefits over paper elections in a vote to vote comparison. It saves an organization the cost of creating, printing and postage, since everything can be handled electronically. Online elections reduce the use of paper and the amount of work for both the organization, as well as voters.
2. Intelligent
The Online Voting Platform offers intelligent ballots, smart checklist features, vote tallying, tabulation and reporting. These functions are automatic and do not need to be assigned to personnel in-house. Additionally, it allows administrators to create rules on ballots so that voters cannot cast invalid votes, nor do they need to be checked while counting.
3. Save Time and Resources
Online voting system drastically reduces the time required to set up and conduct elections. There is no excess time required to create paper ballots, set up paper ballots for printing, wait for the printing to be completed, or wait for ballots to be filled out and returned.
4. Easy and convenient
The Online Voting Platform offers the easiest and most convenient method for administrators and voters alike. For administrators, the process of setting up a ballot and conducting an election is simple and manageable.

The other advantages that the system offers are:
         Efficient data storage.
         Accuracy, real-time response and user friendliness.
         Intelligent Management

5.2  FUTURE ENHANCEMENTS
    
The Online Voting System(OVS) platform can be made more secure by using the following methods
§   Password Changing
§   Fingerprinting
§   Cornea Detection
                                            The password used by the user to vote is provided by the administrator. In the future the user can be given the privilege of changing the password. So it helps to increase the security of the system. The other two methods that can be used are cornea detection and fingerprinting. But here the problem is that it decreases the scope of the platform because these systems need some electronic components to implement. So it will avoid the users privilege to cast the votes at their fingertips. But it can guarantee that fake voting will be impossible.
                                                                                                                                                                        
The OVS system can be used for different elections.
                                          In this project we had done election for a single loksabha constituency. But this same system can be used in future for conducting different elections like local body, legislative assembly, loksabha elections for many constituencies and wards. For eg: In Kerala there are more than 10000 panchayat wards. The whole election can be conducted using this single platform. The only requirement is that we need to create the whole voters database.

Results update through SMS.
                                               In future we can add an SMS query also. ie we wil get the result updates at the time of counting. To receive the SMS we need to register with our mobile number in the site.

         

                                BIBLIOGRAPHY



  BIBLIOGRAPHY

  • Pankaj Jalote. An Integrated Approach to Software Engineering , Third
             Edition, Narosa Publications. A case study approach whereby a project is
             Developed through the course of the book, illustrating different activities of
              Software development

  • Herbert Schildt – Java 2: The Complete Reference, Fifth Edition. This book
              covers all   aspect of java programming language.

  • Educational Services Study Guide, Learn the basics of JAVA. Sun Micro
              System’s publications.

  • Larne Pekowsky, Java Server Pages Covers 2.0,Second Edition ,Pearson
             Education.-contains all the information necessary to start writing JSP.





No comments