System Proposal

Final system proposal

Table of Contents

1 Introduction and Purpose

NEW!!

MusicMan is a music player program created by Cicadas Inc. This document will explain what the system does and how it will be built and serves as an agreement or contract between the developers and the clients.

1.1 Purpose and scope of the product

NEW!!

MusicMan is a music player system that has been designed to help users play songs from their computer in a convenient and manageable way. Firstly, MusicMan helps gathers songs stored in a computer and organizes them into a convenient library. Each song in the library is identified by its title, genre, album and other information. Users can then browse this library and immediately play any of these songs, as well as being able to do other features such as change the volume or fast-forward songs. MusicMan also helps users create playlists which plays a list of songs, or queues them up rather, so that they don't have to repeatedly click files to play. These playlists can be managed both manually or automatically.

Back-To-Top

1.2 Business Concept

Both the music and computer industry continue to grow in the modern world. New music keep coming in, and the need to store both old and new music start become increasingly important. More and more users start to store music into computers instead of storing them into discs and into a cabinet. MusicMan allows users to instantly play their songs on the computer, while the music library management system helps handle the large and growing amount of music files users store on their computer. MusicMan's playlists also allow users to set their own preferences to play the songs they want or enjoy. This system has been designed so that user-friendliness and value is of most importance - the system will not only produce high quality sound, the software will also be fast and very simple to use so that all sorts of users can use this music playing system. MusicMan essentially makes playing music easy for man.

Back-To-Top

1.3 Stakeholders

User : the users of the system who enjoy the functionalities of the system
Company : the organization or person who employs the system developer to design the system for the use of the company
System Developers : the group of employees who designs and establishes the system
System Administrators: the group of employees who maintain the system

Back-To-Top

1.4 Ideas and solution

NEW!!

Our MusicMan covers all the elements of the scope: (1)a playback system which handles the playing of songs from play, stop, repeat, next and others; (2) a music management system which finds music stored on computer and converts them to a library; and (3) a playlist system which allows users to create playlists to queue up songs. Our MusicMan will interact with users through a graphical interface - the use of a visual representation for MusicMan will make it user-friendly and simple to use. Users can see and click on the library, playback and playlists functions easily without having to worry the finer details of how the system works.

Other ideas not included in our design, that may also be included in the system are:

  • The system can also be designed with an online store. The online store sells music to users and can be accessed within the music player itself. This is not only convenient for users who want to obtain music simply from their computer, but online stores can store a large amount of music and, with proper development, can make finding music very easy for users. Online stores are also relatively cheap to make.
  • The system can also expand to play and sell other media such as movies and tv series.

Back-To-Top

1.5 Document Overview

The rest of this document will contain more technical details of the design of MusicMan. Section 2 decribes the high level requirements, which further split into lower level requirements that are more specific and precise. Section 3 describes the non-functional requirements of the system which are also as important but focus on constraining the system. The requirements are summarized in a table and below it is a section which explains the requirements in detail. Section 4 describes the actors - the people who interact with the system, while Sections 5 and 6 explains the use cases or scenarios which show how the actors interact with the system.

Back-To-Top

2 Functional Requirements

2.1 Scope of the system

Musicman.jpg

NEW!!

The Scope of the system could be seen on the rich picture. The sysetem developers design the MusicMan system, the system administrators maintain it, the music files stored on computer are organized by it and the user uses the MusicMan system to listen to their music. The Company oversees the development and are the owners of the system.

Back-To-Top

2.2 Function Requirements - Summary

ReqID Short title
FN-001 Music playback
FN-001.1 Play function
FN-001.2 Pause function
FN-001.3 Volume adjustment
FN-001.4 Next music function
FN-001.5 Previous music function
FN-001.6 Repeat music function
FN-001.7 Fast-forward music function
FN-001.8 Rewind music function
FN-002. Music library
FN-002.1 Add music file to library
FN-002.2 Remove music file from library
FN-002.3 Edit music file information
FN-002.4 Search music files in the library
FN-002.5 Sort music files in the library
FN-003 Playlist management
FN-003.1 Static playlist
FN-003.1.1 Add audio to playlist
FN-003.1.2 Remove audio to playlist
FN-003.2 Dynamic playlist
FN-003.2.1 Add a rule to generate intended playlist
FN-003.2.2 Able to auto update music in the playlist
FN-003.2.3 Limit the number of music in the playlist
FN-003.3 Add playlist
FN-003.4 Remove playlist

Back-To-Top

2.3 Functional Requirements - Detailed

FN-001 Music Playback

Sources User
Description Music Playback refers to the playing of recorded music files that can be read by the system. This includes playing the music in various ways such as fastforwarding and repeating songs and are explained in more detail in the sub-requirements. (NEW)
Rationale This requirement is included because it is one of the main objectives of the system - playing music. Without it, users cannot play and listen to the music. (NEW)
Priority 5-Highest
Dependants FN-003
Depends none
Comments

Back-To-Top

FN-001.1 Play function

Sources User
Description Play music files from the library or playlist. The file should be in a format readable by the system or an error notice should be generated to the user. (NEW)
Rationale This requirement allows users to play songs in the MusicMan system (NEW)
Priority 5-Highest
Dependants FN-001.2, FN-001.6, FN-001.7, FN-001.8, FN-001.9
Depends none
Comments

Back-To-Top

FN-001.2 Pause function

Sources User
Description Freeze the state of the current song playing (NEW)
Rationale The Pause requirement allows users to stop the current song and resume it later. This allows users more flexibility when playing music from the system (NEW)
Priority 4-High
Dependants none
Depends FN-001.1
Comments

Back-To-Top

FN-001.3 Volume adjustment

Sources User
Description Increase or decrease the volume of music
Rationale It gives users the ability to change the volume of the music to match their preferences(NEW)
Priority 4-High
Dependants none
Depends none
Comments

Back-To-Top

FN-001.4 Next Music function

Sources User
Description Skip the current song and play the next music file in the library or playlist (NEW)
Rationale Allows users to skip the songs they do not wish to listen (NEW)
Priority 4-High
Dependants none
Depends none
Comments

Back-To-Top

FN-001.5 Previous Music function

Sources User
Description Skip the current song and play the previous song in the library or playlist (NEW)
Rationale Allows users to listen to a previous song they may wish to listen to again (NEW)
Priority 4-High
Dependants none
Depends none
Comments

Back-To-Top

FN-001.6 Repeat music function

Sources User
Description Repeat the song after it has finished. The song will continue to repeat until this function has been disabled. (NEW)
Rationale Allows users to listen to a particular song repetitively automatically (NEW)
Priority 3-Medium
Dependants none
Depends FN-001.1
Comments

Back-To-Top

FN-001.7 Fast-forward music function

Sources User
Description Move forward through the current song at a faster rate (NEW)
Rationale Users may want to move forward through a song to listen to a later state (NEW)
Priority 4-High
Dependants none
Depends FN-001.1
Comments

Back-To-Top

FN-001.8 Rewind music function

Sources User
Description Move backwards through the current song (NEW)
Rationale Users may want to move backward through a song to listen to a previous state (NEW)
Priority 3-Medium
Dependants none
Depends FN-001.1
Comments

FN-001.9 Shuffle music function

Sources User
Description Select and play music that has not been played yet from music list on library or playlist randomly after the current song has finished playing(NEW)
Rationale This function gives users the option to shuffle the song order in their playlist or music library and expose them to a different and non-monotonous way of listening to their songs(NEW)
Priority 3-Medium
Dependants none
Depends FN-001.1
Comments

Back-To-Top
Back-To-Top

FN-002 Music library

Sources User
Description A centralized location to organize music files stored in a user's computer. The library contains file information about each song added into the library, and also allow users to sort or search songs within this library. The library's functions are subdivided into more concise sub-requirements*(NEW)
Rationale** Allows users to keep music files organized and to find music files they wish to play easily(NEW)
Priority 5-Highest
Dependants FN-003
Depends none
Comments

Back-To-Top

FN-002.1 Add music file to music library

Sources User
Description Adds a link to a music file from the computer to the music library. The library should display information attributes(such as title, album, artist, rating and length) that describes and identifies the added file(NEW)
Rationale With the library containing songs(links to songs to be precise), users can now easily play, with the playback function, music files in a centralized location easily without having to find individual files in their computer (NEW)
Priority 4-High
Dependants none
Depends none
Comments

FN-002.1 Auto Add music files to music library by searching from computer(NEW)

Sources User
Description Add music file links to the music library by searching for music files found in the computer using a special condition (such as new songs only). The library should display information attributes(such as title, album, artist, rating and length) that describes and identifies the added file(NEW)
Rationale This helps users add music to their library automatically. It saves the hassle, especially for users with larger amounts of music files in their computer, to have to find music scattered throughout the computer and manually add them into the library(NEW)
Priority 4 - High
Dependants none
Depends none
Comments

Back-To-Top

FN-002.2 Remove music file from music library(NEW)

Sources User
Description Removes a link to a music file in the computer from the music library(NEW)
Rationale Allows users to edit their library to remove links to songs that are no longer existant in the computer, or simply to remove them from the library for organizational purposes (NEW)
Priority 4-High
Dependants none
Depends none
Comments

Back-To-Top

FN-002.3 Edit music file information (NEW)

Sources User
Description Allow users the abilityto edit song attributes that identify them in the library(such as the title, album, artist, rating and length fields). Editing the title field in the library should also change the title of the actual music file stored in the computer (NEW)
Rationale Users may want to correct or customize song information shown in the library. They may also want to add additional information that could be used in searching music easier, or to help identify songs easier when selecting music to generate playlists(NEW)
Priority 2-Low
Dependants none
Depends FN-002.6
Comments

Back-To-Top

FN-002.4 Search music files in the library

Sources User
Description This function allows users to search for particular music files in the library by inputting song information such as the title, album or artist. The search function should generate the closest matches or display a 'could not find' message to users otherwise(NEW)
Rationale This requirement helps users to find the music they want to listen to at the time, easily. It improves user-friendliness of the system especially with larger music libraries(NEW)
Priority 4-High
Dependants none
Depends FN-002.6
Comments

Back-To-Top

FN-002.5 Sort music files in the library(NEW)

Sources User
Description The library should have a function to sort songs. This should apply to not only the title field but all other applicable fields such as title, album, artist, rating and length. Music files in the library should be sorted alphabetically/chronologically/ascending and any other order useful to users accordingly.(NEW)
Rationale This requirement also helps users to find the music they want to listen to at the time, easily. It improves user-friendliness of the system especially with larger music libraries(NEW)
Priority 3-Medium
Dependants none
Depends FN-002.6
Comments

FN-002.6 Browse music files in the library

Sources User
Description The music library requires the functionality to allow users to select any song in the list. Users should be able to access and view all the music files added into the library(NEW)
Rationale This requirement ensures users are able to access all the music files stored in the library, and, subsequently, the music they wish to listen to on their computer(NEW)
Priority 5 - Highest
Dependants FN-002.3, FN-002.4, FN-002.5
Depends none
Comments

Back-To-Top

FN-003 Playlist management

Sources User
Description Playlists refer to a list of songs. In MusicMan, a playlist queues up songs to be played in order. The playlists in this system should also contain song information such as the title, album, artist, rating and length fields and behave as a smaller music library. The functionalities of this requirement are subdivided into more concise sub-requirements(NEW)
Rationale This requirement enables users to play songs from a pre-made list. This means users do not have to repeatedly click songs to play every time it has finished, but songs from the list are played until the list has finished instead. It makes the system more user-friendly(NEW)
Priority 5-Highest
Dependants none
Depends FN-002,FN-001
Comments

Back-To-Top

FN-003.1 Static playlist

Sources User
Description Static playlist are playlists that are formed manually by the user and does not change if the music library changes(NEW)
Rationale Static playlists give users the extra flexibility to create and edit playlists according to their own preferences(NEW)
Priority 4-High
Dependants none
Depends none
Comments

Back-To-Top

FN-003.1.1 Add music to playlist

Sources User
Description Add music files to a selected static playlist from the music library. The playlist should display information attributes(such as title, album, artist, rating and length) that describes and identifies the added file(NEW)
Rationale This functionality allows users to add music to static playlists according to their own preferences of music(NEW)
Priority 4-High
Dependants none
Depends none
Comments

Back-To-Top

FN-003.1.2 Remove music from playlist

Sources User
Description Remove music files from a selected static playlist(NEW)
Rationale The functionality allows users to remove music from static playlists, allowing them to edit playlists to suit their changing preferences easily(NEW)
Priority 4-High
Dependants none
Depends none
Comments

Back-To-Top

FN-003.2 Dynamic Playlist

Sources User
Description A list of songs that are formed by filtering music in the music library using rules. If the music library changes, the dynamic playlist will adjust itself automatically(NEW)
Rationale This type of playlist is automatic and saves users the effort, especially with larger libraries, of having to manually search and add files to a playlist as with static playlists. The auto-updating of itself with the music library saves the user even more effort(NEW)
Priority 4-High
Dependants none
Depends none
Comments

Back-To-Top

FN-003.2.1 Add music files to playlist automatically through a rule(NEW)

Sources User
Description This functionality describes how the dynamic playlist searches files in the music library that match with a user's preference. Users select their preferences by inputting a string, and this string will be filtered to match with song information fields(such as the such as title, album, artist, rating and length fields) and corresponding music files from the library will be added to the playlist. Songs added to the playlist should display information attributes(such as title, album, artist, rating and length) that describes and identifies the added file. The songs selected in the dynamic playlist should be selected in order of alphabet(NEW)
Rationale This type of automatically created playlist saves users the effort, especially with larger libraries, of having to manually search and add files to a playlist as with static playlists(NEW)
Priority 4-High
Dependants none
Depends none
Comments

Back-To-Top

FN-003.2.2 Auto update music in the playlist

Sources User
Description Update the selected dyanmic playlist each time it is opened to adjust for any changes made in the music library(NEW)
Rationale This functionality saves users the effort to update and keep track of the playlists if they were to change music files in their library(NEW)
Priority 4-High
Dependants none
Depends none
Comments

Back-To-Top

FN-003.2.3 Limit the number of songs in the playlist(NEW)

Sources User
Description Limit the number of songs included in the dynamic playlist using special conditions (e.g. "limit to 100 Mb files of music" or 200 songs). The songs selected in the dynamic playlist should be selected in order of alphabet(NEW)
Rationale This helps users create dynamic playlists to a convenient size(NEW)
Priority 4-High
Dependants none
Depends none
Comments

Back-To-Top

FN-003.3 Add playlist

Sources User
Description Add a new playlist
Rationale This requirement allows users to add and create playlists to play a list of songs(NEW)
Priority 4-High
Dependants none
Depends none
Comments

Back-To-Top

FN-003.4 Remove playlist

Sources User
Description Remove an existing playlist
Rationale This requirement allows users to remove playlists saved for organizational purposes(NEW)
Priority 4-High
Dependants none
Depends none
Comments

Back-To-Top

3 Non-Functional Requirements

3.1 Non-Functional Requirements

ReqID Short title
IR-001 Graphical User Interface
PR-001 Reasonable loading times
PR-002 High quality sound output
OP-001 Supports major operating systems
OP-002 Supports software updates
OP-003 Reads major music file formats
LE-001 Terms of agreement

IR-001 Graphical User Interface

Sources User
Description The graphical user interface(GUI) allows users to click and interact with a graphical picture of the MusicMan music system and its functions. It should display the music library, the song information for each song in the library, the playlists and the playbar containing the playback functions. The library and playlists in the GUI should be browse-able and there should also be a field in the GUI for a search bar so users can input strings to find music in the library.
Rationale This requirement constrains MusicMan to be a visual interaction type system, which is generally easier for users to use. The use of a GUI also ensures abstraction of the functions that the user would be able to use to interact with the system.
Priority High
Dependants PR-001
Depends FN001-FN001.8, FN002, FN002.3, FN002.4, FN003, FN003.1, FN003.2
Comments

PR-001 Reasonable loading times

Sources User
Description The system should be fast and efficient. This ensures reasonable loading times for the user. The time to read music files, update the system and library, open and close the program, create playlists, edit and browse the library and all other aspects of the system should be minimized.
Rationale This requirement improves the performance of the system and generally users demand good performing systems. It is unecessary to make users wait extra loading times if the software is badly designed or in-efficient, this requirement ensures this is not the case.
Priority Medium
Dependants PR-001
Depends All Requirements
Comments

PR-002 High quality sound output

Sources User
Description Sound quality during playback should be high. Music played should be lag-free, compressed minimally and synchronized with the music data. It should be able to support most sound cards and high-definition audio(see reference: http://download.intel.com/design/chipsets/hdaudio.pdf).
Rationale MusicMan is a music player system and should obviously deliver high quality music. Users today can also purchase high quality sound cards for their computers, and MusicMan should be able to deliver that high quality sound for their computer.
Priority Medium
Dependants PR-001
Depends FN001-FN001.8
Comments

OP-001 Supports major operating systems

Sources User
Description The system should be compatible and run with most of today's major operating systems. The software may need to be released in different versions to support them, but the versions should not be different in any other way except for the supportability to run on different systems.
Rationale MusicMan should be available to as many users as possible, and with a variety of operating systems in use it needs to have the ability to support them.
Priority High
Dependants PR-001
Depends None
Comments

OP-002 Reads major music file formats

Sources User
Description The system should be able to read most of the major music file formats for playback. This includes both the different music formats generated by different operating systems and formats from audio CD's. This does not mean it should convert or alter the original music file.
Rationale MusicMan is a music playing system that should be able to play and read any music file on computer, which consequently means different file formats too. Just as there are a variety of operating systems, a range of music formats have been generated for different audio playing devices, but MusicMan should be a versatile and convenient system and read most of these different formats.
Priority High
Dependants PR-001
Depends OP-001
Comments It only depends on OP-001 slightly - depending on which major operating systems are played, depends what major music file formats are read in one case. Different formats from different operating systems are not all the major music formats

OP-003 Supports software updates

Sources User
Description This means that the MusicMan software should be able to install and run updates in the future. The software updates provided by the system adminstrator for MusicMan may alter the code or provide new functionalities for the system, and the system should be able to support such changes.
Rationale MusicMan should be able to support change in its software to respond to user feedback. Bugs or errors may be fixed from these updates, new functionalities may be added or older ones improved to benefit users. Software updates are an important part in refining a system after development, and MusicMan should support any improvements needed to be made.
Priority Medium
Dependants PR-001
Depends None
Comments

LE-001 Terms of Agreement

Sources User
Description Before users install the MusicMan system they need to agree with a Terms of Agreement notice installed in the software. The Terms of Agreement notice should contain all the information regarding the product's liabilities, legalities and responsibilites users need to agree with before using the MusicMan.
Rationale MusicMan is a software product and as a product, it has the possibility of being produced faulty. The Terms of Agreement should clearly explain the conditions of the liabilities in such a case, as well as any other legal issues concerning the product such as privacy statements when obtaining MusicMan.
Priority Medium
Dependants PR-001
Depends None
Comments

4 Actors

User

Description Uses MusicMan to organize and listen to music(NEW)
Aliases None
Inherits None
Actor Type Active - Person

Back-To-Top

5 Use Cases

ReqId Requirement Name Actors Use Case title
FN-001.1 Play Function User Play Music
FN-001.2 Pause Function User Pause Music
FN-001.3 Volume Adjustment User Change volume
FN-001.4 Next Music Function User Change Next Music
FN-001.5 Previous Music Function User Change Previous Music
FN-001.6 Repeat Music Function User Repeat Music
FN-001.7 Fast Forward Music Function User Fast Forward Music
FN-001.8 Rewind Music Function User Rewind Music
FN-001.9 Shuffle music function User Shuffle music
FN-002.1 Add music file(s) to music library User Add Music Files to library
FN-002.2 Remove music file(s) from music library User Remove music files from library
FN-002.3 Edit music file(s) information User Edit Music file information
FN-002.4 Search music files in the library User Search music in library
FN-002.5 Sorting music files in the library User Sort Music in library
FN-003.1 Static Playlist User Create static playlist
FN-003.1 Static Playlist User Edit existing static Playlist
FN-003.1.1 Add music to Playlist User Add music to Playlist
FN-003.1.2 Remove music from playlist User Remove music files from playlist
FN-003.2 Dynamic Playlist User Create a new Dynamic playlist
FN-003.2 Dynamic Playlist User Edit existing dynamic playlist
FN-003.2.1 Filter music list from music library by selected fields (eg: title, genre,etc) User Apply a filter to generate music list
FN-003.2.2 Auto update music in the playlist User Auto-update dynamic playlist
FN-003.2.3 Limit the number of music in the playlist User Limit the number of music list
FN-003.3 Remove playlist user Remove Playlist

Back-To-Top

Library management

Browse music files in the library(NEW)

Summary

  • Find music files in the music library

Actors

  • User

Precondition

  • Library should contain music files

Trigger

  • The user wants to look for certain music in the library

Basic course of event

  1. The user scrolls down the library to find the music files
  2. The user finds the preferred music file(s)(NEW)

Alternate path

  1. Start from the beginning. The user wants to use search function
    1. The user uses the search function to find a music file in the library(NEW)
    2. The user finds the preferred music file(s)(NEW)
  2. Start from the beginning. The user wants to use the sort function(NEW)
    1. The user uses the sort function to find the music files in the library
    2. The user scrolls down the library to find the music files(NEW)
    3. The user finds the preferred music file(s)(NEW)

Post Condition

  • The user finds the preferred music files(NEW)

Back-To-Top

Add music files

Summary

  • Add new music files into the library

Actors

  • User

Precondition

  • The library contains no or some music files inside

Trigger

  • The users want to add new music files into the library

Basic course of event

  1. The user selects add music in the library menu
  2. The system prompts the user to browse the music from the computer
  3. The user finds and chooses the music file to be added(NEW)
  4. The user adds the selected music file to library(NEW)
  5. Library updates information fields about the song and displays a link from the library to the music file stored on computer(NEW)

Alternate path
Start from the beginning. The user wants to add all music files found in one computer folder

  1. The user selects add folder in the library menu
  2. The system prompts the user to browse the folder from the computer
  3. The user selects the folder to be added
  4. The system checks for all compatible music files found in that folder(NEW)
  5. The user adds music files to library(NEW)
  6. Library updates information fields about the songs and displays a link from the library to the music files stored on computer(NEW)

Post Condition

  • There are newly added music files in the library

Back-To-Top

Remove music files

Summary

  • Remove selected music files from the library

Actors

  • User

Precondition

  • The library should contain music files

Trigger

  • The user wants to delete music files from the library

Basic course of event

  1. The user selects the music files to be deleted
  2. The user uses the delete function on the selected music files(NEW)
  3. The music files are removed from the library

Alternate path

  • None

Post Condition

  • The selected music files are removed from the library

Back-To-Top

Search music in library

Summary
*Search music files using search function in the system
Actors

  • User

Precondition

  • The library should contain music files

Trigger

  • The users want to search certain music files in the library

Basic course of event

  1. The users inputs some keywords in the search bar(NEW)
  2. The system will match the keyword with an information field that describes music files in the library
  3. The system generates a list of the closest matches(NEW)
  4. The users finds the music files(NEW)

Alternate path
The system does not have a music files that match the keyword

  1. The users inputs some keywords in the search bar(NEW)
  2. The system will match the keyword with an information field that describes music files in the library(NEW)
  3. The system attempts to generate a list of the closest matches(NEW)
  4. The system will display a warning "Cannot find any specific files"(NEW)

Post Condition

  • The users finds the music files easily(NEW)

Back-To-Top

Sort music in library

Summary

  • Sorts music files in the library to organize and find music files easier(NEW)

Actors

  • User

Precondition

  • The library should contain music files

Trigger

  • The users want to sort music files in the library based on a certain song attribute(NEW)

Basic course of event

  1. The user looks at music file attributes displayed in the library(NEW)
  2. The user chooses the attribute to be sorted
  3. The music files are sorted according to the chosen attribute(alphabetically/chronologically/ascending or any other relevant order) (NEW)

Alternate path

  • None

Post Condition

  • The music files are sorted based on chosen attribute

Back-To-Top

Edit music file information

Summary

  • Edit attributes that describe the music files in the library(NEW)

Actors

  • User

Precondition

  • The library should contain music files

Trigger

  • The user wants to edit some of information describing their music files

Basic course of event

  1. The user selects a music file(NEW)
  2. The user asks the system to edit the music file information(NEW)
  3. The system displays all information of the selected music file(NEW)
  4. The user edits the file information(NEW)
  5. The user saves the changes

Alternate path

  • None

Post Condition

  • The selected music file information has been edited

Back-To-Top

Playlist management

Create a new static Playlist

Summary

  • Create a new static playlist

Actors

  • User

Precondition

  • The library should contain music files

Trigger

  • The user requests to create a new static playlist

Basic course of event

  1. The user selects to create a new static playlist
  2. A new blank playlist window will be opened
  3. The system prompts the user to browse and find the intended music to be added from the music library(NEW)
  4. The system finds and adds the music file selected to the playlist(NEW)
  5. Playlist updates information fields about the song and displays a link from the playlist to the music file stored on computer(NEW)
  6. Repeat steps 3-5 until the user is satisfied with the playlist (NEW)
  7. The user saves the playlist with a preferred name(NEW)

Alternate path
During the addition of files to the playlist, the user wants to remove a file from the playlist

  1. User selects intended music files to be removed
  2. System removes the selected music files from the playlist
  3. Continue to step 6 in the basic course of events(NEW)

Post Condition

  • A new static playlist is created(NEW)

Back-To-Top

Add music to Playlist

Summary

  • Add music file to playlist

Actors

  • User

Precondition

  • There is a blank or filled static playlist

Trigger

  • The user requests to add music file to playlist

Basic course of event

  1. The user uses the add music to playlist function(NEW)
  2. The system prompts the user to browse and find the intended music to be added from the music library(NEW)
  3. The system finds and adds the music file selected to the playlist(NEW)
  4. Playlist updates information fields about the song and displays a link from the playlist to the music file stored on computer(NEW)

Alternate path
From step 3 in the basic course of events, the system could not read the music files found in the library(NEW)

  1. The system shows a message "Cannot read music file"(NEW)
  2. The system prompts the user to find another music file
  3. Continue from step 2 from the basic course of event(NEW)

Post Condition

  • Music files has been added to static playlist

Back-To-Top

Remove music files from playlist

Summary

  • Remove music files from playlist

Actors

  • User

Precondition

  • The static playlist is not empty

Trigger

  • The user requests to remove music file to playlist

Basic course of event

  1. The user finds and selects the intended music files to be removed from playlist(NEW)
  2. The system removes the selected music files from the playlist(NEW)

Alternate path

  • None

Post Condition

  • Music files has been removed from static playlist

Back-To-Top

Edit static playlist

Summary

  • Edit existing static playlist

Actors

  • User

Precondition

  • The static playlist is not empty

Trigger

  • The user requests to edit an existing static playlist(NEW)

Basic course of event

  1. Th system shows all existing playlists(NEW)
  2. The user selects to edit one existing static playlist
  3. Add music files to the playlist(NEW)
  4. Repeat step 3 until the user is satisfied with the playlist
  5. The user saves the playlist name

Alternate path
If the user wants to remove files from the playlist(NEW)

  1. Remove music files from playlist
  2. Continue to step 4 from the basic course of events(NEW)

Post Condition

  • An existing static playlist has been changed(NEW)

Back-To-Top

Create a dynamic playlist

Summary

  • Create a new dynamic playlist

Actors

  • User

Precondition

  • The library should contain music files

Trigger

  • The user requests to create a new dynamic playlist

Basic course of event

  1. The user selects to create a new dynamic playlist(NEW)
  2. The system prompts the user to add a rule to determine the music files added onto the dynamic playlist(NEW)
  3. The user adds a rule(NEW)
  4. The system filters and adds music files from the library to the playlist according to the preferred rule(NEW)
  5. The user saves the playlist(NEW)

Alternate path

  • None

Post Condition

  • A new dynamic playlist is created(NEW)

Back-To-Top

Generate a music list by filtering the library according to a rule(NEW)

Summary

  • Generate a music list by filtering the music library according to a rule and add this list onto the dynamic playlist(NEW)

Actors

  • User

Precondition

  • A new dynamic playlist is created, or an existing dynamic playlist is selected(NEW)

Trigger

  • The user requests to add or change music in the dynamic playlist(NEW)

Basic course of event

  1. The system prompts the user to add a rule to determine the music files added onto the dynamic playlist(NEW)
  2. The user adds a rule(NEW)
  3. The system filters and adds music files from the library to the playlist according to the preferred rule(NEW)

Alternate path

  1. From step 1, if the user also want to limit the number of music files on the playlist(NEW)
    1. The user limits the number of music list to be displayed oi the playlist(NEW)
    2. System continues to step 2 in basic course of events(NEW)

Post Condition

  • The dynamic playlist has a new set of music files added(NEW)

Back-To-Top

Limit the number of music list

Summary

  • Limit the number of music list in the playlist

Actors

  • User

Precondition

  • There should be an existing dynamic playlist, or a new dynamic playlist (ie: have not apply the filter yet)

Trigger

  • The user requests to apply filter in dynamic playlist

Basic course of event

  1. The user selects to limit the music list
  2. The system displays several special condition to the user
  3. The user chooses the special condition to limit the number in music list
  4. The system displays a list of music files on the playlist

Alternate path

  • None

Post Condition

  • The system limits the number of music files to be displayed on the playlist

Back-To-Top

Edit Dynamic Playlist

Summary

  • Edit the existing dynamic playlist

Actors

  • User

Precondition

  • There should be an existing dynamic playlist

Trigger

  • The user requests to edit the existing dynamic playlist

Basic course of event

  1. The system displays all dynamic playlist
  2. The user selects a dynamic playlist from the list to edit(NEW)
  3. The user uses the generate a music list by filtering the library through a rule function(NEW)
  4. The user saves the edited dynamic playlist(NEW)

Alternate path

  • None

Post Condition

  • Dynamic playlist has been edited

Back-To-Top

Auto Update Dynamic Playlist music list

Summary

  • Update the existing music list found in the dynamic playlist

Actors

  • User

Precondition

  • There should be an existing dynamic playlist

Trigger

  • The user opens a dynamic playlist

Basic course of event

  1. The system applies the same function to generate a music list by filtering the music library through a rule(NEW)
  2. The changed dynamic playlist is saved

Alternate path

  • None

Post Condition

  • A Dynamic playlist has been updated automatically.

Back-To-Top

Remove playlist

Summary

  • Remove an existing playlist (dynamic or static) from the system(NEW)

Actors

  • User

Precondition

  • There should be an existing dynamic or static playlist(NEW)

Trigger

  • The user wants to remove a playlist(NEW)

Basic course of event

  1. The system displays all the existing playlists(NEW)
  2. The User selects the playlist to be removed(NEW)
  3. The system removes the playlist(NEW)

Alternate path

  • None

Post Condition

  • A playlist has been removed(NEW)

Back-To-Top

Music Playback

Play music from library

Summary

  • Play music files from library

Actors

  • User

Precondition

  • The library should contain music files(NEW)

Trigger

  • The user wants to play music from library*(NEW)**

Basic course of event

  1. The user chooses the music to play from library
  2. The system display a list of music on the library
  3. The user uses play function
  4. The system plays the first music file in the library(NEW)

Alternate path

  1. The user want to select a particular music.
    1. The user chooses to play music from library
    2. The system displays a list of music on the library
    3. The user browses music files on the library and selects a particular music(NEW)
    4. The user uses play function
    5. The system plays the selected music file in the library(NEW)
  2. The system has played a music from music library
    1. The system automatically moves to the next music files found in the library(NEW)
  3. The system has played all music from the music library
    1. The system stops playing music

Post Condition

  • The system has played a song from library(NEW)

Play music from playlist

Summary

  • Play music files from playlist (dynamic or static)

Actors

  • User

Precondition

  • The library should contain music files(NEW)
  • The playlist should not be empty

Trigger

  • The user wants to play the music found on the playlist(NEW)

Basic course of event

  1. The user selects to play music from playlist
  2. The system displays all playlists found(NEW)
  3. The user chooses which playlist to use(NEW)
  4. The system displays a list of music in the playlist(NEW)
  5. The user uses play function
  6. The system plays the first music file in the playlist(NEW)

Alternate path

  1. Start from step 3 in basic course of event.The user want to select a particular music
    1. The system displays a list of music in the library(NEW)
    2. The user browses music files in the playlist and selects a particular song(NEW)
    3. The user uses play function
    4. The system plays the selected music files in the playlist(NEW)
  2. The system has played a song from the playlist(NEW)
    1. The system automatically moves to the next music file found in the playlist(NEW)
  3. The system has played all music from the playlist
    1. The system stops playing music

Post Condition

  • The system has played a song from the playlist(NEW)

Play music

Summary

  • Play music files

Actors

  • User

Precondition

  • The library should contain music files

Trigger

  • The user wants to listen to the music files

Basic course of event

  1. The user uses play function
  2. The system allows the user to listen to the music from the start

Alternate path
The music files has been paused at some part of the music

  1. The user uses play function
  2. The system resumes playing music from the part of music where it has stopped(NEW)

Post Condition

  • The music file starts

Pause music

Summary

  • Suspend current played music

Actors

  • User

Precondition

  • A song is currently playing in the system(NEW)

Trigger

  • The user wants to stop hearing music

Basic course of event

  1. The user uses pause function
  2. The system stops playing the music temporarily

Alternate path

  • None

Post Condition

  • The music file stops temporarily

Repeat music

Summary

  • Restart previously played music automatically

Actors

  • User

Precondition

  • A song is currently playing in the system(NEW)

Trigger

  • The user wants to hear the previous music again

Basic course of event

  1. The user uses the repeat function
  2. The system plays the current song until it has finished(NEW)
  3. The system plays the finished song again

Alternate path

  1. Song keeps repeating until repeat music function is disabled(NEW)

Post Condition

  • The music files plays again after it has finished playing(NEW)

Rewind music

Summary

  • Move backwards in currently playing music file(NEW)

Actors

  • User

Precondition

  • There is a song currently playing on the system(NEW)

Trigger

  • The users wants to listen to a part of the music again(NEW)

Basic course of event

  1. The users use the rewind music function
  2. The system moves backward to a particular point of music that the user wishes to hear again.
  3. The system plays the music again on that particular point.

Alternate path

  • None

Post Condition

  • The music file is played again from the intended point

Fast-forward music

Summary

  • Move forward in currently playing music file(NEW)

Actors

  • User

Precondition

  • There is a song currently playing on the system(NEW)

Trigger

  • The user requests to skip some parts of the music files

Basic course of event

  1. The user selects the fast forward music function
  2. The system moves forward to a particular point of music that the user wishes to hear.
  3. The system plays the music from that particular point.

Alternate path

  • None

Post Condition

  • The music file is played from the intended point.

Choose next music

Summary

  • Change the currently playing song to the next available music file from the source (music library or playlist)(NEW)

Actors

  • User

Precondition

  • The library or playlist should contain music files(NEW)

Trigger

  • The user requests to listen to next available [!- possible? —] music

Basic course of event

  1. The user selects and plays a music file
  2. The user selects next-music function
  3. Next song played

Alternate path
The user selects but has not played a music file(NEW)

  1. User selects next music function
  2. Next song played(NEW)

The user selectes next-music function but there is no next available music file(NEW)

  1. System displays error notice/sound(NEW)

Post Condition

  • Next song selected and played

Choose previous music

Summary

  • Change the currently playing song to the previous music file from the source (music library or playlist)(NEW)

Actors

  • User

Precondition

  • The library or playlist should contain music files

Trigger

  • The user requests to listen to next possible music

Basic course of event

  1. The user selects and plays a music file(NEW)
  2. The user selects previous music function
  3. previous song played

Alternate path
The user selects but has not played a music file(NEW)

  1. User select next music function
  2. Previous song played(NEW)

The user selects the first file in the playlist or library and there is no previous available file(NEW)

  1. System displays error notice/sound(NEW)

Post Condition

  • Previous song selected and played

Change Volume

Summary

  • Increase or decrease the output volume of songs(NEW)

Actors

  • User

Precondition

  • The system has been turned on(NEW)

Trigger

  • The user requests to increase or decrease the volume of music

Basic course of event

  1. The user adjusts the volume
  2. The volume of music in the system is adjusted

Alternate path

  • None

Post Condition

  • Volume adjusted

Shuffle Music

Summary

  • Selects and plays music that has not been played yet randomly from music playlist or library after the current song has finished.

Actors

  • User

Precondition

  • The system has finished playing a song from music library or playlist

Trigger

  • The user requests to use shuffle function

Basic course of event

  1. The system finished playing the current song(NEW)
  2. The system chooses next music randomly from music list in library or playlist that has not been played yet
  3. The system plays the randomly selected music

Alternate path

  • None

Post Condition

  • A random song in music list is being played

6 Use Case Diagrams

Music Playback

MusicPlayback.jpg

Great, cant find anything wrong here

Library Management

LibraryManagement.jpg

Great, cant find anything wrong here either

Playlist Management

playlistmangement.jpg

I have a few things to comment here

  1. What is the difference between include and extend? why is delete and add music from static playlist different in extend and include? Just make sure u know, and what im seeing is not a mistake.
  2. The other thing is auto-update use case also includes generate music list use case, if u take a read at the use case properly. Perhaps u need another arrow.
  3. Other than that, its great

Back-To-Top

7 Glossary

Attribute - a word or phrase that is syntactically subordinate to another and serves to identify, particularize or describe an item

GUI - a software interface designed to standardize and simplify the use of computer programs, as by using a mouse to manipulate text and images on a display screen featuring icons, windows, and menus.

High-definition audio - an audio standard created by Intel to be used on their chipsets, i.e. it is a standard for high-quality on-board audio

Music library- a collection of music for study and enjoyment

Music management system -

Operating System (OS) - the collection of software that directs a computer's operations, controlling and scheduling the execution of other programs, and managing storage, input/output, and communication

Playback - The act or process of replaying a newly made audio or video recording, as to monitor quality.

Requirement - a singular documented need of what a particular product or service should be or do.

Resources - Something that can be used for support or help

Software update - a tool that installs the latest version of MusicMan software on users' computers

Unless stated otherwise Content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License