A Project Report On [Online Music Player] Submitted in Partial Fulfillment of The Degree of Bachelor of Engineering In Computer Engineering Prepared By ABHIANAV BHARGAVA (080120107006) JIMMY LAKHIA (080120107036) DARSHIL SHAH (080120107088) Guided By [Ms. LEENA PATEL] DEPARTMENT OF COMPUTER ENGINEERING MAY – 2012 Page 1 of 77
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
A Project Report On
[Online Music Player]Submitted in Partial Fulfillment of
The Degree of
Bachelor of EngineeringIn
Computer Engineering
Prepared ByABHIANAV BHARGAVA
(080120107006)JIMMY LAKHIA
(080120107036)DARSHIL SHAH
(080120107088)
Guided By[Ms. LEENA PATEL]
DEPARTMENT OF COMPUTER ENGINEERING
MAY – 2012
GANDHINAGAR INSTITUTE OF TECHNOLOGY,MOTI-BHOYAN, GANDHINAGAR
CERTIFICATEPage 1 of 57
ONLINE MUSIC PLAYER
This is to certify that this work of Industrial Defined Project entitled “Online Music Player”
represents the bonafide work of Abhinav Bhargava, 080120107006 for the partial fulfillment
of the degree of Bachelor of Engineering in Computer Engineering at the Department of
Computer Engineering, Gandhinagar Institute of Technology, Moti-Bhoyan, Gandhinagar,
Gujarat, during the academic year 20011-12 and her work is satisfactory.
Internal Guide, External Guide,
Ms. Leena Patel Mrs. Alpa Detval
lecturer Assistant Professor
Computer Engineering Department
Prof Darshana Mistry,
Head of Department,
Computer Engineering Department.
CERTIFICATE
Page 2 of 57
ONLINE MUSIC PLAYER
This is to certify that this work of Industrial Defined Project entitled “Online Music Player”
represents the bonafide work of Jimmy Lakhia, 080120107036 for the partial fulfillment of the
degree of Bachelor of Engineering in Computer Engineering at the Department of Computer
Engineering, Gandhinagar Institute of Technology, Moti-Bhoyan, Gandhinagar, Gujarat,
during the academic year 20011-12 and his work is satisfactory.
Internal Guide, External Guide,
Ms. Leena Patel Mrs. Alpa Detval
lecturer Assistant Professor
Computer Engineering Department
Prof Darshana Mistry,
Head of Department,
Computer Engineering Department.
CERTIFICATE
Page 3 of 57
ONLINE MUSIC PLAYER
This is to certify that this work of Industrial Defined Project entitled “Online Music Player”
represents the bonafide work of Darshil Shah, 080120107088 for the partial fulfillment of the
degree of Bachelor of Engineering in Computer Engineering at the Department of Computer
Engineering, Gandhinagar Institute of Technology, Moti-Bhoyan, Gandhinagar, Gujarat,
during the academic year 20011-12 and his work is satisfactory.
Internal Guide, External Guide,
Ms. Leena Patel Mrs. Alpa Detval
lecturer Assistant Professor
Computer Engineering Department
Prof Darshana Mistry,
Head of Department,
Computer Engineering Department.
Abstract
Page 4 of 57
ONLINE MUSIC PLAYER
The application “Online Music Player” is a software program for android based devices for
streaming music online.
The continuous growing of people’s music library requires more advanced ways of computing playlists through algorithms that match tracks to the user’s preferences. Several approaches have been made to enhance the user’s listening experience; while most of them rely on the music content provided by the user, this project presents an online application that sources the audio content from publicly available resources.
Acknowledgements
Page 5 of 57
ONLINE MUSIC PLAYER
A Grand Project is an integral part of an B.E curriculum. It helps the student to undergo a simulation test of what a student is going to face in his future job sphere and a taste of practicality. It helps the student to understand how the organization works. The competitive atmosphere, the ups and downs in the cycle of the organization, the enthusiasm of interacting with newer people and gaining vast practical knowledge with the subject knowledge.
Our Project “ONLINE MUSIC PLAYER” is an experience worth sharing. We would like to express our gratitude to all those who gave us the possibility to complete this project and we would like to pay the warm regards to Ms. Leena Patel for her valuable help and constant suggestions throughout the project. Her advice and guidance enhanced the worth of our understanding and learning.We also wish to express our gratitude to Dr. Nilesh M Bhatt and all our professors of Gandhinagar Institute of Technology, Gujarat University and friends who played an important role in the successful completion of this project.
Acknowledgements and thanks are also extended to all the authors whose articles have been
referred to for the completion of this report.
List of Tables
Page 6 of 57
ONLINE MUSIC PLAYER
Sr. No. Name Pg no
1 Project Profile 122 Project Plan 30
List of Figures
Page 7 of 57
ONLINE MUSIC PLAYER
Sr. No. Name Pg no.
1 Android Architecture 162 Waterfall Model 293 Use case Diagram 334 Sequence Diagram 355 Activity Diagram 406 Class Diagram 42
System Flow Diagram 43
CONTENTSAbstract I
Page 8 of 57
ONLINE MUSIC PLAYER
Acknowledgement II
List of Figures III
List of Tables V
Symbols and Abbreviations VI
Contents VII
Chapter : 1 INTRODUCTION
1.1 Organization Profile
1.2 Project Detail
1.1.1 Project Definition 1.1.2 Project Profile
1.3 Purpose
1.4
1.5
1.6
Scope
Objective
Technology and Literature Review
Chapter : 2 ABOUT THE SYSTEM
2.1 System Requirement Specification
2.2 Feasibility Study
2.3 Project Planning
Chapter : 3 ANALAYSIS
3.1 Use Case Diagram
3.2 Sequence Diagram
3.3 Activity Diagram
Chapter : 4 DESIGN
4.1 System Flow Diagram
4.2 Data Dictionary
4.4 User Interface
4.5 Application Navigation
Chapter : 5 IMPLEMENTATION
5.1 Implementation Environment
Page 9 of 57
ONLINE MUSIC PLAYER
5.2 Security Feature
5.3 Coding Standard
5.4 Stored Procedure
5.5 Data Access Layer
5.6 Business Logic Layer
Chapter : 6 TESTING
6.1 Testing Plan
6.2 Testing Strategy
6.3 Testing Methods
Chapter :7 Conclusion & Future Work
7.1 Conclusion
7.2 Future Enhancement
References
1. ITRODUCTION
Page 10 of 57
ONLINE MUSIC PLAYER
1.1 Organization Profile
In Daata is a Training, Staffing and Placement Company, with offices in Chicago, Ahmedabad, Baroda, Vadodara, Surat, Rajkot, Mehsana and Udaipur. They offer a wide array of solutions customized for a range of key verticals and horizontals in the IT industry. From customized corporate training in IT, Project Management and Soft-skills to strategy consulting for the implementation of the right tools for enterprise wide planning, software development and testing, In Daata service portfolio encompasses the entire range of solutions required by the IT industry. In Daata offers training programs for ASP.Net, PHP, Java, SEO, Web Design and Software Testing.In Daata has been the, Guru of training in IT and Project Management for over a decade and finds its strength from its core competence - two US educated, and a strong pool of trainers, mentors and facilitators from varied technologies. In Daata aims to be the most prefered vendor for all Technology Providers, Career Aspirants and IT companies globally. This is planned to be achieved by establishing associations with the global leaders in technology. We already have strategic technology and marketing alliances with Microsoft, HP, and IBM that help us provide end-to-end services to our customers for Training, Software Development, Software Testing, Staffing Solutions, Consulting and Software Sales.
1.2 Project Detail
1.2.1 Project Definition
Online Music Player is android application that can play various audio and video files.
• Aim :
– To make use of android os with more public interest and make it more user
friendly so all can use it.
Page 11 of 57
ONLINE MUSIC PLAYER
1.2.2 Project ProfileTable 1.1 Project Profile
Project Title Online Music Player
Project Definition Implement a music player for android based devices.
Project Purpose To facilitate users using android devices with online
music across the globe.
Developers Abhinav Bhargava
Darshil Shah
Jimmy Lakhia
Developed For In Daata
Time Duration 6 months
Mentors Ms. Leena Patel(Internal Guide)
Mrs. Alpa Detval(External Guide)
Programming Environment Windows XP and above, Eclipse IDE with Java,
Android SDK, Android AVD
Basic Requirements Android based device, Headphone/Microphones,
Camera
1.3 Purpose
The purpose of this document is to describe the aim and functionality of the product as requested by the project sponsors. The Report will include the overall product description, targeted users descriptions, the details of the product’s functional and nonfunctional requirements and the interface design issues. It will be used as the basis of the system design in the next development phase.
1.4 Scope The scope of the ONLINE MUSIC PLAYER project includes:
The aim of this project is to establish unique software for music media distribution which places emphasis on sharing music across a network of devices.
Page 12 of 57
ONLINE MUSIC PLAYER
Using Online Music Player we'll be able to stream our digital music library over the Internet, rather than having to download it to our devices and store it on them.
Online Music Player stores your content so that your music is accessible from any ANDROID operating system.
No syncing & no management required in this Online Music Player.
1.4.1 DEVELOPERS
The product developers may have an advantage of quickly understanding the product specification. They can utilize this document as a reference point when developing this product. Developers might want to look first at the system’s features then look at the external interface requirements and finally look at other nonfunctional requirements.
1.4.2 PROJECT MANAGERS
Project managers would look at the whole document sequentially and in detail as every section must be planned and scheduled.
1.4.3 CLIENTS
The users of the product will get a clear idea of the product functionality. It is suggested that they go through the requirements section before installation.
1.4.4 TESTERS The product testers should focus on the system’s functional and nonfunctional requirements sections.
1.5 Objective
Application will be written using Android SDK in Java and
should run on all Android OS handsets.
The application will play audio files with format of MP3, AAC,
3GP, M4A, MIDI, RTX, OGG, and WAV.
The application will play video files with format of 3GP, MP4,
WEBM.
Background playing options.
Page 13 of 57
ONLINE MUSIC PLAYER
Notification on the home screen.
1.6 Technology and Literature Review
Platform:Android
Tools: Eclipse, ADT, Java
Android: Android is a Linux-based operating system for mobile devices such as smartphones
and tablet computers. It is developed by the Open Handset Alliance led by Google. A software stack
for mobile devices that includes an operating system, middleware and key applications. The
Android SDK provides the tools and APIs necessary to begin developing applications on the
Android platform using the Java programming language.
The Android Open Source Project (AOSP) is led by Google, and is tasked with the maintenance and
development of Android. According to the project "The goal of the Android Open Source Project is
to create a successful real-world product that improves the mobile experience for end users." AOSP
also maintains the Android Compatibility Program, defining an "Android compatible" device "as
one that can run any application written by third-party developers using the Android SDK and
NDK", to prevent incompatible Android implementations. The compatibility program is also
optional and free of charge, with the Compatibility Test Suite also free and open-source.
Android has seen a number of updates since its original release, each fixing bugs and adding new
features. Each version is named, in alphabetical order, after a dessert.
Recent Releases:
2.3 Gingerbread refined the user interface, improved the soft keyboard and copy/paste
features, improved gaming performance, added SIP support (VoIP calls), and added support for
Near Field Communication.
Page 14 of 57
ONLINE MUSIC PLAYER
3.0 Honeycomb was a tablet-oriented release which supports larger screen devices and
introduces many new user interface features, support for multi-core processors, hardware
acceleration for graphics and full system encryption. The first device featuring this version, the
Motorola Xoom tablet, went on sale in February 2011.
3.1 Honeycomb, released in May 2011, added support for extra input devices, USB host mode
for transferring information directly from cameras and other devices, and the Google Movies and
Books apps.
3.2 Honeycomb, released in July 2011, added optimization for a broader range of screen sizes,
new "zoom-to-fill" screen compatibility mode, loading media files directly from SD card, and an
extended screen support API. Huawei MediaPad is the first 7 inch tablet to use this version
4.0 Ice Cream Sandwich, announced on October 19, 2011, brought Honeycomb features to
smartphones and added new features including facial recognition unlock, network data usage
monitoring and control, unified social networking contacts, photography enhancements, offline
email searching, app folders, and information sharing using NFC. Android 4.0.4 Ice Cream
Sandwich is the latest Android version that is available to phones. The source code of Android 4.0.1
was released on November 14, 2011.
1. Features:
Application framework enabling reuse and replacement of components
Dalvik virtual machine optimized for mobile devices
Integrated browser based on the open source WebKit engine
Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the
OpenGL ES 1.0 specification (hardware acceleration optional)
SQLite for structured data storage
Media support for common audio, video, and still image formats (MPEG4, H.264, MP3,
AAC, AMR, JPG, PNG, GIF)
GSM Telephony (hardware dependent)
Bluetooth, EDGE, 3G, and WiFi (hardware dependent)
Page 15 of 57
ONLINE MUSIC PLAYER
Camera, GPS, compass, and accelerometer (hardware dependent)
Rich development environment including a device emulator, tools for debugging,
memory and performance profiling, and a plugin for the Eclipse IDE
Android Architecture:
Figure 1.1 Android Architecture
Applications
Page 16 of 57
ONLINE MUSIC PLAYER
Android will ship with a set of core applications including an email client, SMS program, calendar,
maps, browser, contacts, and others. All applications are written using the Java programming
language.
Application Framework
By providing an open development platform, Android offers developers the ability to build
extremely rich and innovative applications. Developers are free to take advantage of the device
hardware, access location information, run background services, set alarms, add notifications to the
status bar, and much, much more.
Developers have full access to the same framework APIs used by the core applications. The
application architecture is designed to simplify the reuse of components; any application can
publish its capabilities and any other application may then make use of those capabilities (subject to
security constraints enforced by the framework). This same mechanism allows components to be
replaced by the user.
Underlying all applications is a set of services and systems, including:
A rich and extensible set of Views that can be used to build an application, including lists,
grids, text boxes, buttons, and even an embeddable web browser
Content Providers that enable applications to access data from other applications (such as
Contacts), or to share their own data
A Resource Manager, providing access to non-code resources such as localized strings,
graphics, and layout files
A Notification Manager that enables all applications to display custom alerts in the status
bar
An Activity Manager that manages the lifecycle of applications and provides a common
navigation backstack.
Libraries
Page 17 of 57
ONLINE MUSIC PLAYER
Android includes a set of C/C++ libraries used by various components of the Android system.
These capabilities are exposed to developers through the Android application framework. Some of
the core libraries are listed below:
System C library - a BSD-derived implementation of the standard C system library (libc),
tuned for embedded Linux-based devices
Media Libraries - based on PacketVideo's OpenCORE; the libraries support playback and
recording of many popular audio and video formats, as well as static image files, including
MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
Surface Manager - manages access to the display subsystem and seamlessly composites 2D
and 3D graphic layers from multiple applications
LibWebCore - a modern web browser engine which powers both the Android browser and
an embeddable web view
SGL - the underlying 2D graphics engine
3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either
hardware 3D acceleration (where available) or the included, highly optimized 3D software
rasterizer
FreeType - bitmap and vector font rendering
SQLite - a powerful and lightweight relational database engine available to all applications
Android Runtime
Android includes a set of core libraries that provides most of the functionality available in the core
libraries of the Java programming language.
Every Android application runs in its own process, with its own instance of the Dalvik virtual
machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM
executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory
footprint. The VM is register-based, and runs classes compiled by a Java language compiler that
have been transformed into the .dex format by the included "dx" tool.
Page 18 of 57
ONLINE MUSIC PLAYER
The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-
level memory management.
Linux Kernel
Android relies on Linux version 2.6 for core system services such as security, memory
management, process management, network stack, and driver model. The kernel also acts as an
abstraction layer between the hardware and the rest of the software stack.
Eclipse: Eclipse is an open-source community that develops open platforms and products. The
community says its projects "are focused on building an open development platform consisting of
extensible frameworks, tools and runtimes for building, deploying and managing software across
the lifecycle". The Eclipse Foundation is a non-profit corporation which acts as the steward of the
Eclipse community.
However, as the Eclipse community states, "Eclipse means a lot of different things to different
people. To some Eclipse is a [...] Java development environment. To others, Eclipse is a flexible
environment to experiment with new computer languages or extensions to existing languages.
[...]"In the software world, a simple mention of "Eclipse" usually refers to the Eclipse software
development kit (SDK). The Eclipse SDK consists of the Eclipse Platform, Java development tools
and the Plug-in Development Environment. The Eclipse Platform is a multi-language software
development environment comprising an integrated development environment (IDE) and an
extensible plug-in system. It is written mostly in Java. By means of various plug-ins, it can be used
to develop applications in various programming languages including Ada, C, C++, COBOL, Erlang,
Java, Perl, PHP, Python, R, Ruby (including Ruby on Rails framework), Scala, Clojure, Groovy and
Scheme. It can also be used to develop packages for the software Mathematica. Development
environments include the Eclipse Java development tools (JDT) for Java, Eclipse CDT for C/C++
and Eclipse PDT for PHP, among others.
The initial codebase originated from VisualAge. The Eclipse SDK (which includes the Java
development tools) is meant for Java developers. Users can extend its abilities by installing plug-ins
Page 19 of 57
ONLINE MUSIC PLAYER
written for the Eclipse Platform, such as development toolkits for other programming languages,
and can write and contribute their own plug-in modules.
Released under the terms of the Eclipse Public License, Eclipse SDK is free and open source
software. It was one of the first IDEs to run under GNU Classpath and it runs without issues under
IcedTea.
ADT: Android Development Tools (ADT) is a plugin for the Eclipse IDE that is designed to give
you a powerful, integrated environment in which to build Android applications.
ADT extends the capabilities of Eclipse to let you quickly set up new Android projects, create an
application UI, add packages based on the Android Framework API, debug your applications using
the Android SDK tools, and even export signed (or unsigned) .apk files in order to distribute your
application.
Developing in Eclipse with ADT is highly recommended and is the fastest way to get started. With
the guided project setup it provides, as well as tools integration, custom XML editors, and debug
output pane, ADT gives you an incredible boost in developing Android applications.
Java: Java is a programming language originally developed by James Gosling at Sun
Microsystems (which has since merged into Oracle Corporation) and released in 1995 as a core
component of Sun Microsystems' Java platform. The language derives much of its syntax from C
and C++ but has a simpler object model and fewer low-level facilities. Java applications are
typically compiled to bytecode (class file) that can run on any Java Virtual Machine (JVM)
regardless of computer architecture. Java is a general-purpose, concurrent, class-based, object-
oriented language that is specifically designed to have as few implementation dependencies as
possible. It is intended to let application developers "write once, run anywhere" (WORA), meaning
that code that runs on one platform does not need to be recompiled to run on another. Java is
currently one of the most popular programming languages in use, particularly for client-server web
applications, with a reported 10 million users.
Page 20 of 57
ONLINE MUSIC PLAYER
Google and Android, Inc. have chosen to use Java as a key pillar in the creation of the Android
operating system, an open-source smartphone operating system. Besides the fact that the operating
system, built on the Linux 2.6 kernel, was written largely in Java, the Android SDK uses Java to
design applications for the Android platform.
Page 21 of 57
ONLINE MUSIC PLAYER
2 ABOUT THE SYSTEM
2.1 System Requirement Specification
2.1.1 User Characteristics
Analyzing user characteristics is an important aspect of any project. It allows us to clearly define
and focus on who the end users are for the project. Also, it allows us to check the progress of the
project to ensure that we are still developing the system for the end users.
The end users for system are:
Broadcaster
Viewer
The users must have following characteristics:
The users of the system are managers of the companies, teacher, event organizer etc. who
interacts with the client by using internet facility from anywhere. The users are assumed to
have basic knowledge of the computers, mobiles and Internet browsing.
The admin of the system to have more knowledge of the internals of the system and is able to
rectify the small problems that may arise due to disk crashes, power failures and other
catastrophes to maintain the system, proper user interface, user’s manual, online help and the
guide to install and maintain the system must be sufficient to educate the users on how to use
the system without any problems.
2.1.2 Hardware And Software Requirements
2. 2.1.2.1 Software
Operating System: Windows XP and above
Page 22 of 57
ONLINE MUSIC PLAYER
Front end tool: Eclipse IDE with Java, Android SDK, Android AVD
Other Tools: Microsoft Visio, Snagit
2.1.3 Constraints
2.1.3.1 Technical Constraints
1. The connectivity of the communicators was a point of concern.
2.1.3.2 Cost management
1. The cost of setting this system is not a major concern.
2. There is no operational maintenance.
2.1.3.3 User Constraints
1. User should have an android based device.
2. Users must have an internet connection.
3. Users who wish to use the application must be registered with it.
4. User must have a general idea of using the application.
2.1.3.4 Hardware Limitations
1. The device should have a camera.
2. User needs to have speakers/microphones and headphones.
2.1.4 Study of Current System
Currently VMukti interactive streaming for masses providing high quality video at low bandwidth
is available for all windows based systems. Thus we are going to implement streaming player for all
android based supporting devices. In India, video streaming is not possible over edge network. This
Project aims to provide live conferencing from any place in the world through android based
devices connected through internet or WIFI. It provides interactivity between people using video
conferencing software at minimum bandwidth 100kbps on phone. It also provides live webinar,
Page 23 of 57
ONLINE MUSIC PLAYER
broadcasting event and channel broadcasting. The audio and video begins playing soon after the
stream begins. The user doesn't have to download the whole file in order to watch the video.
2.1.5 Problem and Weakness of Current System
The current system wasn’t easily compatible with android based devices.
This is a not new concept where in it is difficult to find any problems with the existing system
based on only one such application and other such applications systems can also be referred for
improving the features of the system.
2.1.6 Requirements Of New System
2.1.6.1 User requirements
User requirements are simple and basic, but important thing is user must be aware that system
works properly with full availability, reliability, security and safety. The user responsibilities are as
follows:
Users should know how to use the application.
User should be registered in the application in order to make use of its services.
Should adhere to guidelines and prescribed standards.
2.1.6.2 System requirements
The device must be android based.
The device should have internet connectivity.
The device must have camera for capturing and broadcasting the video.
Page 24 of 57
ONLINE MUSIC PLAYER
2.2 Feasibility StudyFor any project the feasibility analysis is very important. The feasibility analysis shows the developers all the aspects of the project and they can know that whether the project is practically possible to develop worth limited resources and time.
1.3.1 Technical Feasibility
The technical feasibility deals with the technology and the tools used to develop the system. The requirement of the system when clearly known then a language or tool which ever is selected must be capable of satisfying all the needs, following are some points underlying the concept of technical feasibility.
The organization has a well integrated MIS department with the technologies which may satisfy all or almost all requirement of the current system the data running in the application.
The proposed technology platform has the capacity to hold the interfaces and also have the provision to include some of expected future requirement and features.
For better operational situation the organization is constantly in touch with the technical platform and updates the status of technology.
Page 25 of 57
STUDY
Other Documents:Federal funding
requests, etc.
Requirements Definition, General Design, Needs Assessment,
1.3.2 Operational Feasibility Any project or an application which is developed with a purpose to fulfill can be
beneficial only if it satisfies the organization requirements. In any MIS setup a new system must not only be robust but also needs to work in tender with existing system to the extent possible in order to reduce the work in the newer version of the system. Following are some points underlying the concept of the operational feasibility.
The system was well supported by the management with the part in development of the system.
The most important information regarding the requirements needed in the system can be best achieved through conversation with the users of the system. With this the developer can know about the exact problems which were faced in the order system so that they can be eliminated from the new system.
The end user of the system in majority of cases is a non-technical person so the application itself and interfaces such as GUI must be simple enough that the application can be easily operated by any one by a brief reading of the user manual.
If the new system and older one can go shoulder to shoulder with each other still then a lot of trimming of the existing system is needed for the complete e operational system.
In many cases some problems are experienced after some time of implementing the system so a timely testing/ debugging is necessary for a completely operational system.
The users were involved with system right from the start and were constantly in touch with the development team and every modification was observed by them.
The proposed system makes a best effort to satisfy the requirement of the user, keeping in mind certain infrastructural constraints.
1.3.3 Schedule FeasibilityTime feasibility is the critical factor in deciding the amount of the benefits which the
organization can get from the system. The system should be developed takes too much time, by the time it comes in to the use.
Many new features in the technology may have come in to the market and our system may take dated comparison with an application built with all these new features. So to get the maximum advantages from the system it should be developed within deadlines and come in to use as early as possible.
1.3.4 Economic FeasibilityThe cost involved in designing and developing a sytem should be a good investment for
the organization and the intangible returns which the company wick get from. The system must be good enough that the investment be worthy. Before developing a system the developer should give the estimate to the organization for the cost of the system and also the benefits that the
Page 26 of 57
ONLINE MUSIC PLAYER
company will get. This will help the management to see that the investment that are making is beneficial to them or not. Some key points related to cost benefits are given below.
If the company decides to build the system then the cost is justified since the MIS develpoment is In-house.
The hardware and the software which were to be used in the application were already available with the company so development cost can be redused signifincantly and it also increases the gain from the system.
If nothing was to be changed in the existing system then the cost would not increase much but the performance of the system and the gain from the system decreases day by day due to poor handling of the system.
If the system is developed well before the deadline and comes in to use at early time then it may reduce the cost of the entire system development by a good factor. So completing the system in/ before schedule reduces the cost of system development.
2.3 Project Planning
Page 27 of 57
ONLINE MUSIC PLAYER
Project planning is perhaps one of the most important works in developing any project. Before
the project can begin estimate regarding work to be done, what resources will be required
and how much time will elapse from start to the finish of a project. Planning helped us to
prepare a framework that enabled to make us a reasonable estimate of all such things.
2.3.1 Project Development Approach and Justification
Our project is developed using specific software development lifecycle. Software development
approach is best suited for the project depends on the requirement and other factors. A process
model is a development strategy that is used to achieve a goal that satisfies the requirements abiding
by the constraints.
There are many types of Software Process Model like:
1. Spiral Model
2. Linear Sequential Model
3. RAD(Rapid Application Development) Model
4. Incremental Model
5. Waterfall Model
We have used Waterfall Model.
WATERFALL MODEL:
Page 28 of 57
ONLINE MUSIC PLAYER
The waterfall model is a sequential design process, often used in software development processes, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of Analysis, Design, Construction, Testing Production/Implementation and Maintenance.
The waterfall development model originates in the manufacturing and construction industries: highly structured physical environments in which after-the-fact changes are prohibitively costly , if not possible. Since no formal software development methodologies existed at the time, this hardware oriennted model was simply adapted for software development.
Waterfall Model Strength:
• Easy to understand, easy to use• Provides structure to inexperienced staff• Milestones are well understood• Sets requirements stability• Good for management control (plan, staff, track)• Works well when quality is more important than cost or schedule• Helps to plan and schedule the project
Waterfall Model
2.3.2 Project Plan
Page 29 of 57
ONLINE MUSIC PLAYER
Table 2.1 Resources
Sr No Name of Resource No of Units1 Manpower
a)Developer 42 Computers 43 Development Tools
a) Eclipse b) Java
Table 2.2 Project Plan
Task Name PlanHours Cum.
Hrs.Understanding Techniques 18 18Study of existing system 63 81Analysis 135 216Designing 63 279Coding 180 459Testing 45 504Documentation 36 540
Total: 540
2.3.3 Milestones and Deliverables
Milestone and Deliverables are the important task for the project scheduling because if milestone
is achieved in the specified time than it will increase customer faith and Deliverables means that
software is delivered with all the requirements specified by the user. Below the chart shows how
our milestone for the system was achieved.
Page 30 of 57
ONLINE MUSIC PLAYER
Figure 2.2 Gantt Chart
2.3.4 Roles and Responsibilities
As the project development was under a team organization of four persons, all the phases are divided into parts and each module of it was assign to each person in the team. Each person has to complete her own task within specifications defined and then finally integration of the whole work was done.
All of us worked together on same phases and we also divided the phases into sub phases so that our work was more efficient, effective and less time consuming.
As a result we were able to achieve our defined system with all the specifications given to us.
Page 31 of 57
ONLINE MUSIC PLAYER
3. ANALYSIS
3.1 Use Case Diagram
A use case diagram depicts actors, use cases, and the relationships among
them. Use case is a software engineering term that is equivalent to a social scientist's notion of
task. With some simple extensions, use case diagrams can be used to represent a usability
professional's task model. UML recognizes two kinds of actors, concrete actors and abstract
actors. A concrete actor represents one user population operationally defined as a group of actors
that share the same basic set of responsibilities. An abstract actor represents a user role which is
the set of responsibilities common to multiple user populations. An abstract actor is used as a
shorthand way to say, “Any concrete actor who fulfills this role”. On a UML use case diagram, a
generalization relationship (a line with an open triangle pointing to the general case) shows
which concrete actors fulfill which abstract actor's role.
A use case represents a task. A Task is simply some piece of goal-directed
work performed by a user or organization (group of users). A task performed by an organization
is also sometimes referred to as a Process. Some modelers, this author included, prefer to make a
distinction between:
Use case - a user task
Page 32 of 57
ONLINE MUSIC PLAYER
Business case - a business task performed by an organization (a group of users); also sometimes
called an organization case
Use Case Diagram
Use Case Diagram
Page 33 of 57
ONLINE MUSIC PLAYER
User: LOGIN SCREEN
This is for registered users in order to unlock the full functionality of the system.
USER ACCOUNT DETAILS SCREEN This is for enabling registered users to edit their details.
ACCOUNT REGISTRATION SCREEN This screen enables users to register and create their account.
MUSIC PLAYER SCREEN This screen enables users to interact with the Music Player Component.
MUSIC SEARCH SCREEN This screen enables users to interact with the Music Search Component.
MUSIC ORGANIZER SCREEN This screen enables users to interact with the Music Organizer Component.
MUSIC SHARER SCREEN This screen enables users to interact with the Music Sharer Screen.
Page 34 of 57
ONLINE MUSIC PLAYER
3.2 Sequence DiagramA sequence diagram in a Unified Modeling Language (UML) is a kind of interaction diagram that
shows how processes operate with one another and in what order.
Usage scenarios: A usage scenario is a description of a potential way your system is used. The logic of a usage scenario may be part of a use case, perhaps an alternate course. It may also be one entire pass through a use case, such as the logic described by the basic course of action or a portion of the basic course of action, plus one or more alternate scenarios. The logic of a usage scenario may also be a pass through the logic contained in several use cases. For example, a student enrolls in the university, and then immediately enrolls in three seminars.
The logic of methods:
Sequence diagrams can be used to explore the logic of a complex operation,
function, or procedure. One way to think of sequence diagrams, particularly highly
detailed diagrams, is as visual object code.
The logic of services:
A service is effectively a high-level method, often one that can be invoked by a wide variety of clients. This includes web-services as well as business transactions implemented by a variety of technologies such as CICS/COBOL or CORBA-compliant object request brokers (ORBs).
the workflow behind the system being designed. Activity Diagrams are also useful for:
analyzing a use case by describing what actions need to take place and when they should occur;
describing a complicated sequential algorithm; and modeling applications with parallel
processes.
Activity Diagram
Page 40 of 57
ONLINE MUSIC PLAYER
3.4 Class Diagram
A class diagram is a type of static structure diagram that describes the structure of a system by
showing the system's classes, their attributes, operations (or methods), and the relationships among
the classes.
In software engineering, a class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations (or methods), and the relationships among the classes.
The class diagram is the main building block of object oriented modeling. It is used both for general conceptual modeling of the systematic of the application, and for detailed modeling translating the models into programming code. Class diagrams can also be used for data modeling. The classes in a class diagram represent both the main objects and or interactions in the application and the objects to be programmed. In the class diagram these classes are represented with boxes which contain three parts:
The upper part holds the name of the class The middle part contains the attributes of the class The bottom part gives the methods or operations the class can take or undertake.
To specify the visibility of a class member (i.e., any attribute or method) there are the following notations that must be placed before the member's name:
+ Public - Private # Protected ~ Package/ Derived
Class diagrams also display relationships such as containment, inheritance, associations and others
The association relationship is the most common relationship in a class diagram. The association shows the relationship between instances of classes. For example, the class Order is associated with the class Customer. The multiplicity of the association denotes the number of objects that can participate in then relationship.1 For example, an Order object can be associated to only one customer, but a customer can be associated to many orders.
Another common relationship in class diagrams is a generalization. A generalization is used when two classes are similar, but have some differences.
Class diagrams are used in nearly all Object Oriented software designs. Use them to describe the Classes of the system and their relationships to each other.