Spotify Software Requirement Document Group 7
Spotify Software Requirement Document Group 7
Group 7
Nguyễn Hữu Phong - 20210668
Hoàng Minh - 20213577
Nguyễn Đỗ Hoàng Minh - 20210591
1. Purpose:
The purpose of this SRD is to outline the requirements of the Spotify software. This document
will describe the functional and non-functional requirements of the software and more.
2. Stakeholders:
Project Manager: responsible for supervising the development and maintenance of Spotify.
Developers: responsible for designing, coding, and testing the software according to the
requirements mentioned in the SRD.
Testers: responsible for testing the software to ensure that it meets the functional and non-
functional requirements outlined in the SRD.
End-users: the target audience, who will use Spotify to listen to music, create playlists and
discover new music.
Third-party devices: such as smart speakers, headphones, or home entertainment systems. These
devices have a vested interest in the software requirements of Spotify.
3. Requirements:
Functional requirements:
a) Account authentication:
- Sign up: Every user must be able to create an account (optional but recommended to avoid
limitations of other functions, including but not limited to music personalization, music sharing,
smart home integration), so that the system can remember their listening history, search history,
etc...; in order to predict their preferences to be able to give the users optimized and personal
music recommendations. The account creating process can be done using 3 methods:
+) Users’ personal email.
+) Users’ personal social media account.
+) Users’ personal phone number.
- Uniqueness: Different users are obligated to use different information for signing up, that
includes email, social media account and phone number.
- Sign in: When a user logs in, their password must always be matched against the passwords in
the master account list in the service’s central database (applied for email and phone number
method). For the social media account method, users should be allowed to sign in using their
social media accounts with ease. It must also provide the option to remember user's login
credentials to avoid the need for frequent sign-ins.
- Forgot password: The service must provide a secure and reliable password reset process that
allows users to recover their account if they forget their password. The password reset process
should include the following steps:
+) Collect user's email address (it must be matched with the information they provided in
the signing up step).
+) Send a password reset link to the user's email address.
+) Allow the user to reset their password using the link.
- Account management: The service must provide a user-friendly account management system
that allows users to update their account information, manage their subscription, and view their
account activity with ease. The account management system should include the following
features:
+) Allow users to update their account information, including but not limited to their
name, email address, phone number, and password.
+) Allow users to manage their subscription plan and payment information.
+) Provide users with a dashboard that shows their account activity and listening history.
All account authentication processes must be secure and reliable, with appropriate measures in
place to protect user data and prevent malicious, unauthorized access to user accounts. The
service must also comply with data protection laws and regulations to ensure user privacy and
security.
b) Music streaming:
The purpose of this requirement is to ensure that the music streaming functionality in Spotify
meets the needs and expectations of its users. Here are some main requirements for this function:
- High-quality audio streaming: The app must provide users with the ability to stream high-
quality audio content from a huge library of music and other audio files, such as podcasts. This
requirement ensures that users can enjoy their music in the best possible sound quality.
- Search: The app must enable users to search for songs, albums, artists and lyrics to satisfy their
preferences. The app has the ability to create” Daily mix” playlists that based on user’s listening
history.
- Seamless device switching: The app must enable users to seamlessly switch between different
devices while streaming music, without interruption or loss of audio quality. This requirement
ensures that users can listen to their music on any device they choose, without any interruptions
or quality issues.
- Low latency and high-speed data transfer: The app must be optimized for low latency and
high-speed data transfer to ensure seamless music playback without any buffering or
interruptions, even on slow or unstable internet connections. This requirement is essential to
enhance the user experience and enable users to enjoy their music without any disruptions.
- Explicit content filter: The app must include an explicit content filter that allows users to switch
between explicit and non-explicit versions of songs. This requirement ensures that users can
choose to listen to music with explicit lyrics or to enjoy the songs with more family-friendly
experience.
- Anonymous listening mode: The app must include an anonymous listening mode that allows
users to listen to music without sharing their listening history or personal information with other
users. This requirement ensures that users can maintain their privacy while using the app.
c) Personalization:
Personalization ensures that the content you receive on Spotify is tailored to you based on the
audio you love. It’s now regarded as key to the Spotify experience. It is also an empowering
experience for listeners who didn’t have the time or knowledge to create endless unique playlists
for every dinner party or road trip. There are some requirements for this function as listed below:
- User profile creation: Users should be able to create a profile in Spotify, besides providing
basic information such as name, email, and password, users can change avatars, see top artists
and top songs for each month based on their recently played music, see which artists are they
following,...
- Customized recommendations: Based on a user's music preferences, Spotify should be able to
provide customized music recommendations, including new releases and playlists created by
Spotify's editors or users, also as new notifications of users’ following artists for their newest
works,...
- Music discovery: The app must provide various features for music discovery, such as”
Discovery Weekly” playlists, which is an app’s recommendation. This requirement enables users
to explore new genres and discover new artists that they may not have been exposed to before.
- Personalized playlists: Users should be able to create their own customized playlists of songs
according to their preferences, interests, and moods. The playlists should be easy to create, edit
and delete, and the user should be able to add or remove songs from them at any time. Moreover,
users should have the option to make their playlists public or private. Public playlists can be
shared with other users and appear in search results, while private playlists can only be accessed
by the user who created them.
d) Offline listening:
This is like a part of Personalization, but with money, of course. Spotify has offered Spotify
Premium users the ability to listen to music offline for over a decade. The following conditions
are necessary for this function:
- Download music: Spotify should allow users to download songs or playlists for offline
listening, providing the option to listen to music even without an internet connection. Once
downloaded, the music should be available for offline listening without any interruption or
buffering.
- Manage downloaded content: Users should be able to manage the downloaded content,
including the ability to delete songs or playlists that are no longer needed, as well as the ability to
edit and modify existing offline playlists.
- Storage capacity and settings: Spotify should provide users with the option to manage their
storage space efficiently, with clear indications of how much storage space is being used and
how much is available. The app should also provide users with the option to adjust their storage
settings according to their preferences, such as the location of downloaded content or the quality
of downloaded files.
e) Social networking:
These requirements aim to create a social and collaborative environment within the app, where
users can connect with each other, discover new music, and share their knowledge and expertise
about music:
- Friend and follower system: The app must include a friend and follower system that allows
users to connect with other users, follow their activity, and share music recommendations. This
requirement enables users to build a social network within the app and discover new music
through their connections.
- Collaborative playlists: The app must allow users to create and share collaborative playlists
with their friends and followers, enabling users to create playlists together and share music
recommendations with each other.
- Social media integration: The app must allow users to connect their social media accounts
(such as Facebook, Twitter, Instagram or Discord, etc...) to their Spotify profile, so that they can
share their activity on those platforms and discover new music through their social media
connections.
- Social listening: The app must allow users to listen to music together with their friends and
followers in real-time, enabling users to share their listening experience and discover new music
together. (for example: Users can join to listen to music with someone who is on a call with them
while on Discord).
f) Third-party devices integration:
The music streaming service must support integration with third-party services and devices to
enhance its functionality and provide users with more ways to enjoy their music. Specifically, the
following third-party integrations must be supported:
- Voice assistant integration: The service must support integration with popular voice assistants
like Alexa, Google Assistant, and Siri. This integration will allow users to control their music
playback, search for songs, or create playlists using voice commands through their smart digital
devices.
- Smart home integration: The service must support integration with popular smart home devices
like Apple HomePod, Google Nest, or Amazon Echo. This integration will allow users to stream
music directly to their smart speakers or other connected devices, for the sake of their
convenience.
- Car integration: The service must support integration with popular car models, allowing users
to control their music playback directly from the car's dashboard or steering wheel.
All third-party integrations must be seamless and user-friendly, with clear instructions for how to
connect and use each integration. The service must also provide robust security measures to
protect user data and ensure the privacy of all third-party interactions.