User stories
Instruction
Requirements are based on a user story, which is is an informal, natural language description of one or more features of a software system. User stories are often written from the perspective of an end user or user of a system. Depending on the community, user stories may be written by various stakeholders including clients, users, managers or development team members. They facilitate sensemaking and communication, that is, they help software teams organize their understanding of the system and its context. Please do not confuse user story with system requirements. A user story is an informal description of a feature; a requirement is a formal description of need (See section later).
User stories may follow one of several formats or templates. The most common would be:
"As a <role>, I want <capability> so that <receive benefit>"
"In order to <receive benefit> as a <role>, I want <goal/desire>"
"As <persona>, I want <what?> so that <why?>" where a persona is a fictional stakeholder (e.g. user). A persona may include a name, picture; characteristics, behaviours, attitudes, and a goal which the product should help them achieve.
Example:
“As provider of the Climate gateway I want to empower researchers from academia to interact with datasets stored in the Climate Catalogue, and bring their own applications to analyse this data on remote cloud servers offered via EGI.”
No. | User stories |
---|---|
US1 | As a researcher interested in EO data, I want to be able to access and analyse those data with VMs or using HPC-like facility |
US2 | As a researcher interested in EO data, I want to be able to explore EO-data produced in EOSC-hub in an interactive way |
US3 | As a provider of the Sentinel Playground, I want to be able to integrate OGC compliant WS from EOSC-hub into the service |
US4 | As a provider of EO Pillar TS, I want to be able to deploy the service components into VMs hosted at the EO-data providers |
US5 | As a non-expert user, I want to do simple analysis on map (e.g. vegetation growth in the last year) by zoomming and panning to inspect areas of interest. |
US6 | As a GIS-experieced user, I want to import EO-data from into a GIS platform (e.g. QGIS) |
US7 | As a expert user, I want to perform my own analysis using python/R by calling remote OGC WS facilities |
US8 | As a provider of EO Pillar TS, I want to offer my services to existing ESA SSO users |
US9 | As a GeoHazards expert, I want to interactively find relevant data for a given area of interest and time period, and invoke processing from a predefined set of functions over that area |
US10 | As a GeoHazards expert, I want to download via OGC APIs the data of interest |
US11 | As a GeoHazards expert, I want to periodically process data from areas of interest and have the results available |
Use cases
Instruction
A use case is a list of actions or event steps typically defining the interactions between a role (known in the Unified Modeling Language as an actor) and a system to achieve a goal.
Include in this section any diagrams that could facilitate the understanding of the use cases and their relationships.
Step | Description of action | Dependency on 3rd party services (EOSC-hub or other) |
---|---|---|
UC1 | Discovery of available EO data | Browsable/Searchable EO Data catalogue with pointers to the providers |
UC2 | Execution of analysis of EO data | Cloud Compute/EGI HTC |
UC3 | Provide EO data to the compute environment with POSIX interface | Cloud Compute/DataHub |
UC4 | Discovery of OGC WS compliant services | ? |
UC5 | Use OGC WS services with federated identities | EOSC-hub AAI |
UC6 | Login into the services with ESA SSO identities | ESA SSO |
Requirements
Technical Requirements
Requirement number | Requirement title | Link to Requirement JIRA ticket | Source Use Case |
---|---|---|---|
Example | EOSC-hub to provide an FTS data transfer service | EOSCWP10-21 - Getting issue details... STATUS | UC1 |
RQ1 |
Requirement ID | EOSC-hub service | GAP (Yes/No) + description | Requirement description | Source Use Case | Related tickets |
---|---|---|---|---|---|
Example | EOSC-hub AAI | Yes: EOSC-hub AAI doesn’t support the Marine IdP | EOSC-hub AAI should accept Marine IDs | UC1 | |
RQ1 | ? | Yes: | Browsable catalogue of EO data that allows to discover the providers hosting the relevant data for the user | UC1 | EOSCWP10-3 - Getting issue details... STATUS |
RQ2 | Cloud Compute | No | Create VMs on providers hosting the data | UC2 | |
RQ3 | Cloud Compute/DataHub | No: DataHub can provide that functionality | Provide data with a POSIX interface on VMs | UC3 | |
RQ4 | ? | Yes: there is no catalogue of OGC WS endpoints in the EOSC-hub | Discovery of OGC WS compliant services | UC4 | EOSCWP10-5 - Getting issue details... STATUS |
RQ5 | EOSC-hub AAI | No: OpenID Connect allows non-browser access to services | Use OGC WS services with EOSC-hub identities | UC5 | |
RQ6 | EOSC-hub AAI | Yes: ESOC-hub AAI doesn't support ESA SSO | EOSC-hub AAI should accept ESA SSO ids | UC6 | |
RQ7 | EOSC-hub Accounting | Yes | Tracking the resource usage and monitoring the data via EOSC-hub accounting tool | ? | EOSCWP10-70 - Getting issue details... STATUS |
Capacity Requirements
EOSC-hub services | Amount of requested resources | Time period |
---|---|---|