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 | |
US2 | |
... |
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 | ||
UC2 | ... | |
... |
Requirements
Technical Requirements
Requirement ID | EOSC-hub service | GAP (Yes/No) + description | Requirement description | Source Use Case |
---|---|---|---|---|
Example | EOSC-hub AAI | Yes: EOSC-hub AAI doesn’t support the Marine IdP | EOSC-hub AAI should accept Marine IDs | UC1 |
RQ1 | EOSC-hub AAI | No | Authenticate users to the portal using OpenID Connect | |
RQ2 | Cloud Compute | No | Create VMs for hosting the portal database | |
RQ3 | Cloud Container Compute | Unclear: Managed Kubernetes offered as alternative platform to AWS ECS, still requires deeper evaluation from the TS to understand if there are gaps | Current solution running on AWS ECS, need an alternative solution on EOSC-hub that can provide the same functionality. | |
RQ4 | Cloud Compute/Cloud Container Compute | Yes: EC3 able to spawn scalable Hadoop as needed, still missing HBase. Not packaged as a service currently | Need for a Hadoop/HBase as a Service that is able to scale with demand | |
RQ5 | Cloud Container Compute/EGI HTC | Yes: although similar functionality can be achieved with open source components on top of the existing services, the architecture of the application will need to be adapted. Further evaluation of the services from the TS developers is required to understand additional gaps | Provide a similar service to AWS Beanstalk for running job-like applications with containers that are triggered with messages sent via AWS SQS | |
RQ6 | Cloud Compute/Cloud Container Compute | Yes: no function as a service is provided in the EOSC-hub | Use of AWS Lambda (python, java, and js) for lightweight computation and triggered via events |
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 |
Capacity Requirements
EOSC-hub services | Amount of requested resources | Time period |
---|---|---|