Software Design Specifications Specifications for iMMS (Internet Music Management System)
Version 1.0
Prepared by Imran Ahmed, Safi Mustafa, UsmanAslam and Neelofur
0 SDS for Internet Music Management System
Table of Contents 1.
Introduction
3
Purpose Scope Overview Reference Material Definitions and Acronyms
1 1 1 1 1
2.
System Overview
4
3.
System Architecture
3
1.1 1.2 1.3 1.4 1.5
3.1 Architectural Design 3.2 Decomposition Decomposition Description 3.3 Design Rationale
4.
Data Design
4.1 Data Description 4.2 Data Dictionary
3 3 3
4 4 4
5.
Component Design
5
6.
Human Interface Design
6
6.1 Screen Images
6
7.
Requirement Matrix
7
8.
Test Cases
8
1 SDS for Internet Music Management System
1. Introduction 1.1 Purpose: The purpose for which this Software Design Specification (SDS) is beingdocumented is to ensure that our project Imms is implemented in the best possible way. This specification will be useful for the clients to ensure all specificationsand design requirements are conducive as mentioned by the software engineer todesign the system. Another purpose of this document is to provide a high-level design framework around which to build our project Imms.It also provides a list of requirements against which to test the final project and determine whether we were able to successfully implement the system according to design.
1.2 Scope: iMMS is a unique web application that is basically a community communit y based website. It will have two types of users i.e. registered users and unregistered users. Unregistered users can get access to very limited features. On the other hand, registered users can login to the application so that they can get access to the dashboard. The dashboard will be interactive options panel that will show users’ activity and the major functionality of the application. These registered users can also search information about music. Search can be of three types i.e. search by album; search by year and search by artist name. The application will pull data from the database servers accordingly. Registered users will have the capability cap ability to edit any information voluntarily if they think that information is inaccurate. The information will be published pu blished once it is verified by b y the artist himself of his manager. There will be a community feature that will enable en able multiple users to interact with each other in a specific group. Users can also interact through application’s internal messaging system. Users can create their own music streams that can be available for other registered members. These streams can either private or public depending on the user’s applied settings. Once logged in, the manager will upload music, videos and pictures. He will have the ability to set the copyright license. The manager can also create events on Facebook and put the link on the website. Our application will pull data from Facebook and feature the event on the artist’s Facepage. The registered users will get access to the content uploaded by the mangers. The users can create playlists, stream music, download music and take part in community discussions. Before downloading, the user will be asked to pay for the music if it’s not free. The administrative panel consists of o f the global administrators, the artist/managers and the general users. Independent developers can also get access to our API (application programming interface) that will enable them to integrate our resources in their own custom applications .
2 SDS for Internet Music Management System
1.3 Overview: The System Design Specifications document focuses on various design phases of iMMS. The document is divided into eight parts. The first part of the document introduces the SDS. The second part is system overview. The third part describes system architecture and a brief overview of architectural design is provided. Decomposition description and design rationale is also included as sub parts of this section. The fifth part describes component design of our system. In the sixth part, the human interface design is provided. We have added some screenshots of our system in this section. In the seventh part, requirement matrix is described with related graphics. The last part of the SDS document is is Test Cases. In this part, we have added various test cases of major functions with its purpose, per-requisites, per-requisites, test data and the steps of the each test case.
1.4 Reference Material: References for designs and other features are taken from the following sites: www.w3schools.com/ www.php.net/ www.mysql.com/ docs.jquery.com/ en.wikipedia.org
1.5 Definitions and Acronyms:
Term
Definition
IMMS
Internet Music Management System
SDD
A software design document (SDD) is a written description of a software product, that a software designer writes w rites in order to give a software development team an overall guidance of the architecture of the software project Hypertext processor, server side scripting language, is used to connect html with SQL server. Anyone who visit the site.
PHP Visitor
3 SDS for Internet Music Management System
Global Administrator
USER
The supreme user of iMMS who has access to the source code, the databases and almost everything, except personal inboxes and other info, that runs on the application. A lay person needs the system to do his task efficiently and effectively.
Manager
A person who has the ability to upload content for his artist. The manager can be an artist.
API
An API is a set of commands, functions, and protocols which programmers can use when building software for a specific operating system A person who creates his own music.
Artist MYSQL server
Structured query language for database purpose. Used to define procedures to store and retrieve data.
Test Cases
A legal action whose outcome is likely to set a precedent or test the constitutionality of a statute.
Prerequisite
Required or necessary as a prior condition.
Screen images
Is an image of a computer desktop that can be saved as a graphics file.
Requirement traceability matrix
A requirement traceability is a document, usually us ually in the form of a table, that correlates any two baselined documents that require a many to many relationship to determine the completeness completenes s of the relationship
DATABASE
Collection of all the information monitored by the system.
Facepage
A place within the iMMS that will feature all the content of a specific artist. This includes all the
4 SDS for Internet Music Management System
2. System Overview visitor
IMMS
Access
Limited Features
Access
n o i t a c i t n e h t u A
n
i
A d m
Registered User
A r
t
i
U S E R
s
t
DASHBOARD
Features of Dashboard for each type of registered user
Imms is basically a website, which is going to have two types of users i.e. registered users and unregistered users. Unregistered users are going to have access to very limited resources on the other hand registered users will have to login to this application so that they can get access to dashboard. The dashboard will be interactive options panel pa nel that will show users’ activity and the major functionality of the application. These registered users can also search information about music. Search can be of three types i.e. by album, by year and by artist name which is going to show information accordingly. Registered users will have the capability to edit any information voluntarily if any information they have searched for is in accurate.
5 SDS for Internet Music Management System
There will be a community feature that will enable multiple users to interact with each other in a specific group. Users can also interact through application’s internal messaging system. Users can also al so create their own music streams that can be available availab le for other registered members. The administrative panel will consist of three types of administrators. The global administrators, the resource managers and the moderators. Independent developers can also get access to our API AP I (application programming interface) that will enable them to integrate our resources in their own custom applications
6 SDS for Internet Music Management System
3. System Architecture Comparing to previous structures or architecture of functions, this part mostly focuses on the overall system designarchitecture, which describes the internal necessary requirements andstructures during design process for system designers.
3.1 Architectural Design: Events IMMS-Interface -system_id : int -item_id : int -lyrics : string -details : string +display credits() +display event() +display links()
-Name : string -date : string -Venue : string +display() +create() +edit() +remove()
Password
0..*
1 User IMMS
-id : int -name : string -address : string -type : int -privalage mode : int +determine_type() +display_id() +display_interface()
-system_id : int -temporary_password : string -Number_tries : int +change_color() +display_links() +display_credits()
1
1
control panel -id : int -User_id : int +edit_database() +edit_code()
1
1 1 1 download -id -item_id : int -lyrics : string -details : string +buy() +view_lyrics() +view_artist_details() 1
1
1
Dashboard -dashboard_id : int -privalages +display() +menu() 1
1
0..* Message -notification : int -user_id : string -friend_email +read() +write() 0..*
1
search
groups
-artist_name : string -year : int -album_name : string +search_name() +search_album() +search_year()
-Name : string -notifications : int -total_members : long -Start_date : string +create() +edit() +remove() manage friend
upload -Total_audio_uploads : int -Total_video_uploads : int -user_id : int +upload_video() +upload_audio()
0..*
1
-total_friends : int -friend_name : string -friend_email : string +add() +delete() +edit()
7 SDS for Internet Music Management System
Class Description: Class User: User -id : int -name : string -address : string -type : int -privalage mode : int +determine_type() +display_id() +display_interface()
This class will store all the data of user and will decide the privilege mode as the user enters the password.
Attributes and methods: Id: user id Name: user name Address: user address Email_id: User email id User type: type of user i.e. if he is artist or admin Privalage_mode: what user can access Dispay_type(): User type Display_id(): User id Display_interface: Imms
Class Event: This class will handle occurrence of events
8 SDS for Internet Music Management System
Events -Name : string -date : string -Venue : string +display() +create() +edit() +remove()
Attributes and methods: Name: event name Date: Event date Venue: Event venue Display(): Display event Create(): Create event Edit(): Edit event Remove(): Remove event
Class Control panel: This class can only be access by admin so that admin can do changes control panel -id : int -User_id : int +edit_database() +edit_code()
Attributes and Methods: System_id: System is idol or active User_id: User id Edit_database(): access and edit database Edit_code(): Access and edit code.
Class IMMS: 9 SDS for Internet Music Management System
This is the main class which will have everything in it including dashboard control panel and event class IMMS -system_id : int -temporary_password : string -Number_tries : int +change_color() +display_links() +display_credits()
Attributes and Methods: System_id: system is idol or active Temporary_password: stores temporary password Number_tries: user login tries Change_color(): Change color of Interface Display_links(): display other links Display_credits(): Display credits
Class Dashboard: This class will have features of Imms which can be only accessed by registered users Dashboard -dashboard_id : int -privalages +display() +menu()
Attributes and Methods: Dashboard_id: dashboard of user admin or artist Privalage: Privilege mode Display():Display features of dashboard Menu(): Display menu
10 SDS for Internet Music Management System
Class download: This class will handle downloads of albums tracks or video download -id -item_id : int -lyrics : string -details : string +buy() +view_lyrics() +view_artist_details()
Attributes and Methods: Id: user id Item_id: item id e.g. track id Lyrics: will store lyrics Details: Store details of track Buy(): buy track album or video View_lyrics(): show lyrics View_artist_details(): show artist details
Class search: This class will handle searching which can be of three types as discussed above search -artist_name : string -year : int -album_name : string +search_name() +search_album() +search_year()
Attirbutes and Methods: Artist_name: stores name of artist
11 SDS for Internet Music Management System
Year: stores year of release of tracks and videos Album_name: store album names of artists Search_name(): search by name of artist Search_album(): search by album name Search_year(): Search by release of year
Class upload: This class will handle songs uploads by artists or their manager upload -Total_audio_uploads -Total_audio_uploads : int -Total_video_uploads -Total_video_uploads : int -user_id : int +upload_video() +upload_audio()
Attributes and Method: Total_audio_upload: Total audio uploads of artist Total_video_upload: Total video uploads of artist User_id: artist id Upload_video(): Upload video Upload_audio(): Upload audio
Class manage friend This class will handle friends management of a registered user manage friend -total_friends : int -friend_name : string -friend_email : string +add() +delete() +edit()
Attributes and Methods: 12 SDS for Internet Music Management System
Total_friend: Total friends of a registered user friend_name: Name of friend friend_email: email address of email add(): Add friend delete(): Delete friend edit(): edit friend
Class group This class will handle communities or groups of users groups -Name : string -notifications : int -total_members : long -Start_date : string +create() +edit() +remove()
Name: Name of group Notifications: Total notifications from group Total_members: Total members in a group Start_date: Beginning of group Create(): Create group Edit(): edit group Remove(): Remove group
Class Messages: This class will handle chats and messages
13 SDS for Internet Music Management System
Message -notification : int -user_id : string -friend_email +read() +write()
Attributes and Methods: Notification: messages notification User_id: user id of user Friend_email: email id of user to which message is going to be sent Read(): Read a message Write(): write a message
3.2 Decomposition Description
Use Case Diagram:
iMMS Use Case for Unregistered Users
«uses»
«extends»
Feature Content
Browser
«extends»
Unregistered user «uses»
Events
Free Content
14 SDS for Internet Music Management System
Data Flow Diagram:
18 SDS for Internet Music Management System
19 SDS for Internet Music Management System
20 SDS for Internet Music Management System
Sequence Diagram:
21 SDS for Internet Music Management System
3.3 Design Rationale: 22 SDS for Internet Music Management System
Well I selected class diagram in section 3.1 because its easy to divide our problem in classes and to understand those classes clas ses and implement them we know what are the attributes of classes their functions how they are going to collaborate with other classes and also we can implement each class as a individual system and then combine them to give what a customer wants. So from my point of view that was the best way to implement iMMS.
4. Data Design 4.
Data Design :This design will tell us about the data of iMMS system that how the data will manage and works in the database.
4.1.
Data Description:-
Erd:
Statement:-
23 SDS for Internet Music Management System
The two types of users will interact with the system the Registered user and the Unregistered users. Their is no data maintained of data for t he Unregistered users in the main database. There will be some information such as their IP addresses and t he time of viewing the system page could be saved in application database. For the registered users the will be a login criteria, they have their own user name and password. By this they have assignee the unique template account. Every time they login they must have to enter their user name and password, password are stored in database and there is a verification criteria for each account. When the user successfully enters the login then he/she willgivea dashboard facility. Their will be search option also for searching the song by title or by the artist name. Dashboard retains all the information about music which the user has selected so far. Such as user joined the Groups so far , information about the Messages and the songs the user has yet Downloaded and the playlist he/she has yet managed.
Entities:From the above statement the underline sentences would be the entities of the database.
4.2.
Login
Password
Search
Dashboard
Groups
Messages
Playlist
Download
Data Dictionary:-
Entity Name
Functional Parameters
Description
Dashboard
Playlist,Messages,search,Group and download
Download
Album , song
Groups
Join Group.unsubscribe Group
Login
User name, Password
Attain and Retain the information of functional parameters. Download the album or song by name or by artist name in the user account main database. Joined the Group by entering the name of Group and vice versa Saves the Login information
24 SDS for Internet Music Management System
Messages
Password
Create message(),delete message(),view message() and send message() Password id , Password
Playlist
Create Playlist ,Delete Playlist
Search
Search by name , Search by artist
User can use the inbox and outbox facility. If the user enters his login info at first time ,database only saves the info next time whenever the user enters his login info it verifies the user name and password . There is a collection of songs and albums in one file known as playlist having some specific name given by the user Search the songs and albums
5. Component Design I have already discuss components in detail in chapter three section 3.2 and a nd 3.1 so just giving pseudo code in this section
Pseudocode for functional requirements:
1) Check Browser if user_browser is internet explorer then load internet explorer compatible style sheet else user_browser is not internet explorer then load default stylesheet endif
2a) register-email
if email already in use then print "user already registered" 25 SDS for Internet Music Management System
endif
2b) regiser-username if user-id already exists then print"username unavailable" endif 2c) if password1 is not equal to password2 then print "your password does not match" endif 2d) register-account type if account_type=artist then print "your account has been submitted for a review" if proceed=yes then post_to_admin account details else if proceed=no then remove message AND disable artist option else if account_type=user then print "your account will be activated after aft er confirmation. please check your email" endif
26 SDS for Internet Music Management System
3) login if username is already registered then continue else if username is not registered then print "no such account available"
AND if
password matches
then login successful else show error and retry if user fails to login for 5 times then blockip for 5 hours AND print "unable to login, please register or try to login again after 5 hours" endif
4) active session while user is logged in then keep session active endwhile
27 SDS for Internet Music Management System
6) download (check payment while downloading) if download is available then continue to payment if account has credit then download else print "you don't have enough credit" endif
28 SDS for Internet Music Management System
6. Human Interface Design 6.1 Screen Images:
29 SDS for Internet Music Management System
7. Requirement Matrix
Assumptions: Assumptions:
ID: A unique ID number used to identify the traceability traceability item in the requirements requirements traceability matrix. Technical Assumptions: This column should be populated with a description of the technical assumption or customer need linked to the functional requirement. Status: This column should be populated with the current status of the functional requirement. Diagram ID: ID’s of the Diagrams which are used in this document.
Test Case ID: ID’s of the Test Cases which are used in
this document.
Verification: Verification column fill it with Yes or No by testing
8. Test Cases The test cases for online payment processor are following: TC 1: LOGIN Purpose Prerequisite Test Data
To check user authorization User must have entered url of Imms Login id=Email address 30
SDS for Internet Music Management System
Steps
TC 2: Control panel Purpose Prerequisite Test Data Steps
TC 3: Search Purpose Prerequisite Test Data Steps
Password=String 1. Enter Invalid Email address and correct password. 2. Enter valid email address but wrong password 3. Don’t enter anything in login id but give correct password. 4. Enter valid email id but don’t enter anything in password space 5. Enter valid email id and password
To check if admin can change code and data base User must be admin MySql query Php code 1. Admin change data in database 2. Admin change query of database 3. Admin change code of php
To search information of album User Must be a registered user Album name ,artist name and year 1. Don’t enter anything in search bar 2. Enter album name in search bar and press enter key 3. Enter year in search bar and press enter key 4. Enter artist name in serach bar and press enter key
TC 4: Manage friend 31 SDS for Internet Music Management System
Purpose Prerequisite Test Data Steps
TC 5: Download Purpose Prerequisite Test Data Steps
TC 6: Logout Purpose Prereq Test Data Steps
TC 7: Signup Purpose Prerequisite
To check if we can manage friends properly or not User must be registered and there must be some friend if user in friend list Friend email_id and friend name 1. Enter Email_id of friend in search bar and then click on add user 2. Enter name of friend in search bar and the press add user 3. Go to friend list and click on remove friend
To check if user can download properly User must be registered Track name and album name 1. Enter name of a track in search bar and click on download button then 2. Enter name of album and click on download button 3. Use the list to find a track and then click on download 4. Check if all three download track properly
To clear the session. User must be logged in. 1. Search history of user whether it is saved properly after logout or not. 2. Checking out information saved in database. 3. user redirected to the login screen.
To use the system as registered user. User must have a credit card or online cash 32
SDS for Internet Music Management System
Test Data Steps
TC 8: Upload Purpose Prerequisite Test Data Steps
TC 9: messages Purpose Prerequisite Test Data Steps
system Password={alphanumeric, numeric} Characters={8, 6, Null} 1. Go on main page. 2. . Click on signup. 3. Fill all valid information that is required. 4. Click on accept button. 5. Check if all the information is saved in database or not
To check if upload of tracks and videos is working properly Artist must be logged in Track_id ,lyrics ,all track details and track or video it self 1. Click on upload bar 2. Upload browser will be opened 3. Select a track or a video 4. Click on upload button 5. After song is uploaded click on continue 6. Check if the song is now in data base
To check if message functionality is working properly User must be registered and there should be some messages in his/her inbox strings 1. Select Message from dashboard 2. Now click on any message to read it 3. Click on reply button to write a message 4. Click on send button to send the message 5. Check if recipient receives a message or not
33 SDS for Internet Music Management System
TC 10: Event creation Purpose Prerequisite Test Data Steps
TC 11: groups Purpose Prerequisite Test Data Steps
TC 12: Change color Purpose Prerequisite Test Data Steps
TC 13: Accuracy of information Purpose
To check if event creation is done successfully success fully or not User must be artist Time and date ,venue 1. Select event from the main page 2. Click on create event 3. Enter time and date in time and date slot 4. Select a venue 5. Enter a subject for event 6. Click on create event 7. Check if it’s uploaded and is being shown in events
To check group functionality User must be registered user none 1. Select groups from dashboard 2. Then click on create a group fill in all the necessary information 3. Now click on edit group and change info and check if its changed in database 4. Now click on remove group and check if its removed from database
Change color of imms User must be a registered user colors 1. Click on change color of imms 2. Select a color from list 3. Press ok 4. Check if color was changed
To check if information is accurate 34
SDS for Internet Music Management System
Prerequisite Test Data Steps
TC 14: Multi lingual Purpose Prerequisite Test Data Steps
TC 15: compatibility Purpose Prerequisite Test Data Steps
User must be a registered user Album name ,artist name and year 1. Go to search tab 2. First give year then artist name and then album name 3. Check how many results are there
To check if imms is multi lingual User must be a registered user languages 1. Select language from dashboard 2. Click on language 3. Select a language from scroll bar 4. Check if selected language was implemented
To check if it’s compatible Should have a browser browser 1. First run this web site on google chrome and check if all functionality are working properly 2. Now run it on mozilafirefox and check if site’s still working properly 3. Now run it on safari and check if it’s working properly
TC 16: App for smart phones Purpose To check if imms work on smart phones Prerequisite Smart phones Test Data Imms site Steps 1. Try to work imms on I phone and check if its functionality is still working properly 2. Now try to run it on Samsung galaxy and check if its working properly 3. Similarly run it on different smart 35 SDS for Internet Music Management System
phones. TC 17: online streaming Purpose Prerequisite Test Data Steps
TC 18: usability Purpose Prerequisite Test Data Steps
To check if online streaming is working properly User must be a registered user and should have adobe flash player Audio and video 1. Select live streaming from dash board 2. Check if the cost for streaming is taken from user 3. Now check if streaming is working fine for both video and audio
To check if it is user friendly User must know how to use computer imms 1. Select random user and ask them to use imms 2. Take their reviews about the use of site
36 SDS for Internet Music Management System