SCI5551 Advanced Software Engineering
Project Proposal & Plan
Video Link: MUSIC CENTRAL
http://www.youtube.com/watch?v=oJwQtKhCrYs
Music Central.
1. Introduction :
Music Central provides online music tutorials for amateur students who are interested in music. It’s mainly for beginners who have no knowledge about music and would like to learn how to play their desired instruments. Currently we are concentrating on “GUITAR” musical instrument and will provide the required string nodes on the page and also visual display video. As it is a social networking website, people can register into the site and can “Upload” their files (videos/audios) to our web server similar to that of YOUTUBE. They can also upload audio directly through headset which records audio directly in the site; they can have a preview of it and can submit the audio. We also have “Ratings”, “Comments” of a particular audio/video and have embedded “YouTube” videos in our site where the user can directly watch the videos or audios of YouTube site in Music Central. Future aspects of the site have merchandising of events like particular shows running around the city, country or World where users can buy online tickets of a particular show. People can login into our site and can buy tickets through their debit/credit cards. The ASP (Application service Providers) clients like the users of Gmail, yahoo, AOL etc can directly login to the site and can be a part of our network.
2. Project Goal and Objectives
1. Overall goal: The overall goal of this project is to provide online tutorials of some of the musical instruments to users. Currently we are concentrating on guitar musical instrument and provide the required string nodes and visual display of it.
People can rate an item (audio/video), provide comments and search for a particular video/audio file. Also people can buy tickets of ongoing events of the world through our site. We are also going to embed “YouTube” videos inside the pages as people can also search their required site.
2. Significance: Running music notes for individual instruments along with the song will be very helpful for amateur musicians to improve their music skills. To make them learn instantaneous music through online at convenient times.
3. Project Background and Related Work
1. Work done by others:
We found some online music learning classes in the website www.guitartricks.com .We could not find any other sites that will correlate the music with the music notes. There are sites that provide online ticketing and some that provide tutorials for aspiring musicians or who are interested in learning music but there is no site that provides all of this in one single website.
2. Relationship of the proposed project to others :
As mentioned above there are sites that provide certain features that we are planning to present in our website but all the features are not found on any single website. Music Central is one of its kind website that correlates the music with the music notes which helps the users in learning music easily and there are several other services that our website would be providing other than this.
4. General Plan of Work
• Proposed system
• Domain analysis
Most of the people have passion to learn music and many of them don't have a clear picture of how to startup with. Everyone knows how popular the recent shows like American Idol and Indian Idols have been. So we thought of having an online self learning course where each individual can learn how to play an instrument and it's free of cost.
Requirement Analysis
The project mainly concentrates on the music lovers and the amateur music learners. The promotion of the website is done through social networking websites.
Stakeholders
The users of our website, as we said earlier like music lovers and music learners and the developers of our site are our main stakeholders.
Risk Management
a) The database might get overloaded with the uploaded videos and get crashed, so we should monitor the website regularly and delete the irrevelant videos.
b) We will implement a safe third party credit card billing system to overcome the security issues involved in the ticket sales.
• Description of procedures and methods:
1. Uploading files using file upload methods in ASP.Net etc.
2. Using GDI+ classes for rich GUI.
3. Using Flash plugins to display videos in the browser.
4. Using third party tools to convert videos to .flv format and upload in database.
• Expected outcomes and Project success criteria
A rich GUI website that gives user-friendly interface with ease of flash player plugins. Successfully launching the website with good learning tutorials and also can buy tickets for various music events.
If the website is popular among the music lovers, this website will be a hub for the exposure of young music talent. Its easy to attract the users with the unique way of teaching music.
• Technological and Architectural requirements
The website is mainly built on .Net technologies and database connectivity using SQL server.
The architectural requirements are designed using rational rose software. The UML diagrams like usecase and sequence diagrams are displayed later in this document.
• Project Timelines, Members, Task Responsibility (Use MS “Project” Tool)
To be discussed with the professor regarding this project planning.
5. Bibliography :
www.guitartricks.com
www.worldmusic.org
II. Project Plan
The content of the plan document includes:
1. Requirement Specification
• Functional, Non-functional, Technical/business Requirements (prioritized)
• Business Process/Workflow analysis
• Technology – Feasibility Study
Functional Requirements
DISCLAIMER: ALL THE SCREEN SHOTS INCLUDED IN THIS DOCUMENT ARE ILLUSTRATIVE ONLY TO SHOWCASE THE UNDERSTANDING OF THE Music Central FUNCTIONALITIES.
The following section describes the functional requirements of the Music Central implementation.
Application Users
Music Central will support the following application users:
General Users
Registered Users
Administrators
Dormant Users
Super Admin User
General Users
General Users are those users who would like to browse through the site without submitting the registration form. The General Users shall not be able to access all the features of Music Central application. However, a general user can browse through various public audios and videos of YouTube search through various options. The general user need to login to upload albums and to buy tickets for music shows.
Registered Users
Registered users are those who have already gone through the process of registration. The registration process involves submitting the registration form and then activating the registration. A registered user can enjoy all the capabilities and features offered by Music Central as listed in the home page.
Administrators
Administrators are the system level users who will have access to back end database, the administrators are usually the staff of Music Central who are responsible for managing the Music Central application data. Music Central application will provide a default administrator account for application content management and necessary content approvals.
Dormant Users (Future Implementation)
The dormant users are inactive registered users. Registered users become dormant users when they have not logged into the website for a certain period, configured by the admin. The default value would be 30 days. All the music related files and data of dormant user would be removed from the system. This is achieved by running a cron job periodically. An email would be sent to the user before making them dormant.
Super Admin User
A Super Admin User is the user who creates application administrators and has access to all the options in the admin panel. The Super Admin user will be able to assign different levels of access to the admin users. There is no provision to delete Super admin from the system.
Order Management Server Administrator (future Implementation)
This is the administrator of order management server who would manage the order details, shipping methods and payment methods. The order management server will have only one administrator.
Account Management
This section describes the functional aspect of Music Central site account creation and other process flows. When the user visits the site, user can either login to the site or create a new account using Join Now option.
Please refer to the following flow chart for the account creation process:
Existing Account Sign In:
In the “Member Sign In” section, the user can enter the user Id and password for an existing account and click on Sign In button to login to the user’s account.
The User id and password will be validated and the user will be taken to the user’s home page on successful validation. While validating user id, nick name or email address, validation would be case insensitive and password validation would be case sensitive
Instead of the user id the user will be able to use either the email address or the nick name
The user id and nick name will be case-insensitive
The password would be case-sensitive.
The validation would be performed for
Existing User Id, Nick name or Email address
Match for user id and password
If the validation fails the user will be redirected to the home page with a message “Login Failed. Please try again.”
The “Captcha” feature where in a distorted image would be displayed for the user to recognize and enter would be provided in the future implementation
If the user is a dormant user then, when the user clicks on sign in link the user will be sent a URL by email, using which the user can activate his account. Once the dormant user clicks on the activate link then the user will be presented with his personal details that can be modified by the user. This completes the re-activation procedure for dormant users.
Sign in page will have a Remember Password option. If this option is checked then that particular user will be remembered on that computer. If the user has set the option to “Remember Password” then the next time onwards the user’s user name and password would be already populated. However since client side cookies are used for this functionality its browser dependant and if the browser cache is cleared this will not function.
Account Creation
New users can create a new account by clicking on “Join Now” link and filling in a registration form with their personal identification details. Please refer to the following image for more information:
Forgot User Id/Password
Teaching Online Tutorials:
Users can learn online tutorials with the note strings displayed on the page. Please have a look at the screen shot displayed below.
Uploading Files to the Server:
Comments: Owner can see view / delete / reject / approve comments posted by users for his work. The owner will be able to post comments to his own music. There would be a time limit before which the same user can post comments to the same file. The time limit would be configurable by the admin. When a file with the same name is uploaded it will be saved with a suffix of _01, _02 etc.
Ratings: Rating the music of a user by others by clicking the start options below.
Buying Tickets for Music Shows: Users can buy tickets of music shows through online ticket payment.
Non Functional Requirements
Supported Browsers: Currently the website is run under Internet explorer 6.0 and above Future implementations are mentioned below:
Firefox Mozilla 2.0
Opera 9.0
Mac Safari 3.0
Performance Requirements
The performance of the portal is maintained at the acceptable performance criteria through the following approach:
Key Performance Counters (KPC)
Activity Average KPC (in secs)
Static page load <= 2
Dynamic page load <= 4
Login <= 8
All Logout <= 5
Home page load <= 10
Upload image ~ 100 Kbytes / sec ( can vary based on network bandwidth)
Processing image <= 5
Download image ~ 150 Kbytes / sec ( can vary based on network bandwidth)
Transactional operations <= 10
Following are some of the capacity factors for the system.
• The system should support 6000 concurrent users(future)
• The system will have a total number of 1000000 registered users(future)
• Disk space required for music files and videos should be 2 TB(future)
Standard Compliance
No specific standards identified.
Statutory and Regulatory Requirements
None.
Security Requirements
Following are the security requirements for the system:
1) The user shall be able to view the pages the user is authorized to view
2) The passwords for all users shall be encrypted and stored in DB
3) Sensitive information such as Credit card details of registered users will not be stored in the system, such as database, server logs.
4) The information about the ASP clients shall be kept secured and encrypted.
5) The entire requests made to the server while making a credit card transaction will reside in the SSL layer.
Software System Attributes
Scalability
The application is scalable by deploying instances of SQL Server and performing the load balancing. Each instance of web server will be capable of hosting the components ASP.NET, Web Service Component, Business Layer, and Data Layer. The load balancing is performed as per the session Id created. Therefore, if a user has logged in, then the subsequent requests from the same client will be directed to same instance of web server. If the web server load increases, then another web server can be added to the load
A dedicated network like SAN would be suggested to achieve better scalability, computer clustering, and fault tolerance and recovery than earlier SCSI-based approaches for real-time and data intensive applications. Segregating storage and server functions allows these functions to be scaled independently. Consequently, administrators have the flexibility to decide the optimum capability for each. This independence affords efficient and continuous scaling to keep up with future growth.
Maintainability
A dedicated network like SAN Enables storage to be consolidated and servers to be clusters, simplifying administration and reducing management costs.
Portability
NA
Availability
SANs encourage server less-backup operations, where data moves directly from disk to tape, bypassing the server. Eliminating the server in the data path increases the availability of server resources, such as CPU cycles, memory and I/O bandwidth, to users. In addition, this process eliminates a backup window.
Extendibility
This application should be able to service next generation high-speed mobile phones in order to facilitate upload of music and to provide tools for mobile phone.
Reusability
The Web services API that would be developed for achieving various results would be re-usable
Implicit Requirements
Following are the implicit requirements that shall be taken care
Managing log file for tracking all the operations in the system
Exception handling
Other Requirements
Hardware and Software Requirements
Development Environment
Software Requirements
S.No. Description Version No. Copies/Qty Remarks
1. Visual Studio 2005/2008 2.0/3.5
2. SQL Server 2005/2008
Hardware Requirements
S.No. Description Purpose of the Hardware Configuration Details
1. Pentium IV Desktops Development of Code Pentium IV, 512 MB RAM, 60 GB HDD
Deployment / Implementation/Hosting Environment
Software Requirements
S.No. Description Version No. Copies/Qty Remarks
1. Windows Vista / Windows XP Service Pack2
Hardware Requirements
S.No. Description Purpose of the Hardware Configuration Details
1. SQL Server Application Hosting Pentium IV, 1 GB RAM, 60 GB HDD
System Architectural Diagram:
New Services to be built:
There is no website so far that will play the music notes along with the visual display.
Depending upon the requirements and design analysis we are going to develop new web services. Some of the UML diagrams for User and Administrator are given below.
• Use Case Diagram
• Sequence Diagram
Operational description:
When the user wants to learn the tutorial he can visually have a look at the video with the notes displaying simultaneously.
Input/output:
The user can record his audio directly in to the website and can upload it to the site. The uploaded video is displayed to the user where he can have a preview of it and then submit it to the web.
Actors/objects involved:
Public users, Registered users, Administrator etc.
2. Plans by Services:
Tentative Schedules:
Oct 2nd – Project 1st increment
Oct 9th – Project discussion with professor
Oct 16th – Project 2nd increment
Oct 23rd – Project discussion with professor
Oct 30th – Project 3rd increment
Oct 14th – Project discussion with professor
Nov 20th – Project 4th increment
Dec 1st – Project Presentation
Schedule for four increments:
First Increment: Creating master page and linking the content pages like login, register and password recovery. Also creating separate login for Administrator.
Second Increment: Completing module to sell tickets of different events all over the world.
Third Increment: Converting the recorded video in to FLV format and storing in to database, as well as retrieving from the database. Integrating youtube videos in to our webpage.
Fourth Increment: Rating the videos and searching the videos according to ratings and specialization of instruments. And any further improvements needed.
Responsibility:
To finish the project in given deadlines and developing the project code as efficient as possible with rich user interface.