Top Banner
CreativeMitians Online National Polling Software Requirements Specification Major Project Team Guide: Mr. Amit Jain HOD (CSE Dept.) Team Members: Rahul Chordiya Lalit Chattar Vikas Patidar Vinod Patidar College Name: Mandsaur Institute of Technology, Mandsaur (Madhya Pradesh) Submitted To: Mr. Pradeep Laxkar Major Project Incharge
34
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CreativeMitians_SRS@TGMC

CreativeMitians

Online National Polling

Software Requirements Specification

Major Project

Team Guide:

Mr. Amit Jain

HOD (CSE Dept.)

Team Members:

Rahul Chordiya

Lalit Chattar

Vikas Patidar

Vinod Patidar

College Name: Mandsaur Institute of Technology, Mandsaur (Madhya Pradesh)

Submitted To:

Mr. Pradeep Laxkar Major Project Incharge

Page 2: CreativeMitians_SRS@TGMC

Online National Polling Version: 1.0

Online National Polling Date: 31/10/2009

Team Name: CreativeMitians

CreativeMITians

MIT Mandsaur 2009

Revision History

Date Version Description Author

31/10/2009 1.0 Synopsis CreativeMITians

Page 3: CreativeMitians_SRS@TGMC

Online National Polling Version: 1.0

Online National Polling Date: 31/10/2009

Team Name: CreativeMitians

CreativeMITians

MIT Mandsaur 2009

Table of Contents

1. Introduction

1.1 Purpose 15

1.2 Scope

1.3 Definitions, Acronyms and Abbreviations

1.4 References

1.5 Technologies

1.6 Overview

2. Overall Description

2.01 Product Perspective

2.02 Software Interface

2.03 Hardware Interface

2.04 Communication Interface

2.05 User Characteristics

2.06 Constraints

2.07 Use-Case Model Survey

2.08 Architecture Diagram

2.09 Database Design

2.10 Assumptions and Dependencies

3. Specific Requirements

3.01 Use-Case Reports

3.02 Supplementary Requirements

Page 4: CreativeMitians_SRS@TGMC

Software Requirements Specification

1. Introduction

1.1 Purpose: The purpose of this project is to develop an online polling system

environment that provides voters to access any ballot via the internet wherever

they are, whenever they like.

We live in a democracy and voting is one of our fundamental duties as

responsible citizens of the country, but nowhere around the country a 100%

people come to vote during the elections in their territory. There have been many

reasons for that some of them are:

In the rural areas the influential people keep their men at the polling booths

to threaten the common man to vote for them.

There are many portions of the country like the North East where there is

locally sponsored terrorism, at such places the security conditions are also

not very bright, so naturally people feel afraid to come out of their houses

and go to vote

Net savvy new generation want hassle free voting system. Also the people in

metros want a system through which they can vote for their territory without

traveling.

Keeping in mind these situations and to improve the state of democracy in

the country Online Polling System can be thought as a solution, in conjunction

with the ongoing current manual voting system. 1.2 Scope:

Basic Features:

Online registration for citizen of India for Voter ID card.

Online registration for candidates for their nomination in election.

Confirmation of identity of voter/end user and will verify whether a voter is

eligible or not on the basis of required parameters.

Validate the registration of voters as well as candidates.

Those already having a Voter ID card can register for the online voting

system.

Candidates can run their election campaign via forum or chat rooms.

Maintains detailed profile of all the candidates according to the

constituency wise.

The system would show the current statistics as well on the web site about

how many votes which candidates have got.

Stakeholders will communicate via discussion forum or mail.

Page 5: CreativeMitians_SRS@TGMC

CreativeMITians

MIT Mandsaur 2009

5

Election Commission Officer can manually add polling results

Once registered when ever polling is done in any area that areas people will

be able to vote for their favorite candidates.

Optional Features:

SMS based inquiry for voting results.

Secure Socket Layer (SSL) connectivity for secure access of confidential data.

1.3 Definitions, Acronyms and Abbreviations:

Voter: A voter is a citizen of India and can cast his vote to the electoral

candidate after valid registration.

Candidate: A candidate is the member of Election Party.

Field Officer: Government Worker’s per constituency for the verification

and validation of the registration of the Voter’s and the Candidates.

Admin/ECO: An Election Commission Officer (ECO) or admin is the super

user of the system and hence ensure the integrity of the whole system.

Admin maintains all the constituency wise records of the Electoral

Candidates, Field Officer’s, and Voter’s.

HTML: Hypertext Markup Language is a markup language used to design

static web pages.

JavaScript: Client side script language for interactive designing of web

pages.

JDBC: Java Database Connectivity.

SSL: Secure Socket Layer.

XML: Extensible Markup Language is a widely used system for defining data

formats. XML provides a very rich system to define complex documents and

data structures.

AJAX: It is an acronym for Asynchronous JavaScript and XML. It's a method

to utilize the abilities of JavaScript, the Document Object Model, and XML to

create interactivity on the web.

Page 6: CreativeMitians_SRS@TGMC

CreativeMITians

MIT Mandsaur 2009

6

EJB: Enterprise Java Beans. It is architecture for the development and

deployment of transactional, distributed object applications-based, server

side software components.

J2EE: Java 2 Enterprise Edition is a programming platform— part of the Java

Platform—for developing and running distributed multitier architecture Java

applications, based largely on modular software components running on an

application server.

DB2: DB2 Database is the database management system that delivers a

flexible and cost-effective database platform to build robust on

demand business applications. It also uses pureXML technology to store

data.

WAS: WebSphere Application Server is an application server that runs

business applications and supports the J2EE and web services standards.

RSA: Rational Software Architect is a designer toolkit which is designed to

develop more complex project by providing fully dynamic services.

RAD: Rational Application Developer is a developer tool which is designed

to develop multitier application using Java technologies.

HTTP: Hypertext Transfer Protocol is a transaction oriented client/server

protocol between web browser & a Web Server.

HTTPS: Secure Hypertext Transfer Protocol is a HTTP over SSL (secure

socket layer).

TCP/IP: Transmission Control Protocol/Internet Protocol, the suite of

communication protocols used to connect hosts on the Internet.

1.4 References:

IEEE SRS Format.

Beginning Database Design - Gavin Powell (Wrox Publisher).

Mastering UML with Rational Rose - Wendy Boggs, Michael Boggs.

Problem Definition (Provided by IBM).

E-Books (Provided by IBM).

Page 7: CreativeMitians_SRS@TGMC

CreativeMITians

MIT Mandsaur 2009

7

1.5 Technologies:

UML.

Java

J2EE

XML

e-Forms

AJAX

Web 2.0

Web-Services

SOA

1.6 Overview:

Overall Description: It will describe major components of the system,

interconnection and external interfaces.

Specific Requirements: It will describe the functions of actors, their role in

the system and constraints.

Page 8: CreativeMitians_SRS@TGMC

CreativeMITians

MIT Mandsaur 2009

8

2. Overall Description

Describe the general factors that affect the product and its requirements.

2.1 Product Perspective:

The web pages (XHTML/JSP) are present to provide the user interface on

customer client side. Communication between customer and server is provided

through HTTP/HTTPS protocols.

The Client Software is to provide the user interface on system user client side

and for this TCP/IP protocols are used.

On the server side web server is for EJB and database server is for storing the

information.

HTML Client (Voter

Or Candidate)

Client Software

(System User)

HTTP/HTTPS

TCP/IP

WebSphere Application

Server

IBM DB2

Client Side Application Server Database Server

Page 9: CreativeMitians_SRS@TGMC

CreativeMITians

MIT Mandsaur 2009

9

2.2 Software Interface:

Client on Internet : Web Browser, Operating System (any).

Client on Intranet : Client Software, Web Browser, Operating System (any).

Web Server : WebSphere Application Server, Operating System (any).

Data Base Server : DB2, Operating System (Windows or Linux).

Development End : RAD (J2EE, Java, Java Bean, Servlets, HTML), DB2,

Operating System (Windows or Linux), Web Server.

2.3 Hardware Interface:

2.04 Communication Interface:

Client on Internet will be using HTTP/HTTPS protocol.

Client on Intranet will be using TCP/IP protocol.

2.05 User Characteristics: Every user should be comfortable of working with computer and net browsing.

He must have basic knowledge of English too.

Client Side

Software Processor RAM Disk Space

Internet Explorer 7.0

Intel Pentium IV At 1 GHz

512 MB 2 GB

Server Side

WebSphere Application Server

7.0

Intel Pentium IV At 2.6 GHz

1 GB 2 GB

DB2 V9.7 Intel Pentium IV At 2.6 GHz

1 GB 2 GB (Excluding Data Size)

Page 10: CreativeMitians_SRS@TGMC

CreativeMITians

MIT Mandsaur 2009

10

2.06 Constraints: Graphical User Interface (GUI) is only in English.

Login name and password is used for identification of user of the system and

there is no facility for visitors.

There is no maintainability of back up so availability will get affected.

Only Indian citizen can cast their vote to the electoral candidates.

Election Commission Officer would insure the integrity of the system because

he will be admin of the system.

Limited to HTTP/HTTPS.

Page 11: CreativeMitians_SRS@TGMC

2.07 Use - Case Model Survey:

Page 12: CreativeMitians_SRS@TGMC

2.08 Architecture Diagram:

Application Layer Business Layer Database Layer

User Login_UI Login

Registration_UI Registration Registration

Forum_UI Forum

Forum_Post

Forum_Reply

Email_UI Email Mail

Voter_UI Voter Voter

Candidate_UI Candidate Candidate

Report_UI Report Report

Result_UI Result Result

Field_Officer_UI Field_Officer Field_Officer

ECO_UI ECO ECO

Page 13: CreativeMitians_SRS@TGMC

2.09 Database Design: Entity Relationship Model –

Page 14: CreativeMitians_SRS@TGMC

Database Schema

Page 15: CreativeMitians_SRS@TGMC

CreativeMITians

MIT Mandsaur 2009

15

2.10 Assumptions and Dependencies: The end user should have a basic knowledge of English language.

The end user should have a basic knowledge of computer usage and internet.

The Voter and Candidate should be able to scan and upload the required

document and photos while applying for registration on the website.

Page 16: CreativeMitians_SRS@TGMC

CreativeMITians

MIT Mandsaur 2009

16

3 Specific Requirements

3.1) Use-Case Reports:

A) ECO/ Administrator: An Election Commission Officer (ECO) or Administrator

will maintain all the constituency wise records of the Electoral Candidates, Field

Officer’s, and Voter’s.

Page 17: CreativeMitians_SRS@TGMC

CreativeMITians

MIT Mandsaur 2009

17

Manage Field Officers:

Page 18: CreativeMitians_SRS@TGMC

CreativeMITians

MIT Mandsaur 2009

18

Name of use case: View Field Officers

Description: View the list of field officers of all the constituencies of a particular

state or whole country.

Preconditions:

Administrator is already logged in.

Administrator user has been already created in system.

Normal flow of events:

Name of state will be selected.

Query will be submitted.

Result will be displayed (If one of the state will be selected then list of all

the field officers will be displayed with other details.)

Alternate flow of events: None

Post Condition: None

Page 19: CreativeMitians_SRS@TGMC

CreativeMITians

MIT Mandsaur 2009

19

Name of use case: Add Field Officers

Description: To add new field officer to a state constituency.

Preconditions:

Administrator is already logged in.

Administrator user has been already created in system.

Normal flow of events:

New login name, password and other details will be entered.

Details will be saved.

Alternate flow of events:

A message appears for duplicate login name.

The administrator has to fill the details again.

Post Condition:

A login id is generated with its details.

Page 20: CreativeMitians_SRS@TGMC

CreativeMITians

MIT Mandsaur 2009

20

Name of use case: Update details of Field Officers

Description: To add update details of Field Officers.

Preconditions:

Administrator is already logged in.

Administrator user has been already created in system.

Normal flow of events:

Select the Field Officer

Edit the profile and other details.

Details will be saved.

Alternate flow of events:

A message appears if any error occurred.

The administrator has to fill the required details again.

Post Condition:

Field Officer’s profile will be updated.

Page 21: CreativeMitians_SRS@TGMC

CreativeMITians

MIT Mandsaur 2009

21

Name of use case: Declare election schedule.

Description: To declare election schedule for ongoing election of various states.

Preconditions:

Administrator is already logged in.

Administrator user has been already created in system.

Normal flow of events:

Select the state and constituency area.

Enter the start and end date and time details.

Details will be saved.

Alternate flow of events:

An error message appears if wrong date will be entered.

The administrator has to fill the required details again.

Post Condition:

Election schedule will display on the website.

Page 22: CreativeMitians_SRS@TGMC

CreativeMITians

MIT Mandsaur 2009

22

Name of use case: Add Constituency Detail.

Description: To add details of constituency of all the states in country.

Preconditions:

Administrator is already logged in.

Administrator user has been already created in system.

Normal flow of events:

Select the state.

Enter the name of constituency.

Submit the information.

Alternate flow of events:

An error message appears for duplicate constituency name.

The administrator has to fill the required details again.

Post Condition: None

Page 23: CreativeMitians_SRS@TGMC

CreativeMITians

MIT Mandsaur 2009

23

Name of use case:-User Action

Description: -To show user functions.

Normal Flow of Event: -User can perform various operations like Cast a vote,

View election schedule, View candidate/own profile, Request for Registration,

view result of election.

Page 24: CreativeMitians_SRS@TGMC

CreativeMITians

MIT Mandsaur 2009

24

Name of use case: - Field Officer

Description - To show Field officer Function

Normal Flow of Event: Field Officer enters User-ID; password after that he can

successfully logged in, and performs much operation. Field officer can perform various

operations like verify to candidate/voter, view polling result, view polling result etc.

.

Page 25: CreativeMitians_SRS@TGMC

CreativeMITians

MIT Mandsaur 2009

25

Name of use case: - Candidate

Description: - To show Candidate function.

Normal flow of events: - Candidate can run election campaign, making vote, view

result/polling schedule, update selected portion of profile, communicate with

voter/user by mail/chat room/forum etc.

Page 26: CreativeMitians_SRS@TGMC

CreativeMITians

MIT Mandsaur 2009

26

Assumptions and Dependencies:

Name of use case: Make Registration

Description: User can register for online voting.

Preconditions: Login ID must be unique.

Normal flow of events:

User enters Login ID and Password and other detail for registration.

If login ID is not unique, enter new login ID and submit form again.

If login ID is unique, your account is created successfully.

Alternate flow of events: None.

Post Condition: None.

Page 27: CreativeMitians_SRS@TGMC

CreativeMITians

MIT Mandsaur 2009

27

Name of use case: Create Account.

Description: If user already registered, she/he can create account by entering

Voter ID card number.

Preconditions:

Login ID must be unique.

User must enter voter ID card number.

Normal flow of events:

If user already have voter ID card, she/he can create account directly by

entering voter ID card no.

If user is new, user must enter login Id password and other detail for

registration.

Alternate flow of events: None.

Post Condition: None.

Page 28: CreativeMitians_SRS@TGMC

CreativeMITians

MIT Mandsaur 2009

28

Name of use case: Verification of voter registration.

Description: Voter registration is verified by field officer.

Preconditions:

User must be verified by field officer before creating account.

Normal flow of events:

User data is send to field officer.

User is verified by field officer, if user is valid, account is created successfully.

If user is not valid, field officer send verification fail mail to user.

Alternate flow of events: None.

Post Condition: None.

Page 29: CreativeMitians_SRS@TGMC

CreativeMITians

MIT Mandsaur 2009

29

Name of use case: Login.

Description: User login in account.

Preconditions:

User must be entering valid login ID and password.

Normal flow of events:

User enters Login ID and Password.

If login ID and password is correct user successfully login in.

Alternate flow of events:

If login ID and password is incorrect, reenter ID and password.

Post Condition: None.

Page 30: CreativeMitians_SRS@TGMC

CreativeMITians

MIT Mandsaur 2009

30

Name of use case: Make vote.

Description: User make vote to favorite candidate.

Preconditions:

User must be 18 year old.

User must have nationality of country.

Normal flow of events:

After login user can vote to favorite candidate.

If any error occurs, show error message.

And user can vote again to candidate.

Alternate flow of events: None.

Post Condition: None.

Page 31: CreativeMitians_SRS@TGMC

CreativeMITians

MIT Mandsaur 2009

31

Name of use case: View profile.

Description: User can view own/candidate profile.

Preconditions:

User must be login in account.

Normal flow of events:

After login user can view own/candidate profile

Alternate flow of events: None.

Post Condition: None.

Name of use case: View election schedule.

Description: User can view election schedule.

Preconditions:

User must be login in account.

User must be registered on site.

Normal flow of events:

After login user can view election schedule.

Alternate flow of events: None.

Post Condition: None.

Page 32: CreativeMitians_SRS@TGMC

CreativeMITians

MIT Mandsaur 2009

32

Name of use case: Run discussion forum.

Description: Candidate can run discussion forum.

Preconditions:

User must be registered on site.

Normal flow of events:

Candidate can run discussion forum.

Communicate with user via forum.

Alternate flow of events: None.

Post Condition: None

Page 33: CreativeMitians_SRS@TGMC

CreativeMITians

MIT Mandsaur 2009

33

Name of use case: Declare result.

Description: ECO can declare result after ending of election.

Preconditions:

Result must be addition of offline and online voting.

Normal flow of events:

ECO add offline and online voting result and declare result.

Alternate flow of events:

If any error occurs ECO must give reason of error.

And again declare the voting result.

Post Condition: None

Page 34: CreativeMitians_SRS@TGMC

CreativeMITians

MIT Mandsaur 2009

34

Supplementary Requirements

24 x 7 Availability - If the base is now the entire world, staying open 24 hours

a day becomes critical. Because system can be an automated Process, so it can

stay open for 24 hours a day. So UPS support must be on server site for at

least 8 hours in case of power failure. System will remain inaccessible to users

at 2:00 to 4:00 am for backup and maintenance purpose.

Dynamic Website - Many early Web implementations consisted of static

HTML pages. This becomes very difficult to manage if the number of pages

gets too large. An effective system should be largely dynamic taking

advantage of technology that automates this process rather than relying on

manual processes. Application should serve dynamic user based customized

web pages to its clients from server.

Integration with existing enterprise systems – Any existing Web site that

relies on the manual duplication of data from another system is one that can

be improved. Most of the business data in the world today exists in enterprise

servers that can be connected to the Web servers to make this process far

more effective.

Provide good performance and the ability to scale the server – The Web

application Server should provide good performance and the ability to

manage performance with techniques, such as support for caching, clustering,

and load balancing.

Providing session management capability - Web application developers

should not spend valuable time worrying about how to maintain sessions

within the application. The Web Application Server should provide these

services.