33
1 ELECTRONIC VOTING SYSTEM Specification and Design Document By VIKINGS SOFTECH Members: Bilal Mubeen Aizaz Athar Abdul Rehman Date: 14 th January, 2015

Documentation e-voting Software Engineering

Embed Size (px)

Citation preview

Page 1: Documentation e-voting Software Engineering

1

ELECTRONIC VOTING SYSTEM

Specification and Design Document

By

VIKINGS SOFTECH

Members:

Bilal Mubeen

Aizaz Athar

Abdul Rehman

Date: 14th January, 2015

Page 2: Documentation e-voting Software Engineering

2

DEDICATION

To our parents for their loving support, their wishes, their patience, their

understanding and their prayers who kindly inducted into our souls, the flame of

truth and trustworthiness, and who helped us wherever and whenever we faced

difficulty in our lives and to all those who struggled hard, faced problems and

sacrificed to bring Pakistan into being or to protect its sovereignty.

ACKNOWLEDGEMENTS

All praises to Almighty Allah Who make me able to complete this task. My words of

special thanks to Sir Adnan Khalid for his guidance and support. without their

valuable direction this might be an impossible for us.

Last but not the least we like to thank all the staff at GC University, Lahore for

providing us an excellent working environment.

Page 3: Documentation e-voting Software Engineering

3

ABSTRACT

E-Voting is an electronic voting system for polling. The election process is in need

of a standard and secure electronic system that voters can rely on and have trust

in. Currently, each state implements its own process for voting; the lack of

consistency between polls results in numerous problems. Various models have

been developed to address the issues of security, privacy, validation, and quality

control. However, these models do not meet all of the requirements needed for a

good system. Exploring electronic voting from a systems perspective can

demonstrate the commonalities of the current systems and the possible solutions

for the voting process.

Page 4: Documentation e-voting Software Engineering

4

Introduction: Overview

E-Voting is an electronic system for polling. Voter can vote by entering CNIC.

It defines the scope of e-voting, in other words, defines the subject in the

context of the election process as a whole, specifies the system requirements

Specifies the participating parties of the system and describes their roles.

Specifies the architecture of the e-voting system, the general description of

Functionality.

Page 5: Documentation e-voting Software Engineering

5

Objective The key point of developing this project is to make our election system

better. Compliant free with election legislation and principles and be at least

as secure as regular voting.

Development Facilities

1. Microsoft Visual Studio 2. SQL Server

SRS

INTRODUCTION

Purpose

This specification design document will detail the design of an electronic voting

system for the state of Pakistan. This electronic voting system will enable an eligible

voter to vote at any polling site statewide during an election period.

Document Conventions

• When writing this document it was inherited that all requirements have the

same priority.

• First an overall view of the system is presented and then all features and

functions are analyzed in detail.

Intended Audience and Reading Suggestions

This document is intended for:

Development: In order to be sure that our team is developing the right project that

fulfills requirements provided in this document. In order to have an exact list of the

features and functions that are required to respond according to requirements

Page 6: Documentation e-voting Software Engineering

6

and provided diagrams. Our team will get familiar with the idea of the project and

suggest other features that would make it even more functional.

Users: in order to know exactly what they have to expect from the system, right

inputs and outputs and response in error situations.

Project Scope

One of the most important and hence core activity of E-Voting system is to give

ease to the administration of school. Administration can save their time.

Administration can get all information about voters’ .Hence a wide range of data is

required to justify the contents of application which should also be updated at

regular intervals. Only authorized person (admin) can access the information.

System offers multiple interfaces to enter different type of data.

Overall Description

Product Perspective

E-Voting system will be a desktop software application in order to provide all the

required features mentioned in this document.

Product Features

E-Voting system provides the user with the following functions:

• - Login

Login is necessary before using other features of the system. User will

enter the username and password at homepage. Then user can access

the desired information.

ADMIN LOGIN:

Page 7: Documentation e-voting Software Engineering

7

Admin checks the system results by logging in the same page interface.

Controller Characteristics & Environment:

Controller of the system could be the ADMIN

It is recommended that only one user is given this role so that everyone cannot use

it for its own legal / illegal purpose.

Operating Environment

E-Voting system is an desktop application so the following software would be required on

server machines

Page 8: Documentation e-voting Software Engineering

8

• Microsoft visual studio

• MY SQL server

Design and Implementation Constraints

In order to build an enterprise-level application, only those tools and technologies

can be used which provide sufficient support for such kind of development.

Therefore, our team will be limited to use highly mature and robust platform for

development and deployment of the application. Keeping in view the platform

independence and robustness of C# platform is a strong candidate to be used as a

development and deployment platform.

User Documentation

Following documentation will be provided for end users and system administrators:

• User manuals describing each screen of the system

• Deployment and configuration guides to install and deploy the application

Assumptions and Dependencies

• It is desktop base application and only one system is required to deploy it.

Page 9: Documentation e-voting Software Engineering

9

Other Non-functional

Requirements Performance and Availability Requirements

The application should be available in minimum down-time. The application should

provide user with appropriate error messages and should handle run-time

exceptions in a controlled manner in order to avoid abnormal termination.

Maintainability Requirements

The application should be designed and developed in such a way that it

remains highly maintainable and flexible and future enhancements can be

easily incorporated.

Security Requirements

The application should provide protection against unauthorized access.

Software Quality Attributes

• E-Voting System is a desktop application and it is required to be deployed

once on a system and then it can be easily accessed by user without any

other installation.

• E-Voting offers high portability and can be later moved to different systems

if required.

Feasibility Report:

Page 10: Documentation e-voting Software Engineering

10

Introduction: E-Voting System can handle all management tasks related to voting.

Understanding of Scope of Work:

Under the help of team head and institute’s helper and coordinators the team

wishes to manage and achieve the goal of converting their ideas into a real

program of school management system. It should provide almost all the facilities

what he is required. To serve the above objectives the Solution shall be required

that should provide the following set of functionalities.

• Our user management handler should be provided with the facility like it

can maintain the names, father names, guardian contact and other

important s related information about voters.

• The voter’s record should be maintained and well organized with our

program.

• To have an account with the users. .

• The team aim to link the user’s desired persona with their well displayed

and managed program to attract and then entered them into their working

models.

• The team should deal with the user feedback directly.

Scope of Admin:

Page 11: Documentation e-voting Software Engineering

11

• To be able to manage and explore the users need.

• Management should track the activities and task achievement steps of their

team and tack good care of user feedback.

• Ability to control the whole management system and track functionalities

for the secure and validated system of recognition.

• Manage the reports based on feedbacks.

Requirements:

Technologies:

The technology requirements for the projects are short listed here.

• Visual studio professional and keen knowledge of C# language.

• Some basic programming concepts for small tasks required.

• SQL server/Oracle for database.

Hardware:

To run this software there should be minimum Pentium 4 system with windows 7.

Time management:

This software required minimum 1 month to develop after information and

planning phases.

Team Members:

Page 12: Documentation e-voting Software Engineering

12

There should be team to develop this software. Each member of the team will

work on specific task.

One of the team members will get information from stakeholders so that it can

develop according to requirements.

One of the team members will work on planning, how to develop software and

what we need more etc.

Another team member will work on modeling and coding so that well planned

project can be implement to fulfill customer needs.

After development of the software another team member will test it and deploy.

Financial requirements:

• We need an Intel Pentium inside core i3 system to develop this software.

Potential Benefits:

There would be direct impact of this software on voter’s and owner’s .Through

this software we can change our world from manual to digital style of saving data.

The School owners:

The one the potential benefit of this software for school owner is save records of

students in digitalized manner. They can keep records of the teachers as well.It

provides facility it owner to keep records of reports which will generate on

monthly basis so that he can run his/ her business in well-mannered and grow up.

Potential obstacles:

Page 13: Documentation e-voting Software Engineering

13

There would be some potential obstacles during development and after

development of this software. This project is very lengthy, it required long period

of time for development and a big team to work on it. Due to less number of team

members there are fully chances of taking more time on development. One of the

big potential obstacles is that our databases should work very well. It should not

show any bug or error if this happened then there would be negative impact on

owner business. So to minimize these chances it should work very well every

time.

SECURITY:

Our E-Voting System is secure because user can only vote by entering CNIC. No

other information is shown to the user on the polling interface. On the other hand

ADMIN has the only rights to check and count all votes and announce the final

result. Although there are many voting apps for this purpose but their security

level is not upto that mark.

PRICE:

Price for this desktop based software is $ 250 (Two Hundred & Fifty US dollars).

CLASS DIAGRAM:

Page 14: Documentation e-voting Software Engineering

14

P.T.O

Page 15: Documentation e-voting Software Engineering

15

USER Window

ID Number Voter Name

Enter/Submit

LOG-IN Window

USER NAME

PASSWORD

LOG-IN Button

ADMIN

Show Result( ) Register Vote( ) Add/Remove Symbol ( ) Show Symbol ( )

SYMBOL

View Symbol Choose Symbol

REGISTRATION FORM

Name

ID

Mother’s Name Address

Submit

RESULT

Party Votes ( ) WIN / LOSE ( )

Page 16: Documentation e-voting Software Engineering

16

USE CASE DIAGRAMS:

Diagram-1:

Diagram-2:

uc Admin Page Use Cases

E-Voting System Admin Page

1. Access to Admin

Page

Administrator

1a. Links for the

Admin Pages

1b. Link for the Help

Menu

uc Login to the E-Voting System

Login Page

2a. Admin

Credentials

2b. Voter Credentials

2. Login Page

Access

Administrator

Page 17: Documentation e-voting Software Engineering

17

Diagram-3:

uc Create a New User

Create a New User

3c. Check Encryption

3. Add Users

3a. Get Decryption

Threshold Value

3b. Key Size for

Encryption

Administrator

Page 18: Documentation e-voting Software Engineering

18

Diagram-4:

uc Display the Submitted Vote

Voter

4a. Display Submited

Vote Details

4b. Display a Thank

you message

Admin Page

Use Cases :

Vote for the

Election

Page 19: Documentation e-voting Software Engineering

19

Diagram-5:

uc Create a New Ballot

Create a new Ballot

5a. Add Issue

5b. Add Choices

5c. Delete Choices

5d. Sav e Ballot

Ballot XML File

Administrator

5. Create a New

Ballot

Page 20: Documentation e-voting Software Engineering

20

Diagram-6:

uc Create a New Election

Create a new Election

6a. Enter Election

Details

Admin Page Use

Cases : Create a

New User

Admin Page

Use Cases :

Create a New

Ballot

6b. Send Request

6d. Post Election

Database

Election XML File

6c. Sav e Election PTC Web Serv ices

Administrator

6. Create a New

Election

Page 21: Documentation e-voting Software Engineering

21

Diagram-7:

uc Tally / Decrypt Votes

Tally / Decrypt Votes

7a. Open an Election

7b. Display Election

Details

7c. Display Votes

Count for the Selected

Ballot

7d. Decrypt Votes

Database

Election XML File

Administrator

7. Tally / Decrypt

Votes

Page 22: Documentation e-voting Software Engineering

22

Diagram-8:

uc Vote for the Election

Online Voting

8a. Open an Election

8d. Submit Vote

Election XML File

8b. Vote for Each

Question

8c. Display Your Vote

PTC Web Serv ices

8. Vote For the

Election

Admin Page

Use Cases :

Display the

Submitted

Vote

Voter

Page 23: Documentation e-voting Software Engineering

23

SEQUENCE DIAGRAM:

Page 24: Documentation e-voting Software Engineering

24

DATA FLOW DIAGRAM:

Page 25: Documentation e-voting Software Engineering

25

DESIGN SPECIFICATION DOCUMENT:

1. Introduction

• Purpose

• Summary

2. System Overview

3. Design Considerations

• Assumptions and Dependencies

• Related software and hardware

• End-user characteristics Possible and/or probable changes in functionality

• General Constraints

• Goals and Guidelines

• Development Methods

4. Architectural Strategies

5. System Architecture

• Sub-System architecture

6. Policies and Tactics

7. Detailed System Design

Page 26: Documentation e-voting Software Engineering

26

E-Voting System

1.Introduction:-

Purposes:-

This document was made on basis of Requirements Documentation so all

requirements of customer was taken into account. However some changes

concerning design of developed LMS can be brought after studying by client of

Design Documentation (DD). Main goal of DD is description of design and structure

of LMS system’s interface. The document is intended first of all for reporting about

implemented work to customer, and also for final coordination with him of

questions connected to design of developed system.

2. Summary:-

This version of design document consist next parts:

Design Considerations – general description of the software system

including its functionality and matters related to the overall system.

Architectural Strategies – this part describe design decisions and strategies

that affect the overall organization of the system and its higher-level structures.

System Architecture – this part gives high-level overview of how the

functionality and responsibilities of system were partitioned and then assigned to

subsystems.

Policies and Tactics – in this part of design document we describes design

policies and tactics which effect on details of the interface and implementation of

various aspects of the system.

Page 27: Documentation e-voting Software Engineering

27

System Overview:-

The overall system design objective is to provide an efficient, modular design that

will reduce the system’s complexity, facilitate change, and result in an easy

implementation. This will be accomplished by designing a strongly cohesion system

with minimal coupling. In addition, this document will provide interface design

models that are consistent, user friendly, and will provide straightforward

transitions through the various system functions.

E-Voting System will allow performing all necessary procedures for polling

and patrons. According to customer requirements the software to be developed

will consist of three databases:

• Item’s database

• All necessary requirements by a customer

It will also provide all necessary services for databases such as creating,

deleting, updating and searching information.

3. Design considerations:-

Assumptions and Dependencies

Related software, hardware and operating system

E-Voting System will be executed on visual studio, SQL server.

End-user characteristics:-

There is no special requirements for users because of E-Voting system will

be quite easy in apply.Possible and/or probable changes in functionality

Page 28: Documentation e-voting Software Engineering

28

All new customers’ requirements will be taken into account. But since

performance’s term is insignificant so probability of changes in functionality

without shifting deadline is very low.

General constraints:-

Hardware

• IBM-compatible PC with Pentium processor and higher

• 50Mbytes free space on HDD

• 32Mbytes RAM

Software

Visual Studio, SQL server

• For Server

Hardware

IBM-compatible PC with Pentium and higher

256Mbytes RAM or higher

80Gbytes free space on HDD

Goals and guidelines:-

Main principle of creating of this system is developing it according to

customer’s requirements. Design of SMS system will be very simple because of two

reasons:

• CMS’s interface has to be similar to ordinary search systems in Internet;

• Implantation term is quite compact.

Page 29: Documentation e-voting Software Engineering

29

Development Methods:-

In initial stage of SMS developing all requirements were studied by

Requirements for developing interface. After its implementation Design

Documentation will be delivered to Tester for completion work on project. One of

the main development methods is that design of system is made using Object

Oriented Design technique.

Architectural Strategies:-

• All data will be stored in a NIF-database (SQL server will be used for

storing data);

• User Interface Engine will provide interactions of SMS with user through

Internet;

• All components of SMS system easily can be modified so it is possible to

extend developing system in future;

• Interfaces in system is not very complex so there is no need some special

technical skill for work with its.

• As mentioned in section 3.2 for best performance system need 256 MB of

physical memory for central database for server and 32Mbytes RAM for

user home PC

• Administrator will have all necessary functions and instructions for

controlling database.

System Architecture:-

E-Voting system has the main components:

• Database managed by an SQL database server.

Page 30: Documentation e-voting Software Engineering

30

• User Interface Engine (by means of this server user interact with

database)

Polices and Tactics

CMS system is developing according to requirements. Main functionality and

logic of system are provided by Web Server and SQL server. CMS provide end users

with friendly interface and library staff with easy installation methods.

After it will be implemented it’s going to be tested by tester. In initial stage

of CMS using system will be serviced by programmers from “Dream Team”

company. If some problems occur during software applying library staff should

address to technical support service.

Detailed System Design

“Dream Team” company has developed all interfaces for E-Voting System.

After consulting “Dream Team” company Project Manager with customer this

variant of interface’s design was accepted for implementation. In Design document

represented only main interfaces.

Page 31: Documentation e-voting Software Engineering

31

TEST_CASE:

Admin Login(for registration of users)

Test Case ID: Login_Admin _T_1

Use Case Ref: Login Admin

Purpose: Verify the user to get access to the system.

Environment Visual Studio , MySQL , Window 7,8,8.1 (professional/ultimate)

Pre-Requirement: The user has to open the software.

Execution

Description:

Admin enters the Username and Password to get access to the

system

Expected Result: System validates the user the main window appears.

Result: Login successfully.

Add other users:

Test Case ID: Add_Voter_T_2

Use Case Ref: Add Voter

Purpose: Enter the Voter data to add Voter in the record.

Environment Visual Studio , MySQL , Window 7 (professional/ultimate)

Pre-Requirement: The user has to be logged in and he has to be on the add users page.

Execution

Description:

User enters the information that are required on the add student

page.

Expected Result: User can add the information.

Result: Voter Added.

Page 32: Documentation e-voting Software Engineering

32

Polling:

Test Case ID: Voter -1 (for polling)

Use Case Ref:

Purpose: For Polling

Environment Visual Studio , MySQL , Window 7 (professional/ultimate)

Pre-Requirement: The user has to be logged in.

Execution

Description:

User enters the information that are required to vote for particular

party on page.

Expected Result: User can add the information.

Result: Vote Added.

Page 33: Documentation e-voting Software Engineering

33

References:

www.free-project.org www.blackboxvoting.com www.elections.state.md.us/ www.mdvotes.org

www.elections.state.md.us/registered_voters/index.html

www.spectrum.ieee.org/WEBONLY/publicfeature/oct02/evot.html

www.votewatch.us "A repository for Voter Complaints"

firstgov.gov/Citizen/Topics/Voting.shtml

www.ecotalk.org/VotingSecurity.html

mainline.brynmawr.edu/~rmercuri/notable/evote.html