Software Requirements Specification for On Line Voting System for the KASAMA General Elections
Page 3
1.
1.1
Introduction
Purpose
This Software Requirements Specification describes the functional and nonfunctional requirements of the On Line Voting for the KASAMA General Elections. This document is intended to be used by the members of the project team that will implement and verify the correct functioning of the system.
1.2
Intended Audience and Reading Suggestions
The intended audience for this SRS and other related documents are the users of this software program particularly the KASAMA student organization, the students of MSU-IIT and Professor Manuel Cabido.
1.3
Project Scope
The On Line Voting System will allow the students of MSU-IIT to vote in the KASAMA General Elections through the use of a desktop computer connected to the MSU-IIT Wide Area Network (WAN) or through the internet. This System will reduce the hassles of manual voting and also deliver a more accurate and credible election results because it eliminates the errors that are created by the manual tabulation of votes. In addition, the On Line Voting System reduces the cost in producing Election ballots.
1.4
1. 2.
References
Wiegers, Karl E., Cafeteria Ordering System Software Requirements Specifications, http://www.processimpact.com/process_assets/COS_SRS.doc Wiegers, Karl E., Software Requirements Specifications, http://www.processimpact.com/process_assets/srs_template.doc
2.
2.1
Overall Description
Product Perspective
The Online Voting for the KASAMA General Elections is a new system that replaces the current manual election process in the KASAMA General Elections. The diagram in Figure 1 illustrates the external entities and system interfaces. The system is expected to evolve over several releases, ultimately connecting to the Internet fully automating the KASAMA General Elections.
Software Requirements Specification for On Line Voting System for the KASAMA General Elections
Page 4
2.2
Product Features
The Registered User/Voter logs in to the Online Voting System and lets him cast his vote through the computer. The System will then tabulate all the electronic votes after voting period and show the complete results of the Election.
2.3
User Classes and Characteristics
Voter
A voter is a Student of MSU-IIT, Tibanga, Iligan City, who wishes to exercise his right to vote in the KASAMA General Elections. There are more than 10,000 students of MSU-IIT and at least 60% are expected to participate in the KASAMA General Elections. A System Administrator is a Student or Faculty of MSU-IIT who is authorized to oversee the On Line Election process.
System Administrator
2.4
Operating Environment
OE-1: OE-2: The Online Voting for the KASAMA General Elections will operate in the following web browsers: Microsoft Internet Explorer versions 6.0 and higher, Mozilla Firefox 2.0 and higher, and Opera web browser 8.5 and higher. The Cafeteria Ordering System shall operate on a server running the current corporate approved versions of Red Hat Linux and Apache WebServer.
2.5
Design and Implementation Constraints
CO-1: CO-2: CO-3: The system shall use the current corporate standard MySQL database engine. All HTML code shall conform to the HTML 4.0 standard. All scripts shall be written in PHP.
2.6
User Documentation
UD-1: UD-2: The system shall provide an online hierarchical and cross-linked help system in HTML that describes and illustrates all system functions. The first time a new user accesses the system and on user demand thereafter, the system shall provide an online tutorial to allow users to practice voting online using a static tutorial menu. The system shall not store the votes made using this template in the database.
Software Requirements Specification for On Line Voting System for the KASAMA General Elections
Page 5
2.7
Assumptions and Dependencies
AS-1: The KASAMA General Elections is held once every school year, during te second semester.
3.
3.1
3.1.1
System Features
Vote
Description and Priority A Voter whose identity has already been verified may vote for his/her selected candidates. A Voter may cancel his/her votes if it has not yet been confirmed. Priority = High.
3.1.2
Stimulus/Response Sequences Stimulus: Response: Stimulus: Response: Stimulus: Response: Stimulus; Response: Voter places a request to vote for his/her candidate. System queries the Voter to select his /her candidates from the List. Voter requests to change his/her votes. If status is “Accepted”, system allows the voter to edit his votes. Voter requests to cancel his vote. if status is “Accepted”, system cancels the votes. Voter Confirms the votes. If status is “Accepted”, system stores the votes into the database for counting.
The System shall ask the user to Log In to verify if he is a registered Voter. The System shall let a voter who is logged in to the On Line Voting System proceed to vote for his candidates. The System shall display the list of candidates. When the voter is done in placing his votes, the system shall display the names of the candidates, along with their respective positions, and their party. The system shall prompt the voter to confirm the votes he placed.
Software Requirements Specification for On Line Voting System for the KASAMA General Elections
Page 6
Vote.Confirm.Yes Vote.Confirm.Yes
If the voter confirms his votes, the votes will be transferred for processing. If the voter does not confirm his votes, the voter may either edit or cancel the votes.
3.2
3.2.1
Count Votes
Description and Priority After the given time for voting has ended, the System will retrieve all the votes and count it. Priority = High.
3.2.2
Stimulus/Response Sequences Stimulus: Response: Stimulus: Response: System administrator requests to process the votes. System retrieves then counts it. System administrator queries the System to show Election results. System shows the results per position applied, from highest to lowest.
3.2.3
Functional Requirements
Count.count Count.Cancel Count.Show.Results
The System will count the votes. The System shall cancel the vote counting. The System shall display the results of the winners of the Election.
3.3
3.3.1
Open – Close Voting Process
Description and Priority The System Administrator will request the System to Open or Close the voting. Voting can not start unless the System Administrator queries the System to open the voting and no one can no longer vote after the System Administrator queries the System to close the Voting. Priority = High.
3.3.2
Stimulus/Response Sequences Stimulus: Response: System administrator requests to open the voting process. System allows the users to vote.
Software Requirements Specification for On Line Voting System for the KASAMA General Elections
Page 7
Stimulus: Response: 3.3.3
System administrator queries the System to close the voting process. If status is “Accepted”, System stops the voting process. No one is allowed to vote anymore.
Functional Requirements
OC.Start OC.Close
The System will allow the voting. The System shall stop the voting process. No user can Log In anymore. A message on the Log On screen will appear that the voting period is already finished.
4.
4.1
External Interface Requirements
User Interfaces
UI – 1: The system shall provide a help link from each displayed HTML page to explain how use that page. UI – 2: The web pages shall permit the complete navigation using the keyboard alone, in addition to using mouse and keyboard combinations.
4.2
Hardware Interfaces
No hardware interfaces have been identified.
4.3
Software Interfaces
Voters List System (VLS) The VLS contains the list of all students of MSU-IIT who already registered or activated their respective MOLE accounts. The VLS shall be the first level of security for the On Line Voting System, if the user who Logs in is not registered in the VLS, the user can not proceed with the voting.
SI – 1: SI – 1.1: SI – 1.2:
4.4
Communications Interfaces
No communications interfaces have been identified.
Software Requirements Specification for On Line Voting System for the KASAMA General Elections
Page 8
5.
5.1
Other Nonfunctional Requirements
Performance Requirements
PE - 1: The System shall accommodate a maximum 200 simultaneous users on the Election Day from 8:00 am to 3:00 pm, with an estimated time of 10 minutes per session. PE - 2: All web pages generated by the system shall be fully downloadable in no less than 10 seconds over a 384 kbps connection. PE - 3: Responses to queries shall take no longer than 5 seconds to load onto the screen after the voter submits the queries. PE - 4: The System shall display confirmation messages to users with in 4 seconds after the user submits information into the System.
5.2
Safety Requirements
No safety requirements have been identified.
5.3
Security Requirements
SE – 1:Voters shall be required to Log In to the On Line Voting System for all operations except viewing the list of candidates. SE – 2:The System shall permit only the System Administrators and authorized personnel to create, edit, or delete from the list of candidates. SE – 3:The System shall permit the voters to view only their own votes, not the votes placed by the other Voters.
5.4
Software Quality Attributes
Availability: The Online Voting System shall be only accessible to the Voters during the day of the elections or otherwise specified. Robustness: If connection between the user and the system is broken prior to a vote being either confirmed or cancelled, the On Line Voting System shall enable the Voter to redo his votes.
Software Requirements Specification for On Line Voting System for the KASAMA General Elections
Page 9
Appendix A: Glossary
Voter Id = A student ID number that is already registered or activate through the MOLE. 9 character Alphanumeric String Voter Name = Name of a student, 30 characters Alphanumeric. Voter = Voter Name + Voter Id Candidate Name = A name of a KASAMA General Elections Candidate. Candidate Key = A unique sequential integer that the System assigns to each candidate.
Appendix B: Analysis Models
<Optionally, include any pertinent analysis models, such as data flow diagrams, class diagrams, state-transition diagrams, or entity-relationship diagrams.>
Appendix C: Issues List
< This is a dynamic list of the open requirements issues that remain to be resolved, including TBDs, pending decisions, information that is needed, conflicts awaiting resolution, and the like.>