equirements Specification for StreamIO
Software R Page i
Software Requirements
Specification
for
StreamIO
Version 1.0 approved
Prepared by Rohan Shah, Umair Siddiqui, Reny Shah, Karthik Shetty
Rurk Enterprises
22-01-2019
Software Requirements Specification for StreamIO Page ii
Table of Contents
Table of Contents ii
Revision History ii
1. Introduction 1
1.1 Purpose 1
1.2 Document Conventions 1
1.3 Intended Audience and Reading Suggestions 1
1.4 Product Scope 1
1.5 References 1
2. Overall Description 2
2.1 Product Perspective 2
2.2 Product Functions 2
2.3 User Classes and Characteristics 213
2.4 Operating Environment 2
2.5 Design and Implementation Constraints 2
2.6 User Documentation 2
2.7 Assumptions and Dependencies 3
3. External Interface Requirements 3
3.1 User Interfaces 3
3.2 Hardware Interfaces 5
3.3 Software Interfaces 5
3.4 Communications Interfaces 5
4. System Features 5
4.1 System Feature 1 5
4.2 System Feature 2 (and so on) 6
5. Other Nonfunctional Requirements 6
5.1 Performance Requirements 6
5.2 Safety Requirements 6
5.3 Security Requirements 7
5.4 Software Quality Attributes 7
5.5 Business Rules 7
6. Other Requirements 7
Appendix A: Glossary 7
Copyright © 2019 by RURK Enterprises. Permission is granted to use, modify, and distribute this document.
Software Requirements Specification for StreamIO Page 1
Revision History
Name Date Reason For Changes Version
1. Introduction
1.1 Purpose
The purpose of this document is to present a detailed description of the Media Center App.
StreamIO is an attempt to integrate all these different products into one single app.It brings
together all the components and presents it in an easy-to-understand platform for the
convenience of its users.
1.2 Document Conventions
This system requirement specification follows the IEEE SRS Format.
1.3 Intended Audience and Reading Suggestions
This SRS is intended for developers of Rurk Enterprises, the project ,managers, Finance,
Marketing, Legal Team and the executives and the board of directors of StreamIO.
1.4 Product Scope
StreamIO is an attempt to integrate all these different products into one single app. It includes
components such as Movies, TV Shows, News Streaming, Music, Sports, Podcasts,
Educational Tutorials and more all in one app so that it becomes easier for the user to access
any of the content they want using only one app. It brings together all the components and
presents it in an easy-to-understand platform for the convenience of its users. StreamIO is a
one-stop solution for all the media consumption needs of a typical user. Along with a primary
app as mentioned above, StreamIO comes with an assistant app which uses voice commands
so that the users can access certain parts of the app using their voice in the hands-free mode.
1.5 References
This SRS is based on the IEEE SRS format and refers to the guidelines set by IEEE.
Copyright © 2019 by RURK Enterprises. Permission is granted to use, modify, and distribute this document.
Software Requirements Specification for StreamIO Page 2
2. Overall Description
2.1 Product Perspective
StreamIO is a self contained product, that offers a wide variety of options to a user looking for a
universal app for media consumption purposes.
2.2 Product Functions
Services provided by StreamIO are:
● Streaming Movies
● Streaming TV Shows
● News Streaming
● Download and Stream Music
● Listen to Podcasts
● Live Sports
● Certain Educational Tutorials
● Assistant app: Play Music, Podcasts, Sports score etc
2.3 User Classes and Characteristics
Customers- The primary focus of StreamIO are the customers who will use the app.
2.4 Operating Environment
StreamIO will function as an app for any customer. StreamIO will need to maintain their own
servers and maintenance crew. It can be used only on Android. No additional hardware or
software is required for the use of this product.
2.5 Design and Implementation Constraints
StreamIO must comply with the guidelines set by the government and the app store. As a wide
market may access the app, StreamIO needs to be compatible with all the latest Android
versions.
Copyright © 2019 by RURK Enterprises. Permission is granted to use, modify, and distribute this document.
Software Requirements Specification for StreamIO Page 3
2.6 User Documentation
StreamIO will have a comprehensive FAQ section for all users who have registered for the app
services.
2.7 Assumptions and Dependencies
The services provided by the app are dependent on the service providers. An assumption of the
services being changed only after prior information is given.
3. External Interface Requirements
3.1 User Interfaces
Copyright © 2019 by RURK Enterprises. Permission is granted to use, modify, and distribute this document.
Software Requirements Specification for StreamIO Page 4
Copyright © 2019 by RURK Enterprises. Permission is granted to use, modify, and distribute this document.
Software Requirements Specification for StreamIO Page 5
● In this app, the user is first asked to log in. If the user is not an account holder, then he
may opt to sign up with Google or Facebook.
● Once logged in, the home page shows trending contents for all categories. The user can
choose to watch movies, sports, news, etc.
● The app shows recommendations based on the user’s history and commonly streamed
content.
● StreamIO also provides the user with an option to go hands-free with its assistant app
that uses voice recognition to follow the user’s commands and navigate through the app.
3.2 Hardware Interfaces
No hardware interfaces required for this product.
3.3 Software Interfaces
Interface 1: Login/ Sign-up screen
Depending on whether a user already has an account or not, they can choose to login or
sign-up using Facebook or Google.
Interface 2: Home
Shows the various categories like movies, podcasts, TV shows, etc. offered by the app along
with the trending content of the week. Also the user gets recommendations based on their past
activity on the app.
Interface 3: Movies/ News/ Music/ TV Shows/ Sports
Depending on the user’s choice on home, this page shows the new, trending and recommended
3.4 Communications Interfaces
● A signup form will be used to store users’ details like name, email id and contact no.
● Regular emails will be sent to registered users.
● The app will be implemented using Java, Kotlin and Android Studio.
Copyright © 2019 by RURK Enterprises. Permission is granted to use, modify, and distribute this document.
Software Requirements Specification for StreamIO Page 6
4. System Features
4.1 User Registration
4.1.1 Description and Priority
The various tasks in order of priority are authentication, select source, destination mode of
transport, confirmation, and payment.
4.1.2 Stimulus/Response Sequences
It will consist of two basic fields, Username and password. On successful login the user will be
directed to the homepage where he/she can select their source,destination and mode of
transport. On selection they will be directed to the respective page
4.1.3 Functional Requirements
REQ-1: User login: login page should be displayed. Once the user enters their username and
password, they should be able to view the homepage
Copyright © 2019 by RURK Enterprises. Permission is granted to use, modify, and distribute this document.
Software Requirements Specification for StreamIO Page 7
REQ-2: User registration: In case the user is not a registered user they should be redirected to a
signup page
4.2 Search Functionality
4.2.1 Description and Priority:
The various tasks in order of priority are updation of database, searching for results and filter
requirements.
4.2.2 Stimulus/Response Sequences: User should be able to view all the results provided in the
search query along with the specific filters applied.
4.2.3 Functional Requirements
Update database: The details stored in the database should be updated on a daily basis.
Search results: Search results should be visible in a listview. A maximum of 20 results should be
visible initially, after which more results should be loaded every time a user scrolls down.
Copyright © 2019 by RURK Enterprises. Permission is granted to use, modify, and distribute this document.
Software Requirements Specification for StreamIO Page 8
4.3 View and play Media
4.2.1 Description and Priority:
The user can choose between categories such as movies, TV shows, podcasts, music, news or
sports.
4.2.2 Stimulus/Response Sequences: User should be able to view and play media as selected by
him.
4.2.3 Functional Requirements
Choose and play media: User should be able to view and play media as selected by him.
Copyright © 2019 by RURK Enterprises. Permission is granted to use, modify, and distribute this document.
Software Requirements Specification for StreamIO Page 9
5. Other Nonfunctional Requirements
5.1 Performance Requirements
It must satisfy the following performance requirements: The app should not take time or
significant bandwidth to load. The app should not crash, malfunction or send incorrect data to the
servers. The app should update on a daily basis, with accurate details. The app should track the
flights and make appropriate changes based on the schedule. All transactions should be
processed securely or rolled back.
Copyright © 2019 by RURK Enterprises. Permission is granted to use, modify, and distribute this document.
5.2 Safety Requirements
Passwords should be hashed (one-way hash) to ensure that an attacker is unable to read
authentication information. Credit/Debit card details should not be stored. The corresponding
bank/card. Failed logins should trigger a lock-out after a determined number of attempts. A
settimeout will be provided for a fresh try and the customer whose account is generating failed
logins will be notified by email.
5.3 Security Requirements
It should fulfil the following security requirements: To prevent a user id and/or password from
being hacked. Ensure that buffer overflow does not occur. The buffer overflow attack involves
sending large amounts of data that exceed the quantities expected by the application within a
given threshold. Such attacks cause the application to abandon its normal behavior and begin
executing commands on behalf of the attacker. Passwords should be hashed (one-way hash) to
ensure that an attacker is unable to read authentication information. Best practice recommends
encrypting the entire logon transaction with SSL Form based authentication must use a POST
request to assure that the authentication.
5.4 Software Quality Attributes
Software quality attribute should follow certain software quality assurance parameters: This app
should be clean and reusable. It should not have broken links. We should not redirect it to
fraudulent website or offers.
Software Requirements Specification for StreamIO Page 10
5.5 Business Rules
Customer profile can be modified only by the customer himself. The data administrator is only
allowed to view customers’ profiles. In case of transactions failure all payments should be
cancelled. All funds transferred must be rolled back and the transaction must be reset.
6. Other Requirements
Legal Requirements:
● We must abide by the Data Protection Act 1998
Copyright © 2019 by RURK Enterprises. Permission is granted to use, modify, and distribute this document.
● We must give the visitors clear and comprehensive information about the permissions
required by the app.
● We must clearly provide our privacy policy.
Appendix A: Glossary
Abbreviations:
SRS: Software Requirement Specification
SSL: Secure Socket Layer
Appendix B: Analysis Models
Copyright © 2019 by RURK Enterprises. Permission is granted to use, modify, and distribute this document.