Senior Project SRS

Page 1

SWE 411

Group 02

The Presenter

Software Requirements Specification Document

Document Revision History

Date Version Description Author <11/10/23> <1 1> <SRS phase 1> <group 2> <29/10/23> <2.0> <SRS phase 2> <group 2> <2/11/23> <3.0> <SRS phase 3> <Ammar, Nawaf, Yazeed> <7/11/23> <3.1> <Final SRS review> <Ammar, Nawaf, Yazeed>
of Contents Table of Contents 3 1 Introduction 5 1.1 Purpose 5 1.2 Scope 5 1.3 Definitions, Acronyms and Abbreviations 6 1.4 References 7 1.5 Overview 7 2 Overall Description 7 2.1 Product Perspective 7 2.2 Product Functions 7 2.2.1 class diagram 9 2.3 User Characteristics 9 2.4 Constraints 10 3 Specific Requirements 10 3.1 Detailed Requirements 10 3.2 Use case Diagram 13 3.3 Interface Requirements 14 3.3.1 User Interfaces 14 3.3.2 Hardware Interfaces 14 3.3.3 Software Interfaces 14 3.4 Functional Requirements Description 16 3.4.1 Create account 16 3.4.2 Log in 19 3.4.3 Manage users 21 3.4.4 Delete content 23 3.4.5 Upload .PPTX file 25 3.4.6 Create video 27 3.4.7 Manage Video 30 3.4.8 Manage playlist 32 3.4.9 Manage library 35 3.4.10 Play videos 38 3.4.11 Share videos and playlists’ links 40 3.4.12 Explore public content 42 3.4.13 Search for specific content 44 3.4.14 Save public playlist 46 3.4.15 Like video 48
Table
3.4.16 AI Model & Creating the videos system 50 3.5 Performance Requirements 55 3.6 Logical Database Requirements 55 User & Admin Accounts 55 Libraries 55 Playlists 55 Liked Playlist 55 Channel Playlist 55 Video Content 55 Access Control 56 Privacy and Security 56 Search and Discovery 56 3.7 Software System Attributes 56 3.7.1 Security 56 3.7.2 Reliability 56 3.7.3 Availability 56 3.7.4 Maintainability 56 3.7.5 Portability 56

1.1 Purpose

The primary goal of this Software Requirements Specification (SRS) document is to serve as a comprehensive guide and reference point for our team, stakeholders, including KFUPM, potential investors, and researchers interested in the pioneering AI technology underpinning our product.With the AIindustry rapidly evolving, this document will be dynamic, and changes are anticipated to cater to the ever-changing landscape of AI technologies.

Our software system is designed to transform PowerPoint files into polished video presentations by integrating a range of advanced AI models. This includes Large Language Models, Text-to-Speech (TTS) models, Natural Language Processing (NLP) models, and our proprietary Machine Learning model. Together, these models work in harmony: while the Large Language Models, TTS, and NLP models assist in generating and vocalizing content, our specialized Machine Learning model classifies various facets of the PowerPoint, determining slide types, and categorizing content. Users can simply input their PowerPoint files into our system, and these integrated AI capabilities will ensure they receive a wellcrafted video presentation. To make this transformation accessible and user-friendly,all these features will be hosted on a website platform. More than just a conversion tool, our platform also aims to be a content creation and sharing space, akin to prominent platforms like YouTube.

The intended audience for this SRS includes:

• Developers:To grasp the intricacies of the system, its functionalities, and workflows.

• Project Managers: To delineate the project's trajectory, its vast potential, and thereby determine resource allocation and management strategies effectively.

• Marketing Staff: To discern the range of outputs the software can generate, along with the expected quality, assisting in accurate product representation.

• Testers: To derive critical test cases essential for the project's triumphant realization.

1.2 Scope

What the Project Does (Do's):

Our platform serves as an innovative medium for users to transform PowerPoint presentations into dynamic and engaging video content. Upon visiting our platform website, users can register an account and either view previously generated videos or embark on creating their own. The video generation process is initiated when a user uploads a PowerPoint file. The system then prompts the user for specific inputs, such as:

• Desired video length.

• The knowledge level of the content: beginner, intermediate, or advanced. The end product is a synchronized video where each slide is paired seamlessly with an explanatory voiceover, created based on the user's preferences.

What the Project Does Not Do (Don'ts):

While our platform is robust in its ability to generate videos from PowerPoint slides, it has specific limitations:

• It does not offer video editing capabilities like cropping or adding visual effects.

• The videos are not animated and depend solely on the design and content of the provided PowerPoint slides. Thus, any visual appeal stems from the slide design itself.

1 Introduction

Relevant Benefits:

Our platform offers a revolutionary way for users to digest PowerPoint content, whether by delving deep into the details or by gleaning a concise summary of expansive presentations. This is especially beneficial for educational settings, business presentations, or commercial showcases. Unlike competitors who may only read slides verbatim or produce silent slide transitions, our system intelligently digests and verbalizes slide content, making the output unique and user centric

Objectives and Goals:

• Short-term:

Our immediate aim is to develop an intelligent system capable of producing valuable content, encouraging users not only to consume but also share through our platform.

• Long-term:

As AI continues its rapid evolution, we aspire to augment our system with newer capabilities, enhancing both its performance and complexity. Our vision also includes becoming an indispensable educational tool, enabling students to learn through videos crafted from well-structured PowerPoint presentations curated by educators. In the future, we envisage integration with major educational platforms like Blackboard or Gradescope, solidifying our position as a premier educational resource and tool

1.3 Definitions, Acronyms and Abbreviations

PowerPoint (PPT): A proprietary commercial presentation program developed by Microsoft. It is used primarily for creating slide show presentations.

Video Presentation: A visual and auditory representation of information, often used for demonstrations, lectures, or promotional content.

User: An individual who accesses and interacts with the platform via creating an account

Browser: An individual who accesses and interacts with the platform without logging in

Admin: An authorized individual who have managerial roles with regard to the platform’s content and users

Platform: The online system or website where the PowerPoint-to-video conversion service is offered.

Voiceover: A production technique where a voice, not part of the narrative, is used in various media productions such as movies, television, or presentations.

AI (Artificial Intelligence): The simulation of human intelligence processes by machines, especially computer systems.

TTS (Text-to-Speech): A form of assistive technology that reads digital text aloud. It can convert any written text such as Microsoft Word, web pages, or PDFs into spoken words.

NLP (Natural Language Processing): A subfield of AI focused on the interaction between computers and humans through natural language. The ultimate objective of NLP is to read, decipher, and make sense of human languages in a manner that is valuable.

SRS (Software Requirements Specification): A detailed description of a system's intended capabilities, functions, and features.

API(Application Programming Interface): Asetofroutines, protocols, and tools for building software and applications.

KFUPM: King Fahd University of Petroleum and Minerals.

NFR: Nonfunctional requirement.

1.4 References

1.5 Overview

In section 2.0, we provide an architectural overview of our system and define our primary target users. Section 3.0 outlines system requirements, which are then organized into use cases based on relevance. In section 3.1 detailed requirements, they include only the functional requirements, while the non-function requirements are listed in their corresponding sections. In section 3.4, number of requirements were assigned to one or more functional requirement. the first requirement for the use case was positioned above the use case table. And the other requirements listed below the use case. Sections 3.5 and 3.7 detail quality measures, and in section 3.6, we discuss the database requirements.

2 Overall Description

2.1 Product Perspective

The Presenter system is projected to be self-contained and not to be a part of other products. Nevertheless, the system will be designed to be adaptable to minimize effort for possible future integration with other services and systems, such as LMS (learning management systems) softwares

2.2 Product Functions

• User Account Creation and Management:

Users can visit our platform's website and easily create their own account. Once registered, they can manage their profiles, upload PowerPoint files, and view their generated videos.

• Browsing and Viewing Videos:

Registered users have the privilege to browse through a library of videos generated by other users. They can watch these videos, learn from them, or even gather inspiration for their own content.

• PowerPoint-to-Video Conversion:

Users can upload their PowerPoint presentations to our platform. By feeding the system with their file, they initiate the transformative process of turning static slides into an informative video.

• Customized Video Generation:

Upon uploading, users are prompted with options to tailor their video output. They can:

o Specify the desired length of the video.

o Choose the knowledge level for the content's explanation: beginner, intermediate, or advanced.

• Automated Image Interpretation:

If a PowerPoint contains images, our platform can automatically interpret and provide an explanatory voiceover for these visuals, adding depth to the video content.

• Intelligent Content Generation:

Our platform doesn't just convert slides to video; it creates intelligent content. Depending on user preferences, it will craft explanatory voiceovers, ensuring the video content is both engaging and informative.

• Sharing and Distribution:

Once the video is generated, users can share their videos within the platform, allowingothers to view, learn, and potentially get inspired by their content

2.3 User Characteristics

Primary User Group: Students

• Age Group:

Typically young adults, ranging from teenagers to early twenties.

• Educational Background: Varied, but primarily students enrolled in academic institutions.

• Purpose:

Prefer consuming information in video format for enhanced engagement and comprehension.

• Technical experience:

Moderate level of technological proficiency. Generally comfortable with digital tools and have experience in utilizing smartphones, laptops, and tablets for educational purposes.

Secondary User Group: Content Creators

• Age Group:

diagram
2.2.1 class

Diverse, spanning different age groups.

• Educational background:

Mainly individuals of diverse educational backgrounds and experience levels. Specifically, individuals who create educational content or presentations frequently.

• Purpose: Interested in converting PowerPoint presentations (PPTs) into video format for instructional or sharing purposes.

• Technical experience:

Moderate to high level of technical expertise. Content creators are mostly proficient in office software and multimedia tools.

2.4 Constraints

• The system shall be completed within a timeframe of 8 months.

• The system shall be developed in accordance with the Waterfall methodology.

• The system shall be implemented on the following tech stack:

o MongoDB as the database management system

o Bun.js as the backend server

o React.js as the frontend framework

o Uikit.js for UI styling

3 Specific Requirements

3.1 Detailed Requirements

Generic

3.1.1 The system shall allow the browser to create an account using their e-mails.

3.1.2 The system shall verify browser using verification number sent to their e-mail.

3.1.3 The system shall allow users to log in to their account using their log-in credentials.

Admin

3.1.4 The system shall allow the admin to edit a user’s information.

3.1.5 The system shall allow the admin to bloke a user.

3.1.6 The system shall allow admin to delete content from the platform.

Creating videos

3.1.7 The system shall allow the user to upload .PPTX or pdf file to the platform.

3.1.8 The system shall allow the user to set the parameters (explanation depth and duration) for the video.

3.1.9 The system shall allow the user to preview the slides with the corresponding scripts.

3.1.10 The system may provide the estimated reading time of each script

3.1.11 The system shall allow the user to request script regeneration for (too short, too long, not related)

3.1.12 The system shall allow the user to convert the .PPTX to video

3.1.13 The system shall allow the user to name the converted video.

Video

3.1.14 The system shall allow the user to rename a video.

3.1.15 The system shall allow the user to toggle the visibility of their videos.

Playlists

3.1.16 The system shall allow the user to set the visibility of the playlist (public, private).

3.1.17 The system shall allow the user to change the name of the playlist.

3.1.18 The system shall allow the user to add a video to a playlist.

3.1.19 The system shall allow the user to remove a video from a playlist.

Library

3.1.20 The library feature shall consist of playlists.

3.1.21 The system shall allow the user to create a new playlist.

3.1.22 The system shall allow the user to remove a playlist.

3.1.23 The system shall have a default playlist (Liked), that have all the user's liked videos.

3.1.24 The system shall have a default playlist (Channel), that have all the user’s videos.

Play videos

3.1.25 The system shall allow user/browser to play videos.

Share videos and playlist

3.1.26 The system shall allow the user/browser to share the link of a playlist or a video.

Explore

3.1.27 The system shall allow the user/browser to explore public content.

3.1.28 The system shall allow the user/browser to search for specific public content.

3.1.29 The system shall allow the user/browser to access public contents using a link.

Like videos and save playlist

3.1.30 The system shall allow the user to save public playlist to their library

3.1.31 The system shall allow the user to remove public playlist from their library.

3.1.32 The system shall allow the user to like a video

3.1.33 The system shall allow the user to unlike a video.

AI Model

3.1.34 The system shall extract the text from the slides.

3.1.35 The system shall classify the slides based on layout (bullet points, paragraphs, quotes, separators, etc).

3.1.36 The system shall create a prompt based on the extracted information and layout class.

3.1.37 The system may support creating Arabic and English videos.

3.1.38 The system shall provide the response from the APIs as text scripts list.

3.1.39 The system may developed to have a continuous learning.

Creating the videos system

3.1.40 The system shall send a request for scripts from the AI model with the chosen parameters

3.1.41 The system shall convert .PPTX file to array of .PNG.

3.1.42 The system shall handle user modification on the scripts.

3.1.43 The system may inform the AI model with the user modification for continuous learning.

3.1.44 The system shall respond to user feedback by requesting the AI Model to generate a new script based on the feedback.

3.1.45 The system shall create audio that reads aloud the script using TTS model.

3.1.46 The system shall wait for user confirmation to start rendering the synchronous video.

3.1.47 The system shall add a watermark on the video.

3.2 Use case Diagram

3.3 Interface Requirements

3.3.1 User Interfaces

The Presenter primarily utilizes a graphical user interface to ensure ease of use. The GUI features a clean and intuitive layout, with a responsive design that adapts to various devices, such as desktop computers, tablets, and smartphones. The design elements focus on enhancing user experience and accessibility.

Upon logging in, users are greeted with a customizable dashboard where they can access their library, explore content page, and create content page. The dashboard offers a quick overview of their recent playlist, created content, and a user-specific news feed.

3.3.2 Hardware Interfaces

The system has no hardware interface requirements

3.3.3 Software Interfaces

1- Database Management System Name

number

Source

https://www.mongodb.com/

Purpose of Interfacing The system will use MongoDB as its database component.

2- Web server

Name

Apache HTTP Server

Source

Purpose of Interfacing

3- Content delivery Network

Name

Mnemonic

https://httpd.apache.org/

The system will be hosted on an Apache web server to handle HTTP requests and serve web content to users.

Amazon CloudFront

CloudFront

Version number -

Source

Purpose of Interfacing

https://aws.amazon.com/cloudfront/

The system will integrate with Amazon CloudFront as a CDN service to optimize content delivery and enhance user experience by caching and distributing content globally.

Mnemonic Mongo-DB Version
5.0.3
MongoDB
Mnemonic Apache-HTTP Version number
2.4.50

4- Video encoding library

Name FFmpeg

Mnemonic FFmpeg

Version number

Source

Purpose of Interfacing

5- AI script generation

Name

Mnemonic

4.4

https://www.ffmpeg.org/

The system will use FFmpeg for video encoding and transcoding, enabling support for various video formats and efficient processing

OpenAI GPT-3 (ChatGPT)

GPT-3

Version number -

Source

https://openai.com/gpt-3/

Purpose of Interfacing Use ChatGPT (GPT-3) to dynamically generate scripts from userprovided prompts

6- Platform Backend

Name

Bun.js

Mnemonic Bun

Version number

Source

v1.0.7

https://bun.sh

Purpose of Interfacing The system will use Bun as a package manager, as a replacement for Node.js.

7- Platform Frontend

Name

React.js

Mnemonic React

Version number

Source

Purpose of Interfacing

v18.2.0

https://react.dev/

The system will feature React as the platform frontend tier This is because React is more mature and popular than other frontend frameworks

Notes This function requirements use the same use case as F-01

F-01: Create account Priority High Effort 2 days Risk High Use Case(s) UC-01 Description Allow new user to create new account using their e-mails Notes F-02: Verify user’s e-mail Priority High Effort 2 days Risk High Use Case(s) UC-01 Description Allow new user to verify
e-mails
Actors:
Pre-Condition(s): 1. Entered e-mail is not used. Post-Condition(s): 1. The user’s account is created. 2. The user is directed to the home page. 3. System sent token to the user Main Flow: 1. The user selects on “Create account”. 2. The system prompts the user to enter their account information (name, e-mail and password). 3. The user enters the information and submit 4. The system sends a verification code to user’s email, and prompt user to enter the code.
The user enters the verification code and submit
The system creates account and send a token to the user
3b. In
3 of the normal flow if the user’s input is not in the valid format:
The system prompts the user to enter valid input again. 2. Use case resume from step 4
3.4 Functional Requirements Description 3.4.1 Create account
their
UC-01: Create account Description: Allow user to create new account using their information and verify their emails.
User
5.
6.
Alternative(s):
step
1.

3c. In step 3 of the normal flow if the user’s entered e-mail is used:

1. The system prompts the user to enter a non used e-mail again.

2. Use case resume from step 4.

5b. In step 5 of the normal flow if the user’s entered code is wrong:

1. The system prompts the user to enter a valid code again.

2. The user enters the code.

3. Use case resume from step 6

Dependency: - e-mail verification. - Form validation

Allow users to log in into their account

Notes

UC-02: Log in

Description: Allow users to log in into their account using their e-mail and password.

Actors: User

Pre-Condition(s):

Post-Condition(s):

Main Flow:

1. The user is authenticated to access the system.

1. The user is logged into the platform.

2. A token is sent to the user.

1. The user select on “log in”.

2. The system prompt the user to enter their account information.

3. The user enter their information an select “submit”.

4. The user is logged into the system.

Alternative(s): 2b. In step 2 of the normal flow if the user’s credentials are not correct:

1. The system prompts the user to enter their credentials again.

2. Use case resume from step 3.

Dependency: -

F-03:
Priority High Effort 2 days Risk High Use Case(s) UC-02 Description
3.4.2 Log in
Log in

3.4.3 Manage users

Edit’s user information

Notes

Block user from the platform

This function requirements use the same use case as F-04

UC-03: Manage users

Description: Allow admin to manage users by editing their information or blocking users form accessing the platform

Actors: Admin

Pre-Condition(s): 1. The user is authenticated to access the system as an admin

Post-Condition(s): 1. Action is preformed to the user’s account.

Main

log in into the system.

10.

Alternative(s): 2b. In step 2 of the normal flow if the admin wants to block a user instead of editing their information.

1. Admin select on “block user”.

2. Use case continue from step 6.

F-04:
Priority High Effort 2 days Risk Low Use Case(s) UC-03 Description Allows
Notes F-05:
Priority High Effort 2 days Risk Low Use Case(s) UC-03 Description
admin to edit a user’s information
Allows admin to block users from the platform
”.
System
s
information and allow admin to edit them.
Flow: 6. Admin
7. Admin search for a specific user. 8. Admin select on “edit information
9.
show
user’s
Admin edit information and select “save”.
to the user’s page.
11. System returns the admin
-
Dependency:

3.4.4 Delete content

F-06: Delete content from the platform

Notes

UC-04: Delete content

Description: Allow admin to delete a content of a platform

Actors: Admin

Alternative(s):

Priority High Effort 2 days Risk Low Use Case(s) UC-04 Description Allows admin to delete content from the platform
Pre-Condition(s): 1. The user is authenticated to access the system as an admin Post-Condition(s): 1. Content deleted from user’s account Main Flow: 1. Admin log in into the system. 2. Admin select a specific content. 3. Admin select “delete”.
Dependency:
-

3.4.5 Upload .PPTX file

Upload .PPTX file

UC-05: Upload files

Description: Allow user to upload .PPTX files to the platform

Actors: User Pre-Condition(s):

The user is authenticated to use the system

The user is authorized to access this route.

Post-Condition(s): User proceeds to create a video

Main Flow:

Alternative(s):

User select on “upload file”

User selects the pptx file from their device.

User receives a success message

Dependency: Browser must support the file selection prompt

Priority High Effort 4 days Risk Low Use Case(s) UC-05
F-07:
1.
2.
3.
1.
2.

3.4.6 Create video

F-08: Set parameters of the video Priority High Effort 10 days Risk Low Use Case(s) UC-06 F-09: Preview slides with corresponding script Priority High Effort 10 days Risk Low Use Case(s) UC-06 F-10: Estimate reading time of each script Priority High Effort 10 days Risk Low Use Case(s) UC-06 F-11: Script regeneration Priority High Effort 10 days Risk Low Use Case(s) UC-06 F-12: Convert .PPTX to video Priority High Effort 10 days Risk Low Use Case(s) UC-06
F-13: Name converted video Priority High Effort 10 days Risk Low Use Case(s) UC-06 UC-06: Create video Description: Allow user to create a video Actors: User Pre-Condition(s): 1. The user is authenticated to use the system 2. The user is authorized to access this route. 3. The .pptx is uploaded to the platform Post-Condition(s): Main Flow: 1. User selects on “Create video” 2. System asks for parameters 3. User enters parameters and clicks submit 4. System sends a request to the AI model to generate script 5. System receives the script from the AI model 6. System displays the script to the user 7. User confirm correctness of the script 8. System sends a request to the AI model to start rendering the video 9. AI model saves the video to the database 10. System displays a success message to the user with the link for the video Alternative(s): 7.a User may ask for script regeneration 1. User requests the AI model to regenerate the script 2. System prompts for parameters 3. Users enters and clicks submit 4. System progress 5. AI models process the request and send the regenerated script to the system 6. Use case resumes at step 6 Dependency: UC-5

3.4.7 Manage Video

F-14: Rename a video

Notes

F-15: Change video visibility

Allows the user to rename a video

This function requirements use the same use case as F-14

Allows the user to change the visibility of their videos.

Notes

UC-07: Manage videos

Description: This use case allows the user to perform some actions (i.e., rename, toggle visibility, add / remove a video) to their Playlist

Actors: User

Pre-Condition(s):

1. The user is authenticated to use the system

2. The user is authorized to access this route.

Post-Condition(s): 1. The desired action is performed

Main Flow:

1. User clicks on Manage Videos

4. The system progresses with the action.

5. Lastly the system displays a success / error message to the user

Alternative(s): 3.a From the dropdown menu, user chooses to rename the current video

1. The User chooses “Rename”

2. System prompts the user for a new name

3. User enters the new name and clicks apply

Priority High Effort 3 days Risk Low Use Case(s) UC-07 Description
Priority High Effort 3 days Risk Low Use Case(s) UC-07
Description
2. System displays dropdown menu consisting of actions
3. User chooses “Toggle Visibility” button.

4. Use case resume at step 4

Dependency:

3.4.8 Manage playlist

Toggle visibility of a playlist

Rename playlist

F-16:
Priority High Effort 2 days Risk Low Use Case(s) UC-08 Description Allows the user to
of Playlists (public / private) Notes F-17:
Priority High Effort 2 days Risk Low Use Case(s) UC-08 Description Allows the user to
Priority High Effort 3 days Risk Low Use Case(s) UC-08 Description Allows the user to add
Playlists
F-16 F-19:
Priority High Effort 3 days
toggle visibility
rename a Playlists Notes This function requirements use the same use case as F-16 F-18: Add a video to a playlist
a video to a
Notes This function requirements use the same use case as
Remove a video from playlist

Description Allows the user to remove a video from a Playlists

Notes

This function requirements use the same use case as F-16

UC-08: Manage playlist

Description: This use case allows the user to perform some actions (i.e., rename, toggle visibility, add / remove a video) to their Playlist Actors: User

Dependency:

5.

3.b From the dropdown menu, user chooses to add a new video to the current playlist

1. The User chooses “Add a video” 2. System displays list of videos

3. User chooses a video and clicks apply 4. Use case resume at step 4

3.c From the dropdown menu, user chooses to remove a video from the current playlist

1. The User chooses “Remove a video” 2. System displays list of videos

3. User chooses a video and clicks apply 4. Use case resume at step 4

Risk Low Use Case(s) UC-08
Pre-Condition(s): 1. The user is authenticated to use the system 2. The user is authorized to access this route Post-Condition(s): 1. The desired action is performed Main Flow: 1. User clicks on Manage Playlist 2. System displays dropdown menu consisting of actions 3. User chooses “Toggle Visibility” button 4. The system progresses with the action 5. Lastly the system displays a success / error message to the user Alternative(s): 3.a From the dropdown menu, user chooses to rename the current playlist
The
the user
a new name
User chooses “Rename” 6. System prompts
for
7. User enters the new name and clicks apply
8. Use case resume at step 4

3.4.9 Manage library

F-20: The
Priority High Effort 5 days Risk Low Use Case(s) UC-09 Description The library feature shall consist of all the playlists created by the user And all the playlists liked by the user. Notes F-21: Create playlist Priority High Effort 4 days Risk Low Use Case(s) UC-09 Description Allow user to create playlist. Notes F-22: Remove a playlist Priority High Effort 4 days Risk Low Use Case(s) UC-09 Description Allows the user to remove a Playlist from Library Notes F-23: View liked playlists Priority High Effort 4 days
library feature

Description Allow user to view the playlists they liked from other users.

Notes F-24: Default playlist

Notes

System shall have a default playlist that have all the user’s converted videos.

UC-09: Manage Library

Description: This use case allows the user to add / remove a Playlist from their Library

Actors: User Pre-Condition(s): 1. The user is authenticated to use the system

2. The user is authorized to access this route. Post-Condition(s): 1. The desired action is performed

Main Flow:

1. User clicks on Manage Library

2. System displays dropdown menu consisting of actions

3. User chooses “Add new Playlist”

4. System prompts the user to name the Playlist

5. User enters a name and clicks apply

6. The system progresses with the action

7. Lastly the system displays a success / error message to the user

Alternative(s): 3.a From the dropdown menu, user chooses to remove a Playlist from their library

1. User chooses “Remove a Playlist”

2. System displays list of Playlist

3. User chooses the one to remove and clicks apply

4. System requests confirmation.

5. User confirms

6. Use case resume at step 6

Dependency:

Use Case(s) UC-09
Risk Low
Priority High Effort 3 days Risk Low Use Case(s) UC-09
Description

3.4.10 Play videos

F-25: Play
Priority High Effort 4 days Risk Low Use Case(s) UC-10 Description Allow user to play videos. Notes UC-10: Play videos Description: Allow user to play videos. Actors: 1. User 2. Browser Pre-Condition(s): 1. Video is available for display Post-Condition(s): 1. User/Browser play the video. Main Flow: 1. User clicks on the video 2. User is directed to the viewing page. 3. Video played Alternative(s): Dependency:
videos

3.4.11 Share videos and playlists’ links F-26: Share videos and playlist’ links

Notes UC-11: Share video and playlists’ links Description: Allow user/browser to share videos and playlists links.

Priority High Effort 1 day Risk Low Use Case(s) UC-11 Description
Allow user to share their videos and playlists’ links
Actors: 1. User 2. Browser
Post-Condition(s): 1.
Main Flow: 1. The user access the
or the
2. The user selects on “share” button. 3. The system retrieves the video or the playlists’ id. 4. The system pastes a copy to the user’s clipboard.
Pre-Condition(s):
The link is shared successfully.
video
playlist page.
Alternative(s): Dependency:

3.4.12 Explore public content

F-27: Explore public content

Description Allow users to explore content shared publicly by other users

Notes

UC-12: Explore public content

Description: Allow users to explore content created by other users that have been publicly shared. These publicly shared content can be played, liked, or save by the user.

Priority High Effort 7 days Risk High Use Case(s) UC-12
Actors: 1. User. 2. Browser.
Post-Condition(s): 1. The user view the
content successfully. Main Flow: 1. User selects on “Explore Public Content”. 2. User directed to the “public content” page and can view all the public content. 3. User select a certain content. Alternative(s): Dependency: 1. Toggle Visibility 2. Share video and playlist
Pre-Condition(s):
public

3.4.13 Search for specific content

F-28: Search for content

Notes

Access public content using link.

UC-13: Search for specific content

Description: Allows user to search through available content using keywords, or accessing them using link. Actors:

Dependency:

Priority High Effort 2 days Risk High Use Case(s) UC-13 Description Allow users/browser
F-29:
Priority High Effort 2 days Risk High Use Case(s) UC-13 Description
to search through available content Notes
Allow users/ browser to access public content using the shared link.
Post-Condition(s): 1. The
Flow: 1. User select on the search box 2. User is promoted to enter keywords
User type
and selects on search
System direct the
to
the
1. User Pre-Condition(s):
user reach the wanted content. Main
3.
keywords
4.
user
public content page fulfilling
keywords.
Alternative(s): If the user has a link for specific content: 1. User reach the content using the link directly.

Notes UC-14: Save public playlist

Description: Allow users to save public playlist to their library

F-30:
Priority High Effort 8 days Risk High Use Case(s) UC-14 Description Allow users to save playlist from their library Notes F-31: Remove public playlist Priority High Effort 8 days Risk High Use Case(s) UC-14 Description Allow
3.4.14 Save public playlist
Save public playlist
users to remove public playlist from their library.
1.
2.
1. The playlist is saved
the
Main Flow: 1. The user selects on “save playlist”. 2. The system show “playlist saved” message. 3. The playlist is saved into the user’s library.
If the playlist is saved and the user want to remove it from the library: 1. The user selects on “remove playlist”. 2. The system show “playlist removed” message. 3. The playlist is removed from the user’s library
Actors: Users Pre-Condition(s):
The user is authenticated to use the system
The user is authorized to access this route. Post-Condition(s):
into
user’s library
Alternative(s):
Dependency: 1. Toggle Visibility

3.4.15 Like video

Like video

Allow users to like videos and add them to their “Liked” playlist. Notes

Unlike video

Notes

UC-15: Like video

Description:

Allow users to unlike videos and remove them to their “Liked” playlist.

Allow users to like videos and add them to their “Liked” playlist.

Actors: Users

Priority High Effort 6 days Risk High Use Case(s) UC-15 Description
Priority High Effort 6 days Risk High Use Case(s) UC-15
F-32:
F-33:
Description
1. The user is authenticated to use the system. 2. The user reaches the
Post-Condition(s): 1. The video is added to the user’s “Liked” playlist. Main Flow: 1. The user selects on “Like”. 2. The system show “video liked” message. 3. The video is saved into the user’s “Liked” playlist
If the Video is liked and the user want to unlike it: 1. The user selects on “unlike”. 2. The system show “video unliked” message. 3. The video is removed from the “Liked” playlist. Dependency: 1. Toggle Visibility
Pre-Condition(s):
content page.
Alternative(s):

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.