Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
for
iMMS (Internet Music Management System)
Version 1.0
Table of Contents
1.
1.1 1.2 1.3 1.4 1.5
Introduction
3
1 1 1 1 1
2. 3.
4 3
3 3 3
4.
Data Design
4
4 4
5. 6.
5 6
6
7. 8.
7 8
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 .
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.
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
Global Administrator
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
DATABASE Facepage
2. System Overview
visitor
Access
IMMS
Access
Limited Features
U S E R
DASHBOARD
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
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
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.
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()
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.
Class Event:
This class will handle occurrence of events
Events -Name : string -date : string -Venue : string +display() +create() +edit() +remove()
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()
Class Dashboard:
This class will have features of Imms which can be only accessed by registered users
Dashboard -dashboard_id : int -privalages +display() +menu()
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()
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()
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()
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
uses Browser
extends
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
extends edit
extends album
extends album
extends artist
extends video
extends track
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
extends edit
extends album
extends artist
extends track
extends
extends
video
audio
pictures
create
edit
delete
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
extends edit
extends album
extends artist
extends track
extends
extends
video
audio
pictures
create
edit
delete
Sequence Diagram:
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:-
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
Download
Groups Login
Messages
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
Search
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
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
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
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"
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.
8. Test Cases
TC 1: LOGIN Purpose Prerequisite Test Data
To check user authorization User must have entered url of Imms Login id=Email address
30
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
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
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
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
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
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
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 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
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