Project: Functional and Non Functional Requirements for YouTube


Functional requirements:
In software and systems engineering, functional requirement is a declaration of the intended function of a system and its components. Based on functional requirements, an engineer determines the behaviour (output) that a device or software is expected to exhibit in the case of a certain input. A system design is an early form of a functional requirement.


Non-functional requirements:
In systems engineering and requirements engineering, a non-functional requirement is a requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviours. They are contrasted with functional requirements that define specific behaviour or functions.

Functional Requirements For YouTube:

1.   Login

Use Case: Login
Primary Actor: Admin or User
Goal in Context: Accessing to YouTube account
Scenario:
1. The system prompts the user for their
username and password.
2. The admin enters username and
password.
3. The system gets password registered to
the user name.
4. The system verifies the password and
sets the admin’s authorization.
5. The admin is given access to the system
to perform their job
2.   YouTube Channel

Use Case: Create YouTube Channel
Primary Actor: Admin
Goal in Context: Create a YouTube channel to upload videos
Scenario:
1. If the admin wants to upload videos to YouTube website, then he must create a YouTube channel first.
2. Admin must have an email address to create a YouTube channel.
3. Admin must able to go to his channel from any page by clicking on the profile icon.
4. A profile icon must be displayed at the corner on each page.
5. All of the videos must be displayed on the admin’s YouTube Channel.
6. The admin must have subscribe button on their YouTube channel which has a counter. It increments by one every time a user clicks on it and decrements if the same user clicks on it again. Users must be able to subscribe to any channel by clicking on the subscribe button.
7. Every time the user clicks on the profile icon, the system must take them to the admin’s YouTube channel.
8. A subscribe button must be displayed below every video of the admin.

3.   Uploading

Use Case: Uploading
Primary Actor: Admin
Goal in Context: Uploading videos on YouTube
Scenario:
1. The system shall have an upload button for videos.
2. The system can upload videos from the system.
3. Video format of the videos must be MOV, MP4 (MPEG4), AVI, WMV, FLV, 3GP, MPEGPS or WebM.
4. Standard YouTube accounts must have videos of length under 15 min.
5. Users connected with YouTube partnership program can upload videos of any size and length.
6. The admin must have a youtube channel created on their account in order to upload videos.

4.   Category

Use Case: Choose Category
Primary Actor: Admin
Goal in Context: Choosing which category the uploaded video belongs to.
Scenario:
1.     After Uploading, in the settings admin can choose a category of the uploaded video from Auto & Vehicles, Beauty & Fashion, Comedy, Education, Entertainment, Family Entertainment and people and blogs.

2. The default category of YouTube is People and blogs. Admin must also be able to change the default category of YouTube.
3. The category of the video must be displayed in the video description when the video will be watched by viewers.
5.   Date, time and location

Use Case: Choose Date, Time and Location.
Primary Actor: Admin
Goal in Context: Admin chooses date, time and location of the video.
Scenario:
1.     In the uploaded video settings, admin must have the option to select date, time and location of the video.
2. The default date, time and location of the video will be set to none.
3. Admin must have the option to change the date and location of the video whenever he wants but the date of publishing the video must not be changed and will displayed in the video description.

6.   Language and License

Use Case: Choose language and license.
Primary Actor: Admin
Goal in Context: Admin selects language and license.
Scenario:
2.     In the uploaded video settings, admin must have the option to choose the language and license of the video.
2. The default license of the video will be set to standard. The default value of language is set to none. Admin must be able to change the default value.
3. Admin must have the option to change the language and license of the video whenever he wants.
4. Admin can choose license from two options, first is creative commons and second is standard license.
7.   Monetization

Use Case: Monetization
Primary Actor: Admin
Goal in Context: Enable or disable monetization
Scenario:
1.If the admin has a standard youtube channel, then he must not have monetization enabled on their video.
2. If the admin has YouTube Partner verified channel, then he must have the option to enable or disable monetization.
8.   Verification

Use Case: Verify YouTube Channel
Primary Actor: Admin
Goal in Context: To verify YouTube channel of the admin.
Scenario:
1.If the admin has a YouTube channel, he must have the option to verify their YouTube channel.
2. On clicking the verify button, the admin must be prompted to enter their phone number. In the next step, the admin must have the option to verify phone number either through SMS or phone call.
3. When the admin will choose SMS, a verification code must be sent to the admin’s entered phone no. The admin must be prompted to enter the verification code sent to their phone. The system must match the verification code entered by the admin to the one sent to the phone number. If both match, the admin’s YouTube channel must be verified. Else the admin must be prompted to enter phone number again.
4. If the admin chooses phone call, an automated phone call must be made to admin asking him to enter the verification code.
5. A verified YouTube channel must be able:
·       To upload videos longer than 15 min of any size and length.
·       To have the option to upload custom made picture as the thumbnail of their videos.
·       To apply for YouTube partner Program in order to enable monetization on their YouTube videos.
·       To live stream on their YouTube Channel.
6. An unverified YouTube channel must not be allowed to upload videos longer than 15 min. They must not be allowed to apply for YouTube partner program. They must not have the option to upload custom thumbnails to their videos.

9.   Video Title and Description

Use Case: Video title and description of the video
Primary Actor: Admin and User
Goal in Context: User and admin role on Video title and description of the video
Scenario:
1. The title of the video must be less or equal to 100 characters.
2. The description of the video must be less or equal to 5000 characters.
3. Admin must be given the option to edit video title and description any of his videos on the channel.
4. User must be able to see the title and description of every video below the video itself.
5. The title of the video must not contain any URL links. The description of the video can contain external links.

10.      Subscription and Playlist

Use Case: Subscribe button and Playlist.
Primary Actor: Admin and User
Goal in Context: User and admin role on Subscription and Playlist.
Scenario:
1. The admin must have subscribe button on their YouTube channel which has a counter. It increments by one every time a user clicks on it and decrements if the same user clicks on it again. Users must be able to subscribe to any channel by clicking on the subscribe button.
2. Subscribe button must be displayed below every video of the admin.
3. Add to playlist button must be present on the right side of share button just below the video. The user must be able to save any video to the playlists he creates on his channel. The user must also have the option to create a new playlist from the add to playlist button. The new playlist created must be saved on his YouTube channel.
4. The admin must have the option to create playlists on their channel and put videos in them accordingly.
5. Liked Videos playlist must contain every video the user has liked by clicking the like button.
6. Every playlist must be present in the YouTube channel of the user. The user must be able to delete or edit the playlist any time.
7. The admin must have the option to make their playlist private or public.
8. In public playlists, every user coming to admin’s channel must be able to see it. Private playlists must be only be seen by the admin.


11.  Like, Dislike, Share and Add to Playlist:
Use Case: Like, Dislike, Share and Add to playlist button.
Primary Actor: User
Goal in Context: User role on Like, Dislike, Share and Add to playlist button below the video.
Scenario:
1. Every video must have a Like, Dislike, Share and Add to playlist button below the video.
2. The like button must increment by 1 every time a user clicks on it. The counter must be displayed just below the Like button. The like button must decrement by 1 if the same user clicks on it again.
3. The dislike button must increment by 1 every time a user clicks on it. The counter must be displayed just below the dislike button and just on the right side of the Like button. The dislike button must decrement by 1 if the same user clicks on it again.
4. A share button must be present on the right side of dislike button. When the user clicks on the share button, the system must display all social media sharing platforms. The user must be able to share the video on any one of the platforms.
5. Users connected with YouTube partnership program can upload videos of any size and length.
6. The admin must have a YouTube channel created on their account in order to upload videos.
7. Add to playlist button must be present on the right side of share button just below the video. The user must be able to save any video to the playlists he creates on his channel. The user must also have the option to create a new playlist from the add to playlist button. The new playlist created must be saved on his YouTube channel.
12. Comment section
Use Case: Comments on video
Primary Actor: User
Goal in Context: Leaving comments on video
Scenario:
1. Every video must have a comment box below the video.
2. Every user can comment on the video by going to the comment box and clicking on the comment button.
3. Every comment must have like and reply button beneath it. Every user can reply to each other’s comments and like them. The like counter will increment or decrement by 1 based on the user response.
4. The video owner must have the option to remove any comment from their videos. Admin must also have the option to hide any user from their channel so the users comments won’t be visible to other users and admin.
5. The admin must also have the option to choose which words they don’t want in the comments section. The system must be able to detect these words and block the comments containing them.
13.      Notifications
Use Case: Notifications
Primary Actor: User and System
Goal in Context: Notifications in the system
Scenario:
1. The user must receive notifications for new videos from their subscriptions, if someone likes their comment or replies to it, when someone has made a comment to their YouTube Video.
2. User must have the option to disable or enable notifications from the system.
3. The user must receive notifications through the email and their account.
4. Their must be a notifications button in their account which allows to see all their notifications.
5. If the user clicks on the notification, the system must open the particular video.
14.      Home, Trending and Suggested Videos
Use Case: Home, Trending and Suggested videos
Primary Actor: User
Goal in Context: How should the Home, Trending and Suggested videos tab should be used
Scenario:
1. The system must always open the home page first when the user opens the system. The home page must contain videos based on the watch and search history of the user. The algorithm of the system must be developed in such a way that the home page must contain videos that the user is interested in based on the web history of the User.
2. The user must have a trending button on the homepage. When the user goes to the trending tab, most popular videos in the user’s country must be displayed from top to bottom. The users must also have the option to change country location. When the country is changed, trending tab must also change to display videos trending in the changed country.
3. When the user is watching a particular video, suggested videos must be displayed below the video user is watching. The Suggested videos must be selected by the algorithm of the system which shows those videos that user is interested in based on their web history.

15.      Views and Analytics
Use Case: Views and Analytics
Primary Actor: User and admin
Goal in Context: Views and analytics of the video
Scenario:
1. Every video must display the number of times the video has been viewed below the video.
2. The user must watch the video for at least 3 sec to count it as a view.
3. The admin or owner of a YouTube Channel must have access to channel analytics which must contain information on views, subscribers, watch time, copyright, geography and audience.
4. Admin must have the option to see the analytics of any of their videos.
5. Admin must be able to download their own videos.
6. Admin must be able to see the analytics of their channel since the origin of the channel or lifetime.
7. Admin must have the option to choose any time period for which they want to see the analytics.
8. Analytics tab must also display the information of copyright. The copyright button must display the number of copyrights on the admin’s channel.
9. The channel must be deleted if the 3 copyright’s are issued within 3 months. Each copyright must be removed after 3 months.

Non-Functional Requirements For YouTube:

1)   Availability:
a)    The service should be available all the time.
b)   The website and the application should be responsive to the client all the time.
c)     Anything searched by the client must be found.
d)   Every video must have an unique identification through it could be searched and easily found.
e)    Related searches must be shown.

2)   Adaptability:
a)    The finished application and the server must allow new server to login.
b)   The software must be flexible.
c)     The software must be adaptive.
d)   The data can only be changed by the account holder.

3)   Aesthetics:
a)    The text must of a suitable color which could be visible and easy to read.
b)   The application and the website must a light and a dark theme. Which could be chosen by the user on their free will.
c)     It must have a presentable look.

4)   Compatibility:
a)    The website should be compatible with all the browsers.
b)   Such as google, Mozilla, Opera and etc.
c)     The application must be able to run on both android and apple products.

5)   Consistency:
a)    The website must be consistent.
b)   The website must perform accurately every time its accessed.
c)     The application must be responsive all the time and should never lag the device.
d)   The website must accommodate all the active users and should be responsive to every user.

6)   Understandability:

a)    A novice user must be able to understand the format.
b)   The user must able to adapt and change the UI to its personal requirements.


7)   Extensibility:
a)    The user must be able to upload .mp4 and .mp3 files all the time
b)   No restriction on the size of the file.

8)   Frequency:
a)    The system will not crash no more than once per 100000 searches.
b)   The incorrect user input must be handled with a message to inform about the error.

9)   Human factors:
a)    The UI must be user-friendly.
b)   The UI must be intuitive.
c)     All menus must have consistent format.

10)        Installability:
a)    The application should be easy to install.
b)   It should be available to install on both android and apple products
c)     There should not be a further requirements to install to run the application.

11)        Localizability:
a)    The application and the website must be available in every language.
b)   All user interface components must be able to use locale of the system and if not available it must use US English.
c)     The UI language should be changed according the users desires.
d)   The search should be able to convert different languages without using any external software.

12)        Maintainability:
a)    A software developer with a year of experience must be able to correct any known defect.
b)   The maintenance group must be able to maintain the website and the application.

13)        Predictability:
a)    The website and application should never crash.
b)   The system must produce predictable results.

14)        Recoverability:
a)    During a system restart the system should return to its working state.
b)   There should be no lost data on system restart.
c)     If there is the data must be recoverable by the user.

15)        Reliability:
a)    The system will be available 100% of the time.
b)   The system should never crash.
c)     Back up servers must be available all the time.

16)        Response Time:
a)    Query response time must be fast.
b)   All queries must return a response in <2 seconds.

17)        Reusability:
a)    Only the account holder can change its upload.
b)   The security must be upgradeable.

18)        Security:
a)    No one other than the user should be allowed to change their uploads.
b)   The accounts must have unique passwords and id for every user.
c)     No other user should use the content of any other user.
d)   Copy rights should be set.

19)        Quality:
a)    The software must ensure the quality of the video which is being uploaded to be in 480p or above.
b)   The user must get the desired video quality.







Comments