srs-ovs
TRANSCRIPT
-
8/7/2019 SRS-OVS
1/14
Dark Coder
Online Voting System
Software Requirements Specification
Team Guide: Sangeeta Gupta
Members:Deepak Sharma ,Gaurav Chauhan ,Himanshu GoyalCollege Name: Sri Balaji Institue Of Engg And techDepartment: Electronic Communication
State: Rajasthan
-
8/7/2019 SRS-OVS
2/14
Table of Contents
1. Introduction ..................................................................Error! Bookmark not defined.1.1 Purpose............................................................................Error! Bookmark not defined.1.2 Scope .............................................................................................................................. 11.3 Existing System............................................................................................................... 1
1.4 Problems with Existing System........................................................................................ 11.5 Online Voting................................................................................................................... 2
2. Client/Server Communications ................................... Error! Bookmark not defined.2.1 Client/ServerArchitecture Models ....................................Error! Bookmark not defined.2.2 Java Serverpages .......................................................................................................... 32.3 Java Database Connectivity ............................................................................................ 32.4 Database tobe Used....................................................................................................... 3
2.4.1 MySQL ................................................................................................................... 42.5 Web Server..................................................................................................................... 4
2.5.1 Apache Tomcat ...................................................................................................... 4
3. System Design.............................................................. Error! Bookmark not defined.
3.1 System Requirements ......................................................Error! Bookmark not defined.3.1.1 Functional Rrequirements....................................................................................... 53.1.2 Non-functional Requirements ................................................................................. 5
3.2 Website Interface Design ................................................................................................ 53.2.1 Website Forms ....................................................................................................... 5
3.3 Database Design ............................................................................................................. 63.3.1 Entities & Attributes ................................................................................................ 6
-
8/7/2019 SRS-OVS
3/14
1. IntroductionThe termvoting is understood tobe the formof choice. This formof expression can
be performed through the ballot, orby any otherelectoralschemes. The electronic voting isa way in which votes cast by votersof a specific electronic medium can be retrieved, talliedand stored electronically.
1.1 PurposeThis document is the Software Requirements Specification for the Online
Polling System which is being developed as part of an academic course. Thisdocument is intended to provide a detailed specification of the requirements for thedevelopers and serve as a means to clearly outline the project features. The generalrequirements give an overview of the users characteristics, product perspective, andoverview of functional and data requirements. The specific requirements give a morerefined version of the generalrequirements.
1.2 Scope
The project tobe produced willbe focusing on Online polling System. The system tobe created is to provide voters with the capability of casting theirvotes fortheirchosencandidatesvia an internet enabled computer.
The project will focuson the current voting method being used by the generalvoters,andidentify a way in which the method can be modelled with the internet voting system tobeimplemented. The system will implement different election mechanisms used forcastingvotes.
The system willbe built to have strict security features. These security features willcommence from the point ofvoterlogin into the voting system, to casting theirvote fortheirchosen candidate to the point of theirexit from the system. The system will have securerestriction preventing the voterfromvoting more than once forthe election candidates.
The system tobe implemented needs to address the issues covering security needsof a vote being cast overthe internet. Authentication and validation of the users, accessrights, information encryption and votessecurity need tobe looked into in an in-depthfashion in orderto produce a secure meansofvoting online.
1.3 Existing SystemThe voting system currently being used is a paperbased system, in which the voter
simply picks up ballotssheets from electoralofficials, tickoff who they would like tovote for,and then cast theirvotesby merely handing overthe ballot sheet back to electoralofficial.The electoralofficials gatherall the votesbeing cast into a ballot box. At the end of theelections, the electoralofficials converge and count the votes cast foreach candidate and
determine the winnerof each election category.
1.4 Problems with Existing SystemThe current system in use today, has a numberof problemsmy proposed system
wouldaim to correct. The system is highly insecure and prone to election malpractice. Due to thefact that any votercan come and fillout a ballot sheet without priorauthentication to
-
8/7/2019 SRS-OVS
4/14
determine who he/she says they are, is a majorconcern. The administration of the votingsystem as a whole is highly inefficient, slow and time consuming, and is highly prone tohuman error.
1.5 Online VotingOnline voting is a formofvoting in which the individuals are able to cast theirvotesonline, through a web interface. Through the use ofonline voting, the voternavigates to thedesignated election site using a webbrowseron an ordinary PC. The individual thenauthenticates himselforherselfbefore the system enables the votertoview the ballotdisplayed on the screen. The voter is then permitted toselect theirchosen candidate andthen cast the votes which would then be sent to the election serverforprocessing.Online Voting systems can be conducted through a numberofmethods:
y Kiosk Internet Voting: This formof internet voting permits the votertovote fromcomputers in kiosksset up by the voting authority in convenient locationssuch aspost offices and shopping malls.
y Poll Site Internet Voting: This formof internet voting permitsvoters to go todesignated polling sites to cast theirvotes fortheirchosen candidates through theuse of computers. The data contains the votes that are transmitted from eachpolling site to a central election servervia the internet.
y Remote Internet Voting: This formofvoting enables the voters to cast votes forspecified candidates from any location through the use of a computerconnected tothe internet. Remote voting is typically carried out at the voters home orworkplace. Remote voting is a very convenient method ofvoting, since the voterhasthe choice tovote in an election from any suitable location. The project tobeimplemented is going to use the remote internet voting method.
2. Client/Server CommunicationsThe secure internet voting system tobe implemented willbe run on the webserver
which will enable accessibility to clients through a webbrowser. The system willbe builtusing a serverside technology. The client (voter/administration) willbe able to access thesystem from a web page via the web. In orderfor this process tooccur, the system tobeimplemented would have tosend back a HyperText Mark-up Language (html) web pageback to the clientsbrowser. A numberofserverside technologies can be used; theseserverside technologies include the common gateway interface (CGI), PHP scriptinglanguage, and Microsofts Active ServerPages (ASP). Forthe project tobe implemented,the Java ServerPages (JSP) and Java Servlets are tobe utilised forserverprocessing ofwebrequests.
2.1 Client/Server Architecture ModelsThe client/serverarchitecture is a network architecture that separates the client from
the server; the client side sendsrequests tobe processed by the application server. Theclient/servermodelsbeing used are the two tierclient/serverand three tierclient/servermodels. Any software application which manages database storage and retrieval in the
-
8/7/2019 SRS-OVS
5/14
database process and database manipulation and presentation somewhere else can beclassified as a client/serverapplication. A client/serverdatabase application is a method ofenabling multiple usersof a system access to the same data source.
2.2 Java Server Pages (JSP)Java ServerPages (JSP) provides the meansof creating web pages which havedynamic content. JSP is an easierway of creating dynamic web pages, it also workstogetherwith Java Servlets asshown in figure. The use ofboth technologies helps in thegeneration of dynamic HTML. Java code can be embedded in a JSP page in formofjavascriplets, this can be used to conduct any serverside processing on the JSP. It ismucheasierusing java scriplets to generate dynamic content, than using Servlets.
Figure : Client\ServerCommunication
2.3 Java Database ConnectivityBuilding a database is highly essential to the functionality of the system. A database
willbe used tostore the voters candidate choice, and a database will alsobe used to forstoring detailsof the voters, candidates and administrators. Java has provided libraries forconnecting java applications to databases.
An API called Java Database Connectivity API (JDBC) can be used to execute sqlstatements. In orderto use the JDBC API to gain access into a database system, a JDBCdriverforthe specific database has tobe used. The JDBC driverforms the middleware layerbetween the java application and the database by converting java method calls intodatabase method API calls. JDBC performs its function through a set of Java interfaces andclasses. Through the use JDBC API, a java application can virtually access any data sourceand run on any java virtualmachine.
2.4 Database to Be UsedThe Online Voting System to implement will need a highly efficient and robust
database system, which would be used fordata storage and also userauthenticationsonthe system. In orderto utilize the most efficient and reliable database system, the maindatabase systems that is used currently where analyzed. The database system analyzed isstated below.
-
8/7/2019 SRS-OVS
6/14
2.4.1 MySQLMySQL is a multithreaded, multi-userrelational database management system
(RDBMS) based on SQL (Structured Query Language). MySQL isone section of parent
company MySQL AB's product line of database servers and development tools. MySQLwhich isopen source software is free of charge forusers.MySQL can run on virtually alloperating system platforms, including Linux, UNIX,
and Windows. It is fully multi-threaded using kernel threads, and provides applicationprogram interfaces (APIs) formany programming languages, including C, C++, Eiffel, Java,Perl, PHP and Python.
2.5 WEB SERVER:
A webserver is a computerorcomputerprogram which is used to accept andprocess HTTP requests from webbrowsersorclients. The webserverresponds to theHTTP request in formof HTML documents which can be used by the client on his/herwebbrowser.
2.5.1 WEB WASCE:
a software application server, is the flagship product within IBM's Websphere brand. WAS isbuilt using open standardssuch as Java EE, XML, and Web Services. It issupported on thefollowing platforms: Windows, AIX, Linux, Solaris, i/OS and z/OS. Beginning with Version 6.1and now into Version 7, the open standard specifications are aligned and common across all theplatforms. Platform exploitation, to the extent it takes place, is done below the open standardspecification line.
It works with a numberof Webservers including Apache HTTP Server, Netscape EnterpriseServer, Microsoft Internet Information Services (IIS), IBM HTTP Serverfor i5/OS, IBM HTTPServerforz/OS, and IBM HTTP ServerforAIX/Linux/Microsoft Windows/Solaris. It uses 9060port forconnection as the default.
3. System DesignIn ordertobuild an efficient and flexible system, the appropriate system
development methodology has tobe chosen tosuit the system tobe created.In orderforany formof computersystems tobe built in an efficient and userfriendly
manner, a highly structured and well engineered design has tobe created. The design of asoftware orientated system has to follows certain steps in achieving its end product. Thedesign of a system enablesorganizations and companies tomap out a strategic plan whichthe system developers would have to follow. The design of a system isvery important in the
construction of any webbased application, and it prevents the occurrence ofmistakes anderrors during the implementation phase which can be highly costly to the organizationfunding the specify project.
3.1 System Requirements
-
8/7/2019 SRS-OVS
7/14
The online voting system tobe built willbe used by twosides, the voters who wouldbe voting and the administrators who are in charge of creating and maintaining informationon the system. The system has tobe very secure due to the fact that it is a voting system,the main objective of the voting system is to ensure that votesbeing cast by votercannot berigged orunduly compromised in any shape orform. A high levelof userauthentication hastobe established tomaintain security.
The information and usability of the voting system has tobe very constructive,efficient and easy to understand by the user. Good systems are easy to utilise, the usershould be saved from any formof complexity.
3.1.1 Functional Requirementsy Permit users to gain access and utilise information conveyed on the website tobe
implemented.
y Enable secure formof authenticating users who would like to gain access into thevoting system.
y Enable a secure mode of communication between the client and server.
y Permit the system administratorto access and manipulate system usersinformation.
y Permit system administratorto dynamically add candidates tobe voted for in thesystem.
y Permit voters tologin to the system and vote fortheirchosen candidate.
y Restrict voters fromvoting more than once.
y Permit a limited numberof graphical imageson website.
3.1.2 Non-Functional Requirementso The website tobe created efficiently utilising the systemresourcessuch as
bandwidth, memory etc.o Implement a comprehensive, adjustable and maintainable voting system.o Implement a well presented and structured website, which is clearing visible to
users.o Ensure system development and coding is well documented forfuture use.
3.2 Website Interface DesignThe website interface design has tobe created taking the userof the system in
account. The interface should be visibly distinct and precise; the userof the systemshouldfind it easy to follow the navigationalstructure of the website through clearly constructednavigationallinkson the website.
3.2.1 Website FormsIn ordertoretrieve data from the systems users forprocessing by the webserver,
forms would have tobe used. It is a medium forcapturing information form the user, whichcan then be processed by the serverorstored in a database. The forms tobe used fortheonline voting system would be as follows.
-
8/7/2019 SRS-OVS
8/14
Add candidates: this form willbe used foradding the detailsof the electionscandidates.
Add Voter: This form willbe used foradding the detailsof the electionsvoters intothe database.
Add Administrator: This form willbe used to add the administrators to the databasesystem.
VoterLogin: this form willbe used forvoteraccess into the system. Admin Login: this form willbe used foradministratoraccess into the system.
3.3 Database DesignIn orderto develop the online voting system, a database system has tobe in place to
be used tostore all the data retrieved from the usersof the system. The database system tobe created will also play a majorpart forenforcing and strengthening the security of thevoting system. Authentication of the systems users willrely on the detailsof the userswhich would be stored in the database system. MySQL database serverhasbeen selected
as the database of choice, due to the sheerfact that it isopen source which cuts the cost ofhaving tobuy database software. MySQL has a very large storage capacity which willbeessential forstoring the large amount of data tobe inputted.
3.3.1 Entities & AttributesThe database tobe constructed willmake use of entities and attributes as a formof
structure forthe database information. The entities take the formof each table tobe createdin the database. The tables house different fields which take the formof attributes. Theseattributes can be set tostore certain typesof data, be it text or integervalues. Each entitywill have an attribute which will hold a primary key, a primary key is a value that can be
used to identify a unique row in a table orentity. The entity table gives a description of theentities used in the database.
-
8/7/2019 SRS-OVS
9/14
ENTITY DESCRIPTION
Administrator The administratortable willbe used tostore allthe detailsof the administrators utilizing thesystem. Each administratorwill have a uniqueusername.
Candidates The candidates table willbe used tostore all thedetailsof the elections candidates. Eachcandidate will have a unique username.
Users The users tables willbe used tostore theencrypted passwordsof the voters andadministrators. A field within the table calledtype will alsobe used to differentiate votersfrom administrators within the table. The triesfield willbe used tostore the numberofloginattemptsby each user.
Voters The voters table willbe used tostore the details
of each voter in the system. Due to the highsecurity measures tobe taken when developingthe system, the voters table will also containfields with the recordsof each candidate votedforby the voter, this design has tobe done toprevent the possibility of a votervoting morethan one. Through thismeans if there is anyneed forsuspicion ofvote rigging by theelectionsorganizer the database table can provethat each votervoted only once. A field calledvoted will alsobe used torecord when eachvoterhas cast theirvote by incrementing to 1. Atimestamp field will alsobe added torecord the
exact time each votercast theirvote.
Table:Entities used in the database system
-
8/7/2019 SRS-OVS
10/14
Application Design
-
8/7/2019 SRS-OVS
11/14
Login Process Activity Diagram
Input ID andPassword. Counter=1
Validate and verify theinput values.
Counter=3
Counter!=3
Print Login Successful Print Invalid Credentials
-
8/7/2019 SRS-OVS
12/14
Entry Process Activity Diagram
In ut Data
Validate the input data.
Creation Successful
Data into Database
Send Mail
-
8/7/2019 SRS-OVS
13/14
User
UID
NameEmail
Age
candidate
UID VoteCID
Count
Vote
User
Profile
VoteBlog
have
Profile
Blog
submitVoting
database
Delete
updateresult
tracks
Admin
Admin
id
Password
Managed
Candidate
Entity Relationship Diagrams
Email
-
8/7/2019 SRS-OVS
14/14