ilpcw/docs/requirements.md
js0ny 32cd6bcb21
Some checks failed
Polyglot CI / tests (push) Has been cancelled
chore(assets): Upload report assets
2026-01-22 12:36:30 +00:00

3.1 KiB

Software Requirements Specification

This document outlines the functional and non-functional requirements for the project, mapped to the V-Model testing strategy.

ID Description Type (Attribute) Level Linked Test Case
MOD-GO-CORE Drone event backend must persist location events and support "Time Travel" queries (snapshot at specific timestamp). Functional (Verification) Component TestIngestAndSnapshot
MOD-GO-VAL The API must enforce strict input validation, rejecting malformed JSON or missing query parameters with 400 Bad Request. Robustness (Verification) Unit TestIngestBadJSON TestSnapshotMissingTime
MOD-GO-OPS The service must provide health probes and support graceful shutdown to prevent data corruption during updates. Operational System TestHealth TestGracefulShutdown
REST-API-GEO The API must expose geospatial utilities (distance, proximity) strictly conforming to the JSON contract. Functional (Contract) Integration ApiControllerTest.java
REST-API-VAL REST endpoints must validate input semantic correctness (e.g., valid coordinates) and reject malformed JSON with 400. Robustness (Verification) Unit ApiControllerTest.java (Error paths)
REST-API-DRONE The API must expose drone query endpoints conforming to the specified JSON contract. Functional Integration DroneControllerTest.java
REST-ALG-PATH Pathfinding algorithm must generate valid flight paths within battery budget, ensuring return-to-base actions. Functional (Verification) Unit PathFinderServiceTest.java
REST-DATA-INT System must output flight paths in a simplified format for frontend compatibility. Interoperability Unit PathFinderServiceTest.java
REST-ALG-GEO GPS calculation module must accurately compute Euclidean distances with 1e-9 measurable precision. Measurable Quality Unit GpsCalculationServiceTest.java
REST-EXT-INT System must integrate with external Drone Info API, gracefully handling network failures (Reliability). Reliability (Robustness) Unit (Mocked) DroneInfoServiceTest.java
REST-LOGIC-FIL Business logic must filter available drones based on dynamic requirements and service availability. Functional Unit DroneInfoServiceTest.java
REST-SYS-OPS The service must have an observable endpoint to verify system availability (Liveness/Readiness). Operational System ActuatorHealthTest.java
REST-SYS-E2E Validation: The system must successfully process a complete request lifecycle from ingestion to retrieval (User Journey). User Need (Validation) System ilp-cw-api/**/*.bru
FRONTEND-UI-UX Validation: The Svelte UI must provide visual feedback (spinners/toasts) during asynchronous processing. Usability (Qualitative) System Manual

Notes:

  • All requirements with ID MOD-GO-* are located in drone-black-box/main_test.go.
  • All requirements with ID REST-* target the core Spring Boot application.