Software Requirements Specification




Statistical Analysis Tool



Version 1.0



Prepared by

Padmaja Havaldar

Kansas State University






Table of Contents

1. Introduction

1.1 Purpose

    1.1.1 Document Purpose

                            1.1.2 Intended audience

1.2 Scope
1.3 Definitions, Acronyms, and Abbreviations
1.4 References
1.5 Overview of Document

2. General Description

2.1 Product Perspectives
2.2 Product functions

2.3 User Characteristics
2.4 Constraints
2.5 Assumptions and Dependencies

3. Special Requirements

3.1 External Interface Requirements

3.2 Infrastructure Requirements

    3.2.1 Hardware

    3.2.2 Software
3.3 Detailed Description of Functional Requirements

3.3.1 Login Requirement
3.3.2 Registration Form Requirement
3.3.3 Analysis Requirement

            3.4 Performance Requirement

4 Quality Attributes






1.      Introduction


1.1.   Purpose

1.1.1.      Document purpose

This document describes the function and the performance requirements allocated to the statistical analysis web-based project. In the following sections, it specifies the requirements of the system in respect to the audience.


This document along with the functional prototype and the complete set of requirements documents, all listed below, completely specify the system requirements


1.1.2.      Intended audience

The intended audience to use this tool is the faculty, staff, students and alumni of the statistics department of Kansas State University. People interested in performing statistical analysis can also make use of this tool.


The overall vision of the project is to provide the audience with a unified place to access the data about the members and make use of the tool to apply statistical analysis to the data.


1.2.   Scope

This software requirements specification is being developed for the statistical analysis tool. The tool will essentially perform four kinds of analysis namely, regression, correlation, hypothesis test, and chi-square test depending on the research questions specified on the alumni website. The output will then be displayed in the form of tables or graphs on the webpage. The data source for this analysis is the statistics alumni information. The purpose of this analysis is to help research in the department of statistics.


      1.3.   Definitions, Acronyms, and Abbreviations

      SAT – Statistical Analysis Tool


Hypothesis test-(t-test): A hypothesis test, sets up and tests some hypotheses, usually some theory is put forward, either because it is believed to be true or because it is to be used as a basis for argument, but has not been proved, for example, claiming that a new drug is better than the current drug for treatment of the same symptoms.


Chi square test: The Chi-square Test is a test of statistical significance widely used for bivariate data analysis. Typically, the hypothesis is whether or not two populations are different in some characteristic or aspect of their behavior based on two random samples.


1.4.   References

IEEE STD 830-1998, "IEEE Recommended Practice for Software Requirements Specifications". 1998 Edition, IEEE, 1998.

Dr. Scott Deloach’s CIS748 lecture notes “

        1.5.   Overview

This document provides a description of the requirements for the SAT. Section 2 of the Software Requirement Specification gives the detailed descriptions of the package including the major components and product design.  Section 3 provides specific functional requirements of the different components of SAP and the performance criteria.


2.      General Description


2.1.   Product perspectives

The SAT is a web-based application and hence will require a browser like the Internet Explorer 4.0 or Netscape 4.08. The application will be able to connect to remote server and will have an oracle database server. It will use J2EE technology for its development. The package is independent of any other application.

The J2EE application will be three-tier application with the client tier on the client machine, the web tier and the business tier (business logic) on the J2EE server machine and the database tier composed of the database. The business tier or the business logic will be provided by Enterprise Java Beans and the web tier will be provided by servlets and JSP pages.


2.2.   Product functions

The members will be able to register online with a login name and password. This information is verified with the information in the database and the member is appended.

The members will be able to add, modify or delete the information provided by them when they register.

The members will be able to select a research question to be analyzed and analysis will be done and the results will be displayed in the form of a graph or table. Depending on the research question; regression, hypothesis test, chi-square test or correlation analysis will be performed.


2.3.   User characteristics

Basic knowledge of using computers is adequate to use this application. Knowledge of how to use a mouse or keyboard and internet browser is necessary. The user interface will be friendly enough to guide the user.


2.4.   Constraints

Access to the web is required. As for the developer constraints, the alumni information was not available for security reasons. Many assumptions about the data had to be made. The learning curve was steep.


2.5.   Assumptions and Dependencies

It is assumed that alumni data will be made available for the project in some phase of its completion. Until the, test data will be used for providing the demo for the presentations. It is assumed that the user is familiar with an internet browser and also familiar with handling the keyboard and mouse.

Since the application is a web based application there is a need for the internet browser. It will be assumed that the users will possess decent internet connectivity.


3.      Special Requirements

     3.1.   External interface Requirements

      The member has to register using a form provided on the website. The user can input data with the help of the keyboard or click with the mouse   

      wherever necessary. The package provides pull down menus from which the user can select and links and icons to navigate among the web   



3.2.   Infrastructure Requirements

Since the tool is web-based statistical analysis tool, it will use best-practice web generation tools and tested technologies. Oracle will be used for storing the information about the users and J2EE will be used as an application framework with the help of Enterprise Java Beans to develop the functionality and the business logic of the application.


3.2.1.       Hardware            Clients                  Intel Pentium III 300 MHz or 1.0 GHz Athlon or faster                  At least 256 MB RAM                  At least 200 MB freed hard disk space.            Database Server                  Use the available oracle database server.

3.2.2.       Software            Web                  Internet Explorer or Netscape Navigator            J2EE Application Server                  The deploy tool from Sun will be used to maintain the EJB’s.




3.3.   Detailed Description of Functional requirements


3.3.1.      Login Requirement

Purpose: Provides member authentication


Inputs: Inputs are through the keyboard and mouse clicks.


Processing:  The input is verified by checking if the member already exists in the database.


Outputs: The correct input will result in the next page i.e the analysis page being loaded. If the input is incorrect then an error message will be displayed.



3.3.2.      Registration Form Requirement

Purpose: Registration of a non-member.


Inputs: Inputs are through the keyboard and mouse clicks.


Processing:  The input is validated using client side as well as server side validation. The client side validation will include checks for missing information in the required fields and other text fields like email and phone numbers will be checked for validity. The server side validation will involve checking if the username entered is already used by a member in the database. The appropriate error messages are displayed if the input is not acceptable


Outputs: The member is directed to the main page on successful registration.



3.3.3.       Analysis Requirement

Purpose: The research question is selected to perform analysis like regression.

Inputs: Input will be the research question selected by the user and consequently the data that the user wants to use for the analysis.


Processing:  Depending on the research question, the appropriate statistical analysis is performed with the help of the EJB which provide the middle layer in this three tier application. It can be regression analysis, correlation, hypothesis test or the chi square test.

If an invalid input is entered, there will be appropriate error messages handled by using java exceptions in the java programs (EJB’s and Servlets). The HTML will include java scripts to handle error checks at the client side. Thus both client-side and server-side errors and exceptions will be handled completely within the application. The SAT will also undergo rigorous testing with various inputs to check whether the analysis is being conducted correctly and that all invalid inputs are not accepted.


Outputs: The output will be a graph or table of the analysis results displayed on the web browser page.





3.5.   Performance requirements

3.5.1.       The application should be portable and possible to users of Netscape Navigator as well as Internet Explorer.

3.5.2.       Since the application will be displaying graphs for the analysis, the response time for a particular analysis should be not be greater   

                than 3-4 seconds for a respectable internet connection speed.

3.5.3.       The database should be scalable; it must have the capacity to hold large number of users in future. There are about 50 students  

                currently enrolled in the master’s and PhD program in the statistics department and the number of enrollment increases every     

                year. There are around 10 students graduating from this department every year. Assuming that the department uses this   

                website for the next 20 years, the alumni should number around 200 students henceforth. If we include the students already    

                graduated and the current students and faculty besides other users using the website, the number of users will be            

                approximately 500. Oracle is scalable enough to meet these requirements for the next 20 years.

3.5.4.       The number of connections to the system should not slow down the application to a large degree.

3.5.5.       The data for the analysis will be obtained from the database of users, so the response time for a query from the client side to the   

                database side should not be more than 5seconds.

3.5.6.       Error handling should be implemented and the application should be able to handle all run time errors.

3.5.7.       The application should be flexible for future enhancements, for example, the addition of a few more research analysis questions.


The package is web based and performs statistical analysis. The members are first registered and their information is updated in the database. Once they log in, they can perform the statistical analysis. There is a list of research questions for which analysis is performed and the results displayed in the form of graphs or tables. The members can also conduct a search for a particular alumnus given the alumni member’s name and his year of graduation. The list of alumni for a particular should also be displayed on request.



4.      Quality attributes

The application will be composed of Enterprise Java Beans which serve as the business logic layer and Java servlets and JSP pages which serve as the web tier. All the code will be documented using current standards and documentation will be provide to the user to make use of the application. Added documentation will include the System Delivery Document which will document the installation procedure. Remote availability will depend on an active Internet connection.

Testing for the application will be followed as a continuous process followed in parallel to the requirements, design and implementation phase. This will include a pre-testing phase, which validates the requirements of the system and also provides a feasibility study on the project. The next phase will be the testing phase which will include testing the complete application after implementation. Unit testing, functional testing, white box testing for the code and the black box testing of the application as a whole unit will be a part of the testing phase. Thus the product will be thoroughly tested for each functional requirement and documented for its reliability.



Appendix A





Figure 1-1 Multitiered Applications