You are on page 1of 20

PREPARED BY:

TAIMUR ALI (104)


MAJID KHAN()
M.ALI()
Submitted to:
Mam Iqra Javed

Software Requirements
Specification Document
Table of Contents
Software Requirements Specification DocumentPREPARED BY:............................................................1
1.0 Introduction.........................................................................................................................................2
1.1 Purpose:.............................................................................................................................................4
1.2 Document Conventions:...................................................................................................................4
1.3 Product Scope:..................................................................................................................................5
1.4 References..........................................................................................................................................5
2.0 Overall Description..............................................................................................................................5
2.1 Product Perspective:.........................................................................................................................6
2.2 Operating Environment...................................................................................................................7
3.0 Functional Requirements..................................................................................................................11
3.1 Sign up/Sign in ..............................................................................................................................11
3.2 Search..............................................................................................................................................12
3.3 Share Video.....................................................................................................................................13
3.4 Download Video:............................................................................................................................14
3.5 Upload Video:.................................................................................................................................15
3.6 Navigation Section.........................................................................................................................16
3.7 Home...............................................................................................................................................17
3.8 Trending..........................................................................................................................................18
3.9 Subscription....................................................................................................................................18
3.10 Library............................................................................................................................................18
3.11 History.............................................................................................................................................18
3.12 Watch later.....................................................................................................................................18
3.13 Liked videos...................................................................................................................................18
4.Other Nonfunctional Requirements......................................................................................................18
4.1 Performance Requirements............................................................................................................18
4.2 Safety Requirements......................................................................................................................20
4.3 Security Requirements..................................................................................................................20
4.4 Software Quality Attributes.................................................................................................................22
4.5 Business Rules...............................................................................................................................23
6.0 Other Requirements..........................................................................................................................24
6.1 Database Requirements:...........................................................................................................24
6.2 Internationalization and Localization......................................................................................24
6.3 Legal and Regulatory Requirements:......................................................................................24
6.4 Accessibility................................................................................................................................24
7 Design Phase…………………………………….………25
DFD (Data Flow Diagram) ……………………...………25
Use Case………………………………………….………17
8. Interface Design………………………………………....26
7. Coding Languages………………………………………27
6. Testing Phase……………………………………….……28
Test Case………………………………………….………28
9. Conclusion……………………………………………….29
1.0 Introduction

1.1 Purpose:
The purpose of this document is to present the detailed description of the YouTube. It will explain
the purpose and features of the system, the interfaces of the system, and constraints that it must
operate.
1.2 Document Conventions:
The document conventions followed in the SRS for the youtube app are as follows:

1.2.1 MHZ-Megahertz:

1.2.2 SDLC -System development life cycle :

1.2.3 MB – Megabyte:

1.2.4 KB -Kilobyte:

1.2.5 HD- Hard disk:

1.3 Product Scope:


This is a video streaming site name – “YouTube” YouTube is a website designed for sharing video.
Millions of users around the world have created accounts on the site that allow them to upload
videos that anyone can watch. Through YouTube people can watch videos, share videos, Upload
videos and can even download them
1.4 References:
• http://www.google.com/
.
• http://www.slideshare.net/

• http://www.youtube.com/

2.0 Overall Description


2.1 Product Perspective:
YouTube is an American video-sharing website headquartered in San Bruno, California. YouTube
allows users to upload, view, rate, share, add to favourites, report, comment on videos, and
subscribe to other users. It offers a wide variety of user-generated and corporate media videos.
Available content includes video clips, TV show clips, music videos, short and documentary films,
audio recordings, movie trailers, live streams, and other content such as video blogging, short
original videos, and educational videos. The program is a new self-contained product. It has come
about due to the demand for such a product being identified in Activities like Studies,
Entertainment, Music, Comedy, Adventures. From these activities we saw that the main activity
people used video for was the watch content found online. These people would regularly spend
periods of time searching websites to try and find the videos they wanted to watch, either
somewhere to stream the video from or the files to download the video

2.2 Operating Environment:


YouTube can be operated by any system which has a browser and a decent internet connection. For
example – Windows, Mac, Linux, Android, IOS.

2.2.1 For pc/laptop:


 Ram: 512 MB Space:
 80 GB HD Drive Core:
 Pentium IV MHZ or more
 Cache: 512kb
2.2.2 Operating System:
 The youtube should support multiple operating systems, including but not limited to:
Android: Versions such as Android 5.0 (Lollipop) and above.
 iOS: Versions such as iOS 10 and above.

2.2.3 Software Components:


Sure, for YouTube, compatibility and coexistence with various components or applications are also crucial:

1. Mobile Operating Systems: YouTube should function seamlessly across different mobile operating
systems (iOS, Android, etc.), ensuring a consistent user experience regardless of the device.

2. Network Services: It needs to work well with different mobile network providers to ensure smooth
streaming and uploading of videos, optimizing for varying network speeds and capabilities.

3. Security Software: Compatibility with security software on devices is essential to ensure user data safety,
preventing unauthorized access and maintaining the integrity of user accounts.

4. Backend Systems: YouTube must be compatible with its backend systems, including databases, content
delivery networks, and algorithms. This ensures smooth data management, content distribution, and
personalized user experiences across the platform.

5. Third-Party Integrations: YouTube often integrates with various third-party applications, plugins, or
APIs (like Google Ads, analytics tools, etc.). Compatibility with these integrations is vital for functionalities
like monetization, analytics, and content management.
6. User Devices and Browsers: Compatibility with various devices (smartphones, tablets, smart TVs) and
web browsers (Chrome, Firefox, Safari, etc.) is crucial for users to access YouTube content seamlessly
across different platforms.

Ensuring compatibility and coexistence with these components and systems enables YouTube to offer a
consistent and user-friendly experience while delivering video content to millions of users worldwide.
require adjustments to the requirements, development approach, or project plan.
2.2.4 For andriod/ios:
Ram: 512 Mb
Space: 500MB
Cache: 200kb

3.0 FUNCTIONAL REQUIREMENTS


3.1 SIGN up/sign in:
3.1.1. Description: Allows user to sign up / sign in
3.1.2. Input: E-mail Id, Password
3.1.3. Output: Allows user to register their account on sign up and allows user to access on signing in.
3.1.4. Processing: When user sign up, system create new database and register that user and when user
sign in it matches the login credentials from the database and if matches grant the access.

3.2 Search :
3.2.1. Description: Allows user to search any video through entering keyword.
3.2.2. Input: Input Keyword
3.2.3. Output: Display videos related to keywords.
.3.2.4. Processing: Matches the keyboard in the database and display videos according to that.

3.3 Share videos:


3.3.1. Description: Allows user to share Videos with friends and family.
3.3.2. Input: Click on share button and select the person from friend list.
3.3.3. Output: Popup appeared = “Video shared Successfully”
3.3.4. Processing: When the user click share button, it send the video to the user friend account.
3.4 Download videos:
3.4.1. Description: Allows user to download videos
3.4.2. Input: Click on the download button
3.4.3. Output: Popup appeared that video has been downloaded.
3.4.4. Processing: Fetch the video from server that has been store database and transfer the video file to
user device through download.
3.5 Upload video:
3.5.1. Description: Allows user to upload their videos into his account/channel.
3.5.2. Input: Click on Upload Button.
3.5.3. Output: New window popup asking to select the file to upload.
3.6 Upload video:
3.6.1. Description: Allows user to upload their videos into his account/channel.
3.6.2. Input: Click on Upload Button.
3.6.3. Output: New window popup asking to select the file to upload.
3.7 Select file:
3.7.1.1. Input: Select the file you want upload.
3.7.1.2. Output: Popup appear that file has been uploaded.
3.7.1.3. Processing: When the user uploaded the file, the file has been uploaded goes to the server and
get saved in the database.
3.8 Navigation selection:
3.8.1. Description: When user click the navigation section then three options appeared.
3.8.2. Input: Select Navigation
3.8.3. Output: 3 options appeared:
1. Home
2. Trending
3. Subscription
3.9 Home :
3.791. Description: This is the user main page

3.9.2. Input: Click on Home.

3.9.3. Output: Search based/ history based/ Subscription based videos


showed up.

3.9.4. Processing: A list of videos based on user history, subscription and


search has been displayed.
3.10 Trending :
3.10.1. Description: Show video on location.

3.10.2. Input: Click on Trending.

3.10.3. Output: Location based most popular videos display.

3.10.4. Processing: System check the location of the user and then display the
top most popular videos of that region.

3.11 Subscription :
3.11.1. Description: It displays all the channel subscribed by user.
3.11.2. Input: Click on subscription

3.11.3. Output: Display all the channel video that user subscribed.

3.11.4. Processing: System check what channels user has subscribed from the
database and display the videos of their channel.

3.12 Libraray :
3.12.1. Description: This section contains 3 options

3.12.2. Input: Click on Library


3.12.3. Output: Display 3 option: 1. History 2. Watch Later 3. Liked Videos
3.13 History :
3.13.1. Description: it shows all the History of all the videos that the user
watched so far.

3.13.2. Input: Click on History

3.13.3. Output: Shows all the videos that user sees so far.

3.13.4. Processing: Check user data in database and display the videos that
has been watched by the user.
3.14 Watch history :
3.14.1. Description: It shows all the videos that the user has added to
watch later category.

3.13.2. Input: Click On watch later

3.13.3. Output: Display all the videos (add to watch)

3.13.4Processing: Check user data in the database and display all the
videos that has been added by the user in add to watch later section.
3.15 Liked video :
3.15.1. Description: It shows all the liked videos that the user liked so
far

3.15.2. Input: Click on Liked Videos

3.15.3. Output: List of liked videos appeared.

3.15.4. Processing: System check the user account and display all the liked
videos by the user so far.

. 4.0 other non functional requirements


4.1 Performance requirements:
● The user must have a device which is at least to play a 144p resolution video.
● The user must have at least 500kbps of net connection in order to play the video
without buffering.

4.2 Saftey requirements:


If there is extensive damage to a wide portion of the database due to catastrophic failure, such as a
server crash, the recovery method restores a past copy of the database that was backed up to
archival storage (typically tape) and reconstructs a more current state by reapplying or redoing the
operations of committed transactions from the backed-up log, up to the time of failure. And in the
meanwhile, the server switch to the
4.3 software quality Attributes:
▪ AVAILABILITY: The site is available for the users 24x7.
▪ MAINTAINABILITY: The developers and a team of software engineers work on
the maintenance and the updates of the site.
▪ USABILITY: The site can be used anywhere if the connectivity to the internet
and a device.

4.5 Security requirements:


Absolutely, applying these security measures to a platform like YouTube is paramount to protect user
data and ensure a secure environment for interactions and transactions. Here's how these measures can be
applied to YouTube:

4.5.1 User Authentication:


- YouTube should implement robust user authentication mechanisms to ensure that only authorized
users can access their accounts. This might involve strong password policies, two-factor authentication, or
biometric verification through devices supporting facial or fingerprint recognition.

4.5.2 Data Encryption:


- Encrypting sensitive data both in transit and at rest is crucial for YouTube. HTTPS protocols can be
used for secure data transmission, and data storage, including user profiles, viewing history, and personal
information, should be encrypted to prevent unauthorized access.

4.5.3 Access Control:


- Implementing role-based access control (RBAC) is essential to restrict user access to specific
functionalities and data based on their roles. This ensures that users only have access to information
pertinent to their privileges.

4.5.4 Secure Storage:


- User data and transaction records should be stored securely using encrypted databases or secure file
systems. Preventing unauthorized access or tampering of this stored data is crucial to maintain user
privacy.

4.5.5 Secure APIs:


- YouTube integrates with various APIs for content delivery, analytics, and third-party services.
Ensuring these APIs follow industry best practices with proper authentication and authorization
mechanisms is vital to prevent misuse or unauthorized access.

4.5.6 Security Compliance:


- Compliance with regulations like GDPR, which protects user data privacy, and standards like PCI-
DSS for payment-related information is crucial. Adherence to these standards ensures that appropriate
security measures are in place to safeguard user data.

4.5.7 Security Testing and Auditing:


- Regular security testing, including vulnerability assessments and penetration testing, should be
conducted to identify and address potential security vulnerabilities in the platform. Additionally, periodic
security audits ensure ongoing adherence to security requirements.
4.5.8 Security Certifications:
- Obtaining industry-recognized security certifications such as ISO 27001 or SOC 2 demonstrates
YouTube's commitment to following established security practices. These certifications reassure users
and stakeholders about the platform's security measures.

Implementing these security measures comprehensively helps YouTube maintain a secure environment
for its users, protecting their data and ensuring a trustworthy platform for content consumption and
interaction.

4.6 BUSSINESS RULES:


Certainly, let's contextualize these aspects specifically for YouTube:

4.6.1 User Registration:


- YouTube typically requires users to comply with age restrictions to create an account and
access certain content. Users are prompted to provide basic information during the
registration process, such as an email address, username, and password.

4.6.2 Transaction Limits:


- While not direct financial transactions, YouTube might enforce limits on video upload
sizes, the number of videos a user can upload per day, or other activities to manage server
load and maintain platform stability.

4.6.3 Know Your Customer (KYC):


- In the context of YouTube, this could align with the verification process for creators
aiming to access monetization features. Creators may need to complete the Partner
Program requirements, which involve verifying their identity and adhering to specific
guidelines.

4.6.4 Role-Based Access:


- YouTube encompasses various roles like viewers, subscribers, creators, moderators, and
administrators. Each role comes with different access levels and permissions. Creators
have access to video management, analytics, and monetization features, while viewers
have access to watching and interacting with content.

4.6.5 Service Availability:


- YouTube's services might vary based on regional licensing agreements and content
restrictions. Certain videos or features might not be available in specific countries due to
copyright or regulatory limitations.

4.6.6 Fraud Prevention:


- YouTube employs automated systems and human moderators to monitor and flag
potentially fraudulent activities such as spam comments, misleading content, or attempts
to manipulate view counts. Accounts engaging in such activities might face suspension or
termination.
4.6.7 Transaction Reversals and Disputes:
- YouTube provides mechanisms for creators to appeal copyright claims or content strikes
through the Content ID system. Users can dispute and request reviews for decisions
affecting their channel monetization or content visibility.

4.6.8 Privacy and Data Usage:


- YouTube has a clear privacy policy explaining how user data is collected, used, and
shared. Users have control over their privacy settings, including managing watch history,
controlling personalized recommendations, and determining visibility for their own
content.
5.0 DESIGN PHASE
Design phase deals with transforming the requirements, as described in the SRS document
into a form that can be used while programming. In design phase of SDLC based on
requirement captured in SRS.

DFD (Data Flow Diagram)


A data flow diagram (DFD) maps out the flow of information for any process or system.
Level 0
login data
USER Server
YouTube
0
Access Send data

LEVEL 1
Search
video

0.3

Trendin
g
Videos

Uploa
d
0.4

Account
Setting
Display
0.5 selected
Login Homepage Option
0.2 0.9
0.1

Histor
y

0.6

Watch
Subscri Later
ption 0.7

Liked
LEVEL 2 Video
s
0.8
Keyword Keyword Check
Search Display
server for
Video Video
videos
0.3.1 0.3.3
0.3.2

data data

Server

Click on Message
Upload Select File Click
Popup-
Upload Upload
0.4.2 “Uploaded”
Button 0.4.1 0.4.3
0.4.4

File stored Upload


in server Success

Server
Password
Click on Account Enter New Change Verify Change
Account Settings Password Password Authorization successful
Settings 0.5.1 0.5.2 0.5.3 0.5.4

data
data

Server

Click on
History Show
History
History
0.6.1 0.6.2

Retrieve
Send data
user History
from
account Server
Click on Show
Watch Watch Watch
Later Later Later List
0.7.1 0.7.2

Retrieve
user data
from Send data
account
Server

Click on
Liked Liked Show Liked
Videos Videos Video List

0.8.1 0.8.2

Retrieve Send data


user data
from
account Server
Use Case Diagram:

Login
USER SERVER

Authentication

Search Video

Providing Search Result

Upload

Download

History

Watch Later

Liked Videos

Account Settings

Maint
Maintenance enanc
e
Team

You might also like