srs-ovs

Upload: deepaksha25389

Post on 08-Apr-2018

220 views

Category:

Documents


0 download

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