View
22
Download
0
Category
Tags:
Preview:
Citation preview
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
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
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
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.
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.
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).
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.
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
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)
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.
2.07 Use - Case Model Survey:
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
2.09 Database Design: Entity Relationship Model –
Database Schema
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.
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.
CreativeMITians
MIT Mandsaur 2009
17
Manage Field Officers:
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
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.
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.
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.
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
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.
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.
.
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.
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.
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.
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.
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.
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.
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.
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
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
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.
Recommended