online polling sytem project report

59
e-polling 1

Upload: shailesh-prajapati

Post on 26-Nov-2014

136 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Online Polling Sytem Project Report

e-polling

1

Page 2: Online Polling Sytem Project Report

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.

Unique username and password will be provided by this system.

2

Page 3: Online Polling Sytem Project Report

e-polling

To avoid the cheating this system provides security for the unique id to citizens .

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.

Site and database maintained by the system administrator.

System has a user friendly environment so it is easy to use by any person.

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 Platform Specification

1.4.1 Hardware

Requirement Professional

Processor 600MHz. Recommended: 1 GHz processor

RAM 192 MB Recommended: 256

MB

Operating System Windows 2000 Service Pack 4, Windows XP Service Pack 2,

Windows Server 2003 Service Pack 1, or Windows Vista3,4

For a 64-bit computer, the requirements are as follows:

Windows Server 2003 Service Pack 1 x64 editions

Windows XP Professional x64 Edition

3

Page 4: Online Polling Sytem Project Report

e-polling

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 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.

1.4.3 Implementation Language

1. Java

2. HTML

3. SQL

4. JavaScript

4

Page 5: Online Polling Sytem Project Report

e-polling

5

Page 6: Online Polling Sytem Project Report

e-polling

2. System Analysis

2.1 Identification of Need-

2.1.1 It will provide all people a way to became a part of the government.

2.1.2 To make people vote without making any efforts.

2.1.3 To give results quickly

2.2 Preliminary Investigation

6

Page 7: Online Polling Sytem Project Report

e-polling

Less participation of women in election

7

Page 8: Online Polling Sytem Project Report

e-polling

8

Page 9: Online Polling Sytem Project Report

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.

3.1 Technical Feasibility

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.

3.2 Economical Feasibility

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. 

9

Page 10: Online Polling Sytem Project Report

e-polling

Financial or Economical feasibility decides whether the proposed system will be cost effective. Economic

feasibility considers the following

I. The cost to conduct a full system investigation.

II. The cost of hardware and software for the class of application.

III. The benefits in the form of reduced cost or fewer costly errors.

IV. The cost if nothing changes (i.e. The proposed system is not developed).

3.3 Operational Feasibility

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

Page 11: Online Polling Sytem Project Report

e-polling

11

Page 12: Online Polling Sytem Project Report

e-polling

4. Literature Survey

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.

4.2. Proposed Solution

Save paper and reduced role of manpower.

Voting procedure will be fast and result will be declared within few hours after the

completion of election.

e-Polling provides a safe way for voting.

Online voters will not have any fear of terrorism.

No booth capturing will take place.

4.4 Technology Needed

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

4.4.1 Java (front end )

12

Page 13: Online Polling Sytem Project Report

e-polling

Java is a programming language originally develepod by Sun

Microsystems and released in 1995 as a core componenet of Sun’s. Java platform. The language

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++. 13

Page 14: Online Polling Sytem Project Report

e-polling

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.

Java has the following features:

Simple

Portable

Object-oriented

Robust

Architecture-neutral

Interpreted

High performance

4.4.2 Netbeans 6.0(IDE used)

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 14

Page 15: Online Polling Sytem Project Report

e-polling

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.

4.4.3 Adobe Dreamweaver (CS4):-

Adobe Dreamweaver is a development application originally created by Macromedia, and is now

developed by Adobe Systems, which acquired Macromedia in 2005. Dreamweaver is available for

both Mac and Windows operating systems. Recent versions have incorporated support for web

technologies such as CSS, JavaScript, and various server-side scripting languages

and frameworks including ASP, ColdFusion, and PHP.

Dreamweaver's WYSIWYG mode can hide the HTML code details of pages from

the user, making it possible for non-coders to create web pages and sites. One criticism of this

approach is that it has the potential to produce HTML pages whose file size and amount of HTML

code is larger than an optimally hand-coded page would be, which can cause web browsers to

perform poorly. 

Dreamweaver allows users to preview websites in locally-installed web browsers. It

also has site management tools such as FTP/SFTP and Web DAV file transfer and synchronization

features, the ability to find and replace lines of text or code by search terms and regular expressions

across the entire site, and a template feature that allows single-source update of shared code and

layout across entire sites without server-side includes or scripting. The behavior panel also enables

use of basic JavaScript without any coding knowledge. Dreamweaver can use third-party

"Extensions" to extend core functionality of the application, which any web developer can write

(largely in HTML and JavaScript).

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

Page 16: Online Polling Sytem Project Report

e-polling

=-

16

Page 17: Online Polling Sytem Project Report

e-polling

5.1External Interface Requirement

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.

5.1.1 User interfaces

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.

5.1.2 Hardware interfaces

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.

5.1.3 Software interfaces

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.

17

Page 18: Online Polling Sytem Project Report

e-polling

5.2.3 Security requirements

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.

5.2.4 Software quality attributes

Correctness — software should do what it is suppose to do (according to the design specs)

Robustness- System should be able to detect the fake people.

User-friendliness- software should be able to used by every category of people.

Adaptability- software should be updated as per the requirement.

Security- Personal details of voters should be kept confidential.

18

Page 19: Online Polling Sytem Project Report

e-polling

19

Page 20: Online Polling Sytem Project Report

e-polling

6. Software Engineering Approach

6.1 Software Engineering Paradigm Applied

6.1.1 Description:

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 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.

20

Page 21: Online Polling Sytem Project Report

e-polling

6.1.2 Advantages & Disadvantages Advantages:

High amount of risk analysis.

Good for large and mission-critical projects.

Software is produced early in the software life cycle.

Disadvantages:

Can be a costly model to use.

Risk analysis requires highly specific expertise

Project's success is highly dependent on the risk analysis phase.

Doesn't work well for smaller projects

6.1.3 Why Used For Project

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

Page 22: Online Polling Sytem Project Report

e-polling

6.2 REQUIREMENT ANALYSIS

6.2.1 Requirements Elicitation

Since there was no "customer" in the traditional project sense, we decided to work with the small set

of core functional directives listed above and to formally establish a project requirements baseline

(again, to shorten the requirements analysis process for the subsequent portals) only after . This had

the advantage that we didn't need to conduct a formal requirements acceptance test until the second

portal was deployed. The first step in eliciting requirements was to identify key product

stakeholders. These stakeholders consisted of personnel from the marketing, sales, user interface,

content generation, software development, quality 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:

functional requirements — actions the system must be able to perform

nonfunctional presentation requirements— how the information is to be displayed to the user

requirements— other system requirements, such as usability, reliability, performance, and

supportability

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.

6.2.2 Requirements Analysis

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,

22

Page 23: Online Polling Sytem Project Report

e-polling

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.

Steps in the Requirements Analysis Process-

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.

6.2.3 Requirements Negotiation

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.

23

Page 24: Online Polling Sytem Project Report

e-polling

6.2.4 Requirements Specification

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.

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.

24

Page 25: Online Polling Sytem Project Report

e-polling

6.3 Planning Managerial Issues

6.3.1 Planning scope

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.

6.3.2 Team Organization

6.3.2.1 Team Structure

Our team consists of 4 full-time people for two different minor part of our project- web/database

developer, web designer/technologist, web developer. one people among us work as web/database

developer, two 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).

6.3.3 Risk Analysis

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

25

Page 26: Online Polling Sytem Project Report

e-polling

5. Information hiding

6. Functional Independence

7. Refinement

8. Refactoring

26

Page 27: Online Polling Sytem Project Report

e-polling

27

Page 28: Online Polling Sytem Project Report

e-polling

28

Page 29: Online Polling Sytem Project Report

e-polling

29

Page 30: Online Polling Sytem Project Report

e-polling

30

Page 31: Online Polling Sytem Project Report

e-polling

31

Page 32: Online Polling Sytem Project Report

e-polling

32

Page 33: Online Polling Sytem Project Report

e-polling

33

Page 34: Online Polling Sytem Project Report

e-polling

6.5 Implementation Phase

6.5.1 Characteristics of Language, Platform and Tools Used

Characteristics of Java, JavaScript & HTML

Five important characteristics make practical nature possible:

· Familiarity

· Simplicity

· Efficiency

· Security

· Flexibility

Familiarity

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

34

Page 35: Online Polling Sytem Project Report

e-polling

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.

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 .

35

Page 36: Online Polling Sytem Project Report

e-polling

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.

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.

3.) A successful test is one that uncovers 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.

36

Page 37: Online Polling Sytem Project Report

e-polling

White Box Testing

White Box Testing, sometimes called Glass Box Testing or Structured Testing is a test case design

method that uses the control structure of the procedural design to derive test cases. The tester can

analyze the code and use knowledge about the structure of a component to derive test data.

"Knowing the internal working of a product, test can be conducted to ensure that internal operation

performs according to specification and all internal components have been adequately exercised", is

called White Box Testing.

White Box Testing of software is predicted on close examination of procedure detail. Logical paths

of the white software are tested by providing test cases that exercise specific sets of condition or

loops.

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.

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.

Black Box Testing:-

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.

Black Box Testing attempts to find errors in the following categories:-

1.) Incorrect or missing function.

2.) Interface errors.

3.) Errors in data structures or external data base access.

37

Page 38: Online Polling Sytem Project Report

e-polling

4.) Performance errors.

5.) Initialization and termination errors.

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:-

* How is functional validity tested?

* What classes of input will make good test cases?

* Is the system particularly sensitive to certain input values?

* How are the boundaries of data class isolated?

* What data rates and data volume can the system tolerate?

* What effect will specific combinations of data have on system operations?

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.

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

Page 39: Online Polling Sytem Project Report

e-polling

39

Page 40: Online Polling Sytem Project Report

e-polling

7. Conclusion

7.1 Limitation of Project

Administrator is created in the system already.

All roles are created in the system already.

Roles and tasks are predefined and are made known to the administrator.

All users are using Javascript enabled browsers

End user should have a basic knowledge of English and computer usage

We have not included the concept of campaigning in our project.

Authenticating only on the basis of personal details.

A personal photo identification is not implemented.

7.2 Difficulties Encountered

The difficulties encountered during the development of the entire system include the following:

1. Difficulty in defining the complete scope of the system.

2. Having to deal with changing system requirements.

3. The response of the public led’s to delay in development.

4. Assessing the potential risk involved

5. Confined knowledge of the election criteria.

6. Maintenance of large database

7.3 Future Enhancements & Suggestions

40

Page 41: Online Polling Sytem Project Report

e-polling

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.

41

Page 42: Online Polling Sytem Project Report

e-polling

42

Page 43: Online Polling Sytem Project Report

e-polling

Bibliography & References

8.1 Reference Books

Software Engineering Principles by Roger S. Pressman

Software

Engineering by Rajiv Mal

PL/SQL by Ivan

Bayross

Database System

concepts by Korth

System Analysis & Designing by James A. senn

Software Engineering Concepts by Fairley

8.2 Other Documentations & Resources

http://www.google.in/

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