Professional Documents
Culture Documents
Report3 - Software Requirement Specification
Report3 - Software Requirement Specification
Table of Contents
I. Project Report.....................................................................................................................................3
1. Status Report.................................................................................................................................3
2. Team Involvements........................................................................................................................3
3. Issues/Suggestions.........................................................................................................................3
II. System Requirement Specification.....................................................................................................4
1|Page
1. Overall Description.........................................................................................................................4
1.1 Product Overview.....................................................................................................................4
1.2 Business Rules..........................................................................................................................5
2. User Requirements........................................................................................................................6
2.1 Overview..................................................................................................................................6
2.2 <<Feature Name 1 – i.e Order Meals>>...................................................................................7
2.3 <<Feature name 2 – i.e: Meal Subscriptions>>......................................................................10
2.4 <<Next Feature Name..>>......................................................................................................11
3. Functional Requirements.............................................................................................................12
3.1 System Functional Overview..................................................................................................12
3.2 <<Feature Name 1>>..............................................................................................................14
3.3 <<Feature Name 2>>..............................................................................................................14
4. Non-Functional Requirements.....................................................................................................15
4.1 External Interfaces.................................................................................................................15
4.2 Quality Attributes...................................................................................................................16
5. Other Requirements.....................................................................................................................18
5.1 Appendix1 - Messages List.....................................................................................................18
5.2 Appendix2 - …........................................................................................................................18
5.3 ….............................................................................................................................................18
2|Page
I. Project Report
1. Status Report
# Work Item Status Notes (Work Item in Details)
1 Pending
2 In Progress
3 Completed
2. Team Involvements
# Task Member Notes (Task Details, etc.)
1
2
3
3. Issues/Suggestions
# Issue Status Notes (Solution, Suggestion, etc.)
1 Pending
2 In Progress
3 Completed
3|Page
II. Software Requirement Specification
1. Overall Description
1.1 Product Overview
This is a high-level design document of Spotify Clone Application, which is developed by TechGod
team, to provide an overview for the implementation and migration of a web-based music
application.
This document provides a professional and detail of the functionalities of the web app for users,
in which users can login by Spotify account and freely interact with some of the features
presented by the developers of team, for example :
- Login with spotify API
- Play music by clicking any song displayed on screen
- Choose songs from random/categoried playlist on Home Screen.
- Real-time audio player at the bottom of website
- Users can create new playlist, access to any play list, add/remove song from playlist.
- Users can like any song( also add to likedsong list)
- Search songs by name or genre
The design of the system described in this document bases on an assumption that the Spotify
Clone App is a music website application that implement local streaming playback of Spotify
content, stream and control audio tracks from Spotify, and get metadata about the current
playback.
The application after deployed, only support below browsers:
Google Chrome latest version on PC
Web responsive
4|Page
>>
2. User Requirements
(This is optional part)
2.1 Overview
a. Use Case Diagram
[Provide your use case diagram(s) which is something like the sample below]
b. System Actors
# Actor Description
1 Administrator responsible for various administrative duties surrounding a project.
5|Page
These duties may include documentation, meeting management,
handling the project budget, and using time management skills to
help the team stay on track.
Description: User need to use email account or facebook account to register. and then
the user just needs to enter the username and password
Alternative Flows:
Exceptions:
6|Page
Priority: High
Frequency of Use: Approximately 1.500.000 users, average of one usage per day. Peak usage
load for this use case is between 8:00 p.M. and 12:00 p.M. local time.
Other Information:
Assumptions: Assume that 30 percent of Patrons will be update our VIP account.
Description: A Patron accesses the application from the website or mobile app, choose
a song and look for the download icon, which looks like a downward-facing
arrow. When you see a green arrow next to the track, album, or podcast,
that means your download is complete and ready for offline playback
5. Started to download
Alternative Flows: 1.1 The Patron want to update to premium account
Give Patron an access to buy premium account page
Return step 4 of normal flow
1.2 The Patron want to download playlist that have this song
Priority: High
Other Information: Expect high frequency of executing this use case within first 2 weeks after
system is released.
7|Page
Assumptions: Assume that 70% premium account want to download new release album
of famous singer
3. Functional Requirements
3.1 System Functional Overview
a. Screen Flow
[This part show the system screens and the relationship among screens. You can draw the Screens
Flow for the system in the form of diagram as below]
b. Screen Details
[Provide the descriptions for the screens in the Screens Flow above]
# Feature Screen Description
1 Search song Create Order
2 Search song Change Order
3 Play song Play Order
4 Play song Stop Order
5 Play song Skip Order
6 Play song Back order
7 Play song Repeat order
8 Search singer Create Order
9 Add playlist Create Order
1
0 Add playlist Change Order
1
1 Delete playlist Change Order
8|Page
c. Screen Authorization
[Provide the system roles authorization to the system features (down to screens, and event to the
screen activities if applicable) in the table form as below – replace Role1, Role2,… with the specific
system user role names]
d. Non-Screen Functions
[Provide the descriptions for the non-screen system functions, i.e batch/cron job, service, API, etc.]
# Feature System Function Description
<<Feature <<Function
1 <<Function Name1 Description>>
Name>> Name1>>
2 …
9|Page
o Sign in Component will request authorization to access access data and controls by
register the user’s Spotify account and password to the Spotify Account Service then
redirect user to Main page.
a. User module:
o Authentication Service controls the range of what User can do to User Service and
Library Service using validation based on the Spotify Accounts Service.
o User after authenticated is freely access to User’s Playlist and User/Library Services
o User’s Playlist handle event related to user like: update user’s playlist, … then update
playlists to Library Service
b. Player module:
10 | P a g e
o Play/Pause selected any single song or song from a playlist
o Next/Previous song from a playlist
o Like/Unlike the playing song to add/remove from User’s Playlist
o Adjusting volume of song
c. Library Module
d. Search Module
11 | P a g e
12 | P a g e
Entities List
# Entity Description
1 Search module
2 User module
3 Player module
4 Library module
implementations
implementations
implementations
implementations
implementations
13 | P a g e
implementations
Component Interactions
a. Login & Logout:
14 | P a g e
In Logout Component, these are the interactions:
After clicking the Sign out button, a request is made to the Authentication Service, then the
Authentication Service update the the token status by CLEAR_TOKEN of the user
After that, user is redirected to Home page and is restricted to some functionalities that
interacts with the App
b. Show Playlist
Updating..
c. Player
Updating…
15 | P a g e
d. Creat/Delete Playlist/Add Song to Playlist
Updating…
1. Additional Features
a. Share to Social media:
Updating…
b. Dark-Light Mode:
2. Deployment architecture
a. DEV/MASTER environment:
DEV: for developer can code and test feature function.
MASTER: for users to run system with real data
Each environment is contained in a separate resource group. This helps administrator easy to
control the environment state as well as analyze and resolve issues.
b. Deployment Process
1. Developers need to implement and run the application to DEV environment and do
Test feature first.
2. If any test case false, the leader will log bugs and assign to member to vertify and
resolve. Then team member will re-test function.
3. When all UT test case are passed, leader will merge from dev branch to master branch.
4. Developers deploy app into the server using CICD.
16 | P a g e
5. Developers re-test all function in server app.
6. If any test case false, the leader will log bugs and assign to member to vertify and
resolve. Then team member will re-test function.
7. When all UT test case are passed the app has complete.
17 | P a g e