Polling System
Polling System
-1-
Contents
1 Introduction 1.1 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Definitions, Acronyms, Abbreviations . . . . . . . . . . . . . . . . . . . . . . . 1.4 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 Overview of Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
3 3 3 4 4
2 General Description 5 2.1 Product perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 User Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.3 Product Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.4 Overview of Data Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.5 Assumptions and Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 Specific Requirements 7 3.1 External Interface Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.2 Functional Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.3 Quality Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4 Change Log
-2-
Chapter 1 Introduction
1.1 Purpose
This document is the Software Requirements Specification for the Online Polling System which is being developed as part of an academic course. This document is intended to provide a detailed specification of the requirements for the developers and serve as a means to clearly outline the project features. The general requirements give an overview of the users characteristics, product perspective, and overview of functional and data requirements. The specific requirements give a more refined version of the general requirements.
1.2 Scope
This software is being developed for use by everyone with a simple and self explanatory GUI. This is a software that can be used by people to vote in an election. All the user must do is login and click on his favorable candidates to register his vote. The development and testing is done on Ethernet.
-3-
1.4 References
JVM specification - http://java.sun.com/docs/books/jvms/ An Integrated approach to Software Engineering, by Pankaj Jalote.
-4-
-5-
-6-
Chapter 3
Specific Requirements
3.1 External Interface
There are two external interfaces the GUI's at client end and the user end. The GUI at the server's end enables the client to build the polls. Inputs through the GUI: - Name of the post for election (Poll Question) - Name of the candidates along with photo (Poll options to choose) There will be no limit on the no. of posts or the no. of candidates for each post. The GUI at the user's end will allow the user to vote. -Initially the user will be asked for authentication details. -After being verified as a valid user he will be given a Post and list of candidates for that post as options to vote. -He can vote by clicking against the candidate and confirming it. This is done for each post and then he is given a message that his vote has been registered.
-7-
3.3.1 Security The channels that will be opted for communication between the server-end and user-end of the software shall be encryption supported secure channels. 3.3.2 Reliability Our product must perform consistently in terms of handling multiple users and recording their options as well as allowing them to change without any errors correctly at a later stage. 3.4.3 Maintainability We will be using the Java language which is a pure OOP language to code our product. To improve the readability of the code, we are imposing a coding style within our own group of using indentation to show structure and having appropriate comments. 3.4.4 Portability Since Java code produces platform independent Java byte code on compilation, our Software will be portable to any environment as along as it has a JRE installed. 3.4.5 Usability The application will be easy to use. Since the interaction is only through the GUI's, which are to the maximum extent self explanatory, there will be no problem regarding understandability of the software for the client as well as the users. 3.4.6 Scalability The software does not make any assumptions on the size of the voter base and the number of simultaneous active voters. But this is constrained by the resources made available to the server component. Thus any constraints in the resources available like amount of Physical Memory and Network Bandwidth will impact the performance and also the scalability of the system.
-8-
-9-