You are on page 1of 27

Election Automation System

Software Requirements Specification


Version 1.3
DOCUMENT RELEASE NOTICE

Document Details:

Name Version No. Description


ElectionAutomationSystem_ 1.3 SRS document for Election
SRS Automation System

Revision Details

Action taken Preceding Page New Page No. Revision


(Add/Del/Change) No. Description

This document and any revised pages are subject to document control. Please keep them up-to-date
using the release notices from the distributor of the document.

Approved by: Date:

Authorized by: Date:

I
PREFACE

Purpose of this Document

This document describes the System Requirements Specifications of the Election Automation
System. This document lays down the software requirements for the application that have been
captured through a detailed study of the business work flow and functions.

Intended Audience

This document is intended for use by the designers of the system, and for those who may be required to
maintain it. The document will enable them to understand all aspects of the system in detail. It will
enable the Election Automation System to know that TCS has captured all the requirements.

Acronyms and Abbreviations

Abbreviation/Acronym Description
EAS Election Automation System

II
Table of Contents

1. INTRODUCTION................................................................................................................................5
1.1 Background.......................................................................................................................................5
1.2 Scope.................................................................................................................................................6
1.3 Key Assumptions, Dependencies, Constraints and Overriding Priorities.........................................6
1.4 User Classes and Characteristics.......................................................................................................7
1.5 Hardware and Software Platform......................................................................................................8
1.6 Application Security..........................................................................................................................8
2. FUNCTIONAL REQUIREMENTS:..................................................................................................9
2.1 Enroll as Nominee …...................................................................................................................9
2.2 Cancel Nomination….................................................................................................................10
2.3 Add Voter …...............................................................................................................................11
2.4 Update Voter Details…...............................................................................................................13
2.5 Remove Voter…......................................................................................................................... 14
2.6 Add Nominee …........................................................................................................................15
2.7 Remove Nominee …................................................................................................................. 16
2.8 View Nominee Details….......................................................................................................... .17
2.9 View Voter Details….................................................................................................................18
2.10 Add Booth …..............................................................................................................................19
2.11 Get Voter List ….........................................................................................................................20
2.12 Get Nominee List …...................................................................................................................21
2.13 Elect the nominee …...................................................................................................................22
2.14 Generate Voting Report...............................................................................................................23
2.15 Use Case Diagram …..................................................................................................................24
2.16 Conceptual Class Diagram…..................................................................................................... 25
3. USER INTERFACE SPECIFICATIONS........................................................................................26
3.1 Main Menu.....................................................................................................................................26
3.2 Screen Layout for Administration..................................................................................................26
3.3 Screen Layout for Voter.................................................................................................................26
3.4 Screen Layout for Nominee:..........................................................................................................26
4. OTHER REQUIREMENTS.............................................................................................................27
4.1 User Access Control and Security..................................................................................................27
4.2 Performance Requirements............................................................................................................27

III
1. Introduction
Here, we are preparing and managing the government elections of a constituency. This system will
maintain the nominations and voting information for an election in a given constituency. Along with
this, it keeps track of voters, nominees in a constituency and the respective voting details. It also
prevents redundant voting against a voter. EMS configures the details for each voting booth in the city
based on the nominations. A nominee can opt to cancel his nomination before the given date. Nominee
is voter of the current constituency.

1.1 Background
This document outlines the software requirement specification for the Election Automation System. It
is the outcome of the Analysis Phase during which discussions were held with the users. The objective
of this Analysis Phase was to:

•Define the scope for the Election Automation System


•Serve as the baseline for the design of the Election Automation System

Any changes to requirements after acceptance of this document will be through appropriate Change
Management procedure, as detailed in the contract.

Both the user and designer should go through the document carefully in order to ensure that:
•All the user requirements which need to be supported by the system have been identified and detailed.
•The document is a clear and unambiguous statement of functionality required from the system for the
design and development team.
•The document can be used as a basis for development of the System Test data.

It is essential to identify the problems, if any, with the basic structure of the proposed system at this
stage. If these are not taken care of at this stage, it may be difficult to incorporate the desired
modifications to overcome the shortcomings at a later stage.

Client Details:
Election Automation System is the up gradation of existing obsolete Election process that requires an
automated system to provide better services to public that is easy to manage for the Election
Commission.

Project Details:
Develop an application that allow the Super EMS to handle manipulations with Nominee details and
Voter details and result of election in the concerned constituency.

Broad Requirements:
•Generate complete voting results report.
1.2 Scope
The Scope of the project is to develop an automated system for -
• Enroll as nominee
• Cancel nomination
• Add voter
• Update voter details
• Remove voter
• View nominee details
• View voter details
• Cast vote
• Generate voting report.

Business Users:

•EMS
•Nominee
•Voter

Geography: National

Target System: An application to shift whole Election process from the manual system to an
automated system.

Out of Scope:
Percentage of genuine voters registered with Election Commission.

1.3 Key Assumptions, Dependencies, Constraints and Overriding Priorities


The successful execution of the assignment will depend on the following factors:

Assumptions

1. In a constituency, any number of nominees can participate in Election.

2. A voter may or may not cast his/her vote.

3. A voting booth may be allocated to any number of voters.

4. Every voter has attained the age of Eighteen years.

5. While modifying Voter details, the entire voter list will be replaced with the new list provided.

6. Every nominee has fulfilled all the requirements necessary to participate in election.

7. If a nominee does not meet the minimum requirements decided for the candidature, his/her
candidature will be rejected.
Dependencies

1. Involvement of the end users in signing off this SRS document.


2. Availability of System Software from the client for development.
3. Availability of installed hardware/System software for implementation.

Constraints

1. Nomination acceptance criteria is out of scope of the system.


2. Nominee should be voter of the current constituency.

1.4 User Classes and Characteristics

EMS:-
The functionality that the EMS can perform
1. Add Voter
2. Update Voter Details
3. Remove Voter
4. View Voter Details
5. Add Nominee
6. Remove Nominee
7. View Nominee Details
8. Generate Voting Report

Constituency:-
The functionality that the constituency can perform

1. Add Booth

Booth:-
The functionality that the booth can perform

1. Get Voter List


2. Get Nominee List

Nominee:-
The functionality that the nominee can perform
1. Enroll As Nominee
2. Cancel Nomination
Voter:-
The functionality that the voter can perform
1. View Nominee Details
2. Elect Nominee

1.5 Hardware and Software Platform


Hardware Platform:
P3 1Ghz processor
RAM 128MB
Hard disk space 20GB

Software Platform:
Windows 2000 & above with JDK 1.5.
DR.JAVA for implementation

1.6 Application Security


1. Voter and Nominee authentication has not been taken into consideration as it is assumed that it has
been done in advance.
2. Functional Requirements:
The Functional Requirements are provided in the form of use cases that explain the important processes
that are going to be implemented in the system.

2.1 Enroll as Nominee

Use Case UC1: Enroll as Nominee for nomination


Level : User goal
Scope: Election Automation System
Primary Actor: Nominee

Stake Holders and Interests:

EMS: Can add the nominee details


Nominee:Wants the system to accurately store the nominee details

Preconditions: Nominee should be eligible abide by the rules and regulations of government.

Success Guarantee: Nominee details given by the nominee is recorded. Nominee Id is generated.

Main Success Scenario:


1.EMS enters nominee details in to the system.
2.System validates the nominee details.
3.System validates for uniqueness of nominee name.
4.System prompts for confirmation of addition of nominee.
5.EMS confirms addition.
6.System generates a nominee id for the nominee.
7.The nominee details are saved in the system.
8.The nominee is added in the nominee list.
Extensions:
1a. Invalid input data.
System displays an error message.
2a. Duplicate Nominee name .
System displays an error message.
5a.EMS wants to alter the nominee details.
EMS cancels addition process.
7a. System fails to save the nominee details provided due to power outage.
System displays an error message.

2.2 Cancel Nomination

Use Case UC2: Cancel Nomination


Level : User goal
Scope: Election Automation System
Primary Actor: Nominee

Stakeholders and Interests:


EMS: Can cancel the nomination.
Nominee: Wants to cancel the nomination of the given nominee by removing that particular nominee
details from the system.
Election System: Wants to automate the cancellation of the nomination of particular nominee.

Preconditions: Before cancellation, the nominee should exist in the system with a nominee id to
contest in the elections.

Success Guarantee: Nominee details given by the nominee are deleted from the list and the
nomination is canceled.
Main Success Scenario:
1. System checks for the last date for canceling the nomination. If the nominee wants to cancel
before the last date, then cancellation is done or else the cancellation is not possible.
2. EMS removes nominee details from the system.
3. System prompts for confirmation of removal of nominee from the list.
4. EMS confirms removal.
5. System removes the nominee from the list.

Extensions:
1a.Invalid input data.
System displays an error message.
1b.Canceling nomination after the last date.
Cancellation is not possible.
System displays an error message.
5a. System fails to remove the nominee details provided due to power outage.
System displays an error message.

2.3 Add Voter


Use Case UC3: Add Voter
Level: User goal
Scope: Election Automation System
Primary Actor: EMS

Stake Holders and Interests:


EMS: Can add Voter details
Voter:Wants the system to accurately add the voter details in to the voters list of the system.
Election System: Wants to automate the addition of voters and the generation of voter Id.

Preconditions: Before adding the voter in to the voter list of the system, the voter should not exist
previously in the system.
Success Guarantee: Voter details given by the voter are added successfully in to the voters list.

Main Success Scenario:


1.EMS enters voter details in to the system.
2.System validates the voter details.
3.System validates for uniqueness of voter name.
4.System prompts for confirmation of addition of voter.
5.EMS confirms addition.
6.System generates a voter id for the voter.
7.The voter details are saved in the system.
8.The voter is added in the voter list.

Extensions:
1a. Invalid input data.
System displays an error message.
2a. Duplicate voter name .
System displays an error message.
7a. System fails to save the voter details provided due to power outage.
System displays an error message.

Domain Model for UC3:


2.4 Update Voter Details

Use Case UC4: Update voter details


Level: User goal
Scope: Election Automation System
Primary Actor: EMS

Stakeholders and Interests:


Voter:Wants the system to accurately update the voter details
Election System: Wants to automate updation of voter details.

Preconditions: Before modifying the voter details, that particular voter must exist in the system.

Success Guarantee: Updated voter details are recorded in the system by the EMS. Voter details updated
successfully message is displayed to the user.

Main Success Scenario:


1. EMS updates the voter details in to the system.
2. System validates the voter details.
3. System validates for uniqueness of voter name.
4. System prompts for confirmation of updating the voter details.
5. EMS confirms updates.
6. The voter details are updated.
7. The voter details are saved in the system.

Extensions:
1a. Invalid input data.
System displays an error message.
3a.Duplicate Voter name.
System displays an error message.
7a. System fails to update the voter details provided due to power outage.
System displays an error message.
2.5 Remove Voter

Use Case UC5: Remove voter details


Level : User goal
Scope: Election Automation System
Primary Actor: EMS

Stakeholders and Interests:


Voter:Wants the system to accurately remove the voter details from the voter list of the system.
Election System: Wants to automate the removal of voter details of a particular voter.

Preconditions: Before removing, the voter should previously exist in the system.

Success Guarantee: Voter details are removed from the system and the voter is not able to vote a
nominee.

Main Success Scenario:


1. EMS removes voter details from the system.
3. System prompts for confirmation of removal of voter from the list.
4. EMS confirms removal.
5. System removes the voter from the list.

Extensions:
1a.Invalid input data.
System displays an error message.
1b. Removing voter from the voters list, If removal is not possible.
System displays an error message.
7a. System fails to remove the voter details provided due to power outage.
System displays an error message.
2.6 Add Nominee

Use Case UC6: Add Nominee


Level:User Goal
Scope: Election Automation System
Primary Actor: EMS
Stakeholders and Interests:
EMS : Should add the nominee details in to the nominee list.
Nominee: Wants the system to accurately update the nominee details.
Election System: Wants to automate addition of nominee details.

Preconditions: None

Success Guarantee: Nominee details are recorded in the system by the EMS.

Main Success Scenario:


1.EMS enters nominee details in to the system.
2.System validates the nominee details.
3.System validates for uniqueness of nominee name.
4.System prompts for confirmation of addition of nominee.
5.EMS confirms addition.
6.System generates a nominee id for the nominee.
7.The nominee details are saved in the system.
8.The nominee is added in the voter list.

Extensions:
1a. Invalid input data.
System displays an error message.
2a. Duplicate nominee name .
System displays an error message.
7a. System fails to save the nominee details provided due to power outage.
System displays an error message.
Domain Model for UC6:

2.7 Remove Nominee:

Use Case UC5: Remove nominee details


Level : User goal
Scope: Election Automation System
Primary Actor: EMS

Stakeholders and Interests:


Nominee:Wants the system to accurately remove the nominee details from the nominee list of the
system.
Election System: Wants to automate the removal of nominee details of a particular voter.

Preconditions: Before removing, the nominee should previously exist in the system.

Success Guarantee: Nominee details are removed from the system and the voter is not able to vote a
nominee.

Main Success Scenario:


1. EMS removes nominee details from the system.
2. System prompts for confirmation of removal of nominee from the list.
3. EMS confirms removal.
4. System removes the nominee from the list.
Extensions:
1a.Invalid input data.
System displays an error message.
1b. Removing voter from the nominee list, If removal is not possible.
System displays an error message.
4a. System fails to remove the nominee details provided due to power outage.
System displays an error message.

2.8 View Nominee Details

Use Case UC8: View Nominee Details


Level: User goal
Scope: Election Automation System
Primary Actor: Voter, EMS

Stakeholders and Interests:


Voter: Should be able to view the nominee details to elect them. Wants the system to make the voters
view the nominee details accurately before the election get started
EMS: Can view the nominee list.
Election System: System wants to automate the list of all the nominees in the constituency with their
respective details so that the voters can view the nominee details.

Preconditions: None

Success Guarantee: Nominee details are recorded in the system by the EMS.

Main Success Scenario:


1. EMS maintains the list of all the nominees of that constituency.
2.Voters should be able to view the details of all the nominees.
3.EMS gives access to voters to view nominee details.

Extensions:
1a. Invalid input data.
System displays an error message.
3a. System fails to display the nominee details provided due to power outage.
System displays an error message.

2.9 View Voter Details

Use Case UC9: View Voter details


Level: User goal
Scope: Election Automation System
Primary Actor: EMS

Stakeholders and Interests:

Wants the system to make the EMS to know the voter details.
Election System: System wants to automate the list of all the voters in the constituency with their
respective details.
14
Preconditions: None

Success Guarantee: Voter details are recorded in the system by the EMS.

Main Success Scenario:


1. EMS maintains the list of all the voters of that constituency.
2.Voters should be able to view the details of all the voters
3. EMS gives access to voters to view voters details.
4. The voter view the voters details.

Extensions:
1a. Invalid input data.
System displays an error message.
2a. System fails to display the nominee details provided due to power outage.
System displays an error message.

2.10 Add Booth:

Use Case UC10: Add Booth


Level:User goal
Scope: Election Automation System
Primary Actor: Constituency
Stakeholders and Interests:
EMS : Should add the voting booth details.
Election System: Wants to automate addition of voting booth details.

Preconditions: None

Success Guarantee: Booth details are recorded in the system by the EMS.

Main Success Scenario:


1.EMS enters booth details in to the system.
2.System validates the booth details.
3.System validates for uniqueness of booth name.
4.System prompts for confirmation of addition of booth.
5.EMS confirms addition.
6.The booth details are saved in the system.

Extensions:
1a. Invalid input data.
System displays an error message.
6a. System fails to save the booth details provided due to power outage.
System displays an error message.

Domain Model for UC10:

2.11 Get Voter List


Use Case UC11: Get Voter details
Level: User goal
Scope: Election Automation System
Primary Actor: Voting Booth

Stakeholders and Interests:


Booth: Wants the system to make the EMS to know the voter details. The Voting booth contains its
respective voter list.
Election System: System wants to automate the list of all the voters in the constituency with their
respective details.

Preconditions: None

Success Guarantee: Voting booth is having its respective Voter details.

Main Success Scenario:


Booth maintains the list of all the voters of that constituency.
Extensions:
1a. Invalid input data.
System displays an error message.
1b. System fails to display the voter details provided due to power outage.
System displays an error message.

2.12 Get Nominee List

Use Case UC12: Get Nominee details


Level: User goal
Scope: Election Automation System
Primary Actor: Voting Booth

Stakeholders and Interests:


Booth: Wants the system to make the EMS to know the nominee details. The Voting booth contains its
respective voter list.
Election System: System wants to automate the list of all the nominee in the constituency with their
respective details.

Preconditions: None

Success Guarantee: Voting booth is having the nominee details of all the nominees.

Main Success Scenario:


1. Booth maintains the list of all the nominee of that constituency.

Extensions:
1a. Invalid input data.
System displays an error message.
1a. System fails to display the nominee details provided due to power outage.
System displays an error message.

2.13 Cast Vote


Use Case UC13: Cast Vote
Level: User goal
Scope: Election Automation System
Primary Actor: Voter

Stake Holders and Interests:


Voter: Has to elect the nominee
EMS: Provides the nominee details.

Preconditions: To elect the nominee, voter should get registered in the voter list.

Success Guarantee: Voter can vote for a single nominee. Voter elected his nominee successfully.

Main Success Scenario:


1.A voter should not vote for more than one nominee.
2.Voter should do voting only once.
3.Before voting, voter can see the details of all the nominees.
4.If the voters name is not present in the list, he cannot elect the nominee.
5. EMS gives access to voters to view nominee details.
6. Voter can go to the nearest voting booth in that constituency to elect the nominee. The voter view the
nominee details.

Extensions:
1a. If voter votes for more than one nominee, his vote is invalid
System displays an error message.
2a. If voter votes more than once, his vote is invalid
System displays an error message.
5a. System fails to display the nominee details provided due to power outage.
System displays an error message.

2.14 Generate Voting Report


Use Case UC14:Generating the election result
Level: User goal
Scope: Election Automation System
Primary Actor: EMS
Stake Holders and Interests:
Wants the system to accurately generate the result of the election conducted in the constituency.
Election System: Wants to automate the result of the election process.

Preconditions: None

Success Guarantee: Results are generated successfully and a Nominee got elected.

Main Success Scenario:


1.EMS gets the results from all the voting booths present in the constituency.
2. EMS generates the result.
3. System prompts for confirmation of the election result.
4. EMS confirms the result.
5. The generated results are saved in the system.
6. The result, the nominee who got elected in the constituency election is released to the commission
successfully.

Extensions:
1a. If results are not available from booths.
System displays an error message.
2a. System fails to generate the election results provided due to power outage.
System displays an error message.

2.15 Use Case Diagram:


2.16. Conceptual Class Diagram:
3. User Interface Specifications
The following may be the possible output screens for the application

Main Menu

1. EMS
2. Nominee
3. Voter
4. Constituency
5. Booth
6. Exit
Enter your choice :

Screen Layout for EMS


1. Add Voter
2. Modify voter details
3. Remove voter
4. Add Nominee
5. Remove Nominee
6. Generate result
7. Return to Main Menu
Enter your choice :

Screen Layout for Voter

1. View Nominee details


2. Elect the nominee
3. Return to Main Menu
Enter your choice :

Screen Layout for Nominee


1. Enroll as nominee
2. Cancel Nomination
3. Return to Main Menu
Enter your choice :
4. Other Requirements

The other requirements may include the user access control and security requirements and performance
requirements.

User Access Control and Security


Security provisions may be made at the following levels:

Operating System Level

Each user may be given separate log-in Id and password. They may be divided into three groups.

Application User may have access to Application software only. These users may not have any access
to the Operating System commands outside of Application Menus

Besides it will be possible to set or change the password interactively. Each user or group of users will
have access to certain screens/functions of the system relevant to his area of operation. Each user will
have to log-on to the system using the correct user name and password. In case of an invalid
combination of these two codes, the system will display an error message and prevent further
processing.

Performance Requirements
Performance requirements specify the performance characteristics of the system like response time,
throughput etc.

The response time of the application will be 100 milliseconds.


The throughput of the application will be about 99%.

You might also like