Sei sulla pagina 1di 37

Software Design 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.
1.1 1.2 1.3 1.4 1.5

Introduction

Purpose Scope Overview Reference Material Definitions and Acronyms

3
1 1 1 1 1

2. 3.

System Overview System Architecture

4 3
3 3 3

3.1 Architectural Design 3.2 Decomposition Description 3.3 Design Rationale

4.

4.1 Data Description 4.2 Data Dictionary

Data Design

4
4 4

5. 6.

Component Design Human Interface Design

5 6
6

6.1 Screen Images

7. 8.

Requirement Matrix Test Cases

7 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 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 to edit any information voluntarily if they think that information is inaccurate. The information will be published once it is verified by the artist himself of his manager. 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 applications 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 users 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 artists 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 its not free. The administrative panel consists of 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, 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 IMMS SDD

Definition Internet Music Management System A software design document (SDD) is a written description of a software product, that a software designer writes 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 Manager API

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. A person who has the ability to upload content for his artist. The manager can be an artist. 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. Structured query language for database purpose. Used to define procedures to store and retrieve data. A legal action whose outcome is likely to set a precedent or test the constitutionality of a statute. Required or necessary as a prior condition. Is an image of a computer desktop that can be saved as a graphics file. A requirement traceability is a document, usually in the form of a table, that correlates any two baselined documents that require a many to many relationship to determine the completeness of the relationship Collection of all the information monitored by the system. A place within the iMMS that will feature all the content of a specific artist. This includes all the

Artist MYSQL server

Test Cases Prerequisite Screen images Requirement traceability matrix

DATABASE Facepage

4 SDS for Internet Music Management System

2. System Overview
visitor
Access

IMMS

Access

Limited Features

U S E R

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 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.

Registered User

Authentication

A d m i

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 applications internal messaging system. Users can also create their own music streams that can be available 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 (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 -id : int -name : string -address : string -type : int -privalage mode : int +determine_type() +display_id() +display_interface() IMMS -system_id : int -temporary_password : string -Number_tries : int +change_color() +display_links() +display_credits() 1 1 1 control panel -id : int -User_id : int +edit_database() +edit_code()

1 1 1 download -id -item_id : int -lyrics : string -details : string +buy() +view_lyrics() +view_artist_details() 1 1 Dashboard -dashboard_id : int -privalages +display() +menu() 1 1 1

0..* Message -notification : int -user_id : string -friend_email +read() +write() 0..* groups -Name : string -notifications : int -total_members : long -Start_date : string +create() +edit() +remove()

search -artist_name : string -year : int -album_name : string +search_name() +search_album() +search_year() upload -Total_audio_uploads : int -Total_video_uploads : int -user_id : int +upload_video() +upload_audio() 0..* manage friend -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 : int -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 Browser

extends Feature Content

extends

Unregistered user uses Events Free Content

14 SDS for Internet Music Management System

iMMS Use case for Registered Users


uses Events extends Featured Content uses browsing extends Free Content

extends logout extends read uses extends login dashboard extends inbox extends write

Registered user extends delete extends create extends extends extends edit playlist extends extends stream extends extends add friends extends delete groups extends leave extends join

extends create

manage friends extends remove friends

extends edit

extends album

extends album

extends track buy search

extends artist

extends video

extends track

15 SDS for Internet Music Management System

iMMS Use case for Artists/Managers


View Events extends Featured Content browsing uses extends Free Content uses logout extends uses extends login dashboard1 extends inbox extends write extends read

artist/manager extends delete extends create extends extends extends edit playlist extends extends stream extends extends add friends extends delete groups extends leave extends join

extends create

manage friends extends remove friends extends extends album

extends edit

extends album

extends track buy search

extends artist

extends video extends

extends track

extends upload extends

extends

extends event extends

extends

video

audio

pictures

create

edit

delete

16 SDS for Internet Music Management System

iMMS Use case for global admin


View Events extends Featured Content browsing uses extends Free Content uses extends logout extends uses extends login dashboard1 extends inbox extends write extends read extends iPanel access code extends edit extends database extends edit

global administrator extends delete extends create extends extends extends edit playlist extends extends stream extends extends add friends extends delete groups extends leave extends join

extends create

manage friends extends remove friends extends extends album

extends edit

extends album

extends track buy search

extends artist

extends video extends

extends track

extends upload extends

extends

extends event extends

extends

video

audio

pictures

create

edit

delete

17 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 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 the Unregistered users in the main database. There will be some information such as their IP addresses and the 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:Functional Parameters Playlist,Messages,search,Group and download Album , song Description 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

Entity Name Dashboard

Download

Groups Login

Join Group.unsubscribe Group User name, Password

24 SDS for Internet Music Management System

Messages

Password

Create message(),delete message(),view message() and send message() Password id , Password

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

Playlist

Create Playlist ,Delete Playlist

Search

Search by name , Search by artist

I have already discuss components in detail in chapter three section 3.2 and 3.1 so just giving pseudo code in this section

5. Component Design

Pseudocode for functional requirements:


1) Check Browser if then load internet explorer compatible style sheet else then endif 2a) register-email if then print "user already registered"
25 SDS for Internet Music Management System

user_browser is internet explorer

user_browser is not internet explorer load default stylesheet

email already in use

endif 2b) regiser-username if then endif 2c) if then endif print "your password does not match" password1 is not equal to password2 user-id already exists print"username unavailable"

2d) register-account type if then account_type=artist print "your account has been submitted for a review" if then else if then else if then account_type=user print "your account will be activated after confirmation. please check your email" endif proceed=yes post_to_admin account details proceed=no remove message AND disable artist option

26 SDS for Internet Music Management System

3) login if then else if then username is already registered continue username is not registered print "no such account available"

AND if then login successful else if then user fails to login for 5 times blockip for 5 hours AND print "unable to login, please register or try to login again after 5 hours" endif show error and retry password matches

4) active session while then keep session active endwhile user is logged in

27 SDS for Internet Music Management System

6) download (check payment while downloading) if then if then else endif download is available continue to payment account has credit download print "you don't have enough credit"

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: ID: A unique ID number used to identify the traceability item in the 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: IDs of the Diagrams which are used in this document. Test Case ID: IDs of the Test Cases which are used in this document.

Verification: Verification column fill it with Yes or No by testing

8. Test Cases
TC 1: LOGIN Purpose Prerequisite Test Data

The test cases for online payment processor are following:

To check user authorization User must have entered url of Imms Login id=Email address
30

SDS for Internet Music Management System

Steps

Password=String 1. Enter Invalid Email address and correct password. 2. Enter valid email address but wrong password 3. Dont enter anything in login id but give correct password. 4. Enter valid email id but dont enter anything in password space 5. Enter valid email id and password

TC 2: Control panel Purpose Prerequisite Test Data Steps

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

TC 3: Search Purpose To search information of album Prerequisite User Must be a registered user Test Data Album name ,artist name and year Steps 1. Dont 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

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

TC 5: Download Purpose Prerequisite Test Data Steps

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

TC 6: Logout Purpose Prereq Test Data Steps

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.

TC 7: Signup Purpose Prerequisite

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

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

TC 8: Upload Purpose Prerequisite Test Data Steps

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

TC 9: messages Purpose Prerequisite Test Data Steps

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

To check if event creation is done successfully 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 its uploaded and is being shown in events

TC 11: groups Purpose Prerequisite Test Data Steps

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

TC 12: Change color Purpose Prerequisite Test Data Steps

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

TC 13: Accuracy of information Purpose

To check if information is accurate


34

SDS for Internet Music Management System

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

TC 14: Multi lingual Purpose Prerequisite Test Data Steps

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

TC 15: compatibility Purpose Prerequisite Test Data Steps

To check if its 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 sites still working properly 3. Now run it on safari and check if its 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

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

TC 18: usability Purpose Prerequisite Test Data Steps

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

Potrebbero piacerti anche