docs(requirements): added requirements for the first four user stories

This commit is contained in:
Mineplay 2025-12-04 18:25:18 +01:00
parent bca09f0ff0
commit cf640c54b3

View file

@ -46,7 +46,7 @@ By using this format the requirement will be easly retracable to the user story
### User stories
**Code**: US-01 \
**Code**: US-1 \
**Description**: As an user, I want to watch/listen to my media on any device so that I can watch content anywhere.
**Accaptance**
@ -56,17 +56,19 @@ By using this format the requirement will be easly retracable to the user story
--------------------------------
**Code**: US-02 \
**Code**: US-2 \
**Description**: As an user, I want to search for content quickly so I can easly find something I want to watch.
**Accaptance**
* Given the user has media on cosms when the user enters a search term then the user should automatically see relevant media based on the metadata.
* Given the user has media on cosms when the user selects a genre then the user should automatically see relevant media based on the genre.
* Given the user has media on cosms when the user selects a franchise then the user should automatically see relevant media based on the franchise.
* Given the user has no media on cosms when the user enters a search term then the user should get a message "No media found".
--------------------------------
**Code**: US-03 \
**Code**: US-3 \
**Description**: As an user, I want to continue where I left of so I can easly resume playback.
**Accaptance**
@ -75,7 +77,7 @@ By using this format the requirement will be easly retracable to the user story
--------------------------------
**Code**: US-04 \
**Code**: US-4 \
**Description**: As an user, I want subtitles to display so I can enjoy foreign language content.
**Accaptance**
@ -86,7 +88,7 @@ By using this format the requirement will be easly retracable to the user story
--------------------------------
**Code**: US-05 \
**Code**: US-5 \
**Description**: As an administrator, I want to upload and organize media so I can add new content for users to watch.
**Accaptance**
@ -96,7 +98,7 @@ By using this format the requirement will be easly retracable to the user story
-------------------------------
**Code**: US-06 \
**Code**: US-6 \
**Description**: As an administrator, I want to manage user accounts so I can control who has access to the media station.
**Accaptance**
@ -108,7 +110,7 @@ By using this format the requirement will be easly retracable to the user story
------------------------------
**Code**: US-07 \
**Code**: US-7 \
**Description**: As an administrator, I want automatic library scanning so I do not have to manually add new content.
**Accaptance**
@ -118,7 +120,7 @@ By using this format the requirement will be easly retracable to the user story
------------------------------
**Code**: US-08 \
**Code**: US-8 \
**Description**: As an user, I want to download media localy so I can watch it anywhere even without internet.
**Accaptance**
@ -129,3 +131,260 @@ By using this format the requirement will be easly retracable to the user story
### Requirements
**Code**: RQ-1
**User story**: US-1
**User**: user
**Requirement**: the user watches/listens to media.
**Type**: functional
**Priority**: highest
------------------------------
**Code**: RQ-2
**User story**: US-1
**User**: user
**Requirement**: the user watches/listens to media within 3 steps.
**Type**: non-functional
**Quality attribute**: operability
**Priority**: high
------------------------------
**Code**: RQ-3
**User story**: US-1
**User**: user
**Requirement**: the system starts the media playback within 5 seconds.
**Type**: non-functional
**Quality attribute**: time behaviour
**Priority**: high
------------------------------
**Code**: RQ-4
**User story**: US-1
**User**: user
**Requirement**: the user is able to watch/listen to media 99% of the time.
**Type**: non-functional
**Quality attribute**: availability
**Priority**: high
------------------------------
**Code**: RQ-5
**User story**: US-2
**User**: user
**Requirement**: the user finds the media by name.
**Type**: functional
**Priority**: highest
------------------------------
**Code**: RQ-6
**User story**: US-2
**User**: user
**Requirement**: the user finds the media by genre.
**Type**: functional
**Priority**: medium
------------------------------
**Code**: RQ-7
**User story**: US-2
**User**: user
**Requirement**: the user finds the media by franchise.
**Type**: functional
**Priority**: high
------------------------------
**Code**: RQ-8
**User story**: US-2
**User**: user
**Requirement**: the user finds media by type.
**Type**: functional
**Priority**: highest
------------------------------
**Code**: RQ-9
**User story**: US-2
**User**: user
**Requirement**: the user finds media by release date.
**Type**: functional
**Priority**: low
------------------------------
**Code**: RQ-10
**User story**: US-2
**User**: user
**Requirement**: the user finds the media within 3 steps.
**Type**: non-functional
**Quality attribute**: operability
**Priority**: highest
------------------------------
**Code**: RQ-11
**User story**: US-2
**User**: user
**Requirement**: the user finds media by name with some small spelling mistakes.
**Type**: non-functional
**Quality attribute**: user error protection
**Priority**: medium
------------------------------
**Code**: RQ-12
**User story**: US-3
**User**: user
**Requirement**: the user continues watching/listening to the media from the point where they last left it.
**Type**: functional
**Priority**: high
------------------------------
**Code**: RQ-13
**User story**: US-3
**User**: user
**Requriement**: the user continues watching/listening to the media from the point where they last left it without the need for any extra steps.
**Type**: non-functional
**Quality attribute**: operability
**Priority**: high
------------------------------
**Code**: RQ-14
**User story**: US-3
**User**: user
**Requirement**: the user continues watching/listening to the media from the point where they left it within 5 seconds.
**Type**: non-functional
**Quality attribute**: time behaviour
**Priority**: medium
------------------------------
**Code**: RQ-15
**User story**: US-3
**User**: user
**Requirement**: the user only continues watching/listening to the media from the point where they left it.
**Type**: non-functional
**Quality attribute**: confidentiality
**Priority**: medium
------------------------------
**Code**: RQ-16
**User story**: US-4
**User**: user
**Requirement**: the user selects the subtitles to display while watching the media.
**Type**: functional
**Priority**: high
------------------------------
**Code**: RQ-17
**User story**: US-4
**User**: user
**Requirement**: the user selects the language to use for the media.
**Type**: functional
**Priority**: high
------------------------------
**Code**: RQ-18
**User story**: US-4
**User**: user
**Requirement**: the user turns auto select subtitles on.
**Type**: functional
**Priority**: low
------------------------------
**Code**: RQ-19
**User story**: US-4
**User**: user
**Requirement**: the user turns auto select language on.
**Type**: functional
**Priority**: low
------------------------------
**Code**: RQ-20
**User story**: US-4
**User**: user
**Requirement**: the user selects language.
**Type**: functional
**Priority**: medium
------------------------------
**Code**: RQ-21
**User story**: US-4
**User**: user
**Requirement**: the user selects the subtitles to display while watching the media within 2 steps.
**Type**: non-functional
**Quality attribute**: operability
**Priority**: high
------------------------------
**Code**: RQ-22
**User story**: US-4
**User**: user
**Requirement**: the user selects the language to use for the media within 2 steps.
**Type**: non-functional
**Quality attribute**: operability
**Priority**: high
------------------------------
**Code**: RQ-23
**User story**: US-4
**User**: user
**Requirement**: the user turns auto select subtitles on within 2 steps.
**Type**: non-functional
**Quality attribute**: operability
**Priority**: low
------------------------------
**Code**: RQ-24
**User story**: US-4
**User**: user
**Requirement**: the user turns auto select language on within 2 steps.
**Type**: non-functional
**Quality attribute**: operability
**Priority**: low
------------------------------
**Code**: RQ-25
**User story**: US-4
**User**: user
**Requirement**: the user selects language within 2 steps.
**Type**: non-functional
**Quality attribute**: operability
**Priority**: medium
------------------------------
**Code**: RQ-26
**User story**: US-4
**User**: user
**Requirement**: the user sees the subtitles while watching the media in real-time.
**Type**: non-functional
**Quality attribute**: time behaviour
**Priority**: highest
------------------------------
**Code**: RQ-27
**User story**: US-4
**User**: user
**Requirement**: the user hears the selected lanuage for the media in real-time.
**Type**: non-functional
**Quality attribute**: time behaviour
**Priority**: highest