Professional Documents
Culture Documents
INTRODUCTION
In the everyday life most of us indulge with the online transactions. This is because of the rapid improvement in the e-commerce technologies. Internet technologies have conquered each and every sector of today's businesses. Everything from buying to selling, checking bills online, transferring money into different account, sending and receiving emails and even the education industries are getting online. The idea behind developing an online voting system was to improve and speed up the process of traditional way of voting. The eligible voters would be able to vote from any part of the world through the internet. Another big advantage of using online system will be that it would reduce the amount of manpower used to conduct the voting. A voting system is a method by which voters make a choice between options, often in an election. A voting system enforces rules to ensure valid voting, and how votes are counted and aggregated to yield a final result. Common voting systems are majority rule, proportional representation or plurality voting with a number of variations and methods such as preferential voting. Online Voting System is a web based application. Online Voting System is a voting software. It consists of four groups, namely General voter Candidate/Nominee Inspector Administrator
Page 1
Page 2
Page 3
Page 4
4.1 Fig.E-R Diagram Above is the E-R diagram of online voting system.In this there are four attributes namely voter,nominee,administrator,and inspector. The voter has three entities namely v_name i.e.Voter name,v_id i.e. voter id,and voter address.The address again has three sub-entities i.e. city,state and street.The admistrator,inspector and nominee also have the same attributes such as administrator id,administrator name,inspector id,inspector name,nominee id,nominee name and also they have the same entity i.e. their addresses.The relationship between the attributes are shown with the help of diamond shape.The administrator is the head in the voting process. The administrator suggests/appoints an inspector.The inspector can take watch/ inspects the voter and the nominee.The inspector and the administrator also have the right to block the voter if the voter is performing any illegal task. The voter can see the profile of the nominee to decide that to whom the vote is to be given.
Page 5
4.2 Fig.Data Flow Diagram The general online voting system has been divided into six phases. These are Registration Authentication Voting and saving the votes Managing the votes Counting the votes Auditing In the first phase of the registration the voters are registered and given the login details to log into the system.
Page 6
4.3 Fig.Use Case Diagram The voting system consist of four groups : Voter Inspector Administrator Nominee
Page 7
4.3.1 Voter:
Fig 4.3.1 Voter Voter is a person who is able to give the vote to the nominee for giving the vote the voter can also see the profile of the nominee to decide that to whom the vote is given 4.3.2 Inspector:
Inspector is a person who is appointed by the Administrator to inspects all the voting process. If the voter can give the vote illogically or without any Id proof then the inspector may block that particular voter. Inspector can take the advice from the Administrator.
4.3.3 Nominee:
Fig 4.3.3 Nominee Nominee is a person to whom the voter is giving the vote. The nominee have the particular Id by using this Id the voter can easily give the vote to the particular nominee as they want.
Page 9
Fig 4.3.4 Administrator Administrator have all the right about voting. The Administrator calculate the votes at the end of the voting process and display the result. The Administrator may block the voters if some illegal activities are performed.
Page 10
FRONT-END BACK-END
: :
PLATFORM:
WINDOW XP.
: : :
Page 11
Technical Feasibility
The Technical Feasibility of the software system developed is centered around the existing computer system (hardware and software etc.) and to what extent it can support the proposed addition. Its various aspects are discussed hereby.
Hardware Feasibility
The hardware feasibility of the software under development will be as a under
1. The present hardware setup of the organization may be sufficient for running the software applications to be developed.
2. System Support Group of the company provides the entire hardware requirement for the proposed system as and when needed.
Software Feasibility
The software feasibility of the software under development can be stated as under:
1. The new application requires .Net framework 1.1 which is available in the company.
2. System Support Group of the company provides the entire software requirement for the proposed system as and when needed.
Page 12
Costs:
Since it is an External project for the company, there will be cost benefit analysis in terms of resources according to the company policy, which cannot be declared.
Moreover the application being developed will assume Windows NT as its server and license from Microsoft for .Net.
Benefits:
1. Since it is an External project for the company, it help company in achieving financial support for further company development.
2. It helps client to sale the product to the property managers around the world.
Operational Feasibility
The Operational Feasibility of the system relates to the fact that, to what level the proposed system is able to achieve its objectives, for which it is designed. The various factors that decide the operational feasibility of the system are as under: System Performance Growth Potential Page 13
System Performance
The proposed system would be able to achieve the required performance level, it will be meant to achieve. System Performance can be classified into two major components namely:
System Response Time The Response Time for fetching the data and displaying on the interface of the entire system is likely to be minimal. System Accuracy
The system under design is accurate to the desired level in its operations. The user interface provides all the desired information related to that interface accurately.
Growth Potential Since the proposed system is likely to be designed using object oriented approach in such a way that it can be expanded and made more powerful with the changing requirements of the user as and when needed.
Security issues The System designed gets login id and password of the end user automatically from his login and displays the relevant screen for him/her. The application has its data in the MS-Access database, which is Run in only Office 2000 and Operating sytem will be Windows 2000 professional. Appropriate backup of the code and the database will be regularly taken, so as to not have a crisis situation in the event of a server crash. Page 14
Page 15
SYSTEM ANALYSIS
In software engineering the SDLC concept underpins many kinds of software development methodologies. These methodologies form the framework for planning and controlling the creation of an information system the software development process.
Systems analysis, requirements definition: Refines project goals into defined functions and operation of the intended application. Analyzes end-user information needs.
Systems design: Describes desired features and operations in detail, including screen layouts, business rules, process diagrams, pseudocode and other documentation.
Implementation: The real code is written here. Integration and testing: Brings all the pieces together into a special testing environment, then checks for errors, bugs and interoperability.
Acceptance, installation, deployment: The final stage of initial development, where the software is put into production and runs actual business. Page 16
Maintenance: What happens during the rest of the software's life: changes, correction, additions, moves to a different computing platform and more. This, the least glamorous and perhaps most important step of all, goes on seemingly forever.
System analysis The goal of system analysis is to determine where the problem is in an attempt to fix the system. This step involves breaking down the system in different pieces to analyze the situation, analyzing project goals, breaking down what needs to be created and attempting to engage users so that definite requirements can be defined. Requirements analysis sometimes requires individuals/teams from client as well as service provider sides to get detailed and accurate requirements....often there has to be a lot of communication to and from to understand these requirements. Requirement gathering is the most crucial aspect as many times communication gaps arise in this phase and this leads to validation errors and bugs in the software program. Design In systems design the design functions and operations are described in detail, including screen layouts, business rules, process diagrams and other documentation. The output of this stage will describe the new system as a collection of modules or subsystems. The design stage takes as its initial input the requirements identified in the approved requirements document. For each requirement, a set of one or more design elements will be produced as a result of interviews, workshops, and/or prototype efforts. Design elements describe the desired software features in detail, and generally include functional hierarchy diagrams, screen layout diagrams, tables of business rules, business process diagrams, pseudocode, and a complete entity-relationship diagram with a full data dictionary. These design elements are intended to describe the software in sufficient detail that skilled programmers may develop the software with minimal additional input design Implementation Modular and subsystem programming code will be accomplished during this stage. Unit testing and module testing are done in this stage by the developers. This stage is intermingled with the next in that individual modules will need testing before integration to the main project. Testing The code is tested at various levels in software testing. Unit, system and user acceptance testings are often performed. This is a grey area as many different opinions exist as to what the stages of
Page 17
Defect testing Path testing Data set testing. Unit testing System testing Integration testing Black box testing White box testing Regression testing Automation testing User acceptance testing Performance testing Production process that ensures that the program performs the intended task.
Operations and maintenance The deployment of the system includes changes and enhancements before the decommissioning or sunset of the system. Maintaining the system is an important aspect of SDLC. As key personnel change positions in the organization, new changes will be implemented, which will require system updates.
System Analyst (IT Department) analyzes, and implements information systems, researches problems, plans solutions, recommends software and systems, and coordinates
Page 18
Analysis is an investigation, careful assessment, study, a research, observations, and understanding the situation or a problem. Design is the process of finding solution to the problem, recommending solution creating blueprints and alike.
SOFTWARE/PACKAGE USED
A high-level programming language developed by Sun Microsystems. Java was originally called OAK, and was designed for handheld devices and set-top boxes. Oak was unsuccessful so in 1995 Sun changed the name to Java and modified the language to take advantage of the burgeoning World Wide Web. Java is an object-oriented language similar to C++, but simplified to eliminate language features that cause common programming errors. Java source code files (files with a .java extension) are compiled into a format calledbytecode (files with a .class extension), which can then be executed by a Java interpreter. Compiled Java code can run on most computers because Java interpreters and runtime environments, known as Java Virtual Machines (VMs), exist for most operating systems, including UNIX, the Macintosh OS, and Windows. Byte code can also be converted directly into machine language instructions by a just-in-time compiler (JIT). Java is a general purpose programming language with a number of features that make the language well suited for use on the World Wide Web. Small Java applications are called Java applets and can be downloaded from a Web server and run on your computer by a Javacompatible Web browser, such as Netscape or Microsoft Internet Explorer.
Java is a programming language originally developed by James Gosling at Sun Microsystems (which is now a subsidiary of Oracle Corporation) and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from Cand C++ but has a simpler object model and fewer low-level facilities. Java applications are typically compiled to bytecode (class file) that can run on any Java Virtual Machine (JVM) regardless of computer architecture. Java is a general-purpose, concurrent, classbased, object-oriented language that is specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere". Java is currently one of the most popular programming languages in use, and is widely used from application software to web applications.
Page 19
Principles of Java
There were five primary goals in the creation of the Java language:
1. It should be "simple, object oriented, and familiar". 2. It should be "robust and secure". 3. It should be "architecture neutral and portable". 4. It should execute with "high performance". 5. It should be "interpreted, threaded, and dynamic".
Java Platform
One characteristic of Java is portability, which means that computer programs written in the Java language must run similarly on any supported hardware/operating-system platform. This is achieved by compiling the Java language code to an intermediate representation called Java bytecode, instead of directly to platform-specific machine code. Java bytecode instructions are analogous to machine code, but are intended to be interpreted by a virtual machine (VM) written specifically for the host hardware. End-users commonly use a Java Runtime Environment (JRE) installed on their own machine for standalone Java applications, or in a Web browser for Java applets. Standardized libraries provide a generic way to access host-specific features such as graphics, threading, and networking. A major benefit of using bytecode is porting. However, the overhead of interpretation means that interpreted programs almost always run more slowly than programs compiled to native executables would. Just-in-Time compilers were introduced from an early stage that compile bytecodes to machine code during runtime. Over the years, this JVM built-in feature has been optimized to a point where the JVM's performance competes with natively compiled C code.
Page 20
Implementations Sun Microsystems officially licenses the Java Standard Edition platform for Linux, Mac OS X,and Solaris. Although in the past Sun has licensed Java to Microsoft, the license has expired and has not been renewed. Through a network of third-party vendors and licensees,[24] alternative Java environments are available for these and other platforms. Sun's trademark license for usage of the Java brand insists that all implementations be "compatible". This resulted in a legal dispute with Microsoft after Sun claimed that the Microsoft implementation did not support RMI or JNI and had added platform-specific features of their own. Sun sued in 1997, and in 2001 won a settlement of US$20 million, as well as a court order enforcing the terms of the license from Sun.As a result, Microsoft no longer ships Java with Windows, and in recent versions of Windows, Internet Explorer cannot support Java applets without a third-party plugin. Sun, and others, have made available free Java run-time systems for those and other versions of Windows. Platform-independent Java is essential to the Java EE strategy, and an even more rigorous validation is required to certify an implementation. This environment enables portable serverside applications, such as Web services, Java Servlets, and Enterprise JavaBeans, as well as with embedded systems based on OSGi, using Embedded Java environments. Through the new GlassFish project, Sun is working to create source implementation of the Java EE technologies. a fully functional, unified open
Sun also distributes a superset of the JRE called the Java Development Kit (commonly known as the JDK), which includes development tools such as the Java compiler, Javadoc, Jar, and debugger. Performance Programs written in Java have a reputation for being slower and requiring more memory than those written in C.However, Java programs' execution speed improved significantly with the introduction of Just-in-time compilation in 1997/1998 for Java 1.1,the addition of language features supporting better code analysis (such as inner classes, StringBuffer class, optional assertions, etc.), and optimizations in the Java Virtual Machine itself, such as HotSpot becoming the default for Sun's JVM in 2000. To boost even further the speed performances that can be achieved using the Java language, Systronix made JStik, a microcontroller based on the aJile Systems line of embeddedJava processors. In addition, the widely used ARM family of CPUs has hardware support for executing Java bytecode through its Jazelle option.
Page 21
Automatic memory management Java uses an automatic garbage collector to manage memory in the object lifecycle. The programmer determines when objects are created, and the Java runtime is responsible for recovering the memory once objects are no longer in use. Once no references to an object remain, the unreachable memory becomes eligible to be freed automatically by the garbage collector. Something similar to a memory leak may still occur if a programmer's code holds a reference to an object that is no longer needed, typically when objects that are no longer needed are stored in containers that are still in use. If methods for a nonexistent object are called, a "null pointer exception" is thrown. One of the ideas behind Java's automatic memory management model is that programmers can be spared the burden of having to perform manual memory management. In some languages, memory for the creation of objects is implicitly allocated on the stack, or explicitly allocated and deallocated from the heap. In the latter case the responsibility of managing memory resides with the programmer. If the program does not deallocate an object, a memory leak occurs. If the program attempts to access or deallocate memory that has already been deallocated, the result is undefined and difficult to predict, and the program is likely to become unstable and/or crash. This can be partially remedied by the use of smart pointers, but these add overhead and complexity. Note that garbage collection does not prevent "logical" memory leaks, i.e. those where the memory is still referenced but never used. Garbage collection may happen at any time. Ideally, it will occur when a program is idle. It is guaranteed to be triggered if there is insufficient free memory on the heap to allocate a new object; this can cause a program to stall momentarily. Explicit memory management is not possible in Java. Java does not support C/C++ style pointer arithmetic, where object addresses and unsigned integers (usually long integers) can be used interchangeably. This allows the garbage collector to relocate referenced objects and ensures type safety and security.
As in C++ and some other object-oriented languages, variables of Java's primitive data types are not objects. Values of primitive types are either stored directly in fields (for objects) or on the stack (for methods) rather than on the heap, as commonly true for objects (but see Escape analysis). This was a conscious decision by Java's designers for performance reasons. Because of this, Java was not considered to be a pure object-oriented programming language. However, as of Java 5.0, autoboxing enables programmers to proceed as if primitive types were instances of their wrapper class. Page 22
Page 23
Convenience: Online voting system will provide citizens the comfort of voting from their own place at their own time. This will also helps citizens who are abroad and using special mail ballot to send their vote. Also the people who are out of the country for the military services can be advantaged by this project. Security: The importance of security in elections cannot be overstated. The future of the country and the people residing there depends on it. The acceptance of the online voting system depends upon how secure the online voting system is? Online voting has serious threats from the hacker and everyone who has intention to fraud in the elections. Appeal to young voters: Online voting would appeal young voters to vote. The voter turnout among young people is particularly low. The Canadian survey shows that 64% of the young voters who did not vote would prefer to vote online. Reduce the expenses: The online voting system will help reduce the expenses involved in the setting up the polling sites and saves money in printing and mailing the paper ballot. It will also reduce the expenses on the manpower. Speed is high: As it is an web based application to count the votes rapidly.
Page 24
Page 25
Page 26
WEBSITES:
http://www.fec.gov/pages/lever.htm http://avirubin.com/e-voting.security.html
BOOKS:
JAVA PROGRAMMING (By: E Balagurusamy) DATABASE MANAGEMENT SYSTEM (By: Arun K.Majumder)
Requirement:
On the first page of HTML,we want multiple options for voting such as college voting, mayor,In online voting system, the particular person stand for the election i.e Nominee is fill up the registration form then submit the form. Then administrator select the perticular persons who satisfy all the condition of the nominee. The person who register for the voter he\she assign the secret user name and password. Condition for the registration is that the person completed 18 years of age.
Page 27
Page 28