Media Kit - Internet Radio | Create an Online Radio Show | Blog
internet radio
-
Upload
rafi-ullah -
Category
Documents
-
view
56 -
download
2
description
Transcript of internet radio
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 1
MAJOR PROJECT REPORT ON
INTERNET RADIO
FOR ANDROID DEVICE
AT
PATHPARTNER,BANGALORE
Submitted by
MAITREYEE
Reg. no:- 95580020
M.C.A.:- 2008-2011
In partial fulfillment of the requirements for the Degree of the
Master of Computer Applications
DEPARTMENT OF COMPUTER APPLICATIONS
COCHIN UNIVERSITY OF SCIENCE AND TECHNOLOGY
KOCHI - 682022
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 2
CERTIFICATE
COCHIN UNIVERSITY OF SCIENCE AND TECHNOLOGY
COCHIN-22
This is to certify that the project report entitled “INTERNET
RADIO” FOR ANDROID DEVICES is a bonafide record of the work done
by MAITREYEE (Regno.95580020) at PATH PARTNER,BANGLORE for
partial fulfillment of the requirements for the award of the Degree in
MASTER OF COMPUTER APPLICATIONS by the COCHIN
UNIVERSITY OF SCIENCE AND TECHNOLOGY, Cochin.
APRIL 2011
______________
Head of the Department
_______________ ______________
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 3
Internal Examiner External examiner
Declaration
‘I hereby declare that the project work entitled INTERNET RADIO done
for PATH PARTNER, BANGALORE is submitted in partial fulfillment of the
requirements for the award of the degree of Master of Computer Applications and it is a
report of the original work done by me during the period of January – April 2011 in
Cochin University of Science and Technology, Trikkara.
Maitreyee
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 4
Contents
Page No.
� ACKNOWLEDGEMENT 6
� SYNOPSIS 7
� INTRODUCTION 8
o ORGANIZATION PROFILE 9
o PROJECT OVERVIEW 10
o SYSTEMENVIRONMENT 13
o THEORITICAL FRAMEWORK 12
� SOFTWARE QUALITY ASSURANCE PLAN 20
o PURPOSE 21
o SCOPE 21
o DOCUMENTOVERVIEW 21
o TASKS 22
o SQL IMPLEMENTATION 22
o DOCUMENTATION 23
o AUDIT 23
o SOFTWARE DEVELOPMENT PROCESS 24
o PROJECT REVIEW 24
o TESTING & QUALITY CHECK 24
� SYSTEM ANALYSIS 25
o SYSTEM ANALYSIS 26
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 5
o SYSTEM STUDY 34
o PROBLEM IDENTIFICATION 36
o FEASIBILITY STUDY 37
� SOFTWARE REQUIREMENTS SPECIFICATION 34
o REQUIREMENT SPECIFICATION 35
o FUNCTIONAL REQUIREMENTS 58
o NON-FUNCTIONAL REQUIREMENTS 58
� SYSTEM DESIGN 44
o ARCHITECTURAL DESIGN 45 o ER-DIAGRAMS 48 o USE CASE DIAGRAM 49 o MUDULAR DESIGN 50
� DATA DESIGN 52
o DATA FLOW DIAGRAMS 53
o DATABASE DESIGN 58
o USER INTERFACE DESIGN 62
� SYSTEM TESTING 63
o TEST PLAN 63
o SYSTEM TESTING 64
� SYSTEM DEVELOPMENT & IMPLEMENTATION 71
o DEPLOYEMENT STRATEGY 72
o DIFFERENT IMPLEMENTATION METHODS 72
o USER MANUAL 74
� SCREEN SHOTS 75
� FUTURE ENHANCEMENT 91
� CONCLUSION 93
� BIBLIOGRAPHY 95
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 6
Acknowledgement I praise and thanks GOD for the blessings showered upon me and for being with me all
through this endeavor without which this work would have been an unfulfilled dream.
Completing a task is never a one-man effort. It offers the results of valuable contribution of
a number of individuals in a direct or indirect manner that helps in shaping and achieving
an objective. This project would not have taken shape, but for the guidance provided by
Mr Vishal , my Trainer cum project guide who helped me on my project and resolve all the
technical as well as other problems related to the project. Mr. Alexy has helped me so
much. He has the extreme grip over ANDROID fundamentals which were the great tool to
me to develop this project. I profusely thank them for the support provided to me.
I express a deep sense of gratitude to Mr Keshav karunakar, Director of PathPartner
Technology Consulting Pvt Ltd, Banglore for his efforts in giving start and his keen
interest, criticism and valuable guidance were indeed a source of inspiration for me. I am
grateful to them for lending their precious time and the patient listening they gave me
every time I needed help; in spite of their busy schedule.
I express my profound gratitude to Dr. K.V Pramod [HOD, DCA] and all staff members
of the Department of Computer Applications for their endless help and support. The
guidance and support received from all the members who contributed and who are
contributing to this project, was vital for the success of the project. I am grateful for their
constant support and help.
Above all I wish to express my heartfelt gratitude to my family, who has always been the
singular source of inspiration in all my ventures I have undertaken.
Maitreyee
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 7
�
Synopsis Internet Radio is a project work done for PathPartner Technology Consulting Pvt Ltd. This is
made for android mobile. Internet radio (also known as web radio, net radio, streaming radio
and e-radio) is an audio service transmitted via the Internet. Music streaming on the Internet is
usually referred to as webcasting since it is not transmitted broadly through wireless means.
Enjoy music, talk and news from all over the world right on your mobile phone. Virtual Radio
contains hundreds of Internet radio stations with all sorts of sounds and news. Maybe your
favorite station is among them. Virtual Radio is based on one single basic functionality : playing
a given set of Internet radio channels. Just start up the player and it immediately starts playing
audio. There is no need to define play lists or find and type in URL's.
Internet radio involves streaming media, presenting listeners with a continuous stream of audio
that cannot be paused or replayed, much like traditional broadcast media; in this respect, it is
distinct from on-demand file serving. Internet radio is also distinct from podcasting, which
involves downloading rather than streaming. Many Internet radio services are associated with a
corresponding traditional (terrestrial) radio station or radio network. Internet-only radio stations
are independent of such associations. Internet radio services are usually accessible from
anywhere in the world.
We have the internet radio but it is for a particular device. This proposed
system is portable. This is applicable for any android devices. There are many modules. Like
categoty that listing the category and after selecting category the station list will be listed. Then
we can play radio. One module is searching.
Android is a mobile operating system initially developed by Android Inc. Android was bought
by google in 2005.Android is based upon a modified version of the linux kernal. Google and
other members of the open handset allience collaborated on Android's development and release.
The Android Open Source Project (AOSP) is tasked with the maintenance and further
development of Android.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 8
Organization Profile
INTRODUCTION
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 9
PathPartner Technology Consulting Pvt Ltd was founded in the mid 2006 with a vision of
becoming a leading provider of solutions and expertise driven services to enrich the multimedia
experience in today's advanced media centric devices.
The organizational goal of Path Partner is centred on maximizing value for all the stakeholders
through technology and business excellence in the niche media-centric devices market, with
focus on select verticals such as: wireless handsets, digital home and surveillance.
PathPartner is a provider of Software Solutions, Product Engineering Services, System
Integration and Technology Consulting that enable the development and deployment of
convergence devices for wireless handsets, digital home, video surveillance and tele-presence
markets.
Path Partner's business thrives on addressing the challenges faced by OEMs, ODMs & Media
Chipset vendors in their new product introductions, arising due to increasing competition,
reduced shelf-life, increasing features & complexity, shrinking R&D budget, multiple product
lines and Geo specific requirements.
The Founders
The founding team of PathPartner comprises of techno-entrepreneurs who have scripted
successful careers in the embedded multimedia industry, with several decades of collective
experience in various roles from organizations of high repute. This team has, in the past, been
instrumental in building a successful multimedia technology organization - Emuzed (a California
based company that was acquired by Flextronics International in 2005), which pioneered in
licensing mobile multimedia IPs and solutions to most of the leading mobile and consumer
device OEMs, ODMs and semiconductor companies worldwide.
Company Philosophy
Our actions are guided by the following basic beliefs:
• A work culture that nourishes talent and encourages everyone to enjoy & excel at work
• Proactive investment in relevant emerging technologies to stay poised for the market
• Total customer satisfaction through quality delivery on-time every time, cost effectively
• Maintenance of high ethical standards and uncompromising integrity
• Continuous improvement of organizational processes
PROJECT OVERVIEW
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 10
Internet radio (also known as web radio, net radio, streaming radio and e-radio) is an audio
service transmitted via the Internet. Music streaming on the Internet is usually referred to as
webcasting since it is not transmitted broadly through wireless means. The project “Internet
radio” is one of the latest android application, which is gaining popularity along with the
AM/FM kind of radios in India. A lot of audio material is available these days on the net ranging
from music to education. It is made for android mobile and it is portable so we can use it for any
android device. It contains hundreds of Internet radio stations with all sorts of sounds and news.
Maybe your favorite station is among them. It is based on one single basic functionality playing
a given set of Internet radio channels. Just start up the player and it immediately starts playing
audio. There is no need to define play lists or find and type in URL's. We are fetching data
from radio times. And after fetching, storing the data in to databases, so that we increase the
performance. There are many functionalities, like we can display the categories like news,
oldies etc.. and after clicking on the category stations of that category are listed. And after
clicking on the station name the radio is start playing. We can also play the previous played item
and we can switch to next one.
We can add any station to our favorite list with the option
add to favorite and can play that station anytime from the favorite list that will display the
contents of favorite database. we can control the volume, means able to increase or decrease the
volume. One search function is there so we can search any station that we want to play.
Setting is also there to create the database again and again. It increases the performance. We are
deleting the old database and creating new one.
Advantage of internet radio
1 It can be viewed in real time- Media streaming allows the user to listen to music on the
Internet in real time. As opposed to the conventional method of obtaining music online—
downloading files from the Internet to your desktop, the music can be actually listened to
instantly without using up your hard drive storing all the mp3’s.
2. You can listen to the music of your choice- Among its biggest advantages over
conventional radio is the wide array of choices to select from. Internet radio offers all kinds
of music genres; there’s something for every generation.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 11
3. Fewer advertisements- Compared to a regular radio station, the cost of running an
Internet radio is far less; thus fewer ads are needed to meet costs. Commercial breaks that
constantly interrupt the music on conventional radio broadcasts tends to bore—and often
annoy—listeners, so the better alternative is Internet radio.
4. Availability- The Web is everywhere. Access to web-based stations is not limited by the
range of the broadcaster’s transmitter as with traditional radio stations. As long as you
have a your computer or your smart phone, you can listen to your favorite music anytime.
5. Better sound quality- Radio interference is a common problem during storms and bad
weather. Internet radio is not affected by competing signals in the airwaves and has near-
CD quality.
6. It immediately tells how many listeners are tuning in- Online radio allows the owner to
track how many people are actually listening to his station at any particular time. Using
these statistics, the station can be adjusted and improved to make it more attractive to
listeners. Traditional radio stations can never know exactly how large their audience is; the
best they can do is to take polls and then extrapolate on the data.
7. Censor Free- Terrestrial radio is limited in what it can broadcast and what it can’t;
online radio isn’t. Online radio relies on self-censorship, meaning don’t listen to what you
don’t want to hear. Traditional radio broadcasts are governed by what the FCC doesn’t
want you to hear.
8. It allows you to “catch up” on your favorite radio program- Even if you miss your
favorite radio program online, you can still listen to it when you have your free time as it
can be requested via the website. Example: Did you miss DJ Tremble’s Mix Show? See his
artist page to listen to past shows anytime!
9. It’s Free!- Although there are some services that require a monthly or yearly
subscription, most Internet Radio stations offer their content for free. In 977′s case,
listeners are *paid* to listen via points earned for interacting with the site which can be
redeemed for cash and prizes.
10. It’s Easy!- Simply click on any station link to start the music.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 12
SYSTEM ENVIRONMENT
• Hardware Requirements
1. Processor: 512 MHz processor.
2. RAM: 192 MB.
3. ROM : 256MB
4. Disk Space: 20 MB.
• Software Requirements
1. Operating System: Android
2. API Level: 2.1
3. Display: Touch screen with any dimension and resolution
• Network requirements
Internet should be available.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 13
� THEORITICAL FRAMEWORK
About ANDROID-SDK:
A brief history of ANDROID
Android is a software stack for mobile devices that includes an operating
system, middleware and key applications. Google Inc purchased the initial developer of the
software, Android Inc., in 2005. Android's mobile operating system is based on a modified
version of the Linux kernel. Google and other members of the Open Handset
Alliance collaborated on Android's development and release. The Android Open Source Project
(AOSP) is tasked with the maintenance and further development of Android. The Android
operating system is the world's best-selling Smartphone platform.
Android has a large community of developers writing applications ("apps") that extend the
functionality of the devices. There are currently over 150,000 apps available for
Android. Android Market is the online app store run by Google, though apps can also be
downloaded from third-party sites. Developers write primarily in the Java language, controlling
the device via Google-developed Java libraries.
The unveiling of the Android distribution on 5 November 2007 was announced with the
founding of the Open Handset Alliance, a consortium of 80 hardware, software,
and telecom companies devoted to advancing open standards for mobile devices.[17][18] Google
released most of the Android code under the Apache License, a free software and open source
license.
The Android open-source software stack consists of Java applications running on a Java-
based, object-oriented application framework on top of Java core libraries running on a Dalvik
virtual machine featuring JIT compilation. Libraries written in C include the surface manager,
OpenCore media framework, SQLite relational database management system, OpenGL ES
2.0 3D graphics API, WebKit layout engine, SGL graphics engine, SSL, and Bionic libc. The
Android operating system, including the Linux kernel, consists of roughly 12 million lines of
code including 3 million lines of XML, 2.8 million lines of C, 2.1 million lines of Java, and
1.75 million lines of C++
Overview of ANDROID
Android is 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.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 14
Major Features of ANDROID
• 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)
• 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.
Advantages of ANDROID
1. The ability for anyone to customize the Google Android platform will open up the
applications playing field to small and new players who lack the financial muscle to negotiate
with wireless carriers like AT&T and Orange. The consumer will benefit from having a wide
range of mobile applications to choose from since the monopoly will be broken by Google
Android.
2. Although this will depend on the carrier, one will be able to customize a mobile phones
using Google Android platform like never before, right down to the screen. Features like weather
details, opening screen, live RSS feeds and even the icons on the opening screen will be able to
be customized.
3. In addition, as a result of many mobile phones carrying Google Android, companies will
come up with such innovative products like the location– aware services that will provide users
with any information they might be in need of. This information could include knowing the
location of a nearby convenience store or filling station. In addition the entertainment
functionalities will be taken a notch higher by Google Android being able to offer online real
time multiplayer games.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 15
About JAVA
History of JAVA
Java is a programming language originally developed by James Gosling at Sun
Microsystems (which is now a subsidiary of Oracle Corporation) and released in 1995 as a core
component of Sun Microsystems' Java platform. The language derives much of
its syntax from Cand 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".
Java is currently one of the most popular programming languages in use, and is widely used
from application software to web applications.[9][10]
The original and reference implementation Java compilers, virtual machines, and class
libraries were developed by Sun from 1995. As of May 2007, in compliance with the
specifications of the Java Community Process, Sun relicensed most of its Java technologies
under the GNU General Public License. Others have also developed alternative implementations
of these Sun technologies, such as the GNU Compiler for Java, GNU Classpath, and Dalvik.
Overview of JAVA Java is an object-oriented programming language . Java applications are typically
compiled to bytecode, although compilation to native machine code is also possible. At runtime,
bytecode is usually either interpreted or compiled to native code for execution, although direct
hardware execution of bytecode by a Java processor is also possible. Sun Microsystems provides
a GNU General Public License implementation of a Java compiler and Java virtual machine, in
compliance with the specifications of the Java Community Process. Java is the only one pure
object oriented language available today, is now used in almost all applications, from simple
home appliances control systems to complex space control systems. Java’s motto is write once,
run anywhere. Java’s latest version includes new features that enrich and extend the java
platform and provides upward compatibility and improved performance. The most striking
feature of the language is that it is a platform-neural language. Java is the first programming
language that is not tied to any particular hardware or operating system. Some of the java
features are given below.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 16
1. Compiled and interpreted
2. Platform independent and portable
3. Object oriented
4. Robust and secure
5. Distributed
6. Familiar, simple and small
7. Multithreaded and interactive
8. High performance
9. Dynamic and extensible
Object Oriented:- Java uses object-oriented concept as for basic for software
design. Java provides object a clean and efficient object based development platform.
Robust:- The multi-platform environment of the web places high demand on the
reliability of the program to execute on a Varity of systems. Thus high priority has been given to
create robust and highly reliable programmers in the design of java.
Secure:- Prior to Java, most users did not download executable programs
frequently, and those who did scanned them for viruses prior to execution. Even so, most users
still worried about the possibility of infecting their systems with a virus. In addition to viruses,
another type of malicious program exists that must be guarded against. This type of program can
gather private information, such as credit card numbers, bank account balances, and passwords,
by searching the contents of your computer's local file system. Java answers both of these
concerns by providing a "firewall" between a networked application and the computer.
When one uses a Java-compatible Web browser, one can safely download Java
applets without fear of viral infection or malicious intent. Java achieves this protection by
confining a Java program to the Java execution environment and not allowing it to access other
parts of the computer. The ability to download applets with the confidence that no harm will be
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 17
done and that no security will be breached is considered by many to be the single most important
aspect of Java.
Architecture Natural:- Java was designed to support application on heterogeneous
network environments composed of Varity of processors and the operating system architecture
and multiple programming interface. To enable java application to execute anywhere on the
network, the java compiler generates the byte code instruction which are not dependent upon
particular computer architecture. These instructions are then interpreted on any machine and
translated on the native machine code on the fly by the java run time system.
Portable:- The Java programs are same on any platform. There are no data type
incompatibilities across the hardware and software architectures.
Interpreted:- Java byte code is not directly executed by the system, because java is
interpreted. The speed is more than adequate for most interactive application. The speed will
continue to improve further.
Multithreaded:- Java was designed to meet the real world requirement of creative,
interactive, networked programs. Java’s multithreading capability provider’s the means to build
application with many concurrent threads of activity. The multithreading feature of java as
various sophisticated synchronization primitives. Moreover, the java’s high level system
libraries have been written to be threading safe.
Dynamic:- Java complier is strict in its static checking during compiles time, the
language and run time system are dynamic during linking and loading stages. Classes are linked
only as needed. New code modules can be linked in on demand from a variety of course, even
from the network in a number.
High performance:- Java enables the creation of cross-platform programs by
compiling into an intermediate representation called java byte code. This code can be interpreted
on any system that provides a java a virtual machine. The java byte code was carefully designed
so that it would to be easy to translate directly into native machine code for very high
performance by using a just-in-time complier.
Distributed:- Java is distributed environment of the Internet and it handles TCP/IP
protocol. Java included features for intra-address-space messaging. That allowed object to
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 18
execute procedure remotely. Java revived these interface in a package called remote method
invocation. This feature brings an unparalleled level of abstraction to client/server programming.
Security Features in Java
The security features provided by the Java Development Kit (JDK™) are intended for a variety
of audiences:
• Users running programs:- Built-in security functionality protects you from
malevolent programs (including viruses), maintains the privacy of your files
and information about you, and authenticates the identity of each code
provider. You can subject applications and applets to security controls when
you need to.
• Developers:- You can use API methods to incorporate security functionality
into your programs, including cryptography services and security checks. The
API framework enables you to define and integrate your own permissions
(controlling access to specific resources), cryptography service
implementations, security manager implementations, and policy
implementations. In addition, classes are provided for management of your
public/private key pairs and public key certificates from people you trust.
• Systems administrators, developers, and users:- JDK tools manage your
keystore (database of keys and certificates); generate digital signatures for
JAR files, and verify the authenticity of such signatures and the integrity of the
signed contents; and create and modify the policy files that define your
installation's security policy.
The GUI is designed in Java using swing components. Swing components provide
GUI environment to Java. Swing components are a collection of lightweight visual components
that provide a replacement
Overview of ECLIPSE
Eclipse Enterprise Workbench is a full-featured, Enterprise class platform and tool suite for
developing software applications and systems supporting the full life-cycle of application
development. Facilities and features usually found only in high-priced, Enterprise class product
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 19
are included in Eclipse. Based on the open industry standards and the Eclipse platform, Eclipse
redefines software pricing, support and delivery release cycles by providing a complete
applications development environment for J2EE WEB, XML, UML and databases and the most
comprehensive array of application server connectors(25 target environments) to optimize
development, testing and portability.
The Android platform is a software stack for mobile devices. In this two-part screencast you are
going to see how to install and use the Android SDK to develop a simple Android application
using the Java programming language and Eclipse IDE plugin. The first screencast shows how to
install SDK, configure the Eclipse plugin and run sample Android applications. Total running
time 03:00 minutesThe second tutorial covers new project creation in Eclipse, the use of
Android emulator, content model, permissions and navigation model. Total running time 02:50
minutes.
Most people know Eclipse as an integrated development environment (IDE) for
Java. Eclipse is created by an open source community and is used in several different areas, e.g.
as IDE for Java or for Android or as a platform to develop Eclipse RCP applications, etc.. The
usage of Eclipse as a Java development environment will be described in this tutorial. Starting
out with the right Eclipse package will smooth your transition from either j2me novice to
Android application developer or from java newbie to Android application developer novice.
Thus, it is described what Eclipse package one should start with in their Android application
development. You can find the author's blog at Mobilebytes . While it is true that the beginning
Android application developer may use the Eclipse ADT plugins at some point, he or she
progresses beyond that to use heap dumps and profile dumps to optimize code. Whereas Eclipse
MAT (Memory Analyzer Technology) provides one the ability to read the heap dump once it is
converted with a converter contained in the Android SDK and the Eclipse TPTP project allows
us to analyze the profiing data once it is converted using the converter from the Android SDK.
Thus, which Eclipse package should one download to start out with that will enable one to
progress to these processes once Android application development is mastered
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 20
SOFTWARE QUALITY ASSURANCE PLAN
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 21
PURPOSE The purpose of this plan is to define the “Internet Radio” Software Quality Assurance (SQA) organization, SQA tasks and responsibilities; provide reference documents and guidelines to perform the SQA activities; provide the standards, practices and conventions used in carrying out SQA activities; and provide the tools, techniques, and methodologies to support SQA activities, and SQA reporting.
SCOPE The scope of this document is to outline all procedures, techniques and tools to be used for Quality Assurance of this project. This plan:
• Identifies the SQA responsibilities of the project developer and the SQA consultant
• Lists the activities, processes, and work products that the SQA consultant will review and audit
• Identifies the SQA work products
DOCUMENT OVERVIEW: The rest of the document is organized as follows:
Management: A description of each major element of the organization and a description of the SQA tasks and their relationships
Documentation: Identification of the documents related to development, verification, validation, use and maintenance of the software.
SQAP Requirements: This section defines the SQA review, reporting, and auditing procedures used to ensure that software deliverables are developed in accordance with this plan and the project’s requirements.
Management
This section describes the management organizational structure, its roles and responsibilities, and the software quality tasks to be performed.
Organization
Efforts for this project are supported by numerous entities, organizations and personnel. This tool is developed as part of partial fulfilment of requirements for Masters in Computer Applications degree. It will be the sole responsibility of the developer to review the product’s
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 22
usability, efficiency, reliability, and accuracy. The client will however conduct inspections, reviews, and walk-through on a regular basis. Client’s specifications and suggestions will be used in places where quality decisions need to out-weigh development schedule decisions.
TASKS • Develop requirement specification and cost estimation for the project.
• Develop the design plan and test plan for testing the tool.
• Implement and test the application and deliver the application along with the necessary documentation.
• Give a formal presentation to the client on completion of the analysis, design and testing phases. The client reviews the work and provides feedback/suggestions.
• Planning, coordinating, testing and assessing all aspects of quality issues.
The responsibilities of the client are to:
• Review the work performed.
• Provide feedback and advice.
SQA IMPLEMENTATION Quality assurance will be implemented through all the software life cycles of the tool’s development process, until the release of the software product. The following are the quality assurance tasks for each phase of the software development:
Requirements phase: When the SRS is being developed, it has to be ensured that it elucidates the proposed functionality of the product and to keep refining the SRS until the requirements are clearly stated and understood.
Specification and Design phase: Due to the great importance for accuracy and completeness in these documents, weekly reviews shall be conducted between the developer and the client to identify any defects and rectify them.
Implementation phase: The developer shall do code reviews when the construction phase of the Tool begins.
Software testing phase: The developer shall test each case. The final product shall be verified with the functionality of the software as specified in the Software Requirements Specification (SRS) for the Tool.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 23
DOCUMENTATION In addition to this document, the essential documentation will include:
The Software Requirements Specification (SRS), which
• Prescribes each of the essential requirements of the software
• Objectively verifies achievement of each requirement by a prescribed method.
• Facilitates traceability of requirements specification to product delivery.
• Gives estimates of the cost/effort for developing the product including a project plan.
The Software Design Document (SDD)
• Depicts how the software will be structured
• Describes the components and sub-components of the software design, including various packages and frameworks, if any.
• Gives an object model the essential classes that would make up the product.
• Gives a sample interaction diagram, showing the key interactions in the application.
Software Test Plan: Describes the test cases that will be employed to test the product.
DOCUMENT AUDIT Quality Assurance for this project will include at least one review of all current work products in each stage of development (Requirement, Design, and Implementation). The reviews will assure that the established project processes and procedures are being followed effectively, and exposures and risks to the current project plan are identified and addressed. The review process includes:
• A formal presentation at the end of each development phase (Requirement, Design and Implementation).
• A managerial review by the client periodically to ensure the work generated is in compliance with project requirements.
• Reviews by the client after each presentation.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 24
SOFTWARE DEVELOPMENT PROCESS The software development process involves three stages:
1) Requirements phase,
2)Design phase
3) Implementation and testing phase.
During each phase, the client will review the deliverable documents. The developer would incorporate modifications suggested by the committee. This would ensure quality of the software product.
PROJECT REVIEWS The client will perform a review at the 3 stages of the project as described in the section above. This review will determine whether the requirements have been met for the deliverable, check that the product meets the requirements, ensure that the SQA plan has been adhered to, verify the performance of the software and ensure that acceptance testing is carried out. A design checklist will be used and the developer will check to see whether the design meets the checklist criteria.
TESTING AND QUALITY CHECK Testing will be carried out in accordance with the Software Testing Plan (STP). Testing documentation will be sufficient to demonstrate that testing objectives and software requirements have been met. Test results will be documented and discussed in the final phase of the project.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 25
SYSTEM ANALYSIS System analysis is the process of gathering and interpreting facts, diagnosing problems and using
the facts to improve the system. System specifies what system should do. A system is a set of
components that interact to accomplish some purpose.
SYSTEM ANALYSIS
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 26
• Identifying the drawback of the existing system
• Identify the need for conversion
• Perform feasibility study
• Identify hardware, software and database requirements
• Create a system definition that forms the foundation for subsequent work
SYSTEM STUDY
OVERVIEW OF EXISTING SYSTEM
FM broadcasting is a broadcast technology pioneered by Edwin Howard
Armstrong that uses frequency modulation (FM) to provide high-fidelity sound over broadcast
radio. The term "FM band" is effectively shorthand for "frequency band in which FM is used for
broadcasting". This term can upset purists because it conflates a modulation scheme with a range
of frequencies.
Drawbacks of the Existing System:
• FM is strictly line of sight, so it's broadcast range on our round planet is limited
• This system is not available in rural areas.
• Having very less number of stations..
• We can not listen our favorite station anytime.
• Sound quality is not good.
OVERVIEW OF PROPOSED SYSTEM
Internet radio (also known as web radio, net radio, streaming radio and e-radio) is an audio
service transmitted via the Internet. Music streaming on the Internet is usually referred to as
webcasting since it is not transmitted broadly through wireless means. The project “Internet
radio” is one of the latest android application.
• To overcome the above drawbacks, a system has to be designed. The Proposed
system is available anywhere.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 27
• It is also available in rural area.
• The proposed system having hundreds of station available.
• We can listen our favorite station any time whenever we want.
• Sound quality is better than the existing system.
Problem identification
Requirement analysis is the software engineering task that bridges the gap between system level
requirement engineering and software design. Software requirement analysis is divided into
three:
1. Problem Recognition
2. Problem Evaluation and Synthesis
3. Modeling
PROBLEM RECOGNITION
The main goal of the problem recognition is the recognition of the basic problems
as perceived by the listener. The existing system is inefficient when compared with the proposed
system. Here it is not possible to listen radio in rural area. In the existing system, there are only
few stations. The existing system can not handle any tables. Also it is not very much user
friendly because it showing only frequency not station name and description, with station logo.
PROBLEM EVALUATION AND SYNTHESIS
In the problem evaluation and synthesis the software engineer must define all
externally observable data objects, evaluate the flow and content of information, define and
elaborate all software functions, understand software behaviour that affects the system, establish
system interface characteristics, and uncover additional design constraints. Each of these tasks
serves to describe the problem so that an overall solution may be synthesized.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 28
The Proposed system has been developed for the present requirements, which is
advantageous over the existing system. Here radio can be listen online, which are completely
internet based is and the proposed system is highly user friendly.
Since the proposed system having number of stations so user will like this
application.
MODELING
During software requirements analysis, we create models of it to be built to gain better
understanding of the actual logical entities (functions and sub functions) to be built. The
following are the roles of models in requirements analysis.
• The model helps analyst to understand information, function, and behavior of the
system.
• The model becomes the main reference for review to determine completeness,
consistency and accuracy of the specification.
• The model becomes the foundation for design.
FEASIBILITY STUDY
The feasibility of a project can be ascertained in terms of technical factors,
economic factors, or both. A feasibility study is documented with a report showing all the
ramifications of the project. In project finance, the pre-financing work (sometimes referred to as
due diligence) is to make sure there is no "dry rot" in the project and to identify project risks
ensuring they can be mitigated and managed in addition to ascertaining "debt service" capability
Feasibility is a measure of how beneficial the development of the information system will be to
an organization. This is done by investigating the existing system proposal according to its
workability, impact on the organization, ability to meet user needs, and effective use of
resources.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 29
Few key considerations are involved in the feasibility analysis: economic, technical and social
etc..
Economic Feasibility:
Economic analysis is the most frequently used method for evaluating the
effectiveness of a proposed system. It is more commonly known as cost benefit analysis, the
procedure to determine the benefits and saving that are expected from a decision is made to
doing and implement the system. Otherwise make alterations in the proposed system.
Cost associated with the development of computer-based systems is as follows.
1. Procurement costs such as consultation, equipment purchase, installation,
furnishing the size etc.
2. Start-up costs, user operating system cost, personal search cost etc. Project-
related costs such as software purchase, training personnel, data collection, documents
preparation costs etc.
3. Ongoing costs such as hardware, software maintenance, rental, depreciation of
hardware costs etc.
Technical Feasibility:
In examining Technical feasibility of the system, ore importance is given to the
hardware interaction part of the system. The assessments of technical feasibility centers on the
existing system and to what extent it can support the proposed addition. This was based on an
outline design of system requirements in turns of inputs, files programs, procedures and staff. It
involves financial considerations to accommodate technical enhancements. The propose system
has three-tier architecture consisting of SQLite as the database, Application Server as SQLite as
the middle tier and Internet developer suite oracle as the development tool. The software is very
user friendly for both developers and end users.
Social feasibility:
People are inherently resistant to change and mobiles have been known to
facilitate change. An estimate should be made about the reaction of the user staff towards the
development of a computerized system. Computer installations have something to do with
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 30
turnover, transfers and changes in job status. The introduction of a candidate system requires
special effort to educate, sell and train the staff for conducting the business.
The proposed software is designed such that only persons can access it having
android mobile and a person with some computer knowledge can interact with the system freely.
Computer illiterate people require training for efficient use of the software.
Managerial Feasibility:
Managerial feasibility involves the capability of the infrastructure of a process to
achieve and sustain process improvement. Management support, employee involvement, and
commitment are key elements required to ascertain managerial feasibility.
Economic Feasibility:
This involves the feasibility of the proposed project to generate economic
benefits. A benefit-cost analysis and a breakeven analysis are important aspects of evaluating
the economic feasibility of new industrial projects. The tangible and intangible aspects of a
project should be translated into economic terms to facilitate a consistent basis for evaluation.
Financial Feasibility:
Financial feasibility should be distinguished from economic feasibility.
Financial feasibility involves the capability of the project organization to raise the appropriate
funds needed to implement the proposed project. Project financing can be a major obstacle in
large multi-party projects because of the level of capital required. Loan availability, credit
worthiness, equity, and loan schedule are important aspects of financial feasibility analysis.
Cultural Feasibility:
Cultural feasibility deals with the compatibility of the proposed project with the
cultural setup of the project environment. In labor-intensive projects, planned functions must be
integrated with the local cultural practices and beliefs. For example, every one using mobile so
it is cultural feasible.
Safety Feasibility:
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 31
Safety feasibility is another important aspect that should be considered in project
planning. Safety feasibility refers to an analysis of whether the project is capable of being
implemented and operated safely with minimal adverse effects on the environment.
Unfortunately, environmental impact assessment is often not adequately addressed in complex
projects. As an example, the North American Free Trade Agreement (NAFTA) between the
U.S., Canada, and Mexico was temporarily suspended in 1993 because of the legal consideration
of the potential environmental impacts of the projects to be undertaken under the agreement.
Political Feasibility:
A politically feasible project may be referred to as a "politically correct project."
Political considerations often dictate direction for a proposed project. This is particularly true
for large projects with national visibility that may have significant government inputs and
political implications. For example, political necessity may be a source of support for a project
regardless of the project's merits. On the other hand, worthy projects may face insurmountable
opposition simply because of political factors. Political feasibility analysis requires an
evaluation of the compatibility of project goals with the prevailing goals of the political system.
Environmental Feasibility:
Often a killer of projects through long, drawn-out approval processes and
outright active opposition by those claiming environmental concerns. This is an aspect worthy
of real attention in the very early stages of a project. Concern must be shown and action must be
taken to address any and all environmental concerns raised or anticipated. A perfect example
was the recent attempt by Disney to build a theme park in Virginia. After a lot of funds and
efforts, Disney could not overcome the local opposition to the environmental impact that the
Disney project would have on the historic Manassas battleground area.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 32
Market Feasibility. Another concern is market variability and impact on the project. This area should not be confused with the Economic Feasibility. The market needs analysis to view the potential impacts of market demand, competitive activities, etc. and "divertible" market share available. Price war activities by competitors, whether local, regional, national or international, must also be analyzed for early contingency funding and debt service negotiations during the start-up, ramp-up, and commercial start-up phases of the project
.
Feasibility Areas
The Feasibility Study is the preliminary study that determines whether a proposed systems project is technically, financially, and operationally viable. The Alternatives Analysis, usually included as part of the Feasibility Study, identifies viable alternatives for the system design and development. Between them, the documents provide: An analysis of the system objectives, functional requirements, and system design concepts;
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 33
• A determination of the feasibility of applying automated systems to effectively, efficiently, and economically improve program operations;
• An evaluation of alternative approaches for reasonably achieving the objectives and goals; and
• Identification of a proposed approach.
Scope of Feasibility Analysis
In general terms, the elements of a feasibility analysis for a project should cover the following:
• Need Analysis. This indicates recognition of a need for the project. The need may affect the organization itself, another organization, the public, or the government. A preliminary study is then conducted to confirm and evaluate the need. A proposal of how the need may be satisfied is then made. Pertinent questions that should be asked include:
� Is the need significant enough to justify the proposed project? � Will the need still exist by the time the project is completed? � What are the alternate means of satisfying the need? � What are the economic, social, environmental, and political impacts of the need?
• Process Work. This is the preliminary analysis done to determine what will be required to satisfy the need. The work may be performed by a consultant who is an expert in the project field. The preliminary study often involves system models or prototypes. For technology-oriented projects, artist's conception and scaled-down models may be used for illustrating the general characteristics of a process. A simulation of the proposed system can be carried out to predict the outcome before the actual project starts.
• Engineering & Design. This involves a detailed technical study of te proposed project. Written quotations are obtained from suppliers and subcontractors as needed. Technology capabilities are evaluated as needed. Product design, if needed, should be done at this time.
• Cost Estimate. This involves estimating project cost to an acceptable level of accuracy.
Levels of around -5% to +15% are common at this level of a project plan. Both the initial and operating costs are included in the cost estimation. Estimates of capital investment and of recurring and nonrecurring costs should also be contained in the cost estimate document. Sensitivity analysis can be carried out on the estimated cost values to see how sensitive the project plan is to the estimated cost values.
• Financial Analysis. This involves an analysis of the cash flow profile of the project. The analysis should consider rates of return, inflation, sources of capital, payback periods, breakeven point, residual values, and sensitivity. This is a critical analysis since it
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 34
determines whether or not and when funds will be available to the project. The project cash flow profile helps to support the economic and financial feasibility of the project.
• Project Impacts. This portion of the feasibility study provides an assessment of the impact of the proposed project. Environmental, social, cultural, political, and economic impacts may be some of the factors that will determine how a project is perceived by the public. The value added potential of the project should also be assessed. A value added tax may be assessed based on the price of a product and the cost of the raw material used in making the product. The tax so collected may be viewed as a contribution to government coffers.
• Conclusions and Recommendations. The feasibility study should end with the overall outcome of the project analysis. This may indicate an endorsement or disapproval of the project. Recommendations on what should be done should be included in this section of the feasibility report.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 35
SOFTWARE REQUIREMENT SPECIFICATION
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 36
REQUIREMENT SPECIFICATION
An accurate and thorough understanding of system requirements is essential to
the success of any Software Development Process. All further stages of SDLC like system
analysis, design and coding depend on how accurate well prepared and thoroughly understood
the System Requirements Specification is. Poorly analyzed requirements will disappoint the
user no matter how well designed and the well coded the software is.
Requirement specification appears to be a relatively simple task but the chances
of misinterpretation is very high, ambiguity is probable and communication gap between
customer and developer is bound to bring confusions. Requirement Specifications begin with a
clear and concise heading stating in a sentence the task to be performed (i.e. work objective). For
this, we have to identify the problem first. Problem specifications serve as the basis for
identifying work objective that helps in describing the requirements in technical and precise
statements. After the initial specification reports are received, they are analyzed and refined
through customer-developer interaction. System Analysis follows to determine feasibility and
Cost Benefit Analysis.
A complete understanding of requirement specification of the new system is very
important for the successful development of the software product. Requirement specification is
the foundation in the process of software development. All further development like System
Analysis, System Design, and Coding will depend on how accurate and well prepared the
requirement.
Overall Description
Requirement specification appears to be relatively simple task, but appearances
are often deceiving. There is always a chance of wrong specification because of communication
gap between user and developer, ambiguity in requirement or a wrongly specified problem.
Requirement Specification begins with a clear statement of the problem and the task to be
performed. Then requirements are described in a technical manner in precise statements. After
the initial specification reports are received, they are analyzed and refined through user
developer interaction. System Analysis follows to determine and cost benefit analysis.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 37
An SRS is basically an organization's understanding (in writing) of a customer or potential
client's system requirements and dependencies at a particular point in time (usually) prior to any
actual design or development work. It's a two-way insurance policy that assures that both the
client and the organization understand the other's requirements from that perspective at
The SRS document itself states in precise and explicit language those functions
and capabilities a software system (i.e., a software application, an ecommerce Web site, and so
on) must provide, as well as states any required constraints by which the system must abide. The
SRS also functions as a blueprint for completing a project with as little cost growth as possible.
The SRS is often referred to as the "parent" document because all subsequent project
management documents, such as design specifications, statements of work, software architecture
specifications, testing and validation plans, and documentation plans, are related to it.
It's important to note that an SRS contains functional and nonfunctional requirements
only; it doesn't offer design suggestions, possible solutions to technology or business issues, or
any other information other than what the development team understands the customer's system
requirements to be. It consists following phases.
Introduction
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 38
Modules of the project • CATEGOTY • RADIO PLAY • FAVORITES • SEARCH • SETTINGS
CATEGORY This module display all the categories .we can also list the stations of individual category and play the stations one by one. There are 22 categories in radiotimes.com . Each category having many stations. When clicking on category tab then a list view appear with the category list. After selecting a particular category list view switched to another list view having list of stations with name ,description and logo of that station. After selecting a particular station it moves to RADIO PLAY module and starts playing.
RADIO PLAY This module play the radio. When any station is playing the animation rotating with that. When we click on pause the animation and station both stops rotating and playing. There are feature like previous and next so that we can play the previously played or next station in the list. One feature is controlling the volume of the player according to our choice. One feature is add to favorite, to add the playing station to the favorite list. In this module I have written the code for closing the application.
FAVORITES This module all about our favorite station. We can listen our favorite stations whenever we want to listen. If we like any station then we can add that station to our favorite list. In favorite table only the ID of station is stored and whenever we play the favorite station the other detail is fetched from station table and listed into the list view. From there we can play and it will go to the RADIO PLAY module.
SEARCH We can search any station by giving any keyword in the text box. The Url is passed with the given keyword to the parsing function and search the required station details . After searching the details is stored to the search table and next time when the other search happen the search table is deleted and newly searched details are stored to search table.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 39
SETTINGS Here we are creating the database to increase the performance. It takes time to fetch data from radiotimes every time so we are creating a database and storing the data in to that , when application is installed first time. From setting tab we can recreate the data base.
FUNCTIONAL REQUIREMENTS
The main goal that proposed system is to play the radio of our choice. We can
also play the radio in rural area. This radio is available everywhere. Hundres of stations are
available in this radio. We can play the previous and next played station. Add the liked station to
the favorite list. Selecting the category then selecting the station then play the selected station.
Searching the station which we want to play. Setting the database means deleting previously
created and creating new database. Change the the volume of the player. Once station starts
playing an animation starts rotating.
NONFUNCTIONAL REQUIREMENTS
• Availability : - The system should be properly supported by the required H/W and S/W
interface needs so that any user can access the data from any place sitting on the internet
connectivity node.
• Maintainability: - It is a system which incorporates this feature as it is the system whose
defects can be easily removed by the programmers. This system can be easily adapted to
meet the changing requirements of its users or the changing environment in which it operates
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 40
Fig: Nonfunctional Requirements
• Portability: - its design is relatively machine independent. It is being coded in languages which are well-defined & meet to the standards, hence more portable.
• Visibility : - Any user can view the menu of the system and can work out the processing even from a remote place. There is no hiding of data and incorporates easy availability and accessibility.
• Efficiency: - It is an efficient system because it fulfills most of the requirements being mentioned by the users. It uses least amount of devices & memory space for execution of the package on the systems at the client’s end.
• Reliability : - It is a very reliable system. Two separate processes of the package are unique & non-interdependent to each other. The execution of one process does not effect the processing of second one. The complete processing does not effect the normal operations of the company terminals.
• Safety & Security: - The processes/operations under each consideration are completely equipped with alert messages as and when required. The software never permits any mishandling or misfiring of data in the database tables at any point of processing.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 41
• Standard Compliance: - It follows a standard format or layout in the designing as well as operational phases. This helps the user to work on the system in an effective and efficient way at any site of the office. They can work on its database to keep all the concurrent updating.
APPROACH TO DEVELOP THE SYSTEM
The company has already aware of that what should the proposed system will do and how. So we follow the prototyping approach for the analysis and design phase and then linear model of software development.
The prototype paradigm begins with requirement gathering. Development and customer meet and define the overall objectives for the software, identify whatever requirements are known, and outline areas where further definition is mandatory. A “quick design” occurs. The quick design focuses on a representation of those aspects of the software that will be visible to the customer/user. The quick design leads to the construction of a prototype. The prototype is evaluated by the customer/user and used to refine requirements for the software to be developed. Iteration occurs as the prototype is tuned to satisfy the needs of the customer, while at the same time enabling the developer to better understand what needs to be done.
After design phase is approved, we follow the linear model to develop the complete system. After design phase we move to coding and testing then implementation phase.
In prototyping model we first develop a working prototype of the software instead of developing the actual software. The working prototype is developed as per current available requirements. The developers use this prototype to reefing the requirements and prepare the final specification document. Because the working prototype has been evaluated by the customer, it is reasonable to expect that the resulting specification document will be correct.
When the prototype is created, it is reviewed by the customer. Typically this review gives feedback to the developers that helps to remove uncertainties in the requirements of the software, and starts an iteration of refinement in order to further clarify requirements.
System/Information
Engineering
Analysis Design Code Test
Implementatio
n
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 42
The prototype being developed is not the final product to be delivered and the code generated in the prototype is being get thrown away but the experience gathered from developing the prototype helps in developing the actual system. The developers should develop prototype as early as possible to speed up the software development process. After all, prototype has to be
discarded. After
the
finalization of software requirement specification (SRS) document, the prototype is discarded and actual is then being get developed.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 43
PROTOYPING MODEL
Working of Prototype model can be described as :
Requirements
Quick Design
Implement
Customer Evaluation
Design
Implementation and Unit Testing
Integration and System Testing
Operation and Maintenance
Refinement of
Requirements as per
suggestions
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 44
SYSTEM DESIGN
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 45
ARCHITECTURE DESIGN
System design provides the understanding and procedural details necessary for implementing the system recommended in the system study .Emphasis is on translating the performance requirements into design specifications . The Design phase is a transition from a user – oriented document (System proposal) to a documented oriented to the programmers or database personnel.
Feature of Three-tier Architecture:
The proposed software has a three-tier architecture. The architecture layers are the database layer, the application server layer and the client layer. Compiled forms are deployed I the application server. The application server layer and the database server will communicate and the details are displayed to the listener.
A three-tier architecture is considered to be the most suitable architecture for large applications. The partitioning of the application enables rapid design and development of the system. The modularity makes it easier to make changes to just one tier without affecting the others. Separating the functions into distinct tiers makes It easier to monitor and optimize the performance of each layer. Load balancing and adding more capacity can take place independently at each layer. Multi-tier architecture also makes it simpler to scale the system across multiple processors on different machines.
A three-tier architecture introduces a server (or an “agent”) between the client and the server. The role of the agent is manifolds. It can provide translation services (as in adapting a legacy application on a mainframe to a client/server environment), metering services (as in acting as a transaction monitor to limit the number of simultaneous request to a given server), or intelligent agent services (as in mapping a request to a number of different servers, collating the results and returning a single response to the client.
1. The presentation layer delivers the application to the end users on the web. 2. The business logic layer contains and executes the rules that run the application.
3. The database layer manages the data required by the application.
PROCESS DESIGN
V –Model of development
V Process is a whole life-cycle process. V Process must be applied at each stage in the software process.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 46
Objective
The V-Model (Lifecycle Process Model) regulates the system development process and the maintenance and modification of systems.
This standard helps to achieve the following objectives:
� Improvement and guarantee of the quality:
– The discovery of defects in a system.
–The assessment of whether or not the system is usable in an operational situation.
–The completeness of the results to be delivered can best be guaranteed by a standardized procedure.
–Defined interim results make early assessment procedures possible. Uniform product contents alleviate the readability of the products and the assessment procedures.
� Checking the costs for the whole lifecycle:
–The generation of relevant project-specific development standards and its assessment will be simplified.
–The standardized procedure makes the cost calculation more transparent. Any risks in connection with the costs can be recognized better.
–Uniform standards reduce friction losses between customer and contractor as well as between main contractor and subcontractor.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 47
–Standardized procedures allow for the reduction in the use of resources.
–In case of a standardized procedure universal approaches to the solutions become transparent and can thus be reused.
–Undesirable developments are recognized at an earlier stage.
–The training costs are reduced.
–The interim results/final results are standardized to such an extent that other parties involved or staff of other companies are able to settle in without very much effort, if necessary
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 48
ER – DIAGRAM
CID Nam
Category
FID
Fetching
stations
Station
Add to
favorite
s
Favorite
Add to
favorites
Searc
h Server
1
Name
CID
SID
Descri
ption
server
2 Log
o
Server
3
SID Server
Server
1
Server2 Log
o Descriptio
n
Name
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 49
USER CASE DIAGRAM
Listener
Play/ pauseradio
Setting
Search
Select staion
Add tofavorite
Select category
INTERNET RADIO
Changevolume
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 50
Modular design This project having many modules. The project “Internet radio” is one of the latest android
application, which is gaining popularity along with the AM/FM kind of radios in India. A lot of
audio material is available these days on the net ranging from music to education. It is made for
android mobile and it is portable so we can use it for any android device.
It contains hundreds of Internet radio stations with all sorts of sounds and news.
Maybe your favorite station is among them. It is based on one single basic functionality playing
a given set of Internet radio channels. Just start up the player and it immediately starts playing
audio. There is no need to define play lists or find and type in URL's. We are fetching data
from radio times. And after fetching, storing the data in to databases, so that we increase the
performance. There are many functionalities, like we can display the categories like news,
oldies etc.. and after clicking on the category stations of that category are listed. And after
clicking on the station name the radio is start playing. We can also play the previous played item
and we can switch to next one
Modules of the project
• CATEGOTY
• RADIO PLAY
• FAVORITES
• SEARCH
• SETTINGS
CATEGORY
This module display all the categories .we can also list the stations of individual category and
play the stations one by one. There are 22 categories in radiotimes.com . Each category having
many stations. When clicking on category tab then a list view appear with the category list.
After selecting a particular category list view switched to another list view having list of
stations with name ,description and logo of that station. After selecting a particular station it
moves to RADIO PLAY module and starts playing.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 51
RADIO PLAY
This module play the radio. When any station is playing the animation rotating with that. When
we click on pause the animation and station both stops rotating and playing. There are feature
like previous and next so that we can play the previously played or next station in the list. One
feature is controlling the volume of the player according to our choice. One feature is add to
favorite, to add the playing station to the favorite list. In this module I have written the code
for closing the application.
FAVORITES
This module all about our favorite station. We can listen our favorite stations whenever we
want to listen. If we like any station then we can add that station to our favorite list. In favorite
table only the ID of station is stored and whenever we play the favorite station the other detail
is fetched from station table and listed into the list view. From there we can play and it will go
to the RADIO PLAY module.
SEARCH
We can search any station by giving any keyword in the text box. The Url is passed with the
given keyword to the parsing function and search the required station details . After searching
the details is stored to the search table and next time when the other search happen the search
table is deleted and newly searched details are stored to search table.
SETTINGS
Here we are creating the database to increase the performance. It takes time to fetch data from
radiotimes every time so we are creating a database and storing the data in to that , when
application is installed first time. From setting tab we can recreate the data base.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 52
DATA FLOW DIAGRAM
DATA DESIGN
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 53
Data Flow Diagrams represent one of the most ingenious tools used for structured
analysis. A Data Flow Diagram or DFD as it is shortly called is also known as a bubble chart. It
has the purpose of clarifying system requirement and identifying major transformation that will
become programs in system design. It is the major starting point in the design phase that
functionally decomposes the requirements specification down to the lowest level of details. A
functionally decomposes the requirements specification down to the lowest level of details. A
DFD consists of a series of bubble joined by lines. The bubble represents data transformation
and line represents data flow in the system. In the normal conventional a DFD has four major
symbols.
- Square, which defined source or destination of data
- Arrow which shows the data flow
- Circle, which represent a process that
transformation incoming data in to outgoing flow
- Open rectangle, which shows a data store
The DFD at the simplest level is referred to as the ‘zero level DFD’ or in the
simple words a ‘Context Analysis Diagram’. These are expanded level by level each explaining
its process in detail. Processes are numbered for easy identification and are normally labeled in
block letters. Each data flow is labeled for easy understanding.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 54
CONTEXT ANALYSIS DIAGRAM
RADIO TIMES
INTERNET
RADIO
Querying
LISTENER
Station details Station details
Fetching station details
Request for stations
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 55
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 56
1 LEVEL D FD
FETCH CATEGORY
2
PLAY RADIO
3
SETTINGS1
FETCH FAVORITE
4SEARCH
5
INTERNET RADIOLISTENER
SEARCH TABLE
FAVORITE TABLE
RADIO TIMES
Station details
CATEGORY TABLE
Category details
Searc
hed s
tatio
n d
eta
ils
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 57
2 LEVEL D FD FOR SETTIN GS
FETCHING DATA FROM RADIO
TIMES1.1
RADIO TIMESLISTTENER
Data request
STORING DATA TO DATABASES
1.2
CATEGORY TABLE
STATION TABLE
Data
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 58
2 LEVEL D FD FOR CATEGORY
LISTENER
FETCHING CATEGORIES
2.1
FETCHING STATIONS
2.2
STATION TABLE
Station details
CATEGORY TABLE
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 59
2 LEVEL D FD FOR PLAYIN G RAD IO
LISTENER
PLAY/PAUSE RADIO
3.1
PLAYING PREV/NEXT
3.1.1
CHANGE VOLUME
3.1.2
CLOSE APPLICATION
3.2
ADD TO FAVORITE
3.1.3
FAVORITE TABLE
DATABASE DESIGN
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 60
Data in computer is termed a database. There is software that allows one or more
persons to use and / modify this data is a database management system (DBMS). A major role of
the DBMS is to allow the user to deal with the data in abstract terms, rather than as the computer
stores the data. The DBMS meets as an interpreter for a high level programming language;
ideally allowing the user to specify what must be done with little or no attention on the user’s
part to the detailed algorithm or data representation used by the system. However in the case of a
DBMS there may be far less relationship between the data as seen by the user and as store in the
computer, than between arrays as defined in a typical programming language and the
representation of those arrays in the memory.
The data base management system is one of the most complex varieties of
software in existence. One way to get a field for the different aspects of the DBMS is to
consider the various kinds of users of such a system and ways they interact with the system and
with each other.
In relational database approach, data is organized in logical mathematical sets in
tabular structure. The data filed becomes a column in a table and under relational model and
each record becomes a row in a table. Relationship between various table areas is defined
through the use of a mathematical function such as JOIN and UNION. The cost important
advantages of relational model are its flexibility in describing the relationship between the
various data items.
Primary purpose behind the relational model is the preservation of data integrity,
which implies that the data must be stored in a format that preserves it from being accessed from
outside the DBMS that crated it.
The emphasis on the data integrity makes the relational model ideal for
transactional processing systems, and thus for multi user and client server database. The
relational model also requires that the date be accessed through programs that do not rely in a
data in the database.
The most important aspect of building of application is the design of tables or the
database schema. The data stored in a table must be organized in some manner, which is
meaningful. The overall objective in the process of table design has been to treat as an
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 61
organizational resources and as an integrated whole. The organization of data in a database aims
to achieve three major objectives are given bellow.
1. Data Integration
2. Data Integrity
3. Data Independence.
Several degrees of normalization have to be applied during the process of table
design. The major aim of the process of normalization is to reduce data redundancy and prevent
loosing data integrity. Redundancy refers to unwanted and unnecessary repetition of data. Data
integrity has to convert at all levels. Poor normalization can cause problems related to storage
and retrieval of data. During the process of normalization, dependencies can be identified which
cause serious problem during deletion and updating. Normalizing also help in simplifying the
structure of table.
The theme behind a database is to handle information as an integrated whole thus
making access to information easy, quick, inexpensive and flexible for user. The entire package
depends on how the data are maintained in the system each table has been designed with a
perfect vision. Minor tables have been created which thought takes much space facilities the
process of Querying fast and accurate.
Normalization
Normalization provides for table optimisation through the investigation of entity
relationships. Main purpose of normalization is to avoid Data redundancy and some unforeseen
scalability factors. Normalization is done to remove Insertion, Updating and Modification
anomalies and redundancy of data. A certain level of normalization of tables in database gives a
particular normal form based of particulars steps followed. Database can be normalized up to
any defined normal forms according as the need of application and its effectiveness.
Database of Budget Estimation is normalized up to Third Normal Form. Further
normalization of database was not considered taking into account the need of application and
ease of working with database.
� The database is in First Normal Form as all the fields of all tables are atomic. There is
no multivalued field in any table.
� The database is in Second Normal Form as it satisfies the constraint of full functional
dependency. All the fields of all tables are fully functional dependent on the primary key.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 62
� The database is in Third Normal Form as all its tables satisfy the constraint that there
should be no transitive dependency. No field has transitive dependency on the key field.
Thus database also satisfies the constraints of third normal form.
Sqlite Tables:
CATEGORY TABLE:- Store the category details.
STATION TABLE :-Store the station details.
Field Type Null Key
CID Int No PRI
Name Varchar (30) No
Field Type Null Key
SID Int No PRI
CID Int No Foreign key
Name Varchar(100) No MUL
Description Varchar(100)
Logo Blob
Server1 Varchar(50)
Server2 Varchar(50)
Server3 Varchar(50)
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 63
FAVORITE TABLE:- Store all the favorite stations.
SEARCH TABLE:- Store the newly searched stations.
USER INTERFACE DESIGN
Field Type Null Key
FID Int No PRI
Field Type Null Key
SID Int No PRI
Name Varchar(100) No
Description Varchar(100)
Logo
Blob
Server1 Varchar(50)
Server2 Varchar(50)
Server3 Varchar(50)
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 64
The interface design describes how the software communicates within itself, to
system that inter-operates with it and with people who use it. User interface is the doorway into
an interactive software application. The interface tells the system what action is to be taken for
entering, changing, or retrieving data. It should allow users to accomplish processing action is to
be taken for entering, changing or retrieving data. The interface would be in such a way that it
includes methods that will not be tiresome or unacceptable to frequent users who become
families with the system, but that will facilitate equally effective use by novice users. It should
prevent any action that will create a processing error.
Interface design creates an effective communication medium between a human
and a mobile. Design identifies interface objects and actions then create a screen layout that
forms the basis for a user interface.
Interface design focuses on:
1. The design of interfaces between software components
2. The design of interfaces between software and other non-human producers and
consumers of information
3. The design of interface between a human and the mobile.
Interface design begins with the identification of user, task and environment requirements.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 65
SYSTEM TESTING
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 66
TEST PLAN Test Plan describes the testing strategy and approach to testing. QA is to validate the quality of the product prior to release. It also contains various resources required for the successful completion of this project.
TEST SCRIPTS
A test script is a testing work product modeling a software program (often written in a procedural scripting language) that executes a test suite of test cases
The goals of a test script are to automate or document the following:
� Automate the execution of test cases. � Support regression testing.
The support these goals, the objectives of a single test script include:
� Execute each test case in the test suite. � Report the result of the test suite.
A test script provides the following benefits:
Automates a single test suite, thereby supporting regression testing.
Failure to produce test scripts makes regression testing more expensive and less likely to occur.
GUIDELINES
Three test scripts will be used at all levels of testing (e.g., unit testing, integration testing, system testing, and launch testing).
If the quality of the test scripts is not at least as good as the quality of the item under test then it will be difficult to know if the defect causing the failure of the tests, which are documented in the associated test reports.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 67
SYSTEM TESTING
Testing is the stage of implementing, which is aimed at earning system running
accurately and efficiently. The purpose of the system testing is to identify and correct errors in
the new system. The performance factors like turn around time, back up, file protection and
human factors are some of the performance criteria for system testing. A system is tested for
online response, display, recovery from failure and usability.
Effective testing early in the process translates directly into long-term cost savings
from a reduced number of errors. Back up files are need when the system is failure or down. The
usability test verifies the user-friendly nature of the system. Accurate and complete
documentation is necessary for the user-friendly nature of the system.
System testing is designed to uncover weaknesses that are not found in the earlier
tests. This includes forced system failure and validation of the total system, as its users in the
operational environment will implement it. The total system is tested for recovery and fallback
after various major failures to ensure that no display is lost during the emergency. All this is
done with the old system still in operation. After the candidate system passes the test, the old
system is discontinued.
System testing involves unit testing, integration testing, acceptance testing.
Careful planning and scheduling are required to ensure that modules will be available for
integration into the evolving software product when needed. A test plan has the following
steps
• Prepare test plan
• Specify conditions for user acceptance testing
• Prepare test data for program testing
• Prepare test data for transaction path testing
• Plan user training
• Compile/assemble programs
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 68
• Prepare job performance aids.
System testing is the stage of implementation that is aimed at ensuring that the
system works accurately and efficiently before live operation commences. The system on a
whole was tested for the following:
• Speed of data fetching from radiotimes..
• Display is same for all android devices.
• Sequential tests
• Consistency of the application
System testing, asks a logical assumption that if all the parts of the system are
correct, the system will be successfully achieved. The objective of testing is to discover errors.
To fulfill these objectives a series of tests were planned and executed.
The logical design and the physical design should be thoroughly and continually
examined on paper o ensure that they will work when implementation should be a confirmation
that all is correct and an opportunity to show the users that the system works.
Unit Testing
Here, each individual program was tested using the test data. The outputs as
per the requirements were found satisfactory. Thus it was possible to conclude that every
program in the software was functionally correct. The interrelated modules were also tested in an
exhaustive that will make the whole software work properly.
• Module interface is tested to ensure that information properly flows into and put of the
program under test.
• Local data structures are examined to ensure that data stored temporarily maintains its
integrity during all steps in algorithm execution.
• All display is tested to ensure that it is applicable for all android devices.
• All independent paths through the control structures are executed to ensure that all
statements in the module have been executed at least once.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 69
• Error handling paths are also tested.
This test focuses verification effort on the smallest unit of software design, the
module. Here, the module interfaces, local data structure, displays, and all independent paths and
last but not the least, all error handling paths were verified by inputting false data. Tests of data
flow across each module interface of this software were done before any other test was initiated.
A unit testing focuses on the verification effort on the smallest unit of the software
design. Using the unit test plan prepared in the design phase of the system, important control
paths be tested to uncover the errors within these module. This testing was carried out doing the
coding itself. In this testing steps, each module is going to be working satisfactorily as the
expected output from the module.
Integrated Testing
The individual programs are combined together to form modules. Integrated tests
were performed on each of the modules and again the validity was checked. After that, all
modules were brought under a single module and the integrity test was found to be successful.
This system was validated in such a way that even the slightest deviation in inputting
the data will invoke error messages and provide guidelines regarding the input. Before the
software is being released, the developers to do testing by implementing the commercial security
package for security. This ensures that the software works properly. These tests can also be
performed
• Top down integration
• Bottom up integration
It is systematic technical for constructing the program structure while at the same
time conducting test to uncover errors associated with the interface. The objective is to take unit
tested module and build the program structure that has been detected by design.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 70
All modules are combined in this testing step, and the entire program is tested as a
whole. If a set of errors are encountered correction is difficult because the isolation of causes is
complicated by vastness of the entire program.
Using integrated system test plan prepared in the design phase of the system
developed as a guide, he integration was carried up.
System Testing
When a system is developed, it is hoped that it performs properly. In practice
however some errors always occur. The main purpose of testing and information system is to
find the errors and correct them. A successful test is one which finds an error.
The main objectives of system testing are
• To ensure during operation the system will perform as per specifications.
• To make sure that the system meets user’s requirements during operation.
• To verify that the controls incorporated in the system function as intended.
• To see that when correct inputs are fed to the system the outputs are correct.
• To make sure that during operation incorrect input and output will be show error
message.
The scope of a system test should include computerized operation. Operations system testing is a
comprehensive evaluation of the programs, manual procedures, computer operations and
controls. System testing is the process of checking if the developed system is working according
to the original objectives and requirements. All testing needs to be conducted in accordance to
the test conditions specified earlier.
Validation Testing
Validation testing is done to ensure complete assembly of the error-free
software. Validation can be termed successful only if it functions in manner that is reasonably
expected by the customer.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 71
Under validation is alpha and beta testing. Alpha testing is where the end user tests
the system rather than the developer, but in a controlled environment. The software is used on a
natural setting with the developer monitoring the user using the system. The developer records
the errors and usage problems encountered by the user.
The sales person conducts beta testing at one more sites. The developer is not present
during these tests. Hence, beta test can be said as the live application of the software on an
environment that cannot be controlled by the developer.
The sales person takes down the problems encountered during beta testing and
reports these to the developer at regular intervals. The developer makes suitable modifications to
the software henceforth.
The first step in system testing is to develop a plan that tests all the aspects of the
system. Completeness, correctness, reliability and maintainability of the software are to be tested
for the best quality assurance-an assurance that the system meets the specification and
requirements for its intended user and performance. System testing is most useful practical
process of executing a program with explicit intention of finding errors that makes the program
fail. The following phases were developed.
Module Testing
Each individual programs module is tested for any possible errors. They were
also tested for specifications, i.e. to see whether they are working as per what the program
should do and how it should perform under various conditions.
Display Testing
The display procedures were tested since the displayed is of most importance.
The data was input in the different modules and it was checked whether the information is
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 72
properly displayed in the other dependent modules. The consistency of the display and
attractiveness of the display were also tested. The following tests were also conducted over the
system developed:
• Integration: These test the integration between browsers and servers, applications and
data, hardware and software.
• Usability: These test the overall usability of a web page or a web application, including
appearance clarity and navigation.
• Security: These test the adequacy and correctness of security controls including access
control and authorizations.
• Performance: These test the performance of the web applications under load.
• Verification of code: this validate that the code used in building the web application has
been used in a correct manner.
Comments and suggestions from the observations during the test run were later
considered. Special care was given to user interface comments. The list of possible
values, the attractiveness and user-friendliness of the software was well appreciated.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 73
DEPLOYMENT STRATEGY
SYSTEM DEVELOPMENT & IMPLEMENTATION
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 74
This phase occurs after the software has been delivered to the customer and put into operation. Deployment is the process of establishing all the system elements at the end user organization. Various system elements involve software, hardware, database, people, documentations and procedures.
This involves
1. User interaction/presentation component 2. Database component
User interaction/presentation component:
In order to make it an interactive application a user interface is necessary. This component implements all function that are typically associated with a graphical user interface.
Database component:
This component performs the data manipulation and management required by an application. Data manipulation and management may be as simple as the transfer of a record or as complex as the processing of sophisticated transactions. This application was developed on android/sqlite.
DIFFERENT IMPLEMENTATION METHODS Implementation is the stage in the project where the theoretical design is turned into a working system and is giving confidence on the new system for the users that it will work efficiently and effectively. It involves careful planning, investigation of the current system and its constraints on implementation, design of methods to achieve the change over, an evaluation, of change over methods. Apart from planning major task of preparing the implementation are education and training of users. The more complex system being implemented, the more involved will be the system analysis and the design effort required just for implementation.
An implementation co-ordination committee based on policies of individual organization has been appointed. The implementation process begins with preparing a plan for the implementation of the system. According to this plan, the activitites are to be carried out, discussions made regarding the equipment and resources and the additional equipment has to be acquired to implement the new system.
Implementation is the final and important phase. This is the most critical stage in achieving a successful new system and in giving the users confidence that the new system will work effective. The system can be implemented only after thorough testing so as to provide effectiveness. This method also offers the greatest security since the old system can take over if the errors are found or inability to handle certain type of transaction while using the new system.
It involves the individual programming system testing; user training and the operational running of developed proposed system that constitutes the application subsystems.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 75
One major task of preparing for implementation is education of users, which should really have been taken place much earlier in the project when they were being involved in the investigation and design work. During the implementation phase system actually takes physical shape. In order to develop a system implemented, planning is very essential. The implementation phase of the software development is concerned with translating design specification in to source code. The user tests the developed system and changes are made according to their needs. This system has been successfully implemented. Before implementation several tests have been conducted to ensure that no errors are encountered during the operation. The implementation phase ends with an evaluation of the system after placing it into operation for a period of time. Implementation is the third phase of the system process.
In order to achieve the objectives and the expected performance the system has been developed in a highly interactive and user-friendly manner.
At the beginning of the development phase a preliminary implementation plan is created to schedule and manage the many different activities that must be integrated into plan. The implementation plan is updated throughout the development phase, culminating in a changeover plan for the operation phase. The major elements of implementation plan are test plan, training plan, equipment installation plan and a conversion plan.
There are three types of implementation:
1. Implementation of a internet radio to replace a manual system. 2. Implementation of a new mobile to replace an existing one. 3. Implementation of a modified application to replace an existing one, using the
same computer.
After considering all the phase of the system life cycle the proposed system is
now implemented successfully.
USER MANUAL
System maintenance and service:
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 76
This phase occurs as a result of deploying the whole system at the end users organization. They will perform the beta testing at the end users place and inform to the developers about any needed modifications to be application. The customer records all the problems that are encountered during the beta testing and reports these to the developer at regular intervals. As result of problems reported during implementation, the software developer makes modifications and then prepares for release of the software product to the entire customer base.
Type of changes that can be encountered during the maintenance phase:
Corrective maintenance: Even with the best quality assurance activities, it is likely that the customer will defects in the software. Corrective maintenance changes the software to correct defects.
Adaptive maintenance: Over time, the original environment (CPU, operating system, business rules external product characteristics) for which the software was developed is likely to change. Adaptive maintenance results in modification to the software to accommodate changes to its external environment.
Enhancement management: As software is used, the listener will recognize additional functions that will provide benefit. Perfect maintenance extends the software beyond its original functional requirements.
Preventive maintenance: Computer software deteriorates due to change, and because of this, preventive maintenance often called software reengineering, must be conducted to enable the software to serve the needs of its end users. Preventive maintenance makes changes to computer programs so that they can be more easily corrected, adapted and enhanced.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 77
SCREEN SHOTS
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 78
When open the application this screen will be visible.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 79
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 80
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 81
Creating database.
This is radio playing tab.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 82
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 83
Category tab.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 84
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 85
Stations of the particular category is listed.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 86
We can pause the radio.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 87
Favorite tab.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 88
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 89
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 90
Search tab.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 91
Previous searched list.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 92
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 93
Newly searched list.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 94
Changing volume.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 95
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 96
Adding the playing item to favorite list.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 97
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 98
FUTURE ENHANCEMENT
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 99
INTERNET RADIO application can be enhanced by including features like :
• User can change the background of the application.
• Application can fetch data from VTuner rather than radiotimes because sometime
radiotimes.com is not working.
• The playing information can be shown as notification on status bar.
• Podcasting option can be implemented.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 100
CONCLUSION
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 101
INTERNET RADIO is a user-friendly interactive Application for android device
and requires no prior knowledge of software. All the suggestions forwarded during the software
proposal have been successfully completed and final threshold of application has been crossed.
Some errors were spotted out during the system testing and were corrected. The system
developed for the given conditions specified by the firm was found working efficiently. The
system is highly flexible and is well efficient to make easy interactions with the database. The
goal of computer security to maintain the integrity, availability and privacy of information
entrusted to the system was successfully obtained.
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 102
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 103
Books:-
The following are the list of some of the books that where referred during the working over the project
1. The Complete Reference Java2 2. Android Essentials.pdf 3. Professional Android Application Development-0470344717.pdf
In the net-era, books only are not single and sufficient resources of knowledge. On internet a lot of useful information is available. Now a days it is being treated as a repository of knowledge; and we did not miss the chance to utilize such a huge resource of knowledge.
BIBLIOGRAPHY
DEPARTMENT OF COMPUTER APPLICATIONS, CUSAT Page 104
Web Resources:-
http://developer.android.com
http://www.android.com/
http://www.androidpeople.com/android-notification-example
http://www.twintechs.com
http://www.tutorialforandroid.com
http://www.google.com/