Top Banner
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
77
Welcome message from author
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
Page 1: New Report Final

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

Page 2: New Report Final

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

Page 3: New Report Final

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

Page 4: New Report Final

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

Page 5: New Report Final

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

Page 6: New Report Final

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

Page 7: New Report Final

ONLINE MUSIC PLAYER

Sr. No. Name Pg no

1 Project Profile 122 Project Plan 30

List of Figures

Page 7 of 57

Page 8: New Report Final

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

Page 9: New Report Final

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

Page 10: New Report Final

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

Page 11: New Report Final

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

Page 12: New Report Final

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

Page 13: New Report Final

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

Page 14: New Report Final

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

Page 15: New Report Final

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

Page 16: New Report Final

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

Page 17: New Report Final

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

Page 18: New Report Final

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

Page 19: New Report Final

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

Page 20: New Report Final

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

Page 21: New Report Final

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

Page 22: New Report Final

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

Page 23: New Report Final

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

Page 24: New Report Final

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

Page 25: New Report Final

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,

Prioritization

Project Management Methodology ProcessBusiness Requirements & Needs

Page 26: New Report Final

ONLINE MUSIC PLAYER

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

Page 27: New Report Final

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

Page 28: New Report Final

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

Page 29: New Report Final

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

Page 30: New Report Final

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

Page 31: New Report Final

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

Page 32: New Report Final

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

Page 33: New Report Final

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

Page 34: New Report Final

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

Page 35: New Report Final

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

Page 35 of 57

Page 38: New Report Final

ONLINE MUSIC PLAYER

SEQUENCE DIAGRAM

Page 38 of 57

Page 39: New Report Final

ONLINE MUSIC PLAYER

3.3 Activity Diagram

Activity diagrams are a loosely defined diagram technique for showing workflows of stepwise

activities and actions, with support for choice, iteration and concurrency. Activity diagrams can be

used to describe the business and operational step-by-step workflows of components in a system.

An activity diagram shows the overall flow of control.  Activity diagrams are graphical

representations of workflows of stepwise activities and actions with support for choice, iteration and

concurrency. In the Unified Modeling Language, activity diagrams can be used to describe the

business and operational step-by-step workflows of components in a system. An activity diagram

shows the overall flow of control.  

Activity diagrams are constructed from a limited repertoire of shapes, connected with arrows.

The most important shape types:  

rounded rectangles represent activities;

diamonds represent decisions;

bars represent the start (split) or end (join) of concurrent activities;

a black circle represents the start (initial state) of the workflow;

An encircled black circle represents the end (final state).  

            Arrows run from the start towards the end and represent the order in which activities

happen. Hence they can be regarded as a form of flowchart. Typical flowchart techniques lack

constructs for expressing concurrency. However, the join and split symbols in activity diagrams

only resolve this for simple cases; the meaning of the model is not clear when they are arbitrarily

combined with decisions or loops. While in UML 1.x, activity diagrams were a specialized form

of state diagrams, in UML 2.x, the activity diagrams were renormalized to be based on Petri net-

like semantics, increasing the scope of situations that can be modeled using activity diagrams.

These changes cause many UML 1.x activity diagrams to be interpreted differently in UML 2.x

 Activity diagrams should be used in conjunction with other modeling techniques such

as interaction diagrams and state diagrams.  The main reason to use activity diagrams is to model

Page 39 of 57

Page 40: New Report Final

ONLINE MUSIC PLAYER

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

Page 41: New Report Final

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

Page 41 of 57

Page 42: New Report Final

ONLINE MUSIC PLAYER

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.

Class Diagram

Page 42 of 57

Page 43: New Report Final

ONLINE MUSIC PLAYER

4. DESIGN

System Flow Diagram

Page 43 of 57

Page 44: New Report Final

ONLINE MUSIC PLAYER

Figure 4.1

Page 44 of 57

Page 45: New Report Final

ONLINE MUSIC PLAYER

4.2 User Interface

Figure 4.2 Homepage

This is the home page of the application. The user needs to enter his username and password if

already registered. If not registered, then choose the ‘Join CampusIn’ option.

Page 45 of 57

Page 46: New Report Final

ONLINE MUSIC PLAYER

Figure 4.3 MenuOn this page, the user needs to enter the his/her choice like whether they want to listen to a song

or play any video or surf the internet for any song of their choice.

Page 46 of 57

Page 47: New Report Final

ONLINE MUSIC PLAYER

Figure 4.4 Audio Video PlayerThis is the profile page which is displayed once the user chooses to play any song or Video.

There are options provided for viewing Albums, Artists and lists of songs or videos stored.

Page 47 of 57

Page 48: New Report Final

ONLINE MUSIC PLAYER

5 . IMPLEMENTATION

5.1 Implementation Environment

The system is an android application.

Multi-user vs. Single-user:

Single user applications are the application where it is useful to only one user at a time.

While in Multi user given application is used by many user at the same time and thus web

application are used by many users at the same time. Thus, our system is a Multi user system as we

have more than one user at a time.

GUI vs. Non-GUI:

Non GUI application uses command Prompt for input and output while GUI application has

graphics form to interface and other graphics property for various I/O operation and are easy to use.

Our System is a GUI based and thus easy and effective to use.

We have used TextView, EditText, Button, Spinner, Date Picker, Checkbox to make GUI.

5.2 Security Feature1. Sessions cannot be recorded.

5.3 Coding Standards

The front-end of the project is Eclipse IDE. The project had fixed standard for designing the GUI so

that all modules are found consistent as far as GUI is concerned. The GUI standards includes

following specifications.

Layout of the Frame along with properties of frame based on its type that is Parents

frame or Child frame.

The sized of components like buttons, textboxes, combo-boxes, list etc….

Page 48 of 57

Page 49: New Report Final

ONLINE MUSIC PLAYER

In system login facilities are available.

The coding standard provides the guideline for coding a module during development.

When these standards are strictly followed the code becomes more readable and understandable

making the process of debugging easy.

Specifications for coding loops and other control structures.

Specifications for defining the variables etc and defying the functions.

Specifications for inserting appropriate comments and place where they should be

placed.

Superior coding techniques and programming practices are hallmarks of a professional programmer.

A comprehensive coding standard is essential for successful product delivery. The standard helps in

enforcing best practices and avoiding pitfalls, and makes knowledge dissemination across the team

easier.

5.3.1 Naming Conventions

General Guidelines:

Namespaces, classes, methods, fields, properties and parameters should not be created that

vary only by capitalization.

All uppercase or lowercase names to be avoided.

Names with numeric character were not used.

Avoid using reserved words as names.

5.3.2 Coding Style

Only one namespace per file was used.

Multiple classes in single file was avoided

Starting and ending curly braces were placed in new line to avoid confusion

Use of // or /// was mainly done for commenting.

Single character variable for iteration was only used.

Full name was given to variables.

Use of tab was done for indentation and no spaces.

The class name and the filename were same to avoid confusion.

Page 49 of 57

Page 50: New Report Final

ONLINE MUSIC PLAYER

5.3 Business Logic LayerA business logic layer (BLL), also known as the domain layer, is a software engineering practice

of compartmentalizing. The business logic layer is usually one of the tiers in a multitier architecture.

It separates the business logic from other modules, such as the data access layer (DAL) and user

interface (UI). By doing this, the business logic of an application can often withstand modifications

or replacements of other tiers.

Page 50 of 57

Page 51: New Report Final

ONLINE MUSIC PLAYER

6. TESTING

6.1 Testing Plan

What is ‘Software Testing’?

Testing involves operation of a system or application under controlled conditions and

evaluating the results. The controlled conditions should include both normal and abnormal

conditions. Testing should intentionally attempt to make things go wrong to determine if

things happen when they don’t happen when they should. It is oriented to ‘detection’.

The need for Testing:

No matter how good a programmer is, no application will ever be one hundred percent

correct. Testing was important to us in order to ensure that the application works as efficient

as possible and conforms to the needs of the system.

Testing was carried out throughout the development of the application, not just the

application has been developed, as at this stage it took a great deal of effort to fix any

bugs or design problems that were occurred.

6.2 Testing Strategy

When our application was configured and customized in the system, the test was observed that this

configuration or customization does not cause any improper processing or violation. The following

care was taken when the application was developed at the local machine.

The interface may have something not proper, which can be tested by this checklist:

Number of input parameter equal to number of argument?

Parameter and argument attributes match?

Number of arguments transmitted to called forms equal to number of parameters?

Page 51 of 57

Page 52: New Report Final

ONLINE MUSIC PLAYER

Attributes of arguments transmitted to called forms to attributes of parameters?

Number attributes and order of arguments to built-in functions correct?

The local data structures for a form are common source of errors. The following types of errors

should be searched for,

Improper or inconsistent typing

Erroneous initialization or default values

Incorrect (misspelled or truncated) variables names

Inconsistent data types

Underflow, overflow and addressing exception

As far as unit testing is concerned we did it at the time of coding in an informal but extensive

way, so as to reduce number of problems arising out of incorrect syntax, incorrect variable, function

names etc.

Close the database connection when not required.

Care was taken to check for any infinite loop that exists in code before executing the code.

6.3 TESTING METHODS

White Box Testing

Also known as glass box, structural, clear box and open box testing. A software testing is a

technique whereby explicit knowledge of the internal workings of the items being tested is used to

select the test data. Unlike black box testing, white box testing uses specific knowledge of

programming code to examine outputs. The test is accurate only if the tester knows what the

program is supposed to do; it means that he must be completely aware that for particular input a

particular output must be obtained.

The main benefit of this type of testing is Tester can see if the program diverges from its intended

goal.

This test concentrates on the examination of the code rather than the specification.

We have included three different forms of white box testing.

Page 52 of 57

Page 53: New Report Final

ONLINE MUSIC PLAYER

1. Statement Coverage Criterion:-

This is the simplest coverage criterion. We are checking in it that each statement of the program

was executed “at least once”.

2. Branch Coverage Criterion:-

An improvement over statement is Branch Coverage. In that we are running a series of test to

ensure that all branches are tested at least once.

3. Path Coverage Criterion:-

There are many errors which were not detected by statement or branch testing. The reason is that

some errors are related to some combination of branches and it may be not check in other test. We

are checking in this test is all path of programs are executed or not.

Black Box Testing

Black-box and white-box are test design methods. Black-box test design treats the system as a

"black-box", so it doesn't explicitly use knowledge of the internal structure. Black-box test design is

usually described as focusing on testing functional requirements. Also know as behavioural,

functional, opaque-box, and closed-box.

Black Box Testing was helpful us to find error such as:

Interface error.

Incorrect or missing functions.

Errors in data structures or external database access.

Performance Errors.

Initialization and termination errors.

We have also done Boundary value analysis by applying different size of digits.

Page 53 of 57

Page 54: New Report Final

ONLINE MUSIC PLAYER

1. Unit Testing

Unit testing is a method of testing the correctness of a particular module of source code. The idea

is to write test cases for every non-trivial function or method in the module so that each test case is

separate from the others if possible. The developers mostly do this type of testing.

In this method of testing we test all individual components to ensure that they operate correctly.

Each component is tested independently without other system components.

2. Integration Testing

It is the phase of software testing in which individual software modules we are combined and tested

as a group. It follows unit testing and precedes system testing.

The purpose of Integration testing is to verify functional, performance and reliability requirements

placed on major design items.

It takes as its input modules that have been checked out by unit testing, groups them in larger

aggregates, applies tests defined in an Integration test plan to those aggregates, and delivers as its

output the integrated system ready for system testing.

Page 54 of 57

Page 55: New Report Final

ONLINE MUSIC PLAYER

7. CONCLUSIONS AND FUTURE WORK

7.1 ConclusionWe have developed an application of “Online Music Player for android based devices” with great

concern and have tried our best to implement as many as features to make it viable and usable.

This application is a powerful and easy-to-use tool for the users to listen to the music using android

based devices.

At the time of project, it is our pleasure to summarize all the project work done during the whole

semester.

When we got project from ourselves we tried to understand the project concept and different areas

related to this project. Then we planned our whole project according to Planning Management.

We also scheduled whole Software Engineering activities that are related with our software and

allocated days to complete particular activities.

Then we tried to strictly follow those scheduled activities and also calculated risks that are

related to our project.

According to our schedule we had prepared different milestones and deliverables and also

achieved those milestones and deliverables.

We also reviewed these milestones with our internal guide and then we stepped forward for next

stage.

Our first phase was preliminary investigation in which we collected all the information related to

our project with the help of internet and our guide. In this we made our mind clear for what we

were going to develop.

Page 55 of 57

Page 56: New Report Final

ONLINE MUSIC PLAYER

Second phase was the analysis phase. In that we collected all requirements regarding our project.

We have also studied the on-functional requirements.

After designing of the system, we decided different modules that have to be included in our

system.

After completing design work and analysis, we started coding for application. We used Java as a

development tool using Eclipse IDE.

Then we started the testing our application. Many deficiencies were found which were solved

successfully with the help of our guide. Till 2nd week of April we were successfully able to

complete our project.

7.2 Future EnhancementsEvery system needs to forego some features that could not be added to the System being developed

either due to time constraints or financial constraints. These features can be added at the later stage

to enhance the system. Once the software is implemented and installed into its essential

environment we have to examine newly emerging requirements, misinterpretation of older

requirements, impact due to omission of some important requirements, and failure of some features.

Some of the future enhancements could be:

Page 56 of 57

Page 57: New Report Final

ONLINE MUSIC PLAYER

References :

List of Web sites referred :- Android Phone for Developers

http://developer.android.com

HelixCommunity - The Foundation of Great Multimedia Applications

http://helixcommunity.org

Page 57 of 57