Software Requirements Specification
Software Requirements Specification
Specification (SRS)
Satellite Imaging Application
Version 1.0
Table of Contents
1. Introduction
1.1 Purpose
1.2 Scope
1.3 Definitions, Acronyms, and Abbreviations
1.4 References
2. Overall Description
2.1 Product Perspective
2.2 Product Functions
2.3 User Classes and Characteristics
2.4 Operating Environment
2.5 Design and Implementation Constraints
2.6 Assumptions and Dependencies
3. Specific Requirements
3.1 Functional Requirements
3.2 Non-Functional Requirements
3.3 External Interface Requirements
4. Appendices
4.1 Use Case Descriptions
4.2 Glossary
1. Introduction
1.1 Purpose
The purpose of this Software Requirements Specification (SRS) is to define the
functional and non-functional requirements for a satellite imaging application developed
as a college project. This application allows users to:
The application takes inspiration from the SkyWatch Explore website, integrating similar
features to provide users with access to satellite imagery data. This document is
intended for the project development team, academic advisors, and stakeholders
involved in the project.
1.2 Scope
The satellite imaging application aims to provide an intuitive platform for users to
explore and analyze satellite imagery of specific locations over time. It serves
educational purposes and demonstrates key concepts in geospatial data handling, user
interface design, and integration with external data sources.
Key Features:
1.4 References
SkyWatch Explore Website
Google Maps API Documentation
NASA EarthData
OpenStreetMap API
2. Overall Description
2.1 Product Perspective
This satellite imaging application is a standalone web-based system developed for
educational purposes within a college project. It integrates with external services such
as mapping APIs (e.g., Google Maps or OpenStreetMap) and satellite data providers
(e.g., NASA EarthData, SkyWatch Explore APIs) to retrieve and display satellite imagery.
The application is inspired by the SkyWatch Explore platform, aiming to replicate core
functionalities suitable for a small-scale project.
Area Selection:
Allow users to select locations by:
Clicking on the map.
Drawing shapes (e.g., polygons, rectangles).
Entering geographic coordinates.
Date-wise Imaging:
Enable users to select different dates to view historical imagery.
Provide a timeline or date picker for easy navigation through time.
Educational Users:
Students and educators utilizing the application for learning purposes.
May require additional guidance or documentation.
Devices:
Desktop computers
Laptops
Tablets (responsive design may be limited due to project scope)
Internet Connection:
Required for accessing maps and satellite imagery data.
API Usage:
Subject to terms and limitations of external APIs.
Compliance with usage limits, licensing, and attribution requirements.
Data Access:
Reliance on freely available satellite imagery data to avoid costs.
Possible use of public datasets from providers like NASA or ESA.
User Environment:
Users have access to compatible web browsers.
Users have sufficient bandwidth to load map tiles and imagery data.
3. Specific Requirements
3.1 Functional Requirements
3.1.1 Interactive Map Interface
FR1: The system shall display an interactive map upon the user's access to the
application.
FR2: The map shall support basic functionalities:
Panning
Zooming in and out
FR4: The selected area shall be visually indicated on the map (e.g., markers,
outlined shapes).
FR11: The application shall allow users to compare images from different dates.
FR16: The system shall handle errors gracefully, providing informative messages
to the user in cases such as:
Failed data retrieval from APIs.
Invalid area selections.
Network connectivity issues.
FR17: Notifications shall be non-intrusive and assist the user in resolving issues.
3.2.6 Compliance
NFR11: The application shall comply with the usage policies of external APIs and
data providers, including attribution requirements.
EIR4: The system shall use standard web protocols (HTTP/HTTPS) for all network
communications.
4. Appendices
4.1 Use Case Descriptions
Use Case 1: Select and View Satellite Imagery of a Location
Main Flow:
1. The user navigates the interactive map to find an area of interest.
2. The user selects the area by clicking on the map, drawing a shape, or
entering coordinates.
3. The system marks the selected area on the map.
4. The user selects a date using the date picker.
5. The system retrieves the satellite imagery for the selected area and date.
6. The system displays the imagery to the user alongside the map.
Postcondition: The user views the satellite imagery for the specified area and
date.
Main Flow:
1. The user selects two different dates using the date picker.
2. The system retrieves satellite images for both dates.
3. The system displays the images side-by-side or overlays them if the user
chooses.
4. The user uses provided tools to analyze differences between the images.
Postcondition: The user compares and analyzes changes in the selected area
over time.
4.2 Glossary
API (Application Programming Interface): A set of protocols and tools for
building software applications, allowing communication between software
components.
GIS (Geographic Information System): Systems designed to capture, store,
manipulate, analyze, manage, and present spatial or geographic data.
Satellite Imagery: Photographs of Earth or other planets made by means of
artificial satellites.
SkyWatch Explore: An online platform providing access to satellite imagery
data from various providers.
Data Sources:
Due to potential costs and licensing restrictions, the application will utilize
freely available satellite imagery data from sources such as:
NASA EarthData: Offers free and open data, including imagery
from Landsat and MODIS satellites.
ESA's Sentinel Program: Provides free access to high-resolution
imagery data.