software requirements specification - university of...

38
UTEP Software Engineering Current Weather Data Software Requirements Specification Version 1.2 1 March 2 6 1 , 2010 2009 UTEP Software Engineering <Drive:\Directory\Filename.ext>

Upload: buikhuong

Post on 27-Mar-2018

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

UTEP Software Engineering

Current Weather DataSoftware Requirements Specification

Version 1.21March 261, 2010

2009 UTEP Software Engineering <Drive:\Directory\Filename.ext>

Page 2: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

Document Control

ApprovalThe Guidance Team and the customer shall approve this document.

Document Change ControlInitial Release: 1/1/2010

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

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

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 TweedieSystems Engineering LaboratoryDepartment of BiologyThe University of Texas at El Paso

CS4310 Software Team:B-DigitsThe Correlators

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

Version Date Modifier Description0.2 1/29/10 Roach Use cases0.3 1/30/10 Magoc Section 40.4 1/31/10 Roach Sections 3,4,51.0 2/1/10 Magoc Sections 1,21.1 3/1/10 Magoc Modified some definitions1.2 3/26/10 Magoc Added REQ 100-103, and modified REQ 53

Added ER for database schema

Software Requirements Specification UTEP Software Engineering Date

5/6/2023 6:41 PM

Page

ii

Page 3: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

TABLE OF CONTENTS

DOCUMENT CONTROL............................................................................................................................II

APPROVAL.....................................................................................................................................................IIDOCUMENT CHANGE CONTROL....................................................................................................................IIDISTRIBUTION LIST.......................................................................................................................................IICHANGE SUMMARY......................................................................................................................................II

1. INTRODUCTION..................................................................................................................................1

1.1. PURPOSE AND SCOPE OF PRODUCT...................................................................................................11.2. INTENDED AUDIENCE........................................................................................................................11.3. OVERVIEW.........................................................................................................................................11.4. DEFINITIONS, ACRONYMS, AND ABBREVIATIONS.............................................................................2THIS SECTION DESCRIBES THE DEFINITIONS, ACRONYMS AND ABBREVIATIONS THAT ARE USEFUL FOR UNDERSTANDING THE CONTENTS OF THIS DOCUMENT..................................................................................2

1.4.1. Definitions.................................................................................................................................21.4.2. Acronyms and Abbreviations....................................................................................................2

1.5. REFERENCES......................................................................................................................................3

2. GENERAL DESCRIPTION..................................................................................................................4

2.1. PRODUCT PERSPECTIVE.....................................................................................................................42.2. USER CHARACTERISTICS AND ACTOR DESCRIPTIONS......................................................................42.3. PRODUCT FEATURES.........................................................................................................................4

2.3.1.1. Use Case 1: Acquire Current Weather Data.........................................................................................52.3.1.2. Use Case 2: Configure..........................................................................................................................72.3.1.3. Use Case 3: Server View Activity Log.................................................................................................9

2.4. OPERATING ENVIRONMENT.............................................................................................................102.5. GENERAL CONSTRAINTS.................................................................................................................102.6. ASSUMPTIONS AND DEPENDENCIES................................................................................................10

3. EXTERNAL INTERFACE REQUIREMENTS................................................................................11

3.1. USER INTERFACES...........................................................................................................................113.1.1. Client Software.......................................................................................................................113.1.2. Server Software.......................................................................................................................11

3.2. HARDWARE INTERFACES.................................................................................................................113.3. SOFTWARE INTERFACES..................................................................................................................113.4. COMMUNICATIONS INTERFACES.....................................................................................................11

4. BEHAVIORAL REQUIREMENTS...................................................................................................12

4.1. SAME CLASS OF USER.....................................................................................................................124.1.1. Administrator..........................................................................................................................124.1.2. User.........................................................................................................................................12

4.2. RELATED REAL-WORLD OBJECTS...................................................................................................124.2.1. Weather Station......................................................................................................................124.2.2. Weather Data..........................................................................................................................12

4.3. RELATED FEATURES........................................................................................................................124.3.1. Configure Client.....................................................................................................................124.3.2. Log In......................................................................................................................................134.3.3. Configure Weather Stations List.............................................................................................134.3.4. View Activity Log....................................................................................................................134.3.5. Acquire Current Weather Data..............................................................................................13

4.4. STIMULUS........................................................................................................................................144.4.1. Acquire Weather Data............................................................................................................144.4.2. Configuration of Client’s Software.....................................................................................15144.4.3. Log In..................................................................................................................................15144.4.4. Configuration of Weather Stations List..................................................................................15

Software Requirements Specification UTEP Software Engineering Date

5/6/2023 6:41 PM

Page

iii

Page 4: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

4.4.5. Viewing Activity Log...............................................................................................................164.5. FUNCTIONAL...............................................................................................................................17 16

5. NON-BEHAVIORAL REQUIREMENTS.....................................................................................1817

5.1. PERFORMANCE REQUIREMENTS..................................................................................................18 17 5.2. SECURITY....................................................................................................................................18 17 5.3. QUALITATIVE REQUIREMENTS....................................................................................................18 17

5.3.1. Availability..........................................................................................................................18175.3.2. Maintainability...................................................................................................................18175.3.3. Portability...........................................................................................................................18175.3.4. Design and Implementation Constraints............................................................................1817

6. OTHER REQUIREMENTS............................................................................................................1918

6.1. DATABASE...................................................................................................................................19 18 6.2. OPERATIONS................................................................................................................................19 18 6.3. SITE ADAPTATION.......................................................................................................................19 18

7. APPENDIX A: STATIC MODEL..................................................................................................2019

8. APPENDIX B: DYNAMIC MODEL..............................................................................................2221

9. APPENDIX C: FUNCTIONAL MODEL......................................................................................2322

10. APPENDIX D: DATABASE SCHEMA.....................................................................................2423

11. APPENDIX E: ISSUES LIST......................................................................................................2524

Software Requirements Specification UTEP Software Engineering Date

5/6/2023 6:41 PM

Page

iv

Page 5: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

1. IntroductionThis section describes the purpose, intended audience, and overview of this 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 Current Weather Data (CWD) system. 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. One of the emerging needs of environmental scientists is to gather near real-time weather data in order to predict these climatic changes. 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 Circumarctic 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. CWD system will serve as an extension to CEON that will provide means to access current climate data from weather data sources such as Weather Underground and National Oceanic and Atmospheric Administration (NOAA), which gather current climate conditions from weather stations from across North American continent.

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: Introduction (Section 1), General Description (Section 2), External Interface Requirements (Section 3), Behavioral Requirements (Section 4), Non-behavioral Requirements (Section 5), and Other Requirements (Section 6). This overview describes Section 2 through Section 6 of the SRS.Section 2 provides a general description of the CWD system including its overall structure and functionality, users and actors of the systems, the operating environment in which the system will run, existing constraints on the system, and assumptions and dependencies. Section 3 describes the specification of requirements for interfaces between the system and external components, both human and other systems. It contains specifications with respect to user, software, hardware, and communication interfaces. Section 4 includes five subsections that describe the behavioral requirements of the system. The requirements are organized in the following categories: same class of user, related real-world objects, stimulus, related features, and functional requirements. Section 5 includes three subsections. It outlines the non-behavioral requirements of the system which consists of performance, security, and qualitative requirements with respect to availability, maintainability, portability, and design and implementation constraints.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 6:41 PM

Page1

Page 6: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

1.4. Definitions, Acronyms, and AbbreviationsThis section describes the definitions, acronyms and abbreviations that are useful for understanding the contents of this document.

1.4.1. DefinitionsTERM DEFINITION Client limit A maximum number of weather stations that a client is “willing” to query

for weather data in a data collection interval. The client limit is set by the user at the client system.

Client program The desktop computer that participates in the data collection. A user volunteers a client machine by installing the client software and setting the data collection time.

Client’s data collection interval

A time interval for which a client requests a list of weather stations for querying. For example, one hour. The client data collection interval is set by the user at the client system.

National Oceanic and Atmospheric Administration (NOAA)

An organization that provides real-time weather data through their Weather Web Services

PostgreSQL An object-relational database management system.

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 Administrator.

Priorityized list of weather stations

The list of weather stations configured by the Administrator. The weather stations in this list are sorted by priority levels. The priority list is saved in the local database.

Sever program The server is the central control that hosts or connects to the local database and received data from clients.

Time of the first data collection

A time in future when a client will start querying weather data source.

Time window for the priorityized list

A time interval from the moment a priorityized list is created until the next recreation of the priorityized list. It is set by the Administrator. The default value is 1 hour.

Timeout A time allocated for CWD to return weather data to the server.

Type 1 weather station A weather stations that is located at an airport or other government-lead institution.

Type 2 weather station A weather station that is located at a private land.

Weather Underground An organization that provides real-time weather data through their Weather Web Services.

Web service A web service is a web-based application programmer interface that is accessed over the Internet using HTTP and provides access to a set of services running on a remote machine.

1.4.2. Acronyms and AbbreviationsACRONYM/ ABBREVIATION DEFINITION

CEON Circum-arctic Environmental Observatories Network

Software Requirements Specification UTEP Software Engineering Date5/6/2023 6:41 PM

Page2

Page 7: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

e.g. For example

i.e. That is

ID Identification

OS Operating System

SQL Structured Query Language

SRS Software Requirements Specification

UTEP University of Texas at El Paso

1.5. References[1] Tweedie, Craig. First interview. 8 September 2009.[2] Tweedie, Craig. B-Digits and Team USE interview. 16 September 2009.[3] Tweedie, Craig. Guidance team interview. 15 January 2010. [4] Team B-Digits, Team USE, Team Secui Prorsus. SRS, December 2009.[5] Team B-Digits, Team USE. Final presentation, December 2009.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 6:41 PM

Page3

Page 8: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

2. General Description

2.1. Product PerspectiveCWD 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 in Arctic 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. CWD will enable this extension to allow scientists to monitor weather data from the North America region.

2.2. User Characteristics and Actor DescriptionsThe system will utilize the Internet to transfer data from the Weather Data Source to the Local Database. The Administrator interface will be available via the World Wide Web, and therefore. The system is intended to collect data to scientists who are knowledgeable about statistics and climate data.

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.

Timer: This actor indicates that it is time to start acquiring current weather data.

Weather Data Source: This actor provides current weather data to the system. The examples of current weather data source are Weather Underground and NOAA.

User: A user is someone who owns or manages a personal desktop computer that will participate in the system as a client.

Server Program: The server is the central control that hosts or connects to the local database and received data from clients. There is one server.

Administrator: The administrator will receive error logs in order to monitor the system. The administrator is also able to change the priorities of weather stations and web services.

Client Program: The desktop computer that participates in the data collection. There may be many clients. A user volunteers a client machine by installing the client software and setting the data collection time.

Local Database: Local Database stores the weather data obtained from the current weather data source.

2.3. Product FeaturesThe system is composed of two separate software systems. The first system runs on the server. It allows an administrator to configure the system by selecting weather stations and setting station collection priorities. The server is responsible for managing the acquisition by the clients and for storing data in the local database. The second software system is the client software. This system is responsible for requesting a list of weather stations from the server, acquiring data for these stations from the weather data source, and sending the data to the server for storage. This description assumes that there are too many weather stations for a single program to handle. The description does not assume a fixed number of clients.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 6:41 PM

Page4

Page 9: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

Figure 1: Client Use Case Diagram

Figure 2: Server Use Case Diagram

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

2.3.1.1. Use Case 1: Acquire Current Weather DataUse Case Description: The client wakes up at regular intervals and collects data from the weather data source. This data is sent to the server.Actors: Timer, Weather Data Source, Server, Client, Local Database.Precondition: The server is idle. One or more client systems have software installed and are sleeping in the background. The Administrator has established priority rules for the weather stations.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 6:41 PM

Page5

Page 10: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

Post-condition: On successful completion, current weather data will be received from all weather stations and stored in the local database. If the system is unable to complete the request, the system logs an error message into the Activity log.

2.3.1.1.1. Scenario 1: Client Acquires Current Weather Data Scenario Description: This scenario is described from the point of view of a single client.Trigger: Client processes are triggered at the client’s data collection interval.Steps:

1. The timer triggers the client process at the client’s data collection interval.2. The client process sends a query to the server requesting a list of weather stations not to exceed the

client limit.3. The server returns a list of weather stations to the client (Alt 1).4. The client queries the Weather Data Source for the current weather data for the stations on the weather

station list.5. The Weather Data Source returns the current weather data for each weather station on the list (Alt 2,

Alt 3).6. The client sends the weather data to the server.7. End of use case.

Alternate FlowsAlt. 1: No weather stations remain on the prioritizedpriority list for the current hour.

1-1. The server returns an empty list to the client.1-2. End of use case.

Alt. 2: The client is unable to receive data from the Weather Data Source.2-1. The client sends an error message to the server.2-2. End of use case.

Alt. 3: The client is unable to query all of the stations in the list.3-1. The client sends an error message to the server indicating the stations for which data was not collected.3-2. The client sends the data that was collected to the server.3-3. End of use case.

2.3.1.1.2. Scenario 2: Server Acquires Current Weather DataScenario Description: This scenario is described from the point of view of a server.Trigger: A client requests a list of weather stations.Steps:

1. The server receives a request from a client for a list of weather stations.[2.] The server checks the current time against the time the prioritizedpriority list was created. The current

time is within the time window for the prioritizedpriority list (Alt 1).[3.] The server selects a subset of the prioritizedpriority list (stations that have not been marked as

requested) and sends this subset to the client. The weather stations on this list are marked as having been requested (Alt 2).

2.[4.] The client returns current weather data for the stations on the list created in step 3 (Alt 3, Alt 4).3.[5.] The server parses the received weather data and stores the parsed data in the local database. [6.] The server removes the stations for which data have been received from the prioritizedpriority list.4.[7.] End of use case.

Alternate FlowsAlt. 1: The current time is outside the prioritizedpriority list time window.

1-1. The priority list is empty (Alt 1.1).[1-2.] The server recreates the prioritizedpriority list by reading the list from the local database. [1-3.] A new time window is computed for the prioritizedpriority list.1-2.[1-4.] Use case continues at step 3.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 6:41 PM

Page6

Page 11: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

Alt. 1.1: The prioritizedpriority list is not empty: not all data were collected.1.1-1 The server writes an error to the Activity Log indicating the stations on the list that were not used. [1.1-2] The server clears the prioritizedpriority list.1.1-2[1.1-3] Use case continues at step 1-2.

Alt. 2: The prioritizedpriority list is empty.2-1. The server sends an empty list to the client.2-2. End of use case.

Alt. 3: The client returns an error message.3-1. The client sends an error message to the server indicating the stations for which data was not collected.3-2. The server clears the requested mark for these stations.3-3. The server writes the error in the Activity Log.3-4. Use case continues at step 5.

Alt. 4: No response is received from the client.4-1. The server clears the requested mark for all stations in the list sent to this client.4-2. The server writes the error in the Activity Log.4-3. End of use case.

2.3.1.2. Use Case 2: Configure Use Case Description: Client configuration consists of installing the client software and setting the collection interval and limits. Server configuration consists of establishing the priorities of weather stations.

2.3.1.2.1. Scenario 1: Client Configure: Install Weather Data Collection Client Use Case Description: The client software is installed on the user’s system and the collection interval and limit are set. When this software is running, the client is volunteering to collect data for the system. Actors: User.Precondition: The user has authority to install software on the user’s machine.Post-condition: On successful completion, the client software is installed and sleeping, waiting for the next data collection interval.Trigger: User starts the installation.Steps:

1. The user starts the installation of the client software by running the client program.2. The client program installs itself onto the client machine and prompts the user for the data collection

interval, the maximum number of weather stations per interval, and the time of the first data collection.3. The user enters a data collection interval (e.g., every hour), the maximum number of weather stations

per interval, and the time of the first data collection.4. The client program stores these data in a configuration file.5. The client program schedules itself to run at the time of the first data collection.6. End of use case.

2.3.1.2.2. Scenario 2: Server Configure: Create Weather Station Priority List Scenario Description: The administrator configures the list of stations for which to collect data. The list is set up in 4 priority levels. Priority level 1 is higher priority than priority level 4. No station is a member of more than one priority level. The process described below does not list all alternatives.Actors: Administrator, Local Database, Weather Data Source.Precondition: The system is displaying the entry page, which has a login option.Post-condition: On successful completion, a list of weather stations (the prioritizedpriority list) is stored in the local database. Steps:

1. The Administrator selects the login option.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 6:41 PM

Page7

Page 12: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

2. The system prompts for a userid and password.3. The user enters the userid and password, displaying a “*” character for each password character

entered.4. The system confirms that the userid and password are valid for an Administrator (Alt 1).5. The system displays the configuration page, which is a map of the continental U.S. with each of the

currently selected weather stations as well as options to clear the list, select priority levels, set grid points, select stations automatically, and add stations.

6. The Administrator selects to select priority levels. 7. The system displays priority levels 1-4.8. The Administrator selects priority level 1. 9. The Administrator selects Set Grid Points.10. The system prompts the Administrator to select a set of longitude and latitude lines for this priority

level. 11. The Administrator selects a set of longitude and latitude lines.12. The system displays the longitude and latitude lines on the map in a color corresponding to the priority.

(For example, 1=blue, 2=red, 3=green, 4=yellow).13. The Administrator selects the option to Select Stations Automatically (Alt 2).14. The system acquires a list of active weather stations from the weather data source.15. The system selects a set of weather stations through the following Automated Selection algorithm:

For each priority level from 1 to 4 For each grid cell defined by two adjacent longitude and latitude lines at this priority

the grid point is the center of the grid cell select a type 1 weather station in the list of active weather stations that:

is within the grid cell andis not already in the prioritizedpriority list

is closest to the grid point (in the case where more than one is found) If no weather station meets these criteria, select a type 2 weather station that:

is within the grid cell andis not already in the prioritizedpriority list

is closest to the grid point (in the case where more than one is found) If a weather station is found, add it to the prioritizedpriority list with the given priority

level.[16.] The system displays on the map all of the weather stations in the prioritizedpriority list.16.[17.] The Administrator selects the add weather station option (Alt 3).17.[18.] The system prompts the user to select the type of the filter for selecting weather station(s) (Alt 4).

The possible filters are “state”, “location”, “ID”, “longitude”, or “latitude”.18.[19.] The Administrator selects “state” (Alt 4, Alt 5, Alt 6, Alt 7). 19.[20.] The system displays a list of states in the U.S. and prompts the user to select a state.20.[21.] The Administrator selects a state.21.[22.] The system displays a list of weather stations in the specified state for which the weather data

source has weather data. 22.[23.] The Administrator selects one or more weather stations.[24.] The system adds the weather stations to the prioritizedpriority list.23.[25.] The system prompts the user to continue selection of weather stations.24.[26.] The Administrator ends weather station selection (Alt 6). [27.] The system displays on the map all stations in the prioritizedpriority list.[28.] The system prompts the Administrator to save the prioritizedpriority list.25.[29.] The Administrator confirms.[30.] The system saves the weather station prioritizedpriority list in the local database.26.[31.] End of use case.

Alternate FlowsAlt. 1: Login Fails

1-1. The system writes an error message to the Activity log indicating that a login attempt failed.1-2. The system displays an error message to the user.1-3. End of use case.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 6:41 PM

Page8

Page 13: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

Alt. 2: The Administrator selects to set priority level.2-1. The system displays priority levels 1-4.2-2. The user selects a priority level.2-3. Use case continues at step 9.

Alt. 3: The Administrator does not select Add Weather stations.3-1. Use case continues at step 27.

Alt 4: The user selects weather stations from interactive map.4-1. The system displays an interactive map of the US.4-2. The Administrator selects a rectangular area on the map using the pointing device.4-3. The system determines the latitude and longitude of the selected region.4-4. The system redisplays the map with only the selected area and all weather stations located in that area.4-5. The system prompts the user to select at least one weather station from the displayed list. 4-6. The Administrator selects at least one weather station. 4-7. Use case continues at step 26.

Alt 5: The Administrator selects ID. 5-1. The system prompts the user to enter the weather station ID.5-2. The Administrator enters a weather station ID.[5-3.] The system adds the station ID to the prioritizedpriority list.5-3.[5-4.] Use case continues at step 26.

Alt 6: The Administrator selects location. 6-1. The system prompts the user to enter the desired latitude and longitude.6-2. The Administrator enters the desired latitude and longitude.[6-3.] The system identifies all weather stations near the desired latitude and longitude. “Near” means

within 1 degree of the requested location. These stations are added to the prioritizedpriority list.6-3.[6-4.] The use case continues at step 26.

Alt 7: The Administrator selects latitude or longitude. 7-1. The system prompts the user to enter the desired longitude.7-2. The Administrator enters the desired latitude or longitude.[7-3.] The system identifies all weather stations near the desired latitude or longitude. “Near” means within

1 degree of the requested location. These stations are added to the prioritizedpriority list.7-3.[7-4.] The use case continues at step 26.

2.3.1.3. Use Case 3: Server View Activity Log Use Case Description: The Activity Log is stored in the local database. It contains enough information for the Administrator to track the system activity, namely any error message generated by the system, times that processes are initiated, and whether processes complete their assigned tasks. Actors: Administrator, Local Database.Precondition: The local database is online.Post-condition: On successful completion, the system will have displayed the Activity Log.Trigger: The Administrator activates the Activity Log process.Steps:

1. The system prompts the Administrator for a userid and password.2. The Administrator enters the userid and password. The password is overwritten with “*” characters as

it is entered.3. The system verifies the userid and password (Alt 1).4. The system queries the Activity Log in the local database for all of the messages.5. The local database returns all of the messages.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 6:41 PM

Page9

Page 14: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

6. The system displays the messages and time stamps for the messages, ordered by time from most recent to oldest. The system displays 20 messages at a time as well as left and right arrow icons for scrolling through messages.

7. The Administrator reads the messages and selects the left arrow icon (Alt 2, Alt 3).8. The system displays the 20 messages previous to the oldest message currently displayed.9. The Administrator selects the Quit option.10. End of use case.

Alternate FlowsAlt. 1: The userid and password do not match the Administrator’s userid and password.

1-1. The system displays an error message.1-2. Use case returns to step 1.

Alt. 2: The Administrator selects the right arrow icon.2-1. The system displays the 20 messages after to the most recent message currently displayed.2-2. Use case continues at step 9.

Alt. 3: The Administrator selects the Quit option.3-1. End of use case.

2.4. Operating Environment- 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.

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

2.6. Assumptions and DependenciesNo other assumptions have been identified. See Appendix E for the issues list.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 6:41 PM

Page10

Page 15: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

3. External Interface RequirementsThe current weather data collection system includes two programs: a client program running on at least one client that collects data from the weather data source and a single server program that coordinates clients and stores data in the weather database. The server maintains a priority list of weather stations for which to collect data. A client requests a set of stations. The server sends the client a list of stations from the priority list. The client collects the data from the weather data source and sends it to the server. The server stores it in the weather database.

3.1. User Interfaces

3.1.1. Client Software[REQ 1] The system shall provide an interface, hereafter called the Client Installation Interface, which

display the interface for the installation of the client.[REQ 2] The system shall provide an interface, hereafter called the Client Configuration Interface,

which provides the options to the user to set the data collection interval, the time of the first data collection, and the maximum number of weather stations for which to collect data each interval.

3.1.2. Server Software[REQ 3] The system shall provide an interface, hereafter called the Server Login Page, which displays

the prompt for the Administrator to enter the userid and password.[REQ 4] The system shall provide an interface, hereafter called the Server Entry Page, which displays

the options to configure the list of weather stations and view the activity log.[REQ 5] The system shall provide an interface for configuring weather station list, hereafter called the

Server Configuration Interface. This page shall provide the options to clear the weather stations list, select priority levels, set grid points, select stations automatically, and add stations.

[REQ 6] The system shall provide an interface for viewing the Activity log, hereafter called the Server Activity Log Interface.

[REQ 7] The Server Activity Log Interface shall display messages and time stamps for the messages, ordered from the most recent to oldest.

[REQ 8] The Server Activity Log Interface shall display 20 messages at a time as well as left and right arrow icons for scrolling through messages.

3.2. Hardware Interfaces No hardware interfaces are specified.

3.3. Software InterfacesNo software interfaces are specified.

3.4. Communications Interfaces [REQ 9] The client programs and the server program shall use the same protocol for communications.[REQ 10] The client program shall utilize XML web services to collect data whenever the weather

data source provides a web service.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 6:41 PM

Page11

Page 16: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

4. Behavioral Requirements

4.1. Same Class of User

4.1.1. Administrator[REQ 11] The server program shall have only one class of user, the Administrator, who has access to

all interfaces of the server software.[REQ 12] The system shall require the Administrator to enter a valid combination of userid and

password in order to use the system.

[REQ 100] The system shall allow multiple Administrators to be registered.

4.1.2. User[REQ 13] The client program shall have only one class of user, the User, who has the access to the

client program.[REQ 14] The system shall not require the User to authenticate before using the client software.

4.2. Related Real-world Objects

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

longitude and latitude.[REQ 16] Each weather station shall have a set of instruments that collect weather data.[REQ 17] 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.

[REQ 18] Weather stations shall be divided into two types: Type 1 weather stations are at airports; Type 2 weather stations are all other stations.

[REQ 103] The list of all weather stations shall be saved in the local database. This list shall be updated whenever an Administrator initiates the update. The time stamp when the list was updated shall be stored in the local database.

4.2.2. Weather DataWeather data is recorded for a weather station at a given time. [REQ 19] 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.[REQ 20] The subset of weather stations sent to a client shall not contain more weather stations than

specified by the client’s limit (see the section 4.3.3.).[REQ 21] The maximum number of weather stations that a client is able to request shall be set by the

server according to the amount of weather station data that can be collected from the weather data provider.

4.3. Related Features

4.3.1. Configure Client [REQ 22] The client’s software shall be installed by running an installation program.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 6:41 PM

Page12

Page 17: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

[REQ 23] During installation of the client’s software, the user shall be prompt to enter the client’s data collection interval, the maximum number of weather stations to be queried per interval, and the time of the first data collection.

[REQ 24] The minimum data collection interval shall be at least 15 minutes.[REQ 25] The first data collection time shall be restricted to being a time in the future.[REQ 26] The client program shall store the time of the next data collection. [REQ 27] When the user sets the time of the first data collection, this time shall be saved as the next

data collection time.[REQ 28] The client program shall allow the user to reset the data collection interval, the maximum

number of weather stations to be queried per interval, and the time of the first data collection.

4.3.2. Log In[REQ 29] The system shall allow only one Administrator to be logged in at a time.

4.3.3. Configure Weather Stations List [REQ 30] The system shall provide four priority levels of weather stations. [REQ 31] The system shall provide the Automated Selection algorithm to select weather stations by

priority levels. The algorithm is described in the scenario #2 of the use case #2. [REQ 32] The system shall provide the options to add weather stations to any of the priority levels by

selecting weather stations from the interactive map, or by any of the following filters: state, location, ID, longitude, or latitude.

4.3.4. View Activity Log[REQ 33] The Activity Log shall be stored in the local database.[REQ 34] The Activity Log shall contain the following information:

The error messages generated by the system. The times that the client processes are initiated. Whether the clients complete their assigned tasks.

[REQ 35] The system shall allow the Administrator to scroll through the Activity Log from start to finish and to search the Activity Log by entering keywords and searching for matching text.

4.3.5. Acquire Current Weather Data Error recovery is an important aspect of weather data collection. Experiments indicate that the Weather Underground takes approximately 15 seconds to produce a result to a query and that sometimes a delay of up to two minutes may be introduced. Thus, a response from the weather data provider is expected at least every three minutes.[REQ 36] The timeout time shall be 3 minutes.[REQ 37] If a client is unable to receive weather data from the weather data source within the timeout

time, the client shall send an error message to the server. [REQ 38] If a client is unable to query all the weather stations on the assigned list before the next data

collection time, the client shall send the collected data and an error message indicating the non-queried stations to the server.

[REQ 39] The server shall maintain a priority list of weather stations for which data is to be collected.[REQ 40] The server shall have a priority list data collection interval. The default value for this is 1

hour. [REQ 41] The server shall recreate the priority list of weather stations at regular intervals based on the

priority list data collection interval. The default for data collection is every hour at the top of the hour.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 6:41 PM

Page13

Page 18: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

[REQ 42] When the server recreates the priority list, it acquires the list of stations and their priorities from the local database and sets the priority list time window. The time window is the period of time (start time to end time) for which this priority list is valid.

[REQ 43] If the server does not receive data from a client within the timeout time after sending the client a list of weather stations, the server shall clear the requested mark for the stations that were assigned to the client and write an error in the Activity Log.

[REQ 44] The subset of weather stations sent to a client shall contain the highest priority weather stations not marked as requested.

4.4. Stimulus

4.4.1. Acquire Weather Data[REQ 45] When the next data collection time passes, the client program shall become active. The

client program shall be active within 10 seconds of the next data collection time.[REQ 46] When the client program becomes active, the next data collection time shall be set to the

current value plus the data collection interval. (For example, if the next data collection time is 10:00 and the data collection interval is 1 hour, then when the client becomes active at 10:00, the next data collection time will be set to 11:00.)

[REQ 47] When computing the next data collection time, the next data collection time shall be in the future.

[REQ 48] When the client becomes active, the client shall send a query to the server requesting a list of weather stations.

[REQ 101] When the server receives a request from a client, the server shall determine that the request is received from a recognizable client (e.g., a client with a UTEP IP address) as opposed to a malicious client.

[REQ 49] When the server receives a request from a client and the server determines that the current time is within the time window for the prioritizedpriority list, the server shall select the subset of the prioritizedpriority list, send this list of weather stations to the client, and marked the weather stations as requested. If the prioritizedpriority list is empty, the server shall send an empty list to the client.

[[REQ 49]] When the server receives a request from a client and the server determines that the current time is outside of the time window for the prioritizedpriority list and that the prioritizedpriority list is not empty, the server shall write an error in the Activity Log indicating the stations for which data were not collected, recreate the prioritizedpriority list by reading the list from the local database, and compute the new time window.

[REQ 50] When the client receives the list of weather stations, the client shall query the weather data source for current weather data collected the weather stations on the list.

[REQ 51] While the client is acquiring data from the weather data source, the client shall send data to the server immediately after receiving it from the weather data source.

[REQ 102] When the server receives weather data from a client, the server shall verify that the data are received from the recognizable client.

[REQ 52] When the server receives weather data from a client and the server verifies that data were received from a recognizable client, the server shall parse the received data, store the parsed data in the local database, and remove the weather stations for which data were collected from the prioritizedpriority list.

[REQ 53][[REQ 52]] When the server receives an error message from a client, the server shall clear the requested mark for the stations for which the error message was received and write the error message in the Activity log.

[REQ 54][[REQ 53]] When the server has waited longer than the timeout interval for a response from a client, the server shall write an error message to the Activity Log and unmark each of the weather

Software Requirements Specification UTEP Software Engineering Date5/6/2023 6:41 PM

Page14

Tanja, 03/19/10,
Not sure yet what exactly it is.
Page 19: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

stations in the priority list assigned to that client. These weather stations in the priority list are eligible for assignment to the next client requesting a list of stations.

4.4.2. Configuration of Client’s Software[REQ 55][[REQ 54]] During installation of the client’s software, when a user enters the client’s data

collection interval, the maximum number of weather stations to be queried per interval, and the time interval of the first data collection, the client shall save these data in a configuration file and schedule the client program to run at the time of the first data collection.

4.4.3. Log In[REQ 56][[REQ 55]] When the Administrator selects to configure weather station list, the system shall

prompt the Administrator to enter the userid and password at the Server Login Page. [REQ 57][[REQ 56]] When the Administrator enters a character for the password, the system shall

display “*” for that character. [REQ 58][[REQ 57]] When the Administrator enters the userid and password, the system shall verify

that the userid and password are valid for an Administrator.[REQ 59][[REQ 58]] When the Administrator enters the userid and password and the system checks

that the entered combination is invalid for an Administrator, the system shall write an error message in the Activity log and prompt the Administrator to re-enter the userid and password.

[REQ 60][[REQ 59]] When the system verifies that the entered userid and password are valid for an Administrator, the system shall display the Server Entry Page.

4.4.4. Configuration of Weather Stations List[REQ 61][[REQ 60]] When the Administrator selects from the Server Entry Page to configure the list

of weather stations, the system shall display the Server Configuration Interface. [[REQ 61]] When the Administrator selects from the Server Configuration Interface to clear the list,

the system shall clear the prioritizedpriority list of weather stations. [REQ 62] When the Administrator selects from the Server Configuration Interface to select priority

levels, the system shall prompt the Administrator to select the priority level between 1 and 4.[REQ 63] When the Administrator selects a priority level, the system shall prompt the Administrator

to select a set of longitude and latitude lines for the selected level. The set of latitude and longitude lines shall be restricted to the latitudes and longitudes in the United States.

[REQ 64] When the Administrator completes entering longitude and latitude lines for a selected priority level, the system shall display the longitude and latitude lines on the map in a color corresponding to the priority (for example, 1=blue, 2=red, 3=green, 4=yellow). All the priority levels currently defined shall be displayed.

[REQ 65] When the Administrator selects from the Server Configuration Interface to select stations automatically, the system shall select the set of weather stations through the Automated Selection algorithm (see scenario #2 of the use case #2).

[REQ 66] When the Administrator selects from the Server Configuration Interface to add weather stations, the system shall prompt the Administrator to select weather stations from interactive map or to select the type of the filter for selecting weather stations. The possible filters are “state”, “location”, “ID”, “longitude”, or “latitude”.

[[REQ 67]] When the Administrator selects to add weather station by Station ID, the system shall prompt for a weather station ID. The Administrator-entered weather station ID is added to the prioritizedpriority list of weather stations at the priority level that is currently being populated.

[REQ 67][[REQ 68]] When the Administrator selects to add weather station by Station location longitude and latitude, the system shall open the longitude latitude selection dialog and prompt the Administrator for a longitude and latitude.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 6:41 PM

Page15

Page 20: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

[REQ 68][[REQ 69]] When the Administrator enters a longitude and latitude in the longitude latitude selection dialog, the system shall display all weather stations near the desired latitude and longitude. “Near” means 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 Administrator to select one or more of them.

[[REQ 70]] When the Administrator selects one or more stations from the longitude latitude selection dialog, the system shall add the selected weather stations to the prioritizedpriority list of weather stations at the priority level currently being populated.

[REQ 69][[REQ 71]] When the Administrator selects to add weather station by Station longitude, the system shall open the longitude selection dialog and prompt the Administrator for a longitude.

[REQ 70][[REQ 72]] When the Administrator enters a longitude in the longitude selection dialog, the system shall display all weather stations within 1 degree of the entered longitude and prompt the Administrator to select one or more of them.

[[REQ 73]] When the Administrator selects one or more stations from the longitude selection dialog, the system shall add the selected weather stations to the prioritizedpriority list of weather stations at the priority level currently being populated.

[REQ 71][[REQ 74]] When the Administrator selects to add weather station selection by Station latitude, the system shall open the latitude selection dialog and prompt the Administrator for a latitude.

[REQ 72][[REQ 75]] When the Administrator enters a latitude in the latitude selection dialog, the system shall display all weather stations within 1 degree the entered latitude and prompt the Administrator to select one or more of them.

[[REQ 76]] When the Administrator selects one or more stations from the latitude selection dialog, the system shall add the selected weather stations to the prioritizedpriority list of weather stations at the priority level currently being populated.

[REQ 73][[REQ 77]] When the Administrator selects to add weather station by state, the system shall open the State selection dialog and prompt the administrator to enter a state.

[REQ 74][[REQ 78]] When the Administrator enters a state in the State selection dialog, the system shall display all the cities in the state and prompt the Administrator for a city.

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

[[REQ 80]] When the Administrator selects one or more stations from the State selection dialog, the system shall add the selected weather stations to the prioritizedpriority list of weather stations at the priority level currently being populated.

[REQ 76][[REQ 81]] When the Administrator selects to add weather stations by using interactive map, the system shall display the interactive map in the Interactive Map Interface Window and prompt the Administrator to select a rectangular region on the interactive map by using the pointing device.

[REQ 77][[REQ 82]] When the Administrator select a rectangular area on the interactive map displayed in the Interactive Map Interface Window, the system shall determine the latitude and longitude of the selected region, display all the weather stations in this region, and prompt the Administrator to select one or more of them.

[[REQ 83]] When the Administrator selects one or more weather stations from the Interactive Map Interface Window, the system shall add the selected weather stations to the prioritizedpriority list of weather stations at the priority level currently being populated.

[[REQ 84]] When the Administrator ends selecting weather stations, the system shall display all stations in the prioritizedpriority list on the map and prompt the Administrator to save the list.

[[REQ 85]] When the Administrator confirms saving the prioritizedpriority list, the system shall store the list in the local database.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 6:41 PM

Page16

Page 21: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

4.4.5. Viewing Activity Log[REQ 78][[REQ 86]] When the Administrator selects from the Server Entry Page to view the Activity

Log, the system shall query the local database for the Activity Log and display it in the Activity Log Interface.

[REQ 79][[REQ 87]] When the Administrator selects the left arrow, the system shall display the 20 messages previous to the oldest message currently displayed.

[REQ 80][[REQ 88]] When the Administrator selects the right arrow, the system shall display the 20 messages after the most recent message currently displayed.

4.5. FunctionalNo additional functional requirements are specified.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 6:41 PM

Page17

Page 22: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

5. Non-behavioral Requirements

5.1. Performance RequirementsNo additional performance requirements are specified.

5.2. Security[REQ 81][[REQ 89]] The server system shall require the Administrator to login.[REQ 82][[REQ 90]] The system shall be delivered with a default sys admin.[REQ 83][[REQ 91]] The system shall require the sysadmin to change password on first login.[REQ 84][[REQ 92]] The server system shall utilize an authentication mechanism that prevents data

from unwanted clients from being stored in the weather database. (i.e., the system shall prevent data from malicious clients. Only clients from trusted users shall be able to submit data for storage.)

5.3. Qualitative Requirements

5.3.1. Availability No availability requirements have been identified.

5.3.2. MaintainabilityNo maintainability requirements have been identified.

5.3.3. PortabilityNo portability requirements have been identified.

5.3.4. Design and Implementation Constraints[REQ 85][[REQ 93]] The server shall operate on Microsoft Windows Server 2003.[REQ 86][[REQ 94]] The client software shall operate on Microsoft Windows 2000, Windows XP,

Windows Vista, Windows 7, and Mac OS X.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 6:41 PM

Page18

Page 23: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

6. Other Requirements

6.1. Database[REQ 87][[REQ 95]] The system shall store the weather data in the CEON Weather Database managed

by PostgreSQL.[REQ 88][[REQ 96]] The system shall not store duplicate set of data into the database[REQ 89][[REQ 97]] 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 6:41 PM

Page19

Page 24: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

7. Appendix A: Static Model

Software Requirements Specification UTEP Software Engineering Date5/6/2023 6:41 PM

Page20

Page 25: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

Software Requirements Specification UTEP Software Engineering Date5/6/2023 6:41 PM

Page21

Page 26: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

8. Appendix B: Dynamic Model

Software Requirements Specification UTEP Software Engineering Date5/6/2023 6:41 PM

Page22

Page 27: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

9. Appendix C: Functional Model

Software Requirements Specification UTEP Software Engineering Date5/6/2023 6:41 PM

Page23

Page 28: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

10. Appendix D: Database Schema

Software Requirements Specification UTEP Software Engineering Date5/6/2023 6:41 PM

Page24

Page 29: Software Requirements Specification - University of …courses.utep.edu/portals/870/SRS_Current_Weather V1.2.docx · Web viewCurrent Weather Data Software Requirements Specification

Software Requirements Specification

11. Appendix E: Issues List

1. The number of weather stations that can be collected in an hour is yet to be determined. 2. The maximum number of stations that a single client should be allowed to collect is yet to be determined.3. The length of time the server should wait for a response from a client before assigning weather stations to

another client has not been determined.4. Exceptional behavior for client failure has not been specified. Suppose we have two clients, A and B, and 10

weather stations. Both clients are configured to request stations on the hour. At 1:00am, A and B both send requests to the server. The server assigns all 10 stations to Client A and the empty list to Client B. Now if A fails, data collection fails, in spite of the fact that B is available to collect data. The system behavior in this case has not been specified.

5. The mode of delivery of the client software to the client machine has not been specified. It is preferable that the software be made available via the internet and that some installation program handles the installation.

6. The interface protocol for communications between the client and server has not been specified.

Software Requirements Specification UTEP Software Engineering Date5/6/2023 6:41 PM

Page25