TRIBHUVAN UNIVERSITY
Faculty of Institute of Science and Technology
ORCHID INTERNATIONAL COLLEGE
KATHMANDU (NEPAL)
A Project Report On
“MUSIC PLAYLIST SYSTEM”
Phase – II (Analysis)
For
System Analysis and Design (CSC 315)
Submitted By:
Sujal Poudel (28946/078)
Submitted To:
Sulav Dahal
Orchid International College
Department of Computer Science and Information Technology
July 9, 2024
2. System Analysis
2.1 Introduction
System analysis is conducted to study a system or its components to identify its objectives. This
problem-solving technique enhances the system and ensures that all parts function efficiently to
achieve their intended outcomes.
The various tasks involved in system analysis for a music playlist system include:
Requirement Gathering: Collecting needs and expectations from stakeholders, such as
listeners, content creators, and platform providers.
Functional Analysis: Determining the necessary functions and features for the system to meet
the gathered requirements.
Data Analysis: Examining the required data for the system, including user information,
playlist details, music metadata, and usage statistics.
Process Modeling: Developing process models to understand the system's operations, such as
how users create and manage playlists, how music recommendations are made, and how
metadata is updated.
Use Case Analysis: Identifying and analyzing the system's use cases, including scenarios like
users creating playlists, searching for music, and receiving song recommendations.
Performance Analysis: Assessing the system's performance, including response time,
reliability, and scalability.
Security Analysis: Evaluating the system's security, identifying vulnerabilities to hacking, data
breaches, and other threats.
User Interface Analysis: Assessing the usability of the system's interfaces, including mobile
and web applications for listeners and content creators.
Testing: Performing tests to identify and resolve any bugs or functionality issues within the
system.
2.2 Functional Requirements
Functional requirements specify the essential features and capabilities required for the operation
of a Music Playlist System:
User Registration and Authentication: Users register with basic details like name and email.
Authentication ensures only authorized users can access their accounts, maintaining security.
Playlist Creation and Management: Users can create, edit, and organize playlists by adding,
removing, or rearranging songs, providing flexibility and personalization options.
Search Functionality: Users can search for songs by title, artist, or album, facilitating quick
and easy access to specific music within their playlists.
Playback Controls: Features include play, pause, skip tracks, and adjust volume, giving users
full control over their music listening experience.
Personalization: Users personalize playlists with custom titles and descriptions, tailoring their
music collections to personal preferences and moods.
6
Multi-Platform Support: Accessible on web and mobile platforms, providing users with
consistent access to their playlists across different devices.
Customer Support: Support services address user inquiries and issues promptly, enhancing
user satisfaction and resolving concerns effectively.
2.3 Non-functional requirements
Non-functional requirements define the quality attributes that specify how well the Music
Playlist System performs its functions:
Performance: The system should handle music playback and playlist interactions smoothly
and promptly, even during peak usage times.
Availability: The system should be accessible most of the time, with minimal planned
downtime for maintenance, ensuring uninterrupted access to music.
Reliability: The system should operate consistently with few errors, quickly recovering from
any disruptions to maintain continuous music playback.
Security: User data and playlists should be securely stored and transmitted using encryption
and secure authentication methods to protect privacy.
Usability: The system should feature an intuitive interface that allows users to manage
playlists, search for music, and adjust playback settings easily.
Compatibility: The system should work seamlessly across common web browsers and mobile
devices, supporting various operating systems.
Scalability: The system should efficiently handle increased user traffic and music library size
as the user base grows, maintaining performance quality.
2.4 Data Flow Diagram (DFD)
A Data Flow Diagram (DFD) serves as a visual representation depicting the flow of data within a
system. It illustrates the interactions between external entities, processes, and data stores,
providing a structured view of how data moves through the system. At its core, a DFD simplifies
complex systems by focusing on data flow and interactions, enabling stakeholders to grasp
system functionalities and relationships quickly.
Context level DFD: The context level DFD depicts a system as a single process and its
interactions with external entities, offering a high-level overview of data flow within the
system.
7
Figure 2.1: Context level DFD of Music Playlist System
Level-0 DFD: A level-0 DFD provides a more detailed breakdown of the context level DFD,
illustrating the main processes, data flows between them, and how they interact with external
entities.
Figure 2.2: Level-0 DFD of Music Playlist System
Level-1 DFD: A level-1 DFD expands upon the level-0 DFD by breaking down the main
processes into more detailed subprocesses, illustrating how data flows between them and
identifying additional data stores and external entities involved in the system. It provides a
more granular view of the system's operations compared to the higher-level DFDs.
Figure 2.3: Level-1 DFD of Search Processing System
8
Figure 2.4: Level-1 DFD of Playlist Processing System
Figure 2.5: Level-1 DFD of Payment Processing System
Figure 2.6: Level-1 DFD of Subscription Processing System
Figure 2.7: Level-1 DFD of Library Management System
Figure 2.8: Level-1 DFD of User Management System
2.5 Decision Table
A decision table is a systematic and tabular method for defining complex decision logic. It
organizes conditions as columns and possible actions or outcomes as rows, illustrating various
combinations of conditions and their corresponding decisions. This structured approach helps in
clarifying decision-making processes, ensuring all possible scenarios are accounted for, and
9
providing a clear reference for implementing and maintaining business rules or system
behaviors.
Condition Condition entry
User is logged in Y Y N N
Search query is provided Y N Y N
Action Action entry
Search X - - -
Error - X X X
Table 2.1: Decision Table for Search Processing System
Condition Condition entry
User is logged in Y N
Action Action entry
View playlist X -
Add song X -
Remove song X -
Error - X
Table 2.2: Condition Condition entry Decision
Table for Payment details Y Y N N Playlist
Processing provided System
Payment verified Y N N/A N/A
Action Action entry
Process payment X - - -
Error - X X X
Table 2.3: Decision Table for Payment Processing System
10
Condition Condition entry
User is eligible Y Y N N
for subscription
Payment Y N N/A N/A
successful
Action Action entry
Subscribe X - - -
Error - X X X
Table 2.4: Decision Table for Subscription Processing System
Condition Condition entry
Song info valid Y N
Action Action entry
View music library X -
Add song to library X -
Remove song from library X -
Update song X -
Error - X
Table 2.5: Decision Table for Library Management System
Condition Condition entry
User info valid Y N
Action Action entry
View users X -
Add new users X -
Remove existing users X -
Update users X -
Error - X
Table 2.6: Decision Table for User Management System
11
2.6 Decision Tree
A decision tree is a visual tool that maps out decisions and their possible outcomes. It starts with
a root node, branches into decision nodes based on conditions, and ends with leaf nodes showing
final choices or results. Decision trees are used to analyze and simplify complex decision-making
processes.
Figure 2.9: Decision Tree for Search Processing System
Figure 2.10: Decision Tree for Playlist Processing System
Figure 2.11: Decision Tree for Payment Processing System
12
Figure 2.12: Decision Tree for Subscription Processing System
Figure 2.13: Decision Tree for Library Management System
Figure 2.14: Decision Tree for User Management System
13
2.6 Entity-Relationship (E-R) Diagram
An Entity-Relationship Diagram (ERD) visually represents the structure of a database by
illustrating how entities (such as objects or concepts) are related to each other within the system.
It uses symbols like rectangles for entities, attributes within entities, and lines connecting entities
to represent relationships. ERDs are essential tools in database design for understanding and
planning the organization and connectivity of data entities and their associations.
Figure 2.15: Entity-Relationship Diagram of Music Playlist System
14