Sei sulla pagina 1di 85

Project report

Voting Poll Web Application

1.1 INTRODUCTION:
The project is intended to develop a web application that facilitates the citizens of a state to poll their vote online. The system helps chief election authority/administrator to place the list of nominating candidate and schedule the polling to provide the citizens an easy and secure way so that they can poll their vote online. The system proposes to automate the following procedures involved in general election: 1. Applying for voter ID 2. Applying for change of address. 3. Register to poll online. 4. Polling.

Online applying for voter ID/change of address requires the user to furnish details in the application form. User should be instructed to take a copy of the application and hand it over to the chief election officer or the scrutinizing officials while scrutiny, attesting a photograph and required proofs. Once a citizen is issued a voter ID he/she can register with online voting system if he/she intends to poll online. This involves furnishing details in online registration form such as user ID, password, Voter ID, Security question and so on. Users should be informed to activate the registration by clicking on the link sent to their email address furnished by them in the registration form. Active registered user can log into the system. User should pass through security checks which include confirmation of voter ID and answering the security questionnaire to poll their vote as well as to view his profile and make changes if necessary.

Project report

Voting Poll Web Application

Administrators of the application is provided with some functionalities in addition to those of other users such as placing the list of nominating candidates, scheduling the poll timings and view the details of the people registered to poll online. Administrator should be able to enter the complete profile of nominating candidates which are displayed to the user while voting. He should also be able to schedule the polling after which no user should be allowed to poll there vote. Officials employed at poll center should be able to view details of voter registered to poll online and verify if a voter is registered with voter ID search. This provides security so that a voter registered to poll online can not poll through manual polling procedure.

1.2 .

SYSTEM ANALYSIS:
Before going to replace or planning for a new system it is essential to have

thorough knowledge about the existing system along with estimation or determination of how computers can be best used to make its operations more effective. System analysis is a process of collecting and interpreting facts, diagnosing problems and using the information to recommend improvements to the system. Accumulation of information about the existing system is called System Study. Basically, system analysis is about understanding situation, not solving problems.

1.2.1. EXISTING SYSTEM:


In the present voting system automation is implemented only to store the information of the public. Voting and result generation is done manually.

Bottle necks of the existing system


Since the automation of the system is limited and influence of manual intervention is more there is a huge scope for performing malpractices such as.,

Project report

Voting Poll Web Application

Voting can be done by unauthorized personal if the sitting authority at polling centers is not sincere. Counting of votes may go wrong as it is a manual procedure. Manpower required to implement the system is more. Involves huge expenditure every time the election is conducted to implement the system.

1.2.2. PROPOSED SYSTEM:


As the system proposed is being automated at every phase of the election procedure, it avoids all the loopholes of the existing system and ensures secure voting.

Advantages of proposed system


As the manual intervention is eradicated in the polling procedure the system avoids every possible chance to perform malpractices as follows.., As the voter polls his vote using the system generated ID, password and authorizes polled vote with his/her thumb impression voting cannot be done by unauthorized personal. Counting of votes would not go wrong as it is done by the system and the result would be accurate. Avoids requirement of manpower and huge finance as that is required by the traditional system.

Project report

Voting Poll Web Application

2. MODULES:

Apply for voter ID online/ Change of address Register online Login Polling View result

2.1. MODULES DESCRIPTION: Apply for voter ID/change of address

Project report

Voting Poll Web Application Citizen of the state should apply for the electoral roll number or change of address if issued voter ID previously submitting an application to the authority. The application includes personnel profile and a photo. Registration should be done within the last date announced by EC.

Register online
Citizens who received voter ID card can register online to poll their vote online The system registers each citizen critically evaluating his/her identity using Voter ID with the database for redundancy. This facilitates safe and secure voting using web services. Registration should be done within the last date announced by EC.

Login
Voters log into the system using The ID and password provided at the time of registration.

Polling:
After logging into the system successfully the user should undergo certain security checks implemented to avail the privilege to poll his/her vote. System displays the list of nominating candidates with radio buttons for each contestant and a button to view the complete profile of the selected candidate.

Project report

Voting Poll Web Application Once a user chooses to view the profile of a candidate, it is displayed along with buttons to navigate to the previous page or to vote. On clicking the button to vote, a message should be displayed to confirm vote. Once the confirmation is done this module terminates for particular user not allowing him poll again.

View the status of online polling


The system automatically displays the result of online polling according to the constituency as well as over all online polling status by counting the votes polled for different candidates in the database.

3. PHISICAL DESIGN: 3.1. DATA FLOW DIAGRAMS: A data flow diagram is graphical tool used to describe and analyze movement of data through a system. These are the central tool and the basis from which the other components are developed. The transformation of data from input to output, through processed, may be described logically and independently of physical components associated with the system. These are known as the logical data flow diagrams. The physical data flow diagrams show the actual implements and movement

Project report

Voting Poll Web Application

of data between people, departments and workstations. A full description of a system actually consists of a set of data flow diagrams. Using two familiar notations Yourdon, Gane and Sarson notation develops the data flow diagrams. Each component in a DFD is labeled with a descriptive name. Process is further identified with a number that will be used for identification purpose. The development of DFDs is done in several levels. Each process in lower level diagrams can be broken down into a more detailed DFD in the next level. The lop-level diagram is often called context diagram. It consists a single process bit, which plays vital role in studying the current system. The process in the context level diagram is exploded into other process at the first level DFD. The idea behind the explosion of a process into more process is that understanding at one level of detail is exploded into greater detail at the next level. This is done until further explosion is necessary and an adequate amount of detail is described for analyst to understand the process.

Larry Constantine first developed the DFD as a way of expressing system requirements in a graphical from, this lead to the modular design.

A DFD is also known as a bubble Chart has the purpose of clarifying system requirements and identifying major transformations that will become programs in system design. So it is the starting point of the design to the lowest level of detail. A DFD consists of a series of bubbles joined by data flows in the system.

DFD SYMBOLS: In the DFD, there are four symbols

1. A square defines a source(originator) or destination of system data 2. An arrow identifies data flow. It is the pipeline through which the information flows

Project report

Voting Poll Web Application

3. A circle or a bubble represents a process that transforms incoming data flow into outgoing data flows. 4. An open rectangle is a data store, data at rest or a temporary repository of data

Process that transforms data flow.

Source or Destination of data

Data flow

Data Store

CONSTRUCTING A DFD: Several rules of thumb are used in drawing DFDs: 1. Process should be named and numbered for an easy reference. representative of the process. Each name should be

Project report

Voting Poll Web Application

2. The direction of flow is from top to bottom and from left to right. Data Traditionally flow from source to the destination although they may flow back to the source. One way to indicate this is to draw long flow line back to a source. An alternative way is to repeat the source symbol as a destination. Since it is used more than once in the DFD it is marked with a short diagonal. 3. When a process is exploded into lower level details, they are numbered. 4. The names of data stores and destinations are written in capital letters. Process and dataflow names have the first letter of each work capitalized

A DFD typically shows the minimum contents of data store. Each data store should contain all the data elements that flow in and out. Questionnaires should contain all the data elements that flow in and out. Missing interfaces redundancies and like is then accounted for often through interviews. SAILENT FEATURES OF DFDs 1. The DFD shows flow of data, not of control loops and decision are controlled considerations do not appear on a DFD. 2. The DFD does not indicate the time factor involved in any process whether the dataflows take place daily, weekly, monthly or yearly. 3. The sequence of events is not brought out on the DFD. TYPES OF DATA FLOW DIAGRAMS 1. Current Physical 2. Current Logical 3. New Logical 4. New Physical CURRENT PHYSICAL: In Current Physical DFD process label include the name of people or their positions or the names of computer systems that might provide some of the overall system-processing label includes an identification of the technology used to process the data. Similarly data flows and data stores are

Project report

Voting Poll Web Application

often labels with the names of the actual physical media on which data are stored such as file folders, computer files, business forms or computer tapes. CURRENT LOGICAL: The physical aspects at the system are removed as mush as possible so that the current system is reduced to its essence to the data and the processors that transform them regardless of actual physical form. NEW LOGICAL: This is exactly like a current logical model if the user were completely happy with he user were completely happy with the functionality of the current system but had problems with how it was implemented typically through the new logical model will differ from current logical model while having additional functions, absolute function removal and inefficient flows recognized. NEW PHYSICAL: The new physical represents only the physical implementation of the new system.

RULES GOVERNING THE DFDS PROCESS


1. No process can have only outputs. 2. No process can have only inputs. If an object has only inputs than it must be a sink. 3. A process has a verb phrase label.

DATA STORE
1) Data cannot move directly from one data store to another data store, a process must move data. 2) Data cannot move directly from an outside source to a data store, a process, which receives, must move data from the source and place the data into data store

Project report 3) A data store has a noun phrase label.

Voting Poll Web Application

SOURCE OR SINK
The origin and /or destination of data. 1) Data cannot move direly from a source to sink it must be moved by a process 2) A source and /or sink has a noun phrase land

DATA FLOW
1) A Data Flow has only one direction of flow between symbols. It may flow in both directions between a process and a data store to show a read before an update. The later is usually indicated however by two separate arrows since these happen at different type. 2) A join in DFD means that exactly the same data comes from any of two or more different processes data store or sink to a common location. 3) A data flow cannot go directly back to the same process it leads. There must be at least one other process that handles the data flow produce some other data flow returns the original data into the beginning process. 4) A Data flow to a data store means update (delete or change). 5) A data Flow from a data store means retrieve or use. 6) A data flow has a noun phrase label more than one data flow noun phrase can appear on a single arrow as long as all of the flows on the same arrow move together as one package.

Context diagram:
This level shows the overall context of the system and its operating environment and shows the whole system as just one process. It does not usually show data stores, unless they are "owned" by external systems

Project report

Voting Poll Web Application

Project report

Voting Poll Web Application

3.2.DATA DICTIONARY: The most important aspect of the system is data design. The data must be organized according to the system requirements. The database approach is used to store and organize the data in developing the system. The database is an integrated collection of data stored in different types of tables.

Some general objectives in establishing a database are as follows:

Integrating all data Incorporate updating easily Provide data security from unauthorized users

Project report

Voting Poll Web Application

Database Tables: Table Name: Application

Project report

Voting Poll Web Application

Table Name: Constitution

Project report

Voting Poll Web Application

Table Name: Populate

Project report

Voting Poll Web Application

Table Name: Register

Project report

Voting Poll Web Application

Table Name: SSC Details

Project report

Voting Poll Web Application

Project report

Voting Poll Web Application

Table Name: Result

Project report

Voting Poll Web Application

Table Name: Status

Project report

Voting Poll Web Application

Table Name: Time Schedule

Project report

Voting Poll Web Application

3.3 NORMALIZATION AND KEY CONSTRAINTS

Project report

Voting Poll Web Application

NORMALIZATION:
is a systematic way of ensuring that a database structure is suitable for general-purpose querying and free of certain undesirable characteristicsinsertion, update, and deletion anomaliesthat could lead to a loss of data integrity.

TYPES OF NORMAL FORMS:


First normal form (1NF): Table faithfully represents a relation and has no "repeating groups" Second normal form (2NF): No non-prime attribute in the table is functionally dependent on a part (proper subset) of a candidate key

Third normal form (3NF): Every non-prime attribute is non-transitively dependent on every key of the table Boyce-Codd normal form (BCNF): Every non-trivial functional dependency in the table is a dependency on a super key

Fourth normal form (4NF): Every non-trivial multivalued dependency in the table is a dependency on a superkey

3.4. ENTITY RELATIONSHIP DIAGRAMS


ER Diagrams represent the relationship between the entities. An ER diagram is composed of 1. Entity is shown by rectangle. 2. Attribute is shown by oval. 3. Relationships with rhombus. 4. Optional is shown by circle. 5. Compulsory with dash.

Project report 6. Primary key with underscore.

Voting Poll Web Application

We can represent Entity Relationship diagrams in two methods.We can conclude Dependency, Association, Generalization and Realization.

3.5. SOFTWARE AND HARDWARE REQUIRMENTS:

Project report HARDWARE REQUIREMENT: Server: RAM Processor Client: RAM Processor Hard disk : : : 128MB : : 256 MB

Voting Poll Web Application

Pentium-IV equivalent and higher versions

Pentium-III equivalent and higher versions 20GB

SOFTWARE REQUIREMENT: Server: Operating System Database Client: Operating System : Any operating System with IE 5.0and higher versions are supported. Browser : Internet Explorer Version 5.0 and higher : : Windows NT/98/XP SQL Server2005

3.4.

UML DIAGRAMS:

Project report

Voting Poll Web Application

DESCRIPTION OF UML DIAGRAMS:


UML defines nine types of diagrams: class, object, use case, sequence, collaboration, state chart, activity, component, and deployment. CLASS DIAGRAM: Class diagrams are widely used to describe the types of objects in a system and their relationships. Class diagrams model class structure and contents using design elements such as classes, packages and objects.2 Class diagrams describe three different perspectives when designing a system, conceptual, specification, and implementation.1 These perspectives become evident as the diagram is created and help solidify the design Classes are composed of three things: a name, attributes, and operations. Below is an example of a class.

When to Use: Class Diagrams: Class diagrams are used in nearly all Object Oriented software designs. Use them to describe the Classes of the system and their relationships to each other.

USECASE DIAGRAM:
A use case is a set of scenarios that describing an interaction between a user and a system. A use case diagram displays the relationship among actors and use cases. The two main components of a use case diagram are use cases and actors.

Project report

Voting Poll Web Application

An actor is represents a user or another system that will interact with the system you are modeling. A use case is an external view of the system that represents some action the user might perform in order to complete a task. When to Use: Use Cases Diagrams Use cases are used in almost every project. The are helpful in exposing requirements and planning the project. During the initial stage of a project most use cases should be defined, but as the project continues more might become visible.

INTERACTION DIAGRAMS:
Interaction diagrams model the behavior of use cases by describing the way groups of objects interact to complete the task. The two kinds of interaction diagrams are
1. Sequence diagram and 2. Collaboration diagram.

1. Sequence diagram Sequence diagrams demonstrate the behavior of objects in a use case by describing the objects and the messages they pass. the diagrams are read left to right and descending. The example below shows an object of class 1 start the behavior by sending a message to an object of class 2. Messages pass between the different objects until the object of class 1 receives the final message.

Project report

Voting Poll Web Application

Below is a slightly more complex example. The light blue vertical rectangles the objects activation while the green vertical dashed lines represent the life of the object. 2. Collaboration diagrams: Collaboration diagrams are also relatively easy to draw. They show the relationship between objects and the order of messages passed between them. The objects are listed as icons and arrows indicate the messages being passed between them. The numbers next to the messages are called sequence numbers. As the name suggests, they show the sequence of the messages as they are passed between the objects

When to Use: Interaction Diagrams Interaction diagrams are used when you want to model the behavior of several objects in a use case. They demonstrate how the objects collaborate for the behavior. Interaction diagrams do not give a in depth representation of the behavior.

Project report

Voting Poll Web Application

ACTIVITY DIAGRAM
Activity diagrams describe the workflow behavior of a system. The diagrams describe the state of activities by showing the sequence of activities performed. Activity diagrams can show activities that are conditional or parallel.

When to Use: Activity Diagrams Activity diagrams should be used in conjunction with other modeling techniques such as interaction diagrams and state diagrams. The main reason to use activity diagrams is to model the workflow behind the system being designed. Activity Diagrams are also useful for: analyzing a use case by describing what actions needs to take place and when they should occur; describing a complicated sequential algorithm; and modeling applications with parallel processes.

Project report

Voting Poll Web Application

PHYSICAL DIAGRAMS:
Deployment diagrams show the physical relationship between hardware and software in a system. Component diagrams show the software components of a system and how they are related to each other. These relationships are called dependencies. There are two types of physical diagrams:
1. deployment diagram and 2. Component diagram.

1. Deployment diagram:

The deployment diagram contains nodes and connections. A node usually represents a piece of hardware in the system. A connection depicts the communication path used by the hardware to communicate and usually indicates a method such as TCP/IP.

Project report

Voting Poll Web Application

2. Component diagram.

The component diagram contains components and dependencies. Components represent the physical packaging of a module of code. The dependencies between the components show how changes made to one component may affect the other components in the system. Dependencies in a component diagram are represented by a dashed line between two or more components. Component diagrams can also show the interfaces used by the components to communicate to each other

Project report

Voting Poll Web Application

DIAGRAMS: CLASS DIAGRAM:

use r +name +address

re s ult +voterid +Attribute2 +candname +con name +Attribute1 +partyname +display()

a dm in +userid +password +login() +placethelist() +schedules() +viewresult()

r e gis t e red us e r ne w us e r +name +address +apply() +register() +userid +password +profilechange() +login() +poll() +viewresult()

ca ndida t e lis t +conid +conname +partylogo +partyname +candname +update() +delete()

a pplica nt +name +fname +gender +age +voterid +conname +city re gist e r +username +voterid +register() +cancel()()

s che dule t im e +dateto +datefrom + +set() +modify()

Project report

Voting Poll Web Application

USE CASEDIAGRAM:

Project report

Voting Poll Web Application

Sy stem

A P PLICA TION

R EG I S T R A T I O N

LOG IN

V OT I NG

R ES U L T EL EC T I O N C O M M I S I O N U S ER

EL EC T I O N D A T E A ND T I M E

NOM I NA T I O N L I S T

S EC U R I T Y Q U ES T I O N

C H A NG E P A S S W O R D

Project report

Voting Poll Web Application

SEQUENCE DIAGRAM FOR CITIZEN:

c it iz e n

a p p ly

r e g is t e r

v ie w t h e lis t

lo g in

c h a n g e p r o f ile

v o te

1 : a p p ly f o r v o t e r c a r d ( ) 2 : is s u e id c a r d ( ) 3 : r e g is t e r t o v o t e ( ) 4 : s e e t h e d e t a ils ( ) 5 : lo g in ( ) 6 : c h a n g e p r o f ile ( )

7 : u p d a te () 8 : p o ll t h e v o t e ( ) 9 : p o lle d s u c c e s f u lly ( )

Project report

Voting Poll Web Application

SEQUENCE DIAGRAM FOR ADMIN:

A D M IN

V I E W T H E L I S T O F R E G I S LTOE GR I N

P LA C E T H E LIS TS C H E D U LE S

V IE W R E S U LT

1 : C A N V IE W T H E L IS T ()

2 : A D M IN LO G IN () 3 : P LA C E T H E C A N D ID A T E LIS T () 4 : S U C C E S F U L() 5 : S C H E D U LE LIS T () 6 : S U C C E S F U L()

7 : C A N V IE W R E S U LT ()

Project report

Voting Poll Web Application

COLLABORATION DIAGRAM FOR CITIZEN:

COLLABORATION DIAGRAM FOR ADMIN:

ACTIVITY DIAGRAM:

Project report

Voting Poll Web Application

APPLY

REGISTER

LOGIN

USER

ADMIN

VOTE

CHANGE PROFILE

UPDATE DETAILS

RESULT

SSC DETAILS

CONTITUTION, CANDIDATES

4. ABOUT .NET

Project report

Voting Poll Web Application

4.1. MICROSOFT .NET FRAMEWORK


The .NET Framework is a new computing platform that simplifies application development in the highly distributed environment of the Internet. The .NET Framework is designed to fulfill the following objectives:

To provide a consistent object-oriented programming environment whether object code is stored and executed locally, executed locally but Internet-distributed, or executed remotely. To provide a code-execution environment that minimizes software deployment and versioning conflicts. To provide a code-execution environment that guarantees safe execution of code, including code created by an unknown or semi-trusted third party. To provide a code-execution environment that eliminates the performance problems of scripted or interpreted environments. To make the developer experience consistent across widely varying types of applications, such as Windows-based applications and Web-based applications. To build all communication on industry standards to ensure that code based on the .NET Framework can integrate with any other code.

The .NET Framework has two main components: the common language runtime and the .NET Framework class library. The common language runtime is the foundation of the .NET Framework. You can think of the runtime as an agent that manages code at execution time, providing core services such as memory management, thread management, and remoting, while also enforcing strict type safety and other forms of code accuracy that ensure security and robustness. In fact, the concept of code management is a fundamental principle of the runtime. Code that targets the runtime is known as managed code, while code that does not target the runtime is known as unmanaged code. The class library, the other main component of the .NET Framework, is a comprehensive, object-oriented collection of reusable types that you can use to develop applications ranging from traditional command-line or graphical user interface (GUI) applications to applications based on the latest innovations provided by ASP.NET, such as Web Forms and XML Web services.

Project report

Voting Poll Web Application

The .NET Framework can be hosted by unmanaged components that load the common language runtime into their processes and initiate the execution of managed code, thereby creating a software environment that can exploit both managed and unmanaged features. The .NET Framework not only provides several runtime hosts, but also supports the development of thirdparty runtime hosts. For example, ASP.NET hosts the runtime to provide a scalable, server-side environment for managed code. ASP.NET works directly with the runtime to enable Web Forms applications and XML Web services, both of which are discussed later in this topic. Internet Explorer is an example of an unmanaged application that hosts the runtime (in the form of a MIME type extension). Using Internet Explorer to host the runtime enables you to embed managed components or Windows Forms controls in HTML documents. Hosting the runtime in this way makes managed mobile code (similar to Microsoft ActiveX controls) possible, but with significant improvements that only managed code can offer, such as semi-trusted execution and secure isolated file storage. The following illustration shows the relationship of the common language runtime and the class library to your applications and to the overall system. The illustration also shows how managed code operates within a larger architecture. FEATURES OF COMMON LANGUAGE RUNTIME The common language runtime manages memory; thread execution, code execution, code safety verification, compilation, and other system services. These features are intrinsic to the managed code that runs on the common language runtime. With regards to security, managed components are awarded varying degrees of trust, depending on a number of factors that include their origin (such as the Internet, enterprise network, or local computer). This means that a managed component might or might not be able to perform file-access operations, registry-access operations, or other sensitive functions, even if it is being used in the same active application.

Project report

Voting Poll Web Application

The runtime enforces code access security. For example, users can trust that an executable embedded in a Web page can play an animation on screen or sing a song, but cannot access their personal data, file system, or network. The security features of the runtime thus enable legitimate Internet-deployed software to be exceptionally feature rich. The runtime also enforces code robustness by implementing a strict type- and codeverification infrastructure called the common type system (CTS). The CTS ensures that all managed code is self-describing. The various Microsoft and third-party language compilers Generate managed code that conforms to the CTS. This means that managed code can consume other managed types and instances, while strictly enforcing type fidelity and type safety. In addition, the managed environment of the runtime eliminates many common software issues. For example, the runtime automatically handles object layout and manages references to objects, releasing them when they are no longer being used. This automatic memory management resolves the two most common application errors, memory leaks and invalid memory references. 4.2. NET FRAMEWORK CLASS LIBRARIES: The .NET Framework class library is a collection of reusable types that tightly integrate with the common language runtime. The class library is object oriented, providing types from which your own managed code can derive functionality. This not only makes the .NET Framework types easy to use, but also reduces the time associated with learning new features of the .NET Framework. In addition, third-party components can integrate seamlessly with classes in the .NET Framework. For example, the .NET Framework collection classes implement a set of interfaces that you can use to develop your own collection classes. Your collection classes will blend seamlessly with the classes in the .NET Framework. As you would expect from an object-oriented class library, the .NET Framework types enable you to accomplish a range of common programming tasks, including tasks such as string management, data collection, database connectivity, and file access. In addition to these common tasks, the class

Project report

Voting Poll Web Application

library includes types that support a variety of specialized development scenarios. For example, you can use the .NET Framework to develop the following types of applications and services:

Console applications. Scripted or hosted applications. Windows GUI applications (Windows Forms). ASP.NET applications. XML Web services. Windows services.

For example, the Windows Forms classes are a comprehensive set of reusable types that vastly simplify Windows GUI development. If you write an ASP.NET Web Form application, you can use the Web Forms classes. Client Application Development Client applications are the closest to a traditional style of application in Windows-based programming. These are the types of applications that display windows or forms on the desktop, enabling a user to perform a task. Client applications include applications such as word processors and spreadsheets, as well as custom business applications such as data-entry tools, reporting tools, and so on. Client applications usually employ windows, menus, buttons, and other GUI elements, and they likely access local resources such as the file system and peripherals such as printers. Another kind of client application is the traditional ActiveX control (now replaced by the managed Windows Forms control) deployed over the Internet as a Web page. This application is much like other client applications: it is executed natively, has access to local resources, and includes graphical elements. In the past, developers created such applications using C/C++ in conjunction with the Microsoft Foundation Classes (MFC) or with a rapid application development (RAD) environment such as Microsoft Visual Basic. The .NET Framework incorporates aspects of these existing products into a single, consistent development environment that drastically simplifies the development of client applications.

Project report

Voting Poll Web Application

The Windows Forms classes contained in the .NET Framework are designed to be used for GUI development. You can easily create command windows, buttons, menus, toolbars, and other screen elements with the flexibility necessary to accommodate shifting business needs. For example, the .NET Framework provides simple properties to adjust visual attributes associated with forms. In some cases the underlying operating system does not support changing these attributes directly, and in these cases the .NET Framework automatically recreates the forms. This is one of many ways in which the .NET Framework integrates the developer interface, making coding simpler and more consistent. Unlike ActiveX controls, Windows Forms controls have semi-trusted access to a user's computer. This means that binary or natively executing code can access some of the resources on the user's system (such as GUI elements and limited file access) without being able to access or compromise other resources. Because of code access security, many applications that once needed to be installed on a user's system can now be safely deployed through the Web. Your applications can implement the features of a local application while being deployed like a Web page. 4.3. INTRODUCTION TO WINDOWS WEB FORMS (C#.NET) There are many types of projects available in Visual Studio .NET, each designed for a specific purpose. Each project contains specific types of files, references, and default items. In Visual Basic and Visual C#, two of the major kinds of projects you can create are Web-based projects and local projects. Web projects are stored and managed on a Web server with the purpose of being exposed to a network, whereas local projects are stored locally and not optimized for network access. Visual Basic and Visual C# include templates to help you create three types of Web-based projects:

ASP.NET Web Application template - a programmable Web application with designer

support for creating Web Forms pages and incorporating features of ASP.NET.

Project report

Voting Poll Web Application

ASP.NET Web Service template - an application that provides the ability to exchange

interoperable messages across the Web using standard protocols such as HTTP, XML, XSD, SOAP, and WSDL.

Empty Web Project template - an empty Web application you can customize. Note There is also a Web Control Library template, but it is actually a local project. Note The Empty Web Project and Web Control Library templates are not available in the Standard Edition of Visual Basic .NET; the Web Control Library template is not available in the Standard Edition of Visual C# .NET. For more information, see Visual Basic Standard Edition Features or Visual C# Standard Edition Features.

For more information about Web projects, see Working with Web Projects. For more information about choosing between Web and local projects, see Windows Forms and Web Forms Recommendations and Local vs. Web Projects. Web Project User Interface: When you create a Web application in Visual Basic and Visual C#, you create programmable Web pages that serve as the user interface for your Web application. A Web Forms page presents information to the user in any browser or client device and implements application logic using server-side code. Web Forms page output may contain almost any HTTP-capable language, including HTML, XML, WML, and ECMA Script (JScript, JavaScript). Access and Storage for Web Project Files You can choose two ways for Visual Studio to manage the files in your ASP.NET Web application:

FrontPage Server Extensions access - All files are managed using the HTTP protocol. File-share access - All files are managed using Windows-based file management

commands. This option requires LAN access to the server, but it can be slightly faster because

Project report

Voting Poll Web Application

there is less management overhead. In addition, file-share access provides superior support for source-code control. For more information on access methods and choosing the correct method, see Web Access Methods In addition, Visual Studio keeps files in a cache on the local computer. The local directory is created and used for two reasons:

Certain designers require file-level write access to some of your project files. If you are

using FrontPage Server Extensions, you access the server using HTTP, which would preclude these designers from accessing the files they need.

Keeping files in the cache allows you to work on your Web Forms pages in Offline mode.

For more information, see Taking Web Projects Offline. The cache is always kept in sync with the actual project files on the server. (If you are in Offline mode, the files are synchronized when you reconnect to the server project.) When you change a file in your project, the update is written to both the server and the cache. In a few instances, files are kept in the cache but not written to the server, as with intermediate files created during a build process. Essentially, the cache is a temporary directory used by Visual Studio. You will see references to the cache when you are creating a deployment project. However, you should not otherwise have any cause to see or work with the cache. Web Project Security: On the file level, you can use the Web permissions feature of Visual Studio to control who can gain access to your Web project files and what level of access individuals have to the application. The permissions you set in Visual Studio are applied to Windows entities (folders, users, groups, and so on.) They are similar to equivalent permissions you can set in Internet Information Services (IIS). You can choose to set individual rights or simply inherit the rights of the Web folder that the application is stored in. For more information, see Setting Web Permissions.

Project report

Voting Poll Web Application

On an application level, security concerns are a critical part of the decisions you must make in designing and creating your Web application. Web applications by definition allow users access to a central resource the Web server and through it, to others such as database servers. By understanding and implementing proper security measures, you guard your own resources as well as provide a secure environment in which your users are comfortable working with your application. For more information on the security considerations you must face when creating your application, see Introduction to Web Application Security. Debugging and Deploying Web Projects: When you build a Web project, the application files are remotely compiled on the Web server. Information is sent to the Web application, processed, and the results are then returned to the client computer and viewed as a Web Form or an update of information on a Web Form. For more information, see Debugging Preparation: ASP.NET Web Applications. You can use deployment projects to quickly and easily deploy your Web applications to the appropriate servers. For more information, see Walkthrough: Deploying a Web Solution.

4.4.

ASP.NET:

Introduction to ASP.NET: ASP.NET is more than the next version of Active Server Pages (ASP); it provides a unified Web development model that includes the services necessary for developers to build enterprise-class Web applications. While ASP.NET is largely syntax compatible with ASP, it also provides a new programming model and infrastructure for more scalable and stable applications that help provide greater protection. You can feel free to augment your existing ASP applications by incrementally adding ASP.NET functionality to them.

Project report

Voting Poll Web Application

ASP.NET is a compiled, .NET-based environment; you can author applications in any .NET compatible language, including Visual Basic .NET, C#, and JScript .NET. Additionally, the entire .NET Framework is available to any ASP.NET application. Developers can easily access the benefits of these technologies, which include the managed common language runtime environment, type safety, inheritance, and so on. ASP.NET has been designed to work seamlessly with WYSIWYG HTML editors and other programming tools, including Microsoft Visual Studio .NET. Not only does this make Web development easier, but it also provides all the benefits that these tools have to offer, including a GUI that developers can use to drop server controls onto a Web page and fully integrated debugging support. Developers can use Web Forms or XML Web services when creating an ASP.NET application, or combine these in any way they see fit. Each is supported by the same infrastructure that allows you to use authentication schemes, cache frequently used data, or customize your application's configuration, to name only a few possibilities.

Web Forms allow you to build powerful forms-based Web pages. When building these pages, you can use ASP.NET server controls to create common UI elements, and program them for common tasks. These controls allow you to rapidly build a Web Form out of reusable built-in or custom components, simplifying the code of a page. For more information, see Web Forms Pages. For information on how to develop ASP.NET server controls, see Developing ASP.NET Server Controls

An XML Web service provides the means to access server functionality remotely. Using XML Web services, businesses can expose programmatic interfaces to their data or business logic, which in turn can be obtained and manipulated by client and server applications. XML Web services enable the exchange of data in client-server or serverserver scenarios, using standards like HTTP and XML messaging to move data across firewalls. XML Web services are not tied to a particular component technology or objectcalling convention. As a result, programs written in any language, using any component model, and running on any operating system can access XML Web services. For more

Project report

Voting Poll Web Application

information, see XML Web Services Created Using ASP.NET and XML Web Service Clients. Each of these models can take full advantage of all ASP.NET features, as well as the power of the .NET Framework and .NET Framework common language runtime. These features and how you can use them are outlined as follows:

If you have ASP development skills, the new ASP.NET programming model will seem very familiar to you. However, the ASP.NET object model has changed significantly from ASP, making it more structured and object-oriented. Unfortunately this means that ASP.NET is not fully backward compatible; almost all existing ASP pages will have to be modified to some extent in order to run under ASP.NET. In addition, major changes to Visual Basic .NET mean that existing ASP pages written with Visual Basic Scripting Edition typically will not port directly to ASP.NET. In most cases, though, the necessary changes will involve only a few lines of code. For more information, see Migrating from ASP to ASP.NET.

Accessing databases from ASP.NET applications is an often-used technique for displaying data to Web site visitors. ASP.NET makes it easier than ever to access databases for this purpose. It also allows you to manage the database from your code. For more information, see Accessing Data with ASP.NET

ASP.NET provides a simple model that enables Web developers to write logic that runs at the application level. Developers can write this code in the Global.asax text file or in a compiled class deployed as an assembly. This logic can include application-level events, but developers can easily extend this model to suit the needs of their Web application. For more information, see ASP.NET Applications.

ASP.NET provides easy-to-use application and session-state facilities that are familiar to ASP developers and are readily compatible with all other .NET Framework APIs. For more information, see ASP.NET State Management.

For advanced developers who want to use APIs as powerful as the ISAPI programming interfaces that were included with previous versions of ASP, ASP.NET offers the IHttpHandler and IHttpModule interfaces. Implementing the IHttpHandler interface gives you a means of interacting with the low-level request and response services of the IIS Web

Project report

Voting Poll Web Application

server and provides functionality much like ISAPI extensions, but with a simpler programming model. Implementing the IHttpModule interface allows you to include custom events that participate in every request made to your application. For more information, see HTTP Runtime Support.

ARCHITECTURE OF

ASP.NET:

Web Server
(.aspx)
HTTP REQUEST Aspnet_isapi.dll Asp.dll

ASP.net Runtime Env

Machine.config

(.asp)
Web.config

App Domain HTTP RESPONSE


HTTP Handlers

Process Req

inet_info.exe

Aspnet_wp.exe

Inet_info.exe identifies the request and submits the request to the aspnet_isapi.dll. Aspnet_isapi.dll is a script engine which process the .aspx page Then the script engine will submit the request to the ASP.NET runtime env.

Project report

Voting Poll Web Application

After verifying all the security issues of both machine.config and web.config then an AppDomain will be defined for the request and after processing the request the response will be given to the client as HTTP response.

Machine.Config it is used to maintain the complete configuration details of all the web applications registered on to the web server of ASP.net Web.Config It is used to maintain the config details about a single web application. Where configuration details includes security,database connectivity,state management,trace details of the web application,,authentication and authorization of the applications and globalizations

AppDomain:All windows appns run inside a process and these process own resources such as memory and kernel objects and the threads execute code loaded into a process.Process are protected from each other by the OS. All these appns are run on high isolation mode to work safely.The disadvantage of this is memory resources are blocked.So to achieve this in a single process all the applications should be made to run which is good to an extent but the draw back is if one crashes all other are effected. So in .net the code verification feature takes care that the code is safe to run. so asp.net each application runs its own application domain and therefore it is protected from other asp.net applications on the same machine so it ignores the process isolation specified on IIS.

AppDomain:All windows appns run inside a process and these process own resources such as memory and kernel objects and the threads execute code loaded into a process.Process are protected from each other by the OS. All these appns are run on high isolation mode to work safely.The disadvantage of this is memory resources are blocked.So to achieve this in a single process all the applications should be made to run which is good to an extent but the draw back is if one crashes all other are effected. So in .net the code verification feature takes care that the code is safe to run. so asp.net each application runs its own application domain and therefore it is protected from other asp.net applications on the same machine so it ignores the process isolation specified on IIS.

FEATURES OF ASP.NET:

Project report ASPX,ASP

Voting Poll Web Application

Up gradation of ASP to ASPX is not required it supports side by side execution and hence a request can be given from ASP to ASPX and vice versa. Simplified Programming Model ASP.Net is a technology which can be implemented using any dot net language such as VB.net,C# etc and hence there is no requirement of HTML,JavaScript or VBScript to implement ASP.NET Simplified deployment ASP.Net supports setup and deployment and hence the web app can be defined with a web set up project which can be easily deployed on to the web server. Where as for ASP CUTE FTP is used for deploying manually we have to upload. Better Performance As the ASPX pages are complier based the performance of the web application will be faster then the ASP pages (as they are interpreter based) Caching It is a process of maintaining the result or output of a web page temporarily for some period of time .ASP supports Client Side caching where as ASP.Net supports both client side and server side. Security In ASP security is done by IIS or writing the code manually. Where as ASP.Net is defined with built in security features such as

windows authentication Forms Authentication Passport Authentication Custom Authentication

More powerful data access

Project report

Voting Poll Web Application

ASP.net supports ADO and ADO.Net as its database connectivity model which will be implemented using the most Powerful OOPS languages like VB.Net and C# and hence the database access using ASPX pages will be very powerful. Web services It is a code which will be published on the web which can be used by any applications written using any language for an platform or device. Better session Management Session Management in ASP.Net can be maintained using the database and as well cookieless sessions are also supported.It also supports enabling and disabling of session info within a web application.

4.5. OVERVIEW OF ADO.NET:


ADO.NET provides consistent access to data sources such as Microsoft SQL Server and XML, as well as to data sources exposed through OLE DB and ODBC. Data-sharing consumer applications can use ADO.NET to connect to these data sources and retrieve, manipulate, and update the data that they contain. ADO.NET separates data access from data manipulation into discrete components that can be used separately or in tandem. ADO.NET includes .NET Framework data providers for connecting to a database, executing commands, and retrieving results. Those results are either processed directly, placed in an ADO.NET DataSet object in order to be exposed to the user in an ad hoc manner, combined with data from multiple sources, or remoted between tiers. The ADO.NET DataSet object can also be used independently of a .NET Framework data provider to manage data local to the application or sourced from XML. The ADO.NET classes are found in System.Data.dll, and are integrated with the XML classes found in System.Xml.dll. When compiling code that uses the System. Data namespace, reference both System.Data.dll and System.Xml.dll. For an example of an ADO.NET application that connects to a database, retrieves data from it, and then displays that data in a command prompt, see ADO.NET Sample Application ADO.NET provides functionality to developers writing managed code similar to the functionality provided to native component object model (COM) developers by ActiveX Data

Project report

Voting Poll Web Application

Objects (ADO). For a discussion of the differences between ADO and ADO.NET, see ADO.NET for the ADO Programmer on MSDN. We recommend that you use ADO.NET, not ADO for accessing data in your .NET applications.

5.

ABOUT SQL SERVER 2005:

Project report

Voting Poll Web Application

5.1. INTRODUCTION:

SQL Server Release History Version Year Release Name 1.0 (OS/2) 4.21 (WinNT) 6.0 6.5 7.0 8.0 8.0 9.0 1989 SQL Server 1.0 Codename -

1993 SQL Server 4.21 1995 SQL Server 6.0 1996 SQL Server 6.5 1998 SQL Server 7.0 1999 SQL Server 7.0 OLAP Tools SQL95 Hydra Sphinx Plato

2000 SQL Server 2000 Shiloh 2003 SQL Server 2000 64-bit Edition Liberty

2005 SQL Server 2005 Yukon

SQL Server 2005 SQL Server 2005, released in October 2005, is the successor to SQL Server 2000. It included native support for managing XML data, in addition to relational data. For this purpose, it defined an xml data type that could be used either as a data type in database columns or as literals in queries. XML columns can be associated with XSD schemas; XML data being stored is verified

Project report

Voting Poll Web Application

against the schema. XML is converted to an internal binary data type before being stored in the database. Specialized indexing methods were made available for XML data. XML data is queried using XQuery; SQL Server 2005 added some extensions to the T-SQL language to allow embedding XQuery queries in T-SQL. In addition, it also defines a new extension to XQuery, called XML DML that allows query-based modifications to XML data. SQL Server 2005 also allows a database server to be exposed over web services using TDS packets encapsulated within SOAP (protocol) requests. When the data is accessed over web services, results are returned as XML For relational data, T-SQL has been augmented with error handling features and support for recursive queries. SQL Server 2005 has also been enhanced with new indexing algorithms and better error recovery systems. Data pages are check summed for better error resiliency, and optimistic concurrency support has been added for better performance. Permissions and access control have been made more granular and the query processor handles concurrent execution of queries in a more efficient way. Partitions on tables and indexes are supported natively, so scaling out a database onto a cluster is easier. SQL CLR was introduced with SQL Server 2005 to let it integrate with the .NET Framework.

5.2.

SQL SERVER MANAGEMENT STUDIO:

SQL Server Management Studio is a GUI tool included with SQL Server 2005 and later for configuring, managing, and administering all components within Microsoft SQL Server. The tool includes both script editors and graphical tools that work with objects and features of the server.[44] SQL Server Management Studio replaces Enterprise Manager as the primary management interface for Microsoft SQL Server since SQL Server 2005. A version of SQL Server Management Studio is also available for SQL Server Express Edition, for which it is known as SQL Server Management Studio Express (SSMSE). A central feature of SQL Server Management Studio is the Object Explorer, which allows the user to browse, select, and act upon any of the objects within the server. It can be used to visually observe and analyze query plans and optimize the database performance, among others. SQL Server Management Studio can also be used to create a new database, alter any existing database

Project report

Voting Poll Web Application

schema by adding or modifying tables and indexes, or analyze performance. It includes the query windows which provide a GUI based interface to write and execute queries.

FEATURES:

1. Combines the best features of many tools 2. Work with projects and solutions 3. The tool is a data analyst's best friend 4. You can display line numbers 5. its easier to find errors 6. Get started faster with an expanded Template Explorer 7. It (sort of) plays well with previous versions 8. Name that registered server 9. Manage your SQL Server Integration Services pages 10. Keep tabs on your reports

6. TESTING

What is testing? A process of executing a program with the explicit intention of finding errors, that is making the program fail.

Project report Software Testing:

Voting Poll Web Application

It is the process of testing the functionality and correctness of software by running it. Process of executing a program with the intent of finding an error.

A good test case is one that has a high probability of finding an as yet undiscovered error. A successful test is one that uncovers an as yet undiscovered error. Software Testing is usually performed for one of two reasons: Defect detection Reliability estimation

Black Box Testing: Applies to software systems or module, tests functionality in terms of inputs and outputs at interfaces. Test reveals if the software function is fully operational with reference to requirements specification. White Box Testing: Knowing the internal workings i.e., to test if all internal operations are performed according to program structures and data structures. To test if all internal components have been adequately exercised. Software Testing Strategies: A strategy for software testing will begin in the following order: 1. Unit testing 2. Integration testing 3. Validation testing 4. System testing

Project report Unit testing

Voting Poll Web Application

It concentrates on each unit of the software as implemented in source code and is a white box oriented. Using the component level design description as a guide, important control paths are tested to uncover errors within the boundary of the module. In the unit testing, The step can be conducted in parallel for multiple components.

Integration testing:

Here focus is on design and construction of the software architecture. Integration testing is a systematic technique for constructing the program structure while at the same time conducting tests to uncover errors associated with interfacing. The objective is to take unit tested components and build a program structure that has been dictated by design. Validation testing: In this, requirements established as part of software requirements analysis are validated against the software that has been constructed i.e., validation succeeds when software functions in a manner that can reasonably expected by the customer. System testing: In this software and other system elements are tested as a whole.

7. SCREENS:

Project report

Voting Poll Web Application

HOME PAGE

Project report

Voting Poll Web Application

APPLICATION

Project report

Voting Poll Web Application

REGISTRATION:

Project report

Voting Poll Web Application

ADMIN LOGIN:

Project report

Voting Poll Web Application

ADMIN ACCOUNT:

Project report

Voting Poll Web Application

POPULATE LIST:

Project report

Voting Poll Web Application

Project report

Voting Poll Web Application

TIME SCHEDULE

Project report

Voting Poll Web Application

RESULT

Project report

Voting Poll Web Application

MANUAL RESULT ENTRY

Project report

Voting Poll Web Application

ADD CONSTITUTION:

Project report

Voting Poll Web Application

ADD SSC DETAILS:

Project report

Voting Poll Web Application

CHANGE ELECTION DATE:

Project report

Voting Poll Web Application

UPDATE USER STATUS:

Project report

Voting Poll Web Application

USER LOGIN:

Project report

Voting Poll Web Application

FORGOT PASSWORD

Project report

Voting Poll Web Application

QUERY PAGE-1

Project report

Voting Poll Web Application

QUERY PAGE-2

Project report

Voting Poll Web Application

USER ACCOUNT

Project report

Voting Poll Web Application

USER DETAILS:

Project report

Voting Poll Web Application

CHANGE PASSWORD:

Project report

Voting Poll Web Application

CHANGE SECURITY ANSWER:

VIEW RESULT

Project report

Voting Poll Web Application

Project report

Voting Poll Web Application

8. FUTURE ENHANCEMENTS:

This could be further developed to facilitate every general election that is held both at state and central levels. Future enhancements may also include modules such as automation of applying procedure for change of address, which would facilitate the users or the public to have a unique ID for ever once they are issued. This would also reduce the over head of election commission to enumerate the public again and again, and also would reduce huge amount of finance that is being expended for every election. If 100 % of literacy and access to internet is possible then manual polling can be eliminated.

Project report

Voting Poll Web Application

9. CONCLUSION:
The project was designed in such a way that future modifications can be done easily. The following conclusions can be deduced from the development of the project.

Automation of the entire system improves the efficiency It provides a friendly graphical user interface which proves to be better when compared to the existing system. It gives appropriate access to the authorized users depending on their permissions. It effectively overcomes the delay in communications. Updating of information becomes so easier. System security, data security and reliability are the striking features. The System has adequate scope for modification in future if it is necessary.

Project report

Voting Poll Web Application

10. BIBLIOGRAPHY

[1] SOFTWARE ENGINEERING By Roger.S. Pressman

[2] SQL SERVER 2005 FOR PROFESSIONALS By Jain

[3] Professional ASP.NET 2.0 By Wrox

[4]MSDN 2005 By Microsoft

Potrebbero piacerti anche