TGMC

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 23

ALWAR INSTITUTE OF ENGINEERING

& TECHNOLOGY

ONLINE NATIONAL POLLING


SOFTWARE REQUIREMENT SPECIFICATION

Team
LightingTIGERS

Team Members
Ashish Soni
Hemant Kumar Goyal
Sanjeev Kumar Yadav
Trilok Gupta

Project Guide
Mr. Hemant Saini
Index & Tables

1) Introduction: ......................................................................................3.

1.1) Purpose: ............................................................................................3


1.2) Scope: ...............................................................................................3
1.3)Abbreviations:....................................................................................4
1.4) References: .......................................................................................5
1.5) Technologies: ...................................................................................5
1.6) Tools and Development Environment……………………………..6
1.7) Overview…………………………………………………………..6

2) Overall Description:.........................................................................7

2.01) Product Perspective: .....................................................................7


2.02) Software Interface:........................................................................7
2.03) Hardware Interface: ......................................................................8.
2.04) Communication Interface:.............................................................8.
2.05) Product Function:..........................................................................8
2.06) User Characteristics:......................................................................9
2.07) Constraints: ...................................................................................9
2.08) Use-Case Model Survey:...............................................................10
2.09) Database design: ...........................................................................12
2.10) Assumptions and Dependencies: ..................................................13.

3) Specific Requirements: ....................................................................13

3.1) Use-Case Reports:............................................................................13


3.2)Supplementary Requirements: .........................................................22.
Software requirements specification

1 Introduction

1.1 Purpose
The online national polling web application is intended to provide complete
solution for candidate as well as voter through a single gateway using the internet
as the sole medium. It will enable candidate to setup online promises .Voter to
browse through the polling and vote online without having to visit the polling
booth. The election commissioner will enable a field officer to approve and reject
for new voters and maintain various lists of voters according to their area.
This document is meant to delineate the features of ONP, so as to
serve as a guide to the developer on one hand and a software validation document
for the prospective voter on the other.

1.2 Scope
Initial non functional requirements will be:-

 Secure registration and profile management facilities for voters.


 Online registration for the voter id card which will be verified by
the field officers (address and identity validation) .
 After receiving the field officer's report only the registration will be
validated and a voter id will be issued (a photograph will have to
be uploaded) .And any other secure method like digital signature.
 Those already having a voter id card can register for the online
voting system, they will use their voter id as their user name and a
separate password will be used for secure authentication.
 The election commission use the site to let the candidates register
for their nomination on the site and their officers validate it.
 Candidates can run their election campaign through forums and
chat-room.
 A detailed profile of all the candidates constituency wise will be
maintained so that voters can always know about the candidates of
their area.
 Once registered when ever polling is done in any area that areas'
people will be able to vote for their favorite candidates.
 Devise a mechanism that ensures duplicates voting (online &
offline) is not happening.
 The system would show the current statistics as well on the web
site about how many votes which candidates have got.
 Later when the voting ends the administrator can add the manual
poling results to the database to calculate the final results which
will immediately be flashed on the site.
 Facilitate appropriate communication between all stakeholders -
Discussion forum/chat/mail/polls.
 Candidates should be able to modify selected portions of their
profile after registration for nomination like the promises they
make about the things to do after winning the election, their
previous works, their experiences and a comprehensive about me,
etc.

Initial non functional requirements will be:-

 Secure access of confidential data (user’s details). SSL can be


used.

 24 X 7 availability

 Better component design to get better performance at peak time

 Flexible service based architecture will be highly desirable for


future extension

1.3 Abbreviations:
 SLA: SLA is a formal written agreement made between two
parties .The service provider & the service recipient(voter). It
defines the term of engagement - the fundamental rules that
will govern the relationship.
 Support transaction: Communication between election
commissioner and voter regarding service provided, query &
feedback for the product.
 Personal details: Details of voter such as voter name, father’s
name, phone number, address, website, e-mail address etc.
 Contact details: contact Details of voter associated with the
field officer .
 HTML: Hypertext Markup Language is a markup language
used to design static web pages.
 EJB: Enterprise Java Beans.
 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.
 WAS: Web sphere application server is an application server
that runs business applications and supports the J2EE and web
services standards.
 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. TCP/IP uses several protocols, the two main ones
being TCP and IP.

1.3 References
 IEEE SRS Format.
 Problem Definition (Provided by IBM)

1.5 Technologies to be used


UML:- Unified modeling language .

Java: Java is described as a strongly-typed language. This means that all


data must belong to a specific type and that the data type cannot be changed
while the program is executing.

J2EE: J2EE is a compilation of various Java APIs that have previously been
offered as separate packages; an Application Programming Model (APM) (also
known as the J2EE Blueprints) that describes how they can all be combined;
and a test suite J2EE vendors can use to test their products for compatibility.

XML: Extensible markup language is the predominant markup language for


webpages. It provides a means to describe the structure of text based
information in a document and to supplement that text with interactive forms,
embedded images, and other object.

E-Forms: An e-form (electronic form) is a computer program version of a


paper form. Aside from eliminating the cost of printing, storing, and
distributing pre-printed forms, and the wastage of obsolete forms, e-forms can
be filled out faster because the programming associated with them can
automatically format, calculate, look up, and validate information for the user.
With digital signatures and routing via e-mail, approval cycle times can be
significantly reduced. Many software programs include e-forms as an integral
part of the application.

AJAX: Ajax (Asynchronous JavaScript and XML) encompasses much more


than the technologies that make up this catchy acronym. The general term Ajax
describes the usage of various Web technologies to transform the sluggish
batch submission of traditional Web applications into a highly responsive near
desktop-software-like user experience.
.
Web 2.0: The concept of "Web 2.0" began with a conference brainstorming
session between O'Reilly and Media Live International.

Web-services: Web services (sometimes called application


services) are services (usually including some combination of programming
and data, but possibly including human resources as well) that are made
available from a business's Web server for Web users or other Web-connected
programs.

SOA: Service Oriented Architecture (SOA) is a business-centric IT


architectural approach that supports integrating your business as linked,
repeatable business tasks, or services. With the Smart SOA approach, you can
find value at every stage of the SOA continuum, from departmental projects to
enterprise-wide initiatives.

1.6 Tools and Development Environment


• ROSE/RSA / WebSphere Modeler
• Eclipse/ RAD / Lotus Forms Designer / Portlet Factory
• WebSphere Portal/ WAS/ WAS CE / WPS
• DB2 Express – ‘C’ or DB2 UDB
• Tivoli CDP/TSM / Tivoli Directory Server

1.7 Overview:
The rest of this SRS is organized as follow:: Section 2 gives an overall
description of the software .It gives what level of proficiency is expected of
the user, some general constraints while making the software and some
assumptions and dependencies that are assumed. Section 3 gives specific
requirements which the software is expected to deliver. Functional
requirements are given by various use cases. Some performance requirements
and design constraints are also given.
2. Overall Description

2.1 Product perspective:

This project envisages bridging the gap between the candidate and voter.
ONP should be user friendly, ‘quick to learn’ and reliable software for
the above purpose. ONP is intended to be a stand alone product and should not
depend on the availability of other software. It should run on windows based
platform.

2.2 Software Interface:


Client on Internet: Web Browser, Operating System (any)
Client on Intranet: Client Software, Web Browser, Operating System (any)
Web Server : WAS, Operating System (any)
Data Base Server : DB2, Operating System (any)
Development End: WSAD (J2EE, Java, Java Bean, Servlets, HTML),
DB2, OS (Windows), Web Server.
2.3 Hardware interface:

2.4 Communication Interface:


 Client on Internet will be using HTTP/HTTPS protocol.
 Client on Intranet will be using TCP/IP protocol.

2.5 Product Function:

User: Administrator (Election commissioner)


Function: The election commissioner is the super user and has complete
control overall the activities that can be performed. The application notifies
the administrator of all nomination requests, and the administrator can then
approve or reject them. The administrator also manage the list of available
candidates. The administrator can also view and delete candidate’s
nomination.
The administrator can also decide to setup the voting time.

User: Field Officer


Function: General public can submit voter registration request through the
application. When the request is approved by the field officer then the user-
id is provided to voter with a password .the field officer is responsible for
setting up the voting list and maintaining it. Also the field officer can add or
remove voter-id from the list. The field officer can view different reports
and details about user and authorized the voter-id.

User: Voters
Function: A voter can vote through the internet choose candidate from the
candidate list. The details of the candidates can be view by the user. To
proceeds with the vote, the voter is prompted to login. The voters can also
view the polling status of that region.

User: Candidate
Function: A candidate send his nomination request to election
commissioner. And he can also retain his from the nomination list. A
candidate can also add the his promises which will be implemented after
wining the election. The candidate can also view the polling status of his
region.

2.6 User characteristics:


 All the users should be familiar with the ONP related terminology like
registration/nomination/polling/polling status.
 The user should be familiar with the internet.

2.7 Constraints:
 GUI is only in English.
 Login and password is used for identification of voter and there is no
facility for guest.
 This system is working for multiple server.
 There is no maintainability of back up so availability will get effected.
 Limited to HTTP/HTTPS
1. Administrators: Responsible for managing system users, viewing logs and
managing standard groups of the system.
 Database management: Control the database and keep track of all records of
voters and candidate details.
 Contact and Giving permission to candidate: Contact with the candidate and
give permission to show their promises under the site.
 Manage System Users: The Administrator will create different roles. The system
users will be created and will be assigned with the different roles. More than one
task and permissions can be granted or revoked from the system users.
 View Logs: Responsible for checking the logs of different system user for
auditing and maintaining the integrity of the system.
 Manage Standard Groups: Standard candidate groups will be created and
updated by the administrator, which will be visible to all the system users.
 View All Details: View the voter details, candidate details, polling transaction
details.
2. Field officer: Responsible for managing voter details, polling transaction, managing
data, service catalogs and grouping the related customers.
 Manage voters: Record details of new voters, update and view its details. And
authenticate voter by provide id and password.
 Create polls Transaction: Record details of polls, voter id, terms and conditions
and service level agreements.
 Manage Polling/Service Catalogue: Creation and updation of polling/service
details.
 View All Details: View the voter details, candidate details, polling transaction
details.
 Manage Groups: Categorize the voters into local groups according to some
criteria.
3. Candidate: Candidate is a person who stands in election with election sign and
election party.
 Login: Candidate must have a valid login ID to enter into the site.
 Registration: New candidate can sign up by creating new id.
 View and edit own details: Can view /edit his personal details, his promises,
details about service provided.
 Communication: Candidate can communicate with other candidates and he can
watch the current status of polling result.
 Logout: Candidate must logout of the site when he leave.

4. Voter: Person who is facilitated by the system.


 Login: Voter must have a valid login id to enter into the site.
 Registration: New voters can sign up by creating a new id.
 View Candidate Details: Customer can view Candidate’s personal details,
promises, experience of candidate, his background, party & logo sign.
 Giving feedback: Customer can give feedback 
CANDIDATE
vendor
voter Candidate-id
Vendor-id
Voter id Password
Name Voter-id
Password
Address Candidate-id
Name
Email-id Voter detail
Address
Result –id Result-id
Email-id
Promises id
Father’s name
Age
Candidate-id

FIELDOFFICER

FIELDOFFICER-ID
Voter-id
TRANSACTION PROMISES Vendor-id
Password
Transaction-id Promises-id
No of voters Candidate-id
Total votes Promises
Experience
Profession
background RESULT
Result-id

Candidate-id
SLA Transaction-id
FEEDBACK
SLA-id Feedback-id
SLA_name
Voter-id Voter-id
Candidate-id Candidate-id
Remarks

DATABASE DESIGN
2.10 Assumptions and Dependencies:
 The details related to the product, customer, payment and service
transaction provided manually.
 Administrator is created in the system already.
 Roles and tasks are predefined

3 Specific Requirements:
This section of the SRS should contain all the software requirements to a
level of detail sufficient to enable designers to design a system to satisfied
those requirements, and tester to test that the system satisfies those
requirements. When using use-cases modeling, these requirements are captured
in the use cases and the applicable supplementary specifications. If use-cases
modeling is not used, the outline for supplementary specifications may be
inserted directly into this section.

3.1 Use-Case Reports:


In use-case modeling, the use cases often defined the maturity of the functional
requirements of system, along with some non functional requirements .For each
use case in the above use case model or subset thereof, refer to or enclose the use
case report in this section. Make sure that each requirement is clearly labeled.

1. Administrators: Responsible for managing system users, viewing logs and


managing standard groups of the system.
 Database management: Control the database and keep track of all records of
voters and candidate details.
 Contact and Giving permission to candidate: Contact with the candidate and
give permission to show their promises under the site.
 Manage System Users: The Administrator will create different roles. The system
users will be created and will be assigned with the different roles. More than one
task and permissions can be granted or revoked from the system users.
 View Logs: Responsible for checking the logs of different system user for
auditing and maintaining the integrity of the system.
 Manage Standard Groups: Standard candidate groups will be created and
updated by the administrator, which will be visible to all the system users.
 View All Details: View the voter details, candidate details, polling transaction
details.
Database management:

Name of use case: Voter Database.


Description: View the list of voters in a role and view the details of
roles, tasks and permissions assigned to a voter database.
Preconditions:
 Voter is already logged in.
 Voter database has already been created and assigned some password, id for vote.
Normal flow of events:
 The voter database will be selected.
 Query will be submitted.
 Relevant output will be displayed 
Alternate flow of events: None.
Post Condition: None.

Name of use case: Candidate Database.


Description: View the list of candidate in a role and view the details of
roles, tasks and permissions assigned to a candidate database.
Preconditions:
 Candidate is already logged in.
 Candidate database has already been created and assigned some password, id for
vote.
Normal flow of events:
 The candidate database will be selected.
 Query will be submitted.
 Relevant output will be displayed 
Alternate flow of events: None.
Post Condition: None.

Name of use case: Update details of database.


Description: To update the details of candidate and voters (assigning or revoking roles,
tasks and permissions).
Preconditions:
 Administrator is already logged in.
 Database have already been created.
Normal flow of events:
 Select the user name.
 Assign or Revoke the roles, tasks and permissions.
Alternate flow of events: None.
Post Condition: None.

View Logs:
Name of use case: View logs
Description: To view the activities (logs) of the system users.
Precondition:
 Administrator is already logged in.
 System Users have already been created.
Normal flow of events:
 Select user name.
 Select date.
Post Condition: None
Manage System User:

Name of use case: View System Users


Description: View the list of system users in a role and view the details of
roles, tasks and permissions assigned to a system user.
Preconditions:
 Administrator is already logged in.
 System users have already been created and assigned some roles, tasks and
permissions.
Normal flow of events:
 The system user or a role will be selected.
 Query will be submitted.
 Relevant output will be displayed
Alternate flow of events: None.
Post Condition: None.

Name of use case: Create System Users


Description: To create system users (Giving them a login name, password
and assign roles, tasks and permissions to them).
Preconditions: Administrator is already logged in.
Normal flow of events:
 New Login name, password, details, roles, tasks and permissions will be entered.
 Save the details.
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.

Name of use case: Update details of Users


Description: To update the details of system users (assigning or revoking roles, tasks and
permissions).
Preconditions:
 Administrator is already logged in.
 System Users have already been created.
Normal flow of events:
 Select the user name.
 Assign or Revoke the roles, tasks and permissions.
Post Condition: None

2. Field officer: Responsible for managing voter details, polling transaction,


managing data, service catalogs and grouping the related customers.
 Manage voters: Record details of new voters, update and view its details. And
authenticate voter by provide id and password.
 Create polls Transaction: Record details of polls, voter id, terms and conditions
and service level agreements.
 Manage Polling/Service Catalogue: Creation and updation of polling/service
details.
 View All Details: View the voter details, candidate details, polling transaction
details.
 Manage Groups: Categorize the voters into local groups according to some
criteria.
MANAGE VOTER:

Name of use case: Add Voters


Description: To create the details of the new voter.
Preconditions: Field officer is already logged in.
Normal flow of events:
 The details of the voter entered.
 Save the details.
 Creation of the voter will be entered in the log.
Alternate flow of events:
 A message appears for unfilled fields.
 The field officer has to fill the details again.
Post condition: A voter id is generated.

Name of the use case: Add a new contact specific need.


Description: To meet the specific needs of the voter, the field officer can add a new
custom field for the voter.
Precondition: field officer is already logged in.
Normal flow of events:
 Select a voter.
 Save the new data.
 Creation of the contact specific need will be entered in the log.
Alternate flow of events:
If the voter is not present, create the voter.
Post condition: None.

Name of the use case: Add new contact persons.


Description: To create the details of a new contact person of the selected voter.
Precondition: Field officer is already logged in.
Normal flow of events:
 Select voter.
 Enter details of contact person.
 Save new data.
 Updation of the contact person will be entered in the log.
Alternate flow of events:
 If voter id not present create voter.
Post condition: None

Name of use case: Update voter.


Description: Any updation in the details of the voter can be made.
Precondition: Field officer is already logged in.
Normal flow of events:
 Select voter.
 Voter’s data updated.
 Save the changes.
 Updation of the voter will be entered in the log.
Alternate flow of events: None.
Post condition: None.
Name of the use case: View voter details.
Description: View the personal details of the selected voter.
Precondition: Field officer is already logged in.
Normal flow of events:
 Select voter.
 The details of voter viewed.
Alternate flow of events: None
Post condition: None.

Manage group

Name of the use case: Create a group


Description: A new group is created.
Precondition: Field officer is already logged in.
Normal flow of events:
 Enter a group name.
 Enter its description.
 Save the new data.
 Creation of the group will be entered in the log.
Alternate flow of events:
Post condition: None.

Name of the use case: Group the related voter.


Description: The related voters are added in the selected group.
Precondition: Group name and vote should be already present.
Normal flow of events:
 Select group name.
 Add the voters to the selected group.
 Grouping information will be added in the log.
Alternate flow of events:
 If the group doesn’t exists, create a group name
 If the voter is not present, create the voter.
Post condition: None.

3. Candidate: Candidate is a person who stands in election with election sign and
election party.
 Login: Candidate must have a valid login ID to enter into the site.
 Registration: New candidate can sign up by creating new id.
 View and edit own details: Can view /edit his personal details, his promises,
details about service provided.
 Communication: Candidate can communicate with other candidates and he can
watch the current status of polling result.
 Logout: Candidate must logout of the site when he leave.

Name of the use case: View the voters in the selected group.
Description: The voters added in a group can be viewed.
Precondition: Group name and voter should be already present.
Normal flow of events:
 Select group name.
 The voters in the selected group is shown.
Alternate flow of events:
 If the group doesn’t exists, create a group name
 If the voter is not present, create the voter.
Post condition: None

4. Voter: Person who is facilitated by the system.


 Login: Voter must have a valid login id to enter into the site.
 Registration: New voters can sign up by creating a new id.
 View Candidate Details: Customer can view Candidate’s personal details,
promises, experience of candidate, his background, party & logo sign.
 Giving feedback: Customer can give feedback 
Name of use case : View history of candidate.
Description : administrator can view history of candidate according to many
criteria, like
 candidate name
 Contact person
 Date
 Time
 e-mail
 chat
 meetings
 Subject
 Feedback
 Name of the party
 The election sign
Normal flow of events :
 Select a criteria stated above
 History will be visible to voter & adminstrator
Post condition: Activities are registered in Log.
Assumptions: Use cases Manage candidate, Create database, Manage poling/ service
has been created.

3.2 Supplementary Requirements:


 Have hours of operation that are 24 x 7 - Because system can be an automated
process, so it can stay open for 24 hours a day. If the base is now the entire world,
staying open 24 hours a day becomes critical. System is required to be available 24X7 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.
 Make the existing Web site more dynamic in nature - 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.
 Tie the existing Web site into 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.

You might also like