courses.utep.educourses.utep.edu/portals/870/srs scats v1.2.docx · web viewthe purpose of the...

61
UTEP Software Engineering Statistics, Correlation, and Trend- Analysis System (SCATS) Software Requirements Specification Version 1.2 1 March 26 February 10 , 2010 2009 UTEP Software Engineering SRS Scats.doc

Upload: doandang

Post on 02-Apr-2018

219 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

UTEP Software Engineering

Statistics, Correlation, and Trend-Analysis System (SCATS)

Software Requirements SpecificationVersion 1.21

March 26February 10, 2010

2009 UTEP Software Engineering SRS Scats.doc

Page 2: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Document Control

ApprovalThe Guidance Team and the customer shall approve this document.

Document Change ControlInitial Release: 12/15/2009

Current Release: 32/2610/2010Indicator of Last Page in Document:

Date of Last Review: 32/261/2010Date of Next Review: TBD

Target Date for Next Update: TBD

Distribution ListThis following list of people shall receive a copy of this document every time a new version of this document becomes available:

Guidance Team Members:Dr. Steve RoachDr. Tanja MagocMs. Evelyn TorresMr. Chris Cuellar

Customer: Dr. Craig TweedieCS4310 Software Teams:

Six PistolsSecuri ProrsusLinear Zione

Change SummaryThe following table details changes made between versions of this document

Version Date Modifier Description0.1 12/16/09 Roach Initial combination from Secui Prorsus and

Six Pistols0.2 12/21 Magoc, Roach Use Cases0.4 12/31 Roach Revised use cases1.0 1/31/10 Magoc Sections 4, 5, 6 reviewed1.1 2/27/10 Roach, Magoc Revisited all sections and added the

dynamic model1.2 3/26/10 Magoc Added ER for database schema

UTEP Software Engineering Date

Page

Page 3: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

TABLE OF CONTENTSDocument Control ii

APPROVAL ..................................................................................................................................... II DOCUMENT CHANGE CONTROL ..................................................................................................... II DISTRIBUTION LIST ........................................................................................................................ II CHANGE SUMMARY ....................................................................................................................... II

1. INTRODUCTION ...................................................................................................................5

1.1. PURPOSE AND SCOPE OF PRODUCT ..................................................................................... 5 1.2. INTENDED AUDIENCE .......................................................................................................... 5 1.3. OVERVIEW .......................................................................................................................... 5 1.4. DEFINITIONS, ACRONYMS, AND ABBREVIATIONS ............................................................... 6

1.4.1. Definitions ...................................................................................................................61.4.2. Acronyms and Abbreviations ......................................................................................8

1.5. REFERENCES ....................................................................................................................... 9

2. GENERAL DESCRIPTION .................................................................................................10

2.1. PRODUCT PERSPECTIVE .................................................................................................... 10 2.2. USER CHARACTERISTICS AND ACTOR DESCRIPTIONS ...................................................... 10 2.3. PRODUCT FEATURES ......................................................................................................... 10

2.3.1. Use Case Description ................................................................................................112.3.1.1. Use Case #1: Create/Modify Data Table ............................................................................................11

2.3.1.1.1. Scenario 1: Create Data Table from Weather Data ......................................................................122.3.1.1.2. Scenario 2: Create Data Table by Reducing an Existing Data Table ...........................................142.3.1.1.3. Scenario 3: Create Data Table by Selection .................................................................................142.3.1.1.4. Scenario 4: Create Data Table by Combining Two Tables ..........................................................152.3.1.1.5. Scenario 5: Create Data Table by Gap Filling .............................................................................162.3.1.1.6. Scenario 6: Create Data Table by Standardizing .........................................................................172.3.1.1.7. Scenario 7: Create Data Table by Calculating Moving Average .................................................17

2.3.1.2. Use Case 2: Plot Data .........................................................................................................................182.3.1.3. Use Case 3: Calculate Descriptive Statistics ......................................................................................192.3.1.4. Use Case 4: Generate Extrapolated Map ............................................................................................192.3.1.5. Use Case 5: Compute Trends and Correlation ....................................................................................20

2.4. OPERATING ENVIRONMENT .............................................................................................. 21 2.5. GENERAL CONSTRAINTS ................................................................................................... 21 2.6. ASSUMPTIONS AND DEPENDENCIES .................................................................................. 21

3. EXTERNAL INTERFACE REQUIREMENTS .................................................................22

3.1. USER INTERFACES ............................................................................................................. 22 3.1.1. Default Interface Features ........................................................................................223.1.2. SCATS Entry Page ....................................................................................................223.1.3. Data Table Creation .................................................................................................223.1.4. Descriptive Statistics .................................................................................................233.1.5. Correlation and Trends .............................................................................................233.1.6. Plots and Output .......................................................................................................233.1.7. Map Extrapolation ....................................................................................................243.1.8. Help ...........................................................................................................................24

3.2. HARDWARE INTERFACES .................................................................................................. 24 3.3. SOFTWARE INTERFACES .................................................................................................... 24 3.4. COMMUNICATIONS INTERFACES ....................................................................................... 24

4. BEHAVIORAL REQUIREMENTS ....................................................................................25

UTEP Software Engineering Date

Page

Page 4: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

4.1. SAME CLASS OF USER ...................................................................................................... 25 4.2. RELATED REAL-WORLD OBJECTS ..................................................................................... 25

4.2.1. Weather Station .........................................................................................................254.2.2. Weather Data ............................................................................................................25

4.3. RELATED FEATURES ......................................................................................................... 25 4.3.1. Data Table Creation .................................................................................................254.3.2. Calculate Descriptive Statistics ................................................................................254.3.3. Compute Correlation and Trends .............................................................................254.3.4. Plot Data ...................................................................................................................264.3.5. Generate Extrapolated Map ......................................................................................26

4.4. STIMULUS .......................................................................................................................... 26 4.4.1. General Stimulus Requirements ................................................................................264.4.2. SCATS Entry Page ....................................................................................................274.4.3. Data Table Creation .................................................................................................27

4.4.3.1. From Database Data ............................................................................................................................284.4.3.2. From Data Selection ...........................................................................................................................294.4.3.3. From Data Reduction ..........................................................................................................................294.4.3.4. From Combining Data ........................................................................................................................304.4.3.5. From Gap Filling ................................................................................................................................304.4.3.6. From Data Standardization .................................................................................................................314.4.3.7. From Moving Averages ......................................................................................................................31

4.4.4. Descriptive Statistics .................................................................................................324.4.5. Correlation and Trends .............................................................................................324.4.6. Plots and Output .......................................................................................................324.4.7. Map Extrapolation ....................................................................................................32

4.5. FUNCTIONAL ..................................................................................................................... 33

5. NON-BEHAVIORAL REQUIREMENTS ..........................................................................34

5.1. PERFORMANCE REQUIREMENTS ........................................................................................ 34 5.2. SECURITY .......................................................................................................................... 34 5.3. QUALITATIVE REQUIREMENTS .......................................................................................... 34

5.3.1. Availability ................................................................................................................345.3.2. Maintainability ..........................................................................................................345.3.3. Portability .................................................................................................................34

6. OTHER REQUIREMENTS .................................................................................................35

6.1. DATABASE ........................................................................................................................ 35 6.2. OPERATIONS ...................................................................................................................... 35 6.3. SITE ADAPTATION ............................................................................................................. 35

7. APPENDIX A: STATIC MODEL .......................................................................................36

8. APPENDIX B: DYNAMIC MODEL ...................................................................................37

9. APPENDIX C: FUNCTIONAL MODEL ...........................................................................38

10. APPENDIX D: DATABASE SCHEMA ..........................................................................40

11. APPENDIX E: DATA REDUCTION EXAMPLE ........................................................41

UTEP Software Engineering Date

Page

Page 5: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

1. IntroductionThis section describes the purpose, intended audience, and overview of the document as well as the scope and intended use of the systems being developed.

1.1. Purpose and Scope of ProductThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise description of the functionality of the Statistics, Correlation, and Trend-Analysis System (SCATS). The SRS will serve as a reference for the development teams during the design, implementation and verification phases; the SRS is also an agreement between the client and the development teams regarding the functionality the finished product will perform.

In recent years, the earth has experienced drastic climate changes. It has become of great importance to understand and study these changes and their impact on the human race. Scientists all over the globe including at the Systems Ecology Lab at University of Texas at El Paso (UTEP) have put an enormous amount of effort into gathering and analyzing weather data. Currently, the UTEP research team utilizes the Circuma Arctic Environmental Observatories Network (CEON) web-based mapping and information system. CEON allows access to near real-time reports of earthquakes, climate data, webcam images, climate data query and plotting tool. The success of this powerful application has inspired interest in extending both the functionality of the system and the geographical scope to which it applies. SCATS will serve as an extension to CEON which will allow users to access historical environmental data from weather stations from across the North American cContinent. SCATS will allow users to conduct a variety of descriptive statistical analyses on gathered data, plot the results on of the statistical analyses, conduct correlation and trend analysis on the data gathered by numerous weather stations, and generate a map extrapolation based on available data.

1.2. Intended AudienceThe intended audience of this document is the client, the Guidance Team, and the software development teams.

1.3. OverviewThe SRS is divided into six major sections. These sections are: Introduction, General Description, External Interface Requirements, Behavioral Requirements, Non-Behavioral Requirements, and Other Requirements.

The Introduction defines the purpose of SCATS and its scope in the larger extension of CEON, the intended audience of the SRS, and definitions of terms, acronyms, and abbreviations used in the SRS.

The General Description is composed of six subsections: Product Perspective, User Characteristics and Actor Description, Product Features, Operating Environment, General Constraints, and Assumptions and Dependencies. Product Perspective describes SCATS’ role in the UTEP Systems Ecology Lab in relation to other systems this lab has developed. Product Features describes the specific functionalities that SCATS will provide. User Characteristics and Actor Description provides a general description of the potential users of the system as well as a description of the external entities that will interact with the system. Operating Environment describes the hardware and software platforms that SCATS will be compatible with and software that SCATS will co-exist with. General Constraints describe the development environment in which SCATS will be

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page5

Page 6: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

developed. Assumptions and Dependencies describe those facts about the world that the development teams have assumed will be true when SCATS is implemented.

The External Interface Requirements are those that describe how SCATS will be viewed by external entities and contain the subsections: User Interfaces, Hardware Interfaces, Software Interfaces, and Communications Interfaces. User Interfaces describes the graphical user interface that will be presented to the end users. Hardware Interfaces describe how SCATS will interact with hardware components necessary to run SCATS. Software Interfaces describe how SCATS will interact with other programs that are necessary for it to run. Communications Interfaces describe how SCATS will communicate with other systems.

The Behavioral Requirements section describes the functionalities that SCATS will provide and how the system will respond to a user’s input. This section includes the following subsections: Same Class of User, Related Real-World Objects, Stimulus, Related Features, and Functional. Same Class of User describes what functionalities will be available to the different users of the system. Related Real-World Objects describes everything that SCATS models that has a counterpart in reality. Stimulus describes both the various types of stimulus to which SCATS must respond and how SCATS will respond to these stimuli. Related Features describe those functionalities of SCATS that require specific sequences of inputs and these sequences. Functional requirements subsection describes the central functional requirements of SCATS that will provide the requested functionalities described in the Product Features section of the Introduction.

The Non-Behavioral Requirements section describes attributes and qualities of SCATS that must be met while satisfying the requested functionalities described in the Product Features section of the Introduction. It covers the performance and security requirements, as well as qualitative requirements with respect to availability, maintainability, and portability.

The Other Requirements section describes the database schema of the database management system with which SCATS will interact, any special operations and adaptations to a specific installation.

1.4. Definitions, Acronyms, and Abbreviations

1.4.1. Definitions

DEFINITION DESCRIPTIONAdobe Flex An open source framework for building and maintaining web

applications. Attribute A property that describes a data entity. For a complete list of attributes

and their corresponding entities refer to the ER diagram in Appendix A.Best Fit Function The regression function with the smallest correlation coefficient among

those regression functions calculated on a specified set of data.Box Plot Graphical representation of a data set depicting the data set’s minimum

value, maximum value, median, range, and quartile values.Button A graphical user interface object that can be clicked to trigger an event.Confidence Interval An estimated range of values which is likely to include an unknown

population parameter. Correlation A measure of the degree to which two variables move together.

Data Table A collection of data organized in rows and columns. The leftmost column contains the date and time of the data in a given row. Each column to the

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page6

Page 7: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

right of the date and time contains data for a given instrument on a given weather station at that date and time. The data in any column might contain raw data (such as temperatures taken directly from a thermometer) or computed data (such as the hourly average temperature or a temperature computed from a correlation).

Descriptive Statistics Functions

The following set of functions: min, max, mode, median, mean, standard deviation, skewness, kurtosis, standard error, 95% confidence interval, and range. These functions are defined in [6].

Entity An object from the real world that is modeled by SCATS, or that SCATS interacts with.

Extrapolated Map An output to the user that displays either data or the results of statistical analyses over a continuous geographic region where the data are only available for discrete locations.

Extrapolation The process of converting discrete data points into a continuum of values between the discrete points.

Gap A place in a data file where a regular temporal pattern is disrupted. For example, a data file may have data for an instrument stored for every hour, but in one spot, the hourly reading is missing. For the definition of a gap, see the description in the step 3 of the scenario described in the section 2.3.1.1.5.

Gap Filling A method of calculating values to fill the entries in data table where gaps are found. For the gap filling method, see the step 5 of the scenario described in the section 2.3.1.1.5.

Histogram A graphical display of tabulated frequencies, which consists of columns, one for each bin, whose height is determined by the number of observations of the bin.

Instrument A measuring device that captures weather data.

Instrument Data Type A type of climate data that is measured by an instrument located on a weather station. The instrument data types are: weather condition (e.g., clear, thunderstorm), temperature in C, relative humidity, wind direction, wind degree, wind speed in mph, pressure in mb, dew point in C, heat index in C, windchill in C, visibility in km.

Kurtosis A measure of the "peakedness" of the probability distribution of a real-valued random variable.

Location A geographical position measured by a latitude and longitude.Mode The most frequently occurring value in a set of data.Mode Time Interval The mode of time intervals between two consecutive rows of a column

such that row entries in the column contain weather data. Mode Time Interval of a Table

The maximum of the mode time intervals of columns in the table.

Moving Average A technique to smooth a large set of data by averaging n consecutive points.

PHP A scripting language designed for producing dynamic web pages. PostgreSQL An object-relational database management system.

Prioritized List The list of weather stations provided by the client. The weather

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page7

Page 8: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

stations in this list are sorted by priority levels. Priority List The list of weather stations sorted by their priority levels. The priority list

is saved in the weather database. that belong to the level 1 of the prioritized list.

Priority Level Each weather station is assigned a priority level from the set {1,2,3,4} with 1 having the highest priority and 4 having the lowest priority. The priority levels are assigned by the client (this task is outside of the scope of SCATS).

Quartile Any of the three values that divide the sorted data set into four equal parts, so that each part represents one fourth of the sampled population.

R A language and environment for statistical computing and graphics [6].

Radio Button A button to allow users to select an option from a list that is designed to limit user selections to one.

Range Difference between the minimum and maximum value of a data set.

Regression A process of calculating a regression function.

Regression Function A function that models a set of data by minimizing the sum of distances from each data point to the function.

Scatter Plot A graphical representation of data involving two or more variables, in which each data point is plotted in a coordinate plane, with one variable labeled along the horizontal axis, the other along the vertical axis.

Scroll Bars The bars at the bottom and right edge of a window whose contents are not entirely visible. Each scroll bar contains a small box that, when moved, moves the contents within the window.

Skew A measure of the asymmetry of the probability distribution of a real-valued random variable.

Standard Deviation The average difference of the values from the mean of the distribution. Standard Error An estimate of the standard deviation, derived from a particular sample

used to compute it.Standardized Data Table A data table that has time entries with a fixed time interval between rows. Text Box A graphical user interface element that accepts text input.Time Interval The time unit that user wants to consider when analyzing data. Data are

considered to be constant over this interval. An example time interval is one hour.

Time Point A point in time defined by a date and time. Time Range The time between some initial date and time and some final date and time.

Typically, this will be the time range of interest for some study.Trend A correlation between a variable and time. Weather Station List A list of weather stations selected by a user to create a data table.

1.4.2. Acronyms and Abbreviations

Acronyms and Abbreviations

Meaning

CEON Circumartic Environmental Observatories Network

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page8

Page 9: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

DFD Data Flow Diagrame.g. For ExampleER Entity Relationships DiagramGUI Graphical User Interfacei.e. Such asID IdentificationIE Internet ExplorerPHP Hypertext Pre ProcessorSRS Software Requirements SpecificationSTD State Transition DiagramUTEP University of Texas at El Paso

1.5. References[1] Tweedie, Craig. First interview. 8 September 2009.[2] Tweedie, Craig. The Correlators and Linear Zione interview. 15 September 2009.[3] Tweedie, Craig. Secui Prorsus and Six Pistols interview. 15 September 2009. [4] Tweedie, Craig. Guidance team interview. 15 January 2010. [5] Team Correlators, Team Linear Zione, Team Secui Prorsus, Team Six Pistols. SRS, December

2009.[6] Dalgaard, P., Introductory Statistics with R. New York: Springer, 2002.[7] R-Project.org. “What is R?” [Online] Available: http://www.r-project.org/, [Accessed: September

15, 2009].[8] Galitz, W., The Essential Guide to User Interface Design, Wiley, 2007.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page9

Page 10: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

2. General DescriptionThis section describes the system being developed with respect to the main features of its functionality as well as the intended user characteristics.

2.1. Product PerspectiveSCATS is an extension to the CEON system currently being used in the UTEP Systems Ecology Lab. The CEON application provides near-real time access to environmental monitoring data streams and has become an important tool for the study of climate change. Its success has created the desire to expand the application since CEON focuses only on the arctic region of the globe; SCATS will enable this extension to allow scientists to monitor weather data from the North America region. The SCATS user interface will be significantly based on the CEON user interface. SCATS will include additional functionality over CEON such as correlation, trend and statistical analysis, and the ability to view analysis results as a graph, table, or an extrapolated map.

2.2. User Characteristics and Actor DescriptionsThe system will be available via the World Wide Web, and therefore, there will be a wide variety of users who have access to the system. The system is intended for scientists who are knowledgeable about statistics and climate data. The intended audience will have post-secondary education. We assume that these users are familiar with web interfaces. The audience may include occasional users, and thus, the system should guide users to the completion of given tasks.

An actor is an external entity that interacts with the system to achieve a valuable goal. An actor may represent a human, a device, or another software system. In this section, a description of the actors shown in the use case diagram in Figure 1 is provided.

User: A user is any human that interacts with the system to obtain descriptive statistics, correlation or trend analysis results, or an extrapolated map.

Weather Database: This actor provides weather data to the system. The database is a repository of weather data that may come from a variety of sources.

Statistical Software Package: This actor calculates descriptive statistics, correlation and trends, and plots data. An example of the statistical software package is R.

2.3. Product FeaturesAll the functionality of SCATS will depend upon weather data being available in the form of tables. Users will have the option to create a data table based on their choice of weather stations that provide data values from instrument readings, the type of data, and the time range. Once the data tables are created users can modify the tables or perform analysis on the data contained in these tables. The analysis functions include descriptive statistics, correlation, and trend analysis, plotting data, and generating an extrapolated map.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page10

Page 11: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

Figure 1: Use Case Diagram

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page11

Page 12: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

2.3.1. Use Case Description A use case describes the interactions between the actors and the system. This subsection describes the use cases for the system.

These descriptions depend on the concept of a data table. A data table is a collection of data organized in rows and columns. The leftmost column contains the date and time of the data in a given row. Each column to the right of the date and time contains data for a given instrument on a given weather station at that date and time. The data in any column might contain raw data (such as temperatures taken directly from a thermometer) or computed data (such as the hourly average temperature or a temperature computed from a correlation). Invariants:

1. At any moment, the user can select to return to a previous step of the process.2. At any moment, the user can select to cancel the process entirely. 3. Any time that the system sends a query to the weather database, the connection to the

database might not be established or might fail. In these situations, the system displays an error message to the user and the use case ends.

2.3.1.1. Use Case #1: Create/Modify Data TableUse Case Description: The user will create a data table. Data tables may be created from weather station data or by processing other data tables. Actors: User, Weather Database, Statistical Software Package.Precondition: A browser is open and has internet connection. The system is displaying the homepage, which contains the interactive map representation of North America and the options to select: “Data Table Creation”, “Descriptive Statistics”, “Correlation and Trends”, “Plot”, “Map Extrapolation”, and “Help”. The system is idle. Post-condition: On successful completion, the user has created and named a new data table. If an error has occurred or the system is unable to establish connection with the weather database, an error message is displayed.Trigger condition: The user selects “Data Table Creation”. Used by: Plot Data, Calculate Descriptive Statistics, Generate Extrapolated Map, and Compute Trends and Correlation.

2.3.1.1.1. Scenario 1: Create Data Table from Weather DataScenario Description: The user will create a data table from weather station data. The general process is to select a set of weather stations; for each station, select a set of instruments; and then select a time range. A new data table is created from the relevant data extracted from the weather database. Weather stations may be selected based on location, station ID, by state, by latitude, by longitude, from the priority list, or by selection from an interactive map.Precondition: No additional preconditions.Post-condition: On successful completion, the user has created a named data table with the data from the selected weather stations and instruments for the specified time range. Steps:

1. The system clears a list of weather stations from which to obtain data (the Weather Station List).

[2.] The system prompts the user to select the type of the filter for selecting weather station(s) (Alt 7). The possible filters are “state”, “location”, “ID”, “longitude”, “latitude”, or “priority list”.

2.[3.] The user selects “state” (Alt 1, Alt 2, Alt 3, Alt 4, Alt 7).

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page12

Page 13: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

3.[4.] The system displays a list of states in the U.S. and prompts the user to select a state.4.[5.] The user selects a state.5.[6.] The system queries weather database for the list of weather stations in the specified state

for which the database has weather data. 6.[7.] The weather database returns the requested list of weather stations and prompts the user to

select at least one weather station from the displayed list (Alt 5). 7.[8.] The user selects one or more weather stations.8.[9.] The system adds the weather stations to the Weather Station List.9.[10.] The system prompts the user to continue selection of weather stations.10.[11.] The user ends weather station selection (Alt 6). 11.[12.] The system prompts the user to either select instrument data types for all stations or to

select instrument data types for each station.12.[13.] The user chooses to select instrument data types for each station (Alt 8).13.[14.] For each weather station in the Weather Station List, the system queries the weather

database for the instrument data types available for the given weather station. 14.[15.] The weather database returns the available instrument data types. 15.[16.] The system displays the available instrument data types and prompts the user to select

one or more instrument data types for each selected weather station.16.[17.] The user selects a set of instrument data types for each selected weather station. 17.[18.] The system associates the selected instrument data types with the corresponding weather

station.[19.] The system prompts the user for the time range, i.e., a start and an end time point. A time

point is defined by a date and a time in the following format MM-DD-YYYY HH:MMN:SS. 18.[20.] The user enters the start and end time points.19.[21.] The system validates that neither the start nor the end time point is in future, and that the

start time point is earlier than the end time point (Alt 9).20.[22.] The system queries weather database for data corresponding to the user’s selection of the

weather station(s), instrument data type(s), and time range. 21.[23.] The weather database returns the requested data.22.[24.] The system prompts the user for a data table name.23.[25.] The user enters a name.24.[26.] The system creates a data table containing the data returned from the weather database. 25.[27.] The system displays the data table name and the number of rows in the data table.26.[28.] End of use case.

Alternate flowsAlt 1: The user selects ID.

1-1. The system prompts the user to enter the weather station ID.1-2. The user enters a weather station ID.1-3. The system sends a query to the weather database to confirm that weather data exists for the

specified station.1-4. The weather database confirms weather data exist (Alt 5).1-5. The use case continues at step 9.

Alt 2: The user selects location. 2-1. The system prompts the user to enter the desired latitude and longitude.2-2. The user enters the desired latitude and longitude.2-3. The system sends a query to the weather database to search for all weather stations near the

desired latitude and longitude. “Near” means within 1 degree of the requested location.2-4. The use case continues at step 7.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page13

Page 14: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

Alt 3: The user selects latitude or longitude. 3-1. The system prompts the user to enter the desired latitude or longitude.3-2. The user enters the desired latitude or longitude.3-3. The system sends a query to the weather database to search for all weather stations near the

desired latitude or longitude. “Near” means within 1 degree of the requested location.3-4. The use case continues at step 7.

Alt 4: The user selects priority list.4-1. The system queries the weather database for the list of weather stations in the level 1 of the

priorityized list.4-2. The use case continues at step 7.

Alt 5: The weather database does not contain requested data.5-1. The system displays the message that the requested data are not found in the weather

database.5-2. End of use case.

Alt 6: The user continues weather station collection.6-1. Use case continues at step 2.

Alt 7: The user selects weather stations from interactive map.7-1. The user selects a rectangular area on the map using the pointing device.7-2. The system determines the latitude and longitude of the selected region.7-3. The system sends a query to the weather database to search for all weather stations within the

specified latitude and longitude. 7-4. The weather database returns the requested list of weather stations.7-5. The system prompts the user to select at least one weather station from the displayed list. 7-6. The user selects at least one weather station. 7-7. Use case continues at step 9.

Alt 8: The user chooses to select instrument data types for all stations.8-1. The system queries the weather database for the instrument data types available for each

weather station in the Weather Station List. 8-1a. The weather database returns a list of instrument data types for each weather station.8-2. The system displays a list of instrument data types available on eachcommon to all weather

stations in the Weather Station List.8-3. The system prompts the user to select one or more instrument data types from the displayed

list. 8-4. The user selects one or more instrument data types. 8-5. The system associates the selected instrument data types with each station in the Weather

Station List.8-6. Use case continues at step 19.

Alt. 9: Either the start or the end time point is in future, or the start time point is later than the end time point.

9-1. The system displays an error message to the user.9-2. The use case continues at step 20.

2.3.1.1.2. Scenario 2: Create Data Table by Reducing an Existing Data TableScenario Description: The user processes a data table using a reduction method. For example, a data table containing hourly data may be reduced to a new data table containing only the daily maximum.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page14

Page 15: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

Precondition: The user has created a named data table in the current work session.Post-condition: On successful completion, the user has created a named data table with processed data from an existing data table.Steps:

1. The system displays the names of all the data tables that have been created in the current session.

2. The user selects a data table from the list.3. The system displays the list of possible time intervals and prompts the user to select the time

interval that he or she would like to use for data reduction. The complete list includes 15-minutes, 1 hour, 1 day, 1 week, 1 month, and 1 year.

4. The user selects one of the available time intervals.5. The system prompts the user to select a data reduction method. The methods are: min, max,

mean, mode, median. 6. For each data column in the table, the system, starting at the initial time, aggregates the data

using the given statistical method for the given time interval. A new data table is created. The time of the data value generated for each interval is the median time of the interval. An example of this computation is given in Appendix E.

7. The system prompts the user for a data table name.8. The user enters a name.9. The system displays the table name and the number of rows in the table.10. End of use case.

2.3.1.1.3. Scenario 3: Create Data Table by SelectionScenario Description: The user selects only a subset of the data in an existing data table. For example, a data table may be created by taking only the first row of another table or by taking only the first and third columns of a data table.Precondition: The user has created a named data table in the current work session.Post-condition: On successful completion, the user has created a named data table with selected data from an existing data table.Steps:

1. The system displays the names of all the data tables that have been created in the current work session.

2. The user selects a data table from the list.3. The system scans the data table for the first and last time entry. The system prompts the user

to enter the time range, which consists of the start and the end time points. The default values are the first and last time entries in the data table.

4. The user enters the start and end time points for the desired time range.5. The system validates that both start and end time points are in the default range and that the

start time point is earlier than the end time point (Alt 1).6. The system scans the data table and displays the column header for each data column in the

table. The system prompts the user to select the desired columns. (The leftmost column, time entry, need not be displayed. It must appear in the output table.)

7. The user selects one or more columns. 8. The system creates a new data table containing only the selected data columns and time

entries for the selected time range. 9. The system prompts the user for a data table name.10. The user enters a name.11. The system displays the table name and the number of rows in the table.12. End of use case.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page15

Page 16: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

Alternate flowsAlt. 1: Either the start or end time point is outside the default range or the start time point is

later than the end time point.1-1. The system displays an error message to the user.1-2. The use case continues at step 3.

2.3.1.1.4. Scenario 4: Create Data Table by Combining Two TablesScenario Description: The user combines two data tables. Precondition: The user has created at least two named data tables in the current work session.Post-condition: On successful completion, the user has created a named data table with selected data from two existing tables.Steps:

1. The system displays the names of all the data tables that have been created in the current work session.

2. The user selects two data tables (hereafter T1 and T2) from the list.3. The system scans T1 and T2 for the column header for each data column and displays these

headers.4. The system prompts for add rows or add columns.5. The user selects add rows (Alt 1).6. For each column in T1, the system prompts the user to select a column from T2.7. The user selects columns.8. The system creates a new data table by copying all data from T1. To this new table, the

system adds data from T2. For every time entry in T2 that is not in T1, the system creates a new row in the new table and adds data to the columns according to the selection in step 7.

9. The system prompts the user for a data table name.10. The user enters a name.11. The system displays the table name and the number of rows in the table.12. End of use case.

Alternate flowsAlt. 1: The user selects add columns.

1-1. The system prompts the user to select one or more columns.1-2. The user selects one or more columns.1-3. The system creates a new table containing all of the selected columns. All of the data from

the selected columns from T1 are copied into the new table. For each row in T2, if the time point matches a time point of a row in the new table, data are added to the row in the new table by copying the data from the selected columns of T2 to the indicated row in the new table. If the time point of a row in T2 is not in the new table, a new row is created and the data from the selected columns of T2 are copied to the corresponding columns of the new table.

1-4. The use case continues at the step 9.

2.3.1.1.5. Scenario 5: Create Data Table by Gap Filling Scenario Description: The user creates a new data table that has no gaps. To ensure this, the system computes the trends or correlation for each of the data columns and then uses the trend or correlation formulas to generate new data values.Precondition: The user has created at least one named data table in the current work session.Post-condition: On successful completion, the user has created a named data table that has no gaps.Steps:

1. The system displays the names of all the data tables that have been created in the current work session.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page16

Page 17: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

2. The user selects a data table from the list.3. The system scans the data table and identifies gaps. To identify a gap, the system first finds,

for each column of the table, the mode time interval between rows that contain weather data, and computes the mode time interval of the table by finding the maximum of modes of individual columns. The mode time interval of the table is compared to time interval between rows. A row whose time point falls outside the range of [t+0.5m, t+1.5m] (where t is the time point of the previous row and m is the mode time interval of the table) has a gap. (See Figure 2.)

4. The user selects either trend or correlation functions, possibly a different function for each column of data (See use case 5).

[5.] The system uses the mode time interval of the table to compute time points for the new data table. Starting with the first time point in the data table and terminating when the last time point in the data table is reached, the system searches for gaps in the data table (see step 43 and Figure 2.). When a gap is found, a new row is added to the new data table that is the mode time interval of the table added to the time of the previous row. Data for the columns of this row are computed using the trend or correlation functions.

5.[6.] The system prompts the user for a data table name.6.[7.] The user enters a name.7.[8.] The system displays the table name and the number of rows in the table.8.[9.] End of use case.

Time Temp 1 Interval Temp 2 Interval1:00 70.01:02 65.52:00 71.0 602:02 67.9 60

3:00 75.5 603:02 72.1 604:00 76.4 605:00 75.2 605:02 77.5 120Mode 60 60

Figure 2: Example Gap Analysis: The table has data from Temp 1 and Temp 2 at various times. An interval is the time since the previous data for the data in the column to the left. Thus, a 2:00, Temp 1 has an interval of 60 minutes. The mode is the most frequent value in the column. The gap is identified for Temp 2 between 3:02 and 5:02.

2.3.1.1.6. Scenario 6: Create Data Table by StandardizingScenario Description: A “standardized” table has time entries with a fixed time interval between rows. In order to compute a correlation, the times of the data values being correlated must match. Precondition: The user has created a named data table in the current work session.Post-condition: On successful completion, the user has created a data table that has a uniform time step between rows.Steps:

1. The system displays the names of all the data tables that have been created in the current work session.

2. The user selects a data table from the list.3. The user computes either trend or correlation functions, possibly a different function for each

column of data (See use case 5).

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page17

Gap Identified

Page 18: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

4. The system prompts for a start time point, end time point, and time interval.5. The user enters a start time point, end time point, and time interval.6. The system confirms that the start time point is equal to or after the first time point in the data

table, the end time point is before or equal to the last time point in the data table, and the start time point is earlier than the end time point (Alt 1).

7. The system creates a new data table with the same number of columns as the selected data table. For each time point from the start time point to the end time point by interval, if the selected data table contains a value, the system copies the value to the new data table; otherwise, the system computes the value for a column using the trend or correlation function specified for the column.

8. The system prompts the user for a data table name.9. The user enters a name.10. The system displays the table name and the number of rows in the table.11. End of use case.

Alternate FlowsAlt 1: The start or end time point is not in the data table time span or the start time point is

later than the end time point.1-1. The system displays an error message indicating that the start and end time points must be

within the times contained in the data table.1-2. Use case continues at step 5.

2.3.1.1.7. Scenario 7: Create Data Table by Calculating Moving AverageScenario Description: The user creates a new data table by smoothing data from an existing data table.Precondition: The user has created a named data table in the current work session.Post-condition: On successful completion, the user has created a data table with reduced number of rows.Steps:

1. The system displays the names of all the data tables that have been created in the current work session.

2. The user selects a data table from the list.3. The system prompts the user to enter the number of points for moving average method.4. The user enters the number of points.5. The system verifies that the entered number is smaller than the number of rows in the

selected data table (Alt 1).6. The system performs data reduction in each column of the selected data table by using the

moving average method with the entered number of points.7. The system creates a new data table.8. The system prompts the user for a data table name.9. The user enters a name.10. The system displays the table name and the number of rows in the table.11. End of use case.

Alt 1. The entered number is greater than the number of rows in the data table.1-1. The system displays an error message.1-2. The use case continues at step 3.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page18

Page 19: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

2.3.1.2. Use Case 2: Plot Data Use Case Description: The user selects columns from a data table and the type of plot to be generated. The system creates the plot and displays it to the user.Actors: User, Statistical Software Package.Precondition: A browser is open and has internet connection. The system is displaying the homepage, which contains the interactive map representation of North America and the options to select: “Data Table Creation”, “Descriptive Statistics”, “Correlation and Trends”, “Plot”, “Map Extrapolation”, and “Help”. The system is idle. Post-condition: On successful completion, the requested plot is displayed. If the system is not able to plot data, the system displays an error message.Trigger condition: The user selects “Plot” feature of the system. Steps:

1. The user creates a data table (Include Use Case 1).2. The system displays the names of all the data tables that have been created in the current

work session.3. The user selects a data table from the list.4. The system displays the headers of the columns in the selected data table and prompts the

user to select one or more of them.5. The user selects one or more columns from the data table.6. The system prompts the user to select the type of the graph: scatter plot, line plot, histogram,

box plot, and pie chart.7. The user selects a graph type.8. The system sends a request to the statistical software package to generate the graph of the

selected type for the selected data. 9. The statistical software package generates the graph and returns the generated graph to the

system. 10. The system displays the graph.11. End of use case.

2.3.1.3. Use Case 3: Calculate Descriptive StatisticsUse Case Description: The user selects a data table and the type(s) of descriptive statistics functions, and the system performs the selected descriptive statistics on the selected data.Actors: User, Statistical Software Package.Precondition: A browser is open and has internet connection. The system is displaying the homepage, which contains the interactive map representation of North America and the options to select: “Data Table Creation”, “Descriptive Statistics”, “Correlation and Trends”, “Plot”, “Map Extrapolation”, and “Help”. The system is idle.Post-condition: On successful completion, the results of the descriptive statistics have been displayed. If the system is unable to perform the descriptive statistics, the system displays an error message.Trigger condition: The user selects “Descriptive Statistics” feature of the system. Steps:

1. The user creates a data table (Include Use Case 1).2. The system displays the names of all the data tables that have been created in the current

work session.3. The user selects a data table from the list.4. The system prompts the user to select at least one type of descriptive statistics function. The

complete list includes: min, max, mean, mode, median, standard deviation, skewness, kurtosis, range, standard error, 95% confidence interval.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page19

Page 20: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

5. The user selects the desired type(s) of descriptive statistics functions to be performed on the selected data table.

6. The system sends a request to the statistical software package to compute the requested statistical analyses on each data column of the selected data table.

7. The statistical software package calculates the required descriptive statistics and returns the results of descriptive statistics calculations.

8. The system displays the results of descriptive statistical calculations. 9. End of use case.

2.3.1.4. Use Case 4: Generate Extrapolated MapUse Case Description: The user selects a data table, and the system generated the extrapolated map.Actors: User, Statistical Software Package.Precondition: A browser is open and has internet connection. The system is displaying the homepage, which contains the interactive map representation of North America and the options to select: “Data Table Creation”, “Descriptive Statistics”, “Correlation and Trends”, “Plot”, “Map Extrapolation”, and “Help”. The system is idle.Post-condition: On successful completion, the extrapolated map has been displayed. If the system is unable to generate the extrapolated map, the system displays an error message.Trigger condition: The user selects “Map Extrapolation” feature of the system. Steps:

1. The user creates a data table (Include Use Case 1).2. The system displays the names of all the data tables that have been created in the current

work session.3. The user selects a data table from the list.4. The system confirms that all of the data columns of the selected table are of the same

instrument data type (e.g., all columns except the time column are temperatures) (Alt 1).5. The system scans the table for the first and last time point entry. There is more than one time

entry (Alt 2).6. The system prompts the user to select a time entry.7. The user selects a time entry.8. The system generates an extrapolated map for data in the data table at the time specified.9. The system displays the extrapolated map.10. End of use case.

Alternate flowsAlt. 1: The data table has data of more than one instrument data type.

1-1. The system displays an error message indicating that extrapolated maps can only be created for a single instrument data type.

1-2. End of use case.

Alt. 2: The data table has only one row.2-1. The system uses the time point from the one row of data.2-2. The use case continues at step 8.

2.3.1.5. Use Case 5: Compute Trends and Correlation Use Case Description: Correlation is the degree to which two variables move together. For example, there may be a correlation between temperature and solar intensity. A trend is simply a correlation between some variable and time. For example, the temperature in downtown El Paso generally tends to rise during the time from 11:00a.m. to 2:00 p.m. Both trend and correlation analyses are computed

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page20

Page 21: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

by the Statistical Software Package. The user selects one or two columns of data, and the system computes the trend or correlation, respectively.Precondition: A browser is open and has internet connection. The system is displaying the homepage, which contains the interactive map representation of North America and the options to select: “Data Table Creation”, “Descriptive Statistics”, “Correlation and Trends”, “Plot”, “Map Extrapolation”, and “Help”. The system is idle.Post-condition: On successful completion, the result of the correlation/trend has been displayed. If the system is unable to perform the correlation/trend analysis, the system displays an error message.Trigger condition: The user selects “Correlation and Trends” feature of the system. Steps:

1. The user creates a data table (Include Use Case 1).2. The system displays the names of all the data tables that have been created in the current

work session.3. The user selects a data table from the list.4. The system prompts the user to select either Trend or Correlation.5. The user selects Correlation (Alt 1).6. The system displays the column headers from the table and prompts the user to select two

columns. 7. The user selects two columns.8. The system prompts the user to select at least one type of regression to be performed on

dataset(s). The possible regression functions include: linear, quadratic, cubic, exponential, logarithmic, and sinusoidal.

9. The user selects the desired type(s) of regression to be performed on the selected datasets.10. The system sends a request for data analysis to the statistical software package using the

selected data columns, types of regression, and the type of analysis. 11. The statistical software package performs the analysis and returns the results of data analysis.

The results include: the regression functions for all the selected regression types, the regression coefficient and p-value for each of the calculated regression functions, identified best fit function, and an annotated graph.

12. The system displays the results and the annotated graph.13. End of use case.

Alternate FlowsAlt. 1: The user selects trend

1-1. The system displays the column headers from the table and prompts the user to select one column.

1-2. The user selects a column.1-3. The use case continues at step 8.

2.4. Operating Environment- The user interface requires Macromedia Flash Player 10. It is assumed to be installed on the user’s machine.- The server-side software for CEON runs on Microsoft Windows Server 2003. It is assumed that the new system will also run on this machine.- The server-side software requires PHP, Adobe Flex, and R. It is assumed that all of these are installed.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page21

Page 22: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

2.5. General ConstraintsThe Each development team will consist of an analyst, a designer, two or three programmers, and a V&V specialist.

2.6. Assumptions and Dependencies- It is assumed that users have web browser software and are familiar with basic use of web browsers.- It is assumed that the response time will be fast enough. No response time or performance metrics have been given.- Weather data is assumed to be stored in the weather database, which is accessible from the server.- The user interface will be built using the shell provided by the client.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page22

Page 23: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

3. External Interface RequirementsThis section contains the specification of requirements for interfaces among different components and their external capabilities, including all its users, both human and other systems.

3.1. User InterfacesThis section presents the general GUI elements that are used in the system.

3.1.1. Default Interface Features[[REQ 1]] The user interfaces shall be presented as web pages and shall becreated in a format that can

be controlled displayed by web browsers. [REQ 1][[REQ 2]] The web page interface shall be a computer monitor (at least 11 inches), as opposed

to a cell phone or hand-held display device.[REQ 2][[REQ 3]] The system shall use standard user interface controls such as buttons, text boxes,

radio buttons, check boxes, labels, list boxes, spin boxes, combo boxes, sliders, scroll bars, tabs, tool tips, progress bars, and file selection dialogs [Galitz pp 443-552 et al].

[REQ 3][[REQ 4]] Each page of the system shall have full screen, minimize, and exit options. [REQ 4][[REQ 5]] Each page of the system shall allow a user to return to the previous page by

selecting a “back” option.[REQ 5][[REQ 6]] In each window, the system shall display a title bar that contains:

“Statistics, Correlation, and Trend-Analysis System: “ The title of the specific window.

[REQ 6][[REQ 7]] The system shall provide a visual display such as a progress bar or hour-glass icon while any function is being performed.

[REQ 7][[REQ 8]] The SCATS system shall be integrated with the existing CEON web site. SCATS shall be included in the CEON site under the “Weather Data Applications” tab.

[REQ 8][[REQ 9]] The system shall allow a user to choose time range by any of the following methods:

Selecting the start and the end time point from a drop down calendar. Entering the start and the end time point in the following format MM-DD-YYYY

HR:MM:SS.[REQ 9][[REQ 10]] The system shall allow the user to manipulate the interactive map of North

America. Standard interface options shall apply.

3.1.2. SCATS Entry Page[REQ 10][[REQ 11]] The first page of the SCATS user interface, henceforth the Entry Page, shall

display the interactive map of North America.[REQ 11][[REQ 12]] The Entry Page shall contain a menu bar that includes the following options:

“Data Table Creation”, “Descriptive Statistics”, “Correlation and Trends”, “Plot”, “Map Extrapolation”, and “Help”.

3.1.3. Data Table CreationA data table is conceptually a table with rows and columns. The date and time are contained in the first column. Each row contains data for the given date and time. There are a variety of methods for creating data tables.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page23

Page 24: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

[REQ 12][[REQ 13]] The system shall provide an interface, hereafter called the Data Table Page, for the creation of data tables.

[REQ 13][[REQ 14]] The system shall provide an option for the user to create a data table by selecting data from the weather database.

[REQ 14][[REQ 15]] The system shall provide the option to a user to select a weather station by choosing the station on the interactive map.

[REQ 15][[REQ 16]] The system shall provide the option to a user to select a weather station by specifying any of the following attributes: Station’s ID, station’s location defined by its longitude and latitude, station’s longitude, station’s latitude, or the state where the station is located.

[REQ 16][[REQ 17]] The system shall provide the option to a user to select weather stations from the weather station priority list. The weather station priority list is a list of stations provided by the client and stored in the weather database.

[REQ 17][[REQ 18]] The system shall provide an interface for the user to select a time range. A time range is defined by a start date, a start time, an end date, and an end time. The start date must be less than or equal to the end date. If the start date and end date are equal, then the start time must be less than or equal to the end time.

[REQ 18][[REQ 19]] The time units shall be specified in the following format: MM-DD-YYYY HH:MM:SS.

[REQ 19][[REQ 20]] When creating a table by selecting data from the database, the system shall provide the option to either select instrument data types for all weather stations or select instrument data types for each weather station.

[REQ 20][[REQ 21]] The system shall provide an interface for the user to create a data table by selecting an existing data table and performing data selection.

[REQ 21][[REQ 22]] The system shall provide an interface for the user to create a data table by selecting an existing data table and performing data reduction.

[REQ 22][[REQ 23]] The system shall provide an interface for the user to create a data table by combining data from two previously created data tables.

[REQ 23][[REQ 24]] The system shall provide an interface for the user to create a data table by selecting an existing data table and performing gap filling.

[REQ 24][[REQ 25]] The system shall provide an interface for the user to create a data table by selecting an existing data table and performing data standardization.

[REQ 25][[REQ 26]] The system shall provide an interface for the user to create a data table by selecting an existing data table and computing the moving averages of data columns.

3.1.4. Descriptive Statistics[REQ 26][[REQ 27]] The system shall provide an interface, hereafter called the Descriptive Statistics

Page, for access to descriptive statistics functions.[REQ 27][[REQ 28]] The Descriptive Statistics Page shall contain an interface for specifying a data

table, selecting columns of the data table, and selecting descriptive statistics functions to perform. Statistics functions are described in Section 4.3.

[REQ 28][[REQ 29]] The numerical results of descriptive statistics calculation shall be displayed in a table with columns labeled by the headers of the columns of the selected data table, and rows labeled by the statistical function performed.

3.1.5. Correlation and Trends[REQ 29][[REQ 30]] The system shall provide an interface, hereafter called the Correlation Page, for

access to the correlation and trends functions.[REQ 30][[REQ 31]] The Correlation Page shall contain an interface for specifying a data table,

selecting columns of the data table, and selecting regression functions to perform.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page24

Page 25: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

3.1.6. Plots and Output[REQ 31][[REQ 32]] The system shall provide an interface for numerical and annotated graph options

for the outputs of correlation, trends, and descriptive statistics calculations.[REQ 32][[REQ 33]] The system shall provide the option to the user to download the results in the

following formats: .txt and .csv format for numerical results; .jpeg format for graphical results.

[REQ 33][[REQ 34]] The system shall provide an interface, hereafter called the Plot Page, for accessing plot functions of the system.

[REQ 34][[REQ 35]] The Plot Page shall contain an interface for specifying a data table, selecting columns of the data table, and selecting a graph type. The available graph types are described in REQ 36.

[REQ 35][[REQ 36]] The system shall provide an interface for generating the following graph types: Scatter plot Line plot Histogram Pie chart Box plotDescriptions of these graph types can be found in [6].

[REQ 36][[REQ 37]] When plotting the results of a descriptive statistics analysis, the x-axis of scatter plot and line plot shall be labeled with time units.

[REQ 37][[REQ 38]] When plotting the results of a correlation analysis, the independent variable shall be represented on the x-axis.

[REQ 38][[REQ 39]] When plotting the results of a trend analysis, time shall be represented on the x-axis.

3.1.7. Map Extrapolation[REQ 39][[REQ 40]] The system shall provide an interface, hereafter called the Extrapolated Map

Page, for access to the map extrapolation functions.[REQ 40][[REQ 41]] The Extrapolated Map Page shall contain an interface for specifying a data table

and selecting a row of the data table. If there is only one data row in the data table, the system shall use that row and not prompt the user to select it.

3.1.8. Help[REQ 41][[REQ 42]] The system shall provide a help page that describes the features of the system and

gives advice on how to use the system.[REQ 42][[REQ 43]] The help page shall present a tutorial on the use of the system.

3.2. Hardware Interfaces [REQ 43][[REQ 44]] The system’s user interface shall support (but not require) the use of a multi-

button mouse with a scroll wheel.

3.3. Software Interfaces[REQ 44][[REQ 45]] The system shall use a PostgreSQL 8.0 or later database management system. [REQ 45][[REQ 46]] The SCATS system shall be integrated as an option in the CEON shell.[REQ 46][[REQ 47]] The SCATS system shall use Adobe Flex 3 to implement Flex/Flash pages.[REQ 47][[REQ 48]] The system shall use the statistical software package R, version 2.10.1 or later.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page25

Page 26: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

3.4. Communications Interfaces There are no communication interface requirements specified at this time.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page26

Page 27: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

4. Behavioral RequirementsThis section contains specific behavioral requirements for the SCATS system.

4.1. Same Class of User[REQ 48][[REQ 49]] The system shall have only one class of user, the general user, who has access to

all the functions of the system.[REQ 49][[REQ 50]] The system shall not require the general user to login in order to use the system.

4.2. Related Real-world ObjectsReal-world objects are entities with either physical or conceptual counterparts in the real world. The entity-relation diagram that motivates the real-world objects described in this section can be found in Appendix A.

4.2.1. Weather Station[REQ 50][[REQ 51]] Each weather station shall have a unique ID and a unique location, which is

specified by longitude and latitude.[REQ 51][[REQ 52]] Each weather station shall have a set of instruments that collect weather data.[REQ 52][[REQ 53]] The types of instruments possible for a weather station shall include weather

condition (e.g., clear, thunderstorm), temperature in C, relative humidity, wind direction, wind degree, wind speed in mph, pressure in mb, dew point in C, heat index in C, windchill in C, visibility in km.

4.2.2. Weather DataWeather data is recorded for a weather station at a given time. [REQ 53][[REQ 54]] A weather data element shall be identified by a weather station, a date and time,

and the data value for an instrument on the weather station at that time.

4.3. Related FeaturesA related feature is an externally desired service provided by the system that may require a sequence of inputs to affect the desirable results. Use cases that outline this section can be found in the section 2 of this SRS.

4.3.1. Data Table CreationData table creation is described in section 4.4.3.

4.3.2. Calculate Descriptive Statistics[REQ 54][[REQ 55]] The system shall provide the following descriptive statistics functions to be

calculated on a dataset selected by a user: Min, Max, Mode, Median, Mean, Standard deviation, Skewness, Kurtosis, Standard error, 95% confidence interval, and Range. Definitions of these functions can be found in [6].

4.3.3. Compute Correlation and Trends[REQ 55][[REQ 56]] The system shall provide the following regression functions to calculate

correlation and/or trends: Linear Quadratic

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page27

Page 28: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

Cubic Exponential Logarithmic Sinusoidal

[REQ 56][[REQ 57]] The system shall provide the option to the user to select one or more types of regression functions to be calculated.

[REQ 57][[REQ 58]] The system shall calculate correlation coefficient and p-value for each regression function that it calculates.

[REQ 58][[REQ 59]] The system shall determine the best fit function for particular dataset(s) by selecting the regression function with the highest absolute value of the correlation coefficient among the regression functions calculated by the system for the dataset(s).

[REQ 59][[REQ 60]] The system shall perform correlation only for standardized data tables (See section 4.4.3.6).

[REQ 60][[REQ 61]] The numerical and the graph results shall contain the regression functions calculated by the system for the selected data table, correlation coefficient and p-value for each of these regression functions, and the indication of the best fit function.

[REQ 61][[REQ 62]] The regression functions of trend calculations shall contain the number of time units since a starting time point as the independent variable. The time unit and the starting point will be explicitly stated along with the regression function.

[REQ 62][[REQ 63]] When plotting trend analyses, the date shall be displayed on the x-axis.

4.3.4. Plot Data[REQ 63][[REQ 64]] The scatter plot and line plot shall be able to represent at the same graph any

number of datasets. If different instrument data types are represented on the same graph, multiple scales will be present on the vertical axis.

[REQ 64][[REQ 65]] A histogram shall be able to represent any number of datasets containing data of the same instrument data type.

[[REQ 66]] The system shall be able to display at the same time box plots or pie charts for multiple any number of datasets.

4.3.5. Generate Extrapolated MapAn extrapolated map is an output to the user that displays either data or the results of statistical analyses over a continuous geographic region where the data are only available for discrete locations. [REQ 65][[REQ 67]] The extrapolated map shall be displayed on the interactive map. [REQ 66][[REQ 68]] The extrapolated map shall use colors to indicate changing values. The system

shall display the color scale used next to the interactive map. [REQ 67][[REQ 69]] The system shall generate an extrapolated map for a rectangular geographical

region selected by the user. The interface for selecting a rectangular geographical region is described in Section 4.4.2.

4.4. StimulusTransitions between the states of the system are often initiated by a stimulus. State transition diagram that that motivates the requirements described in this section can be found in Appendix B.

4.4.1. General Stimulus Requirements[REQ 68][[REQ 70]] When the user chooses the cancel option from any page, the system shall prompt

user asking if they are sure they want to cancel.[REQ 69][[REQ 71]] When a user selects the Yes option from the prompt for cancel, the system shall

close the current page and return focus to the page from which the current page was called.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page28

Page 29: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

[REQ 70][[REQ 72]] When a user selects the No option from the prompt for cancel, the system shall close the prompt and allow the user to continue in the current display.

[REQ 71][[REQ 73]] When the user selects the “Weather Data Applications” from the CEON menu, the system shall display the Entry Page.

4.4.2. SCATS Entry Page[[REQ 74]] When the user activates the mouse scroll wheel when while viewing the interactive map,

the system shall zoom either in or out.[REQ 72][[REQ 75]] When a user uses the mouse to select a rectangular region of the interactive map,

the system shall convert the region into bounding longitude and latitude lines. The bounding lines shall define the smallest area that contains every point in the selected region of the interactive map. This operation projects the selection on the screen to a selection on Earth.

[REQ 73][[REQ 76]] When a user selects a rectangular region of the interactive map, the system shall mark a set of weather stations as selected. The selected weather stations are those whose location falls inside the longitude and latitude of the selected region and for which there exists data in the weather station database.

[REQ 74][[REQ 77]] When the user selects “Data Table Creation” from the SCATS Entry Page, the system shall display the Data Table Page.

[REQ 75][[REQ 78]] When the user selects “Descriptive Statistics” from the SCATS Entry Page, the system shall display the Descriptive Statistics Page.

[REQ 76][[REQ 79]] When the user selects “Correlation and Trends” from the SCATS Entry Page, the system shall display the Correlation Page.

[REQ 77][[REQ 80]] When the user selects “Plots” from the SCATS Entry Page, the system shall display the Plot Page.

[REQ 78][[REQ 81]] When the user selects “Map Extrapolation” from the SCATS Entry Page, the system shall display the Extrapolated Map Page.

[REQ 79][[REQ 82]] When the user selects “Help”, from the SCATS Entry Page, the system shall display the Help Page.

4.4.3. Data Table Creation[[REQ 83]] When the system creates a new data table, the system shall prompt the user to enterfor a

data table name or to accept the default name. The default name is “Table x”, where x is the smallest positive integer that has not been used in a table name in the current work session. When the user enters a data table name or accepts the default name, the system shall keep the data table available under that name.

[REQ 149]When the system creates a new data table and receives a data table name from a user, the system shall create a provenance for the table. The provenance shall state the method that was used to create the data table and either the list of data tables that were modified to create the data table or the weather stations filter, time range, and data type instruments used to create the data table from weather data.

[REQ 80][[REQ 84]] When a data table is created, the system shall display the name and the number of rows in each table created during the current session.

[REQ 81][[REQ 85]] When a data table is created and named, the system shall mark that table as the currently selected table.

[REQ 82][[REQ 86]] When a user selects “Descriptive Statistics”, “Correlation and Trends”, “Map Extrapolation”, or “Plot” and there is no currently selected data table, the system shall display the names and provenances of all data tables that have been created in the current work session and prompt the user to select one. The selected table shall be marked as the currently selected data table.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page29

Page 30: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

[REQ 83][[REQ 87]] When the Data Table Page is entered, the system shall display the set of selected weather stations as well as the current time selection and the data types selected for each weather station. The default time for time selection shall be blank.

[REQ 84][[REQ 88]] When the Data Table Page is entered, the system shall display options to create data tables from database data, data selection, data reduction, combining tables, gap filling, standardizing, and averaging.

[REQ 85][[REQ 89]] When the user selects any option other than the “from database data” option from the Data Table Page and the system does not have a currently selected data table, the system shall prompt the user to select one of the named data tables. This selection becomes the currently selected data table.

4.4.3.1. From Database Data[REQ 86][[REQ 90]] When a user selects weather station selection by Station ID, the system shall

prompt for a weather station ID. The user-entered weather station ID is added to the list of selected weather stations displayed on the Data Table Page.

[REQ150]When a user selects weather station selection by Priority list, the system shall prompt the user to select the priority levels for which weather stations are to be displayed. The priority levels are integers from 1 to 4.

[REQ151]When a user selects weather station selection by Priority list and selects the priority levels, the system shall display the list of weather stations that belong to the selected priority levels along with the priority level for each weather station in the displayed list.

[REQ 87] When a user selects weather station selection by Station location longitude and latitude, the system shall open the longitude latitude selection dialog and prompt the user for a longitude and latitude.

[REQ 88][[REQ 91]] When the user enters a longitude and latitude in the longitude latitude selection dialog, the system shall search the weather database for weather stations within 1 degree of longitude and 1 degree of latitude of the entered location. The system shall display IDs for all weather stations in this region and prompt the user to select one or more of them.

[REQ 89][[REQ 92]] When a user selects one or more stations from the longitude latitude selection dialog, the system shall add the selected weather stations to the list of weather selected weather stations displayed on the Data Table Page.

[REQ 90][[REQ 93]] When a user selects weather station selection by Station longitude, the system shall open the longitude selection dialog and prompt the user for a longitude.

[REQ 91][[REQ 94]] When the user enters a longitude in the longitude selection dialog, the system shall search the weather database for weather stations within 1 degree the entered longitude. The system shall display identifiers for all weather stations in this region and prompt the user to select one or more of them.

[REQ 92][[REQ 95]] When a user selects one or more stations from the longitude selection dialog, the system shall add the selected weather stations to the list of weather selected weather stations displayed on the Data Table Page.

[REQ 93][[REQ 96]] When a user selects weather station selection by Station latitude, the system shall open the latitude selection dialog and prompt the user for a latitude.

[REQ 94][[REQ 97]] When the user enters a latitude in the latitude selection dialog, the system shall search the weather database for weather stations within 1 degree the entered latitude. The system shall display identifiers for all weather stations in this region and prompt the user to select one or more of them.

[REQ 95][[REQ 98]] When a user selects one or more stations from the latitude selection dialog, the system shall add the selected weather stations to the list of weather selected weather stations displayed on the Data Table Page.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page30

Page 31: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

[REQ 96][[REQ 99]] When a user selects weather station selection by state, the system shall open the State selection dialog and prompt the user to enter a state.

[REQ 97][[REQ 100]] When the user enters a state in the State selection dialog, the system shall display all the cities in the state and prompt the user for a city.

[REQ 98][[REQ 101]] When the user enters a city in the State selection dialog, the system shall display all the weather stations for that city and prompt the user to select one or more of them.

[REQ 99][[REQ 102]] When a user selects one or more stations from the State selection dialog, the system shall add the selected weather stations to the list of weather selected weather stations displayed on the Data Table Page.

[REQ 100][[REQ 103]] When the user selects the option to set the time range, the system shall display a drop down calendar for the user to select the start and the end time points.

[REQ 101][[REQ 104]] When a user selects time range either by entering the start and end time points or by selecting the start and end points from a calendar, the system shall verify that neither the start nor the end time point is in future, and the start time point is earlier than the end time point.

[REQ 102][[REQ 105]] When the selected time range passes the validation, the system shall display the time range in the current selected time field of the Data Table Page.

[REQ 103][[REQ 106]] When the selected time range fails the validation, the system shall display an error message.

[REQ 104][[REQ 107]] When a user selects to choose instrument data types for all weather stations in the Weather Station List, the system shall display the instrument data types for which all the weather stations in the Weather Station List provide data.

[REQ 105][[REQ 108]] When a user selects to choose instrument data types for each weather station in the Weather Station List, the system shall display, for each weather station, instrument data types for which data are available in that weather station.

4.4.3.2. From Data Selection[REQ 106][[REQ 109]] When the user selects the “data selection” option from the Data Table Page and

once a data table is selected, the system shall display the headers for each of the data columns in the currently selected data table and prompt the user to select one or more of the columns.

[REQ 107][[REQ 110]] When the user selects the “data selection” option from the Data Table Page and once a data table is selected, the system shall prompt the user to select a time range. The default time range shall be from the first time in the data table to the last time in the data table. Time range is restricted to be within the default time range.

[REQ 108][[REQ 111]] When the user selects the “data selection” option from the Data Table Page and a time range has been selected, the system shall create a new data table by copying only the data from the current table that is in selected columns and within the specified time range.

4.4.3.3. From Data Reduction[REQ 109][[REQ 112]] When the user selects the “data reduction” option from the Data Table Page

and once a data table is selected, the system shall display the headers for each of the data columns in the currently selected data table and prompt the user to select one of the following data reduction methods for each column: Minimum, Maximum, Mode, Median, or Mean. The default method is mean. The system shall provide for the selection of a single method, which shall be applied to all columns.

[REQ 110][[REQ 113]] When the user selects the “data reduction” option from the Data Table Page and data reduction methods have been selected, the system shall scan each data column of the data table for the mode of time intervals between consecutive rows that contain weather

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page31

Page 32: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

data. The system shall find the mode time interval of the table by finding the maximum of the modes of individual columns.

[REQ 111][[REQ 114]] When the user selects the “data reduction” option from the Data Table Page, data reduction methods have been selected, and the mode time interval of the table has been calculated (as described in REQ 114), the system shall prompt the user for a time interval. The list of time intervals include all the intervals greater or equal to the mode time interval of the table that belong to the following list: 15-minutes, 1 hour, 1 day, 1 week, 1 month, and 1 year.

[REQ 112][[REQ 115]] When the user selects the “data reduction” option from the Data Table Page and a time interval has been selected, the system shall create a new data table. The system shall, for each data column in the table, aggregate the data using the selected reduction method for the given time interval. The time of the data value generated for each interval shall be the median time of the interval.

4.4.3.4. From Combining Data[REQ 113][[REQ 116]] When the user selects the “combine data” option from the Data Table Page and

once a data table is selected, the system shall prompt the user to select a second data table.[REQ 114][[REQ 117]] When the user selects the “combine data” option from the Data Table Page and

once a second data table is selected, the system shall prompt the user to select “rows” or “columns”.

[REQ 115][[REQ 118]] When the user selects the “combine data” option from the Data Table Page, a second data table is selected, and the user has selected “rows”, the system shall display the column headers from the first and second tables. For each column in the first table, the system shall prompt the user to select a column from the second table. The system shall create a new table by copying all of the first table and adding data from the second table. For every row in the second table that does not have a row in the first table with a matching time, the system shall add a new row to the new table aligning the data in the new row according to the column matching.

[REQ 116][[REQ 119]] When the user selects the “combine data” option from the Data Table Page, a second data table is selected, and the user has selected “columns”, the system shall display the column headers from the first and second tables. The system shall prompt the user to select one or more columns from the second table. The system shall create a new table by copying all of the data from the first data table into the new table, and then for each selected column from the second table, adding a new column to the new table and copying the time and the data from the selected column into the new table. If the time for a row in table 1 matches the time for a row in table 2, no new row is needed to add the data from the second table. Otherwise, a new row is needed.

4.4.3.5. From Gap Filling[REQ 117][[REQ 120]] When the user selects the “gap filling” option from the Data Table Page and

once a data table is selected, the system shall scan the data table for gaps. A gap is identified by computing the mode time interval and comparing it to the time interval between rows. The time interval between adjacent rows (assuming the table is sorted in time order) is the difference in time between two adjacent rows. The mode of the time intervals is the most common time interval. Let m be the mode of the time intervals. For each row with time t in the data table, compute the time range [t+0.5m, t+1.5m]. If the time of the next row is not contained in this time range, then the data table has a gap at t+m.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page32

Page 33: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

[REQ 118][[REQ 121]] When the user selects the “gap filling” option from the Data Table Page and a gap is identified in the selected data table, the system shall prompt the user for trend or correlation functions (see section 4.4.5).

[REQ 119][[REQ 122]] When the user selects the “gap filling” option from the Data Table Page and once trend or correlation functions have been entered, the system shall create a new data table by copying all data in the currently selected data table (preserving rows and columns). To this new data table the system shall add a new row for each gap. The row shall have a time set to the time of the gap and column data obtained from the correlation or trend functions. For each row added to the new data table to fill a gap, the system shall attempt to identify a gap following the new row. The process continues until the last time in the currently selected data table has been reached.

4.4.3.6. From Data Standardization[REQ 120][[REQ 123]] When the user selects the “standardize” option from the Data Table Page and

once a data table is selected, the system shall prompt the user to enter a time interval.[REQ 121][[REQ 124]] When the user selects the “standardize” option from the Data Table Page and

once a time interval i has been selected, the system shall analyze the selected data table to identify non-standard time intervals. This analysis proceeds as follows:

t = first time in data tablewhile t < last time in data table t2 = t + i

if (no row in data table has time equal to t2)data table is non-standard at t2

t = t2

[REQ 122][[REQ 125]] When the user selects the “standardize” option from the Data Table Page and once a the selected data table has been analyzed, if the data table is not flagged as non-standard, the system shall create a new data table that would be created by the following algorithm:

t = first time in data tablewhile t < last time in data table copy row with time t from current data table to new data table

t = t + i

[REQ 123][[REQ 126]] When the user selects the “standardize” option from the Data Table Page and once the selected data table has been analyzed, if the data table is flagged as non-standard, the system shall prompt the user for trend or correlation functions (see section 4.4.5). The system shall prompt the user to enter the start and end time points and time interval, and the system shall create a new data table with time column containing values from the entered start time point to the entered end time point, with interval between rows being the entered time interval. Data columns for each row are copied from the corresponding data columns of the selected data table if the data table contains the required value; otherwise, the values are computed from the correlation or trend functions.

4.4.3.7. From Moving Averages[REQ 124][[REQ 127]] When the user selects the “averaging” option from the Data Table Page and

once a data table is selected, the system shall prompt the user for the number of points for moving average algorithm.

[REQ 125][[REQ 128]] When the user selects the “averaging” option from the Data Table Page and once the number of points has been entered, the system shall verify that the entered number

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page33

Page 34: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

of points is smaller than the number of points in the selected dataset. The system performs data reduction in each column of the selected data table by using the moving average method with the entered number of points. The system shall store this data in a new data table. If the selected data table has gaps, the system shall display a warning to the user.

4.4.4. Descriptive Statistics[REQ 126][[REQ 129]] When the Descriptive Statistics Page is entered and a data table has been

selected, the system shall display an interface for selecting columns of the data table, and selecting statistics functions to perform. Statistics functions are described in Section 4.3.

[REQ 127][[REQ 130]] When the Descriptive Statistics Page is entered, a data table has been selected, and statistics functions have been selected, the system shall apply the selected functions to the selected columns and display the results.

4.4.5. Correlation and Trends[REQ 128][[REQ 131]] When the Correlation and Trends Page is entered and a data table has been

selected, the system shall display an interface for selecting columns of the data table and specifying a type of data analysis (regression or trend) and type of regression functions to perform.

[REQ 129][[REQ 132]] When the Correlation and Trends Page is entered and a data table, type of regression functions, correlation option, and exactly two data columns have been selected, the system shall prompt the user to select which of the selected data columns represents the independent variable.

[REQ 130][[REQ 133]] When the Correlation and Trends Page is entered and a data table, type of regression functions, correlation option, exactly two data columns, and the independent variable have been selected, the system shall apply the selected regression functions to the selected data columns and display the results.

[REQ 131][[REQ 134]] When the Correlation and Trends Page is entered and a data table, type of regression functions, correlation option, and one or more than two data columns have been selected, the system shall display an error message to the user.

[REQ 132][[REQ 135]] When the Correlation and Trends Page is entered and a data table, type of regression functions, trend analysis option, and exactly one data column have been selected, the system shall apply the selected regression functions to the selected data column and display the results.

[REQ 133][[REQ 136]] When the Correlation and Trends Page is entered, and a data table, type of regression functions, trend analysis option and none or more than one data columns have been selected, the system shall display an error message to the user.

4.4.6. Plots and Output[REQ 134][[REQ 137]] When the Plot Page is entered and a data table has been selected, the system

shall display an interface for selecting columns of the data table, and selecting type of graphs to plot. Graph types are described in Section 3.1.

[REQ 135][[REQ 138]] When the Plot Page is entered, a data table has been selected, and a graph type has been selected, the system shall generate and display the plot.

4.4.7. Map Extrapolation[REQ 136][[REQ 139]] When the Extrapolated Map Page is entered and a data table has been selected,

the system shall verify that there are at least three data columns (besides the time column) and all data columns contain data of the same instrument data type.

[REQ 137][[REQ 140]] When the Extrapolated Map Page is entered and a data table, such that it contains at least three columns and all the columns contain data of the same instrument data

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page34

Page 35: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

type, has been selected, the system shall verify that the data table contains exactly one row of weather data.

[REQ 138][[REQ 141]] When the Extrapolated Map Page is entered and a data table, such that it contains at least three columns, all the columns contain data of the same instrument data type and the table contains more than one weather data row, has been selected, the system shall prompt the user to select one row that will be used for map extrapolation.

[REQ 139][[REQ 142]] When the Extrapolated Map Page is entered and a data table, such that it contains exactly one row, at least three columns, and all the columns contain data of the same instrument data type, has been selected, the system shall generate and display en extrapolated map.

4.5. FunctionalNo further functional requirements have been identified.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page35

Page 36: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

5. Non-behavioral Requirements

5.1. Performance RequirementsNo performance requirements have been identified.

5.2. Security[REQ 140][[REQ 143]] The system shall not prompt for user authentication.[REQ 141][[REQ 144]] The system shall not be able to modify data from the database.

5.3. Qualitative Requirements

5.3.1. Availability No availability requirements have been identified.

5.3.2. Maintainability[REQ 142][[REQ 145]] The parts of the system coded in Flex shall be coded using Adobe Flex naming

convention specified in http://opensource.adobe.com/wiki/display/flexsdk/Coding+Conventions.

5.3.3. Portability[REQ 143][[REQ 146]] The user interface shall run on Microsoft Internet Explorer 8.0, Mozilla Firefox

3.5, Google Chrome 3.0, and Apple Safari 4.0.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page36

Page 37: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

6. Other Requirements

6.1. Database

[REQ 144][[REQ 147]] The database schema shall be based on the existing database schema, presented in Appendix D.

6.2. OperationsNo operations requirements have been identified.

6.3. Site AdaptationNo site adaptation requirements have been identified.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page37

Page 38: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

7. Appendix A: Static Model

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page38

Page 39: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

8. Appendix B: Dynamic Model

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page39

Page 40: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

9. Appendix C: Functional Model

Figure 3: Level 1: Create Data Table

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page40

Page 41: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page41

Page 42: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page42

Page 43: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

10. Appendix D: Database Schema

TBD.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page43

Page 44: courses.utep.educourses.utep.edu/portals/870/SRS Scats V1.2.docx · Web viewThe purpose of the Software Requirements Specification (SRS) document is to provide a clear and precise

Software Requirements Specification

11. Appendix E: Data Reduction Example

Consider the following insert of a data table in which data are recorded every two hours:Time Data set 1 Data set 201-12-2009 01:00:00 7 6001-12-2009 03:00:00 7 5501-12-2009 05:00:00 9 5501-12-2009 07:00:00 10 6001-12-2009 09:00:00 10 7001-12-2009 11:00:00 15 7501-12-2009 13:00:00 20 8201-12-2009 15:00:00 35 9201-12-2009 17:00:00 40 9301-12-2009 19:00:00 20 8901-12-2009 21:00:00 20 8001-12-2009 23:00:00 15 7001-13-2009 01:00:00 8 5501-13-2009 03:00:00 8 5001-13-2009 05:00:00 6 6001-13-2009 07:00:00 6 6501-13-2009 09:00:00 6 7501-13-2009 11:00:00 7 8001-13-2009 13:00:00 8 8501-13-2009 15:00:00 8 9501-13-2009 17:00:00 8 9501-13-2009 19:00:00 5 9001-13-2009 21:00:00 4 8001-13-2009 23:00:00 3 70

Assume that the user selected time interval of 1 day, and “max” for the reduction method. For each day in each column, the maximum value is found. The resulting data table should contain the following values:Time Data set 1 Data set 201-12-2009 13:00 40 9301-13-2009 13:00 8 95

Software Requirements Specification UTEP Software Engineering Date5/6/2023 10:55 PM

Page44