Online Polling Sytem Project Report
Online Polling Sytem Project Report
1
e-polling
Introduction :-
Problem Statement:-
We live in a democracy and voting is one of our fundamental duties as responsible citizens of the country,
but nowhere around the country a 100% people come to vote during the elections in their territory. There
have been many reasons for that some of them are:
•In the rural areas the influential people keep their men at the polling booths to threaten the common man to
vote for them.
• There are many portions of the country like the North East where there is locally sponsored terrorism, at
such places the security conditions are also not very bright, so naturally people feel afraid to come out of
their houses and go to vote.
• Net savvy new generation want hassle free voting system. Also the people in metros want a system
through which they can vote for their territory without traveling.
Keeping in mind these situations and to improve the state of democracy in the country Online
Polling System can be thought as a solution, in conjunction with the ongoing current manual voting system.
E-Polling will help all the peoples who cannot vote due to many reason but they want to vote, to
become a part of the government. It will allow people to vote from any part of the country and provide his
valuable support to the nation
1.2: Objective
Website enables the users to interact with the candidates and access other facilities provided in the website
easily with the help of a luring graphical windowing environment.
User can enter biographical information, personal details, interests.
“E-Polling” provides a facility for online registration of the citizens, after completing the registration
process they are eligible for that any voting taking place in there area.
Any person who is eligible for voting i.e. as per election commission criteria can easily register using this
system.
To avoid the cheating this system provides security for the unique id to citizens .
2
e-polling
After completing the voting procedure result are automatically calculated by this system.
“E-Polling” provide a database for various announcements of candidates and election commission also.
1.3: Scope
Condemning the feasibility of complex technology such as remote online voting cannot be done through
research of purely theoretical models. Real world deployment of remote online voting shows how the
weaknesses dominate, making remote online voting a risky proposition. This project will examine two uses
of remote online voting – two schemes that fail if we consider security a paramount requirement.
1.4.1 Hardware
Requirement Professional
1.4.2 Software
We are using our main platform as NetBeans6.5, which is an integrated development environment (IDE),
which combines several development tools into a single cohesive package. The assortment usually includes
3
e-polling
a source code editor, compiler, debugger and other utilities. These tools work together throughout the
development process. To run our application we need a NetBeans Framework, Wampserver, and Jdk 1.6.
4
e-polling
2. System Analysis
5
e-polling
6
e-polling
7
e-polling
8
e-polling
3. Feasibility Study
This section studies the technical, schedule, operational, financial, organizational and social feasibilities, as well
as human factors, risk management, and the limitation of the feasibility study itself.
This feasibility study will determine whether the project could be done within the limitations of the available
project time, human, financial and technical resources. The feasibility study represents the projects preliminary
design factors.
Technical feasibility centers around the existing computer system (hardware and software) whether it can
support the addition of proposed system, if not to what extend it can support the organization's capacity to
acquire required additional components.
Technical feasibility centers on the existing computer system (H/W, S/W etc.) and to what extent it
can support the proposed addition. For e.g., if the current computer is operating at 80 % capacity an
arbitrary ceiling then running another application could over load the system or require additional H/W.
This involves financial consideration to accommodate technical enhancements. If the budget is serious
constraint, then the project is judge not feasible.
During technical feasibility analysis, the analyst evaluates the technical merit of the system concept,
while at the same time it collects the information about the performance, reliability, maintainability and
productivity of the system.
We have analyzed that what kind of environment, process and methods are required to accomplish the
system. We are using java as front end and wampserver as backend.
Economic analysis is most frequently used method for evaluating the effectiveness of a candidate system.
More commonly known as cost/benefit analysis, the procedure is to determine the benefits and savings that
are expected from a candidate system and compare them with costs. It benefit outweigh costs, and then
decision is made to design and implement the system. Otherwise, further justification or alterations in the
proposed system will have to be made if it is to have a chance of being approved. This is an ongoing effort
that improves in accuracy at each phase of the system life cycle.
Financial or Economical feasibility decides whether the proposed system will be cost effective. Economic feasibility
9
e-polling
Operational feasibility determines how much effort will go in selling the proposed information system, and in
educating and training the employees on the new system, along with the new ways of conducting the business.
10
e-polling
4. Literature Survey
11
e-polling
4.1 Benefit
E-polling will help all people who cannot vote due to many reason.
Allow people to vote from any part of the country.
It will provide all people a way to become a part of the government.
It will help to give quick result.
It will help to conduct fair election.
This includes the tools that we have used in constructing the projectand the form of
technology that we have used in the project, and we have the following technology used
in implementation of project:-
Java
Netbeans 6.0(IDE used)
Adobe Dreamweaver (CS4)
Wampserver
12
e-polling
derives muchof its syntax from C and C++ but has a simpler object model and fewer low-level
facilities. Java applications are typically compiled to bytecode which can run on any Java virtual
machine(JVM) regardless of computer architecture.
One characteristic, platform independence, means that programs written in the Java language
must run similarly on any supported hardware/operating-system platform. One should be able to
write a program once, compile it once, and run it anywhere. The first technique is to simply compile
directly into native code like a more traditional compiler.
The Java Runtime Environment (JRE), is the software require to run any application . Deployed on
the Java platform. End users commonly use a JRE in software packages and Web browser plugins. Sun also
distributes a superset of the JRE called the Java 2 SDK(more commonly known as JDK), which includes
development tools such as the Java compiler,Javadoc,Jar and debugger. One of the unique advantages of the
concept of a runtime engine is that errors (exceptions) should not ‘crash’ the system.
A Java Virtual Machine (JVM) is a set of computer software programs and data structures which
implements a specific virtual machine model. This model accepts a form of computer intermediate
language, commonly referred to as Java bytecode, which conceptually represents the instruction set
of a stack oriented, capability arechitecture.This code is most often generated by Java language
compilers, although the JVM canalso be targeted by compilers of other languages. JVMs using the
“Java” trademark may be developed by other compilers as long as hey adhere to the JVM
Specification published by Sun (and related contractual obligations). The JVM is a Crucial
componenet of the Java platform. Because JVMs are available for mny hardware and software platforms.
We have preferred Java because:
Get started quickly: Although Java is a powerful object-oriented language, it's easy to learn,
especially for programmers already familiar with C or C++.
Write less code: Comparisons of program metrics suggest that a program written in Java can
be four times smaller than the same program in C++.
Write better code: The Java language encourages good coding practices and its garbage
collection helps you avoid memory leaks.
Develop programs faster: Your development time may be as much as twice as fast versus
writing the same program in C++.
Avoid platform dependencies with 100% Pure Java: You can keep your program portable
by avoiding the use of libraries written in other languages.
Write once, run anywhere: Because 100% Pure Java programs are compiled into machine-
independent byte codes, they run consistently on any Java platform.
13
e-polling
One of the most talked about and innovative features since Net-Beans 5.0 is Project Matisse or the Form
Editor. Many would agree that Matisse is the best user interface designer across different IDE categories
and technologies. A good number of developers will start or have started using Netbeans because of it. With
software, there is never-ending room for improvement and growth. In NetBeans6.0, familiar and new
developers will find many new Matisse features to help improve Swing application development, as you’ll
see in this article. Beans Binding and Before Netbeans 6, the Free Design layout manager supported a
single preferred gap for component placement. In6.0, three preferred gaps are supported. A preferred gap is
the preferred spacing between components, and is available on all sides of a component for quick and
elegant placement. For developers who may like more control over spacing between components, having
three choices comes in handy. The Swing Application Previous releases of Netbeans required a few extra
steps to internationalize and localize a UI. Now the process is streamlined. In previous versions, you had to
setup each individual UI element to pull values from the correct resource bundle. Then to actually localize
the bundle you needed to create separate bundle files or localized entries manually, enter the text for the
correct local, and format the file accordingly (using a different encoding, for example).In Netbeans 6.0, you
can now ask Matisse to automatically internationalize the application during UI design. This means that for
each resource that would normally be internationalized by hand Matisse automatically adds the value
supplied in the designer to a resource bundle. This is done for all UI elements .The visual localization
feature works in harmony with automatic international. You can right click the top form node in the tree of
the Inspector window, locate the Design Locale combo box Properties window, and then select a locale or
add a new one.
14
e-polling
4.4.4 Wampserver-
WampServer is a Windows web development environment. It allows you to create web applications with
Apache, PHP and the MySQL database. It also comes with PHPMyAdmin and SQLiteManager to easily
manage your databases. WampServer installs automatically (installer), and its usage is very intuitive. You
will be able to tune your server without even touching the setting files. WampServer is the only packaged
solution that will allow you to reproduce your production server. Once WampServer is installed, you have
the possibility to add as many Apache, MySQL and PHP releases as you want. WampServer also has a
trayicon to manage your server and its settings.
15
e-polling
=-
According to our project’s aim, identifying interfaces with subsystems is the subject of the external
interface requirements. External interface requirements should be described definitely. External interface
requirements are defining the system interaction between other organizations.
16
e-polling
User Interfaces is important because it is the face of the system. User interfaces should be user friendly,
understandable, useful, functional and purposely. There are two type users and interfaces. One of them is
internet user’s interface and other one is the administrative interface. In our project, interface has
hierarchical navigational systems with lots of hyperlinks. Interfaces of internet users and administrator are
including some specific parts. For example, sign up, log in, help, search, download, upload and so on.
To run our application we need not any hardware peripherals. An extra hardware we require is a
webcam, by which we will allow user to take their picture and be inserted in the software.
We are using our main platform as NetBeans6.5, which is an integrated development environment (IDE),
which combines several development tools into a single cohesive package. The assortment usually includes
a source code editor, compiler, debugger and other utilities. These tools work together throughout the
development process. To run our application we need a NetBeans Framework,Wampserver,Jdk 1.6 .
5.2 Other Nonfunctional Requirements
5.2.1 Performance requirements
5.2 .2Safety requirements
It is very important to secure the personal details of the voters to be kept confidential for this precaution are
required like candidate should not reveal their password in public, not to operate their accounts on
unauthentic systems, voter should take care the they don’t get trapped in fishing trap.
Security is receiving attacks and threats which are affecting the usability of the system. Protection is very
important as system has internet connection. If security is not appropriate, system can not resist on external
attacks. There are some damages which are caused by these external attacks. One of them is denial of
service; other one is corruption of programs or data and the last one is disclosure of confidential
information. We must block these external attacks.
18
e-polling
Model Used:-
Spiral model: The spiral model is similar to the incremental model, with more emphases placed on risk
analysis. The spiral model has four phases: Planning, Risk Analysis, Engineering and Evaluation. A
19
e-polling
software project repeatedly passes through these phases in iterations (called Spirals in this model). The
baseline spiral, starting in the planning phase, requirements is gathered and risk is assessed. Each
subsequent spiral builds on the baseline spiral.
Requirements are gathered during the planning phase. In the risk analysis phase, a process is undertaken to
identify risk and alternate solutions. A prototype is produced at the end of the risk analysis phase.
Software is produced in the engineering phase, along with testing at the end of the phase. The evaluation phase
allows the customer to evaluate the output of the project to date before the
project continues to the next spiral.
Disadvantages:
20
e-polling
The spiral model is a software development process combining elements of both design and prototyping-in-
stages, in an effort to combine advantages of top-down and bottom-up concepts. The first step in this project
was the analysis. Requirement gathering at the system level with a small amount of top-level design and
analysis was done. The basic aspects related with large computations i.e. time and money was the major
areas of concern.
The requirement gathering process was intensified and focused. To add the required features information
was gathered and whole website was analyzed. Behavior and the expected performance of the system were
reviewed with the customer. All the requirement specifications were available at the analysis phase. After
analysis software design was developed. Data structure, software architecture, interface representation and
procedural details were worked upon. The design process translated the requirements in to a representation
of software that can be accessed for quality before coding begins. A clear separation between the planning
and designing of the project and the actual implementation is achieved through this model. This helps in
reducing the complexity of the project development
21
e-polling
assurance, and systems engineering teams, all of whom were polled for input. The marketing group
represented the viewpoint of an end user in the community and so became the de facto "customer."
The core high-level requirements were organized quite simply, into three sections:
There were a number of reasons for choosing this approach. For one thing, it aligned with how our technical
resources and organization were structured. The graphical design team (charged with meeting the
presentation requirements) was composed of Web designers who used a different set of tools than the site
developers building Active Server Pages. Grouping the functional requirements together, separate from the
network, security, and other engineering disciplines, matched the structure of our engineering organization.
Requirements Analysis is the process of understanding the customer needs and expectations from a
proposed system or application and is a well-defined stage in the Software Development Life Cycle mode.
Requirements are a description of how a system should behave or a description of system properties or
attributes. It can alternatively be a statement of ‘what’ an application is expected to do. Given the multiple
levels of interaction between users, business processes and devices in global corporations today, there are
simultaneous and complex requirements from a single application, from various levels within an
organization and outside it as well. The Software Requirements Analysis Process covers the complex task of
eliciting and documenting the requirements of all these users, modeling and analyzing these requirements
and documenting them as a basis for system design. A dedicated and specialized Requirements Analyst is
best equipped to handle the job. The Requirements Analysis function may also fall under the scope of
Project Manager, Program Manager or Business Analyst, depending on the organizational hierarchy.
Software Requirements Analysis and Documentation Processes are critical to software project success.
Requirements engineering is an emerging field which deals with the systematic handling of requirements.
22
e-polling
I. Fix system boundaries This initial step helps in identifying how the new application integrates with
the business processes, how it fits into the larger picture and what its scope and limitations will be.
II. Identify the customer In more recent times there has been a focus on identifying who the ‘users’ or
‘customers’ of an application are. Referred to broadly as the ‘stake holders’, these indicate the group
or groups of people who will be directly or indirectly impacted by the new application. By defining
in concrete terms that the intended user is, the Requirements Analyst knows in advance where he has
to look for answers. The Requirements Elicitation Process should focus on the wish-list of this
defined group to arrive at a valid requirements list.
III. Requirements Analysis Process: Once all strake holder requirements have been gathered, a
structured analysis of these can be done after modeling the requirements. Some of the software
requirements analysis techniques used are requirements animation, automated reasoning,
knowledge-based critiquing, consistency checking, analogical and case-based reasoning.
Negotiating requirements is one of the first steps in any software system life cycle, but its results have
probably the most significant impaction the system’s value. However, the processes of requirements
negotiation are not well understood. We have had the opportunity to capture and analyze requirements
negotiation behavior for groups of projects developing library multimedia archive systems.
Requirements, once elicited, modeled and analyzed should be documented in clear, unambiguous terms. A
written requirements document is critical so that its circulation is possible among all stakeholders including
the client, user-groups, the development and testing teams. Current requirements engineering practices
reveal that a well-designed, clearly documented Requirements Specification is vital and serves as a:
Base for validating the stated requirements and resolving stakeholder conflicts, if any.
Contract between the client and development team.
Basis for systems design for the development team.
Bench-mark for project managers for planning project development lifecycle and goals.
Source for formulating test plans for QA and testing teams.
Resource for requirements management and requirements tracing.
Basis for evolving requirements over the project life span.
23
e-polling
Software requirements specification involves scoping the requirements so that it meets the customer’s
vision. It is the result of collaboration between the end-user who is often not a technical expert, and a
Technical/Systems Analyst, who is likely to approach the situation in technical terms.
The software requirements specification is a document that lists out stakeholders’ needs and communicates
these to the technical community that will design and build the system. The challenge of a well-written
requirements specification is to clearly communicate to both these groups and all the sub-groups within.
To overcome this, Requirements Specifications may be documented separately as:
User Requirements - written in clear, precise language with plain text and use cases, for the benefit
of the customer and end-user.
System Requirements - expressed as a programming or mathematical model, addressing the
Application Development Team and QA and Testing Team.
Requirements Specification serves as a starting point for software, hardware and database design. It
describes the function (Functional and Non-Functional specifications) of the system, performance of the
system and the operational and user-interface constraints that will govern system development.
Scoping is related but requires additional information. Do multiple transactions need to occur while a user is
interacting with the system. We can see that this is a lot to think about, especially when we multiply this
effort by the number of users in our project. We might be able to think of the user as separate authorizer,
and then divide some of the scoping work among different team members to make the process more
efficient. The development leader or architect should be stay focused on any cross application dependencies
or areas where resources can be combined.
24
e-polling
people among us work as web designer/technologist, and one person works as a web developer. There is no
one on the team responsible for overall content management (the content is supposed to come "ready to
post" from virtually anyone of the team who has something they want or need to say on the website).
Our team analyzed the project and we have to face risks .And we manage the risks with our Code & Data
Management skills.
6.4 Design
6.4.1 Design Concept and Technique
Following are the main points related to the design concept:-
1. Abstraction
2. Architecture
3. Patterns
4. Modularity
5. Information hiding
6. Functional Independence
7. Refinement
8. Refactoring
25
e-polling
26
e-polling
27
e-polling
28
e-polling
29
e-polling
30
e-polling
31
e-polling
32
e-polling
· Familiarity
· Simplicity
· Efficiency
· Security
· Flexibility
Familiarity
33
e-polling
Programmers from many backgrounds will find themselves already accustomed to the Java language. Many
of the language's constructs are borrowed from C and C++, and in many cases Java code is almost
indistinguishable from that found in the typical C# or C++ program. This minimizes the learning curve
considerably.
Simplicity
A JavaScript can consist of 10,000 lines or one line: whatever you need to get the job done. There is no need
to include libraries, special compilation directives, or anything of the sort. The script engine simply begins
executing the code after the first escape sequence (). If the code is syntactically correct, it will be executed
exactly as it is displayed.
It is also a navigator embedded scripting which works differently on different browerson the net.
Efficiency
Efficiency is an extremely important consideration for working in a multiuser environment such as the
langauge introduced resource allocation mechanisms and more pronounced support for object-oriented
programming, in addition to session management features..
Security
Java provides developers and administrators with a flexible and efficient set of security safeguards. Java
furnishes a number of security mechanisms that administrators can manipulate, providing for the maximum
amount of freedom and security when Java is properly configured. Java can be run in what is known as safe
mode, which can limit users' attempts to exploit the Java implementation in many important ways. Limits
can also be placed on maximum execution time and memory usage, which if not controlled can have
adverse affects on server performance.
This Project is Platform Independence. It needs only client and a server.
Characteristics of Dreamweaver:-
Looking back, the death of DHTML was an expected casualty of the browser wars and incompatible DOMs
between Netscape and Internet Explorer. However, Dynamic HTML has had resurgence under the umbrella
of a new buzzword and movement.
34
e-polling
CSS, by contrast, has flourished for the last 10 years, and Dreamweaver has concentrated heavily on
standards-based design over the last few releases. And although Dreamweaver has established itself as the
market leader among visual editors, there's also been a significant focus on strengthening the code-centric
tools that today's web designers and developers require.
Characteristics of WampServer:-
Easy to Install and Deploy - Users can set up WampServer in minutes enabling organizations to deliver
new applications faster than with proprietary databases.
Easy to Administer WampServer is a low administration database that eliminates the need for highly
trained, skilled, and costly database administrators to maintain the database.
High Performance - In February 2002, eWeek published the results of their Database Benchmark Test,
showing WampServer has the best overall performance and scalability (matching Oracle). To view the
results of eWeek Database Benchmark test .
Reliability and High Availability - WampServer has a well-earned and established reputation for
reliability among its 5 million user community. In addition to reliability, WampServer Cluster provides
99.999% availability.
.
6.6 Testing
Software testing is the process used to measure the quality of developed computer software. Usually, quality
is constrained to such topics as correctness, completeness, security, but can also include more technical
requirements such as capability, reliability, efficiency, portability, maintainability, compatibility, and
usability. Testing is a process of technical investigation, performed on behalf of stakeholders, that is
intended to reveal quality-related information about the product with respect to the context in which it is
intended to operate. This includes, but is not limited to, the process of executing a program or application
with the intent of finding errors. Quality is not an absolute; it is value to some person. With that in mind,
testing can never completely establish the correctness of arbitrary computer software; testing furnishes a
criticism or comparison that compares the state and behavior of the product against a specification. An
important point is that software testing should be distinguished from the separate discipline of Software
Quality Assurance (SQA), which encompasses all business process areas, not just testing.
35
e-polling
6.6.1Testing Objectives
There are number of rules that can serve well as testing objectives.
1.) Testing is a process of executing a program with the intent of finding an error.
2.) A good test case is one that has a high probability of finding an as yet undiscovered error.
These objectives implies that a successful test is one in which no errors are found. Our objective is to design
tests that systematically uncover different classes of errors and do so with minimum amount of time and
effort.
If testing is conducted successfully it will uncover errors in software. The secondary benefit, testing
demonstrates that software functions are working according to specification and requirement appears to
have been met.
Using White Box Testing methods, the software engineer can derive test cases that:-
1.) All independent paths within a module have been exercised at least once.
2.) Exercise all logical decisions and their true and false sides.
3.) Execute all loops at their boundaries and within their operational bounds.
4.) Exercise internal data structure to ensure their validity.
36
e-polling
The advantage of White Box Testing is that an analysis of the code can be used to find how many test cases
are needed to guarantee a given level of test coverage.
Sometimes called Behavioral Testing or Particular Testing. Black Box Testing focuses on the functional
requirements of the software. That is, Black Box Testing enables the software engineer to derive sets of
input condition that will fully exercise all functional requirements for a program. Black Box Testing is not
an alternative to White Box techniques. Rather, it is a complementary approach that is likely to uncover a
different class of errors than White Box methods.
Unlike White Box Testing which is performed easily in the testing process Black Box Testing tends to be
applied during data stages of testing. Because Black Box Testing purposely disregards control structure,
attention is focused on the information domain. Tests are designed to answer the following question:-
By applying Black Box techniques we derive a set of test cases that satisfy the following criteria:
1.) Test cases that reduce, by a count that is greater than one, the number of additional test cases that must
be designed to achieve reasonable testing.
37
e-polling
2.) Test cases that tell us something about the presence or absence of classes of errors, rather than errors
associated only with the specific test at hand.
38
e-polling
7. Conclusion
The difficulties encountered during the development of the entire system include the following:
Due to time constraints, we restrict ourselves only to a minor part of the major idea that was thought.
The system developed, though can perform most of the operations mentioned in this report, there are still
some areas where coding has to be completed. We have taken every possible effort, to bring out the best
results for all the modules mentioned, but since we are doing the project after the introductory course in java
we find it hard and time consuming in analyzing each and every module. While doing the project we learned
some advanced topics which we don’t know previously regarding JavaScript.
40
e-polling
41
e-polling
http://www.google.in/
42
e-polling
http://www.mponline.org/
http://www.indianrailways.org/
http://www.nrdcindia.com/
http://ebooks-space.com/
http://programmerworld.net/
http://www.w3school.com
http://www.stackoverflow.com
43