1 | Page CHAPTER 1 : Improvisation in Analysis , Design and Modelling 1.1 Requirement Changes We aim to develop and deploy an internet radio application on windows , linux and on android platform for music streaming on internet. The proposed system will overcome the following drawbacks of the existing FM radio systems : 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. 1.1.1 Added Requirements Upto this phase , we had implemented the internet radio application on windows and on android. We aim to develop and deploy the same on linux platform for music streaming on internet. We will attempt it on the linux platform using the icecast server. Software Requirements : ICECAST 2 server on Linux. Network Requirements : Internet should be available. 1.1.2 Deleted Requirements There will be no such deletions from the requirements in the project. We will add the new dimensions in our project by implementing it on different platforms so as to expand its horizon. The project is a combination of modules that are independent and there is no partial implementation possible. Either the whole module is implemented or it is dissolved as it can only work as a whole. So, In our project , the requirements can not be removed.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1 | P a g e
CHAPTER 1 : Improvisation in Analysis , Design and Modelling
1.1 Requirement Changes
We aim to develop and deploy an internet radio application on windows , linux and on
android platform for music streaming on internet. The proposed system will overcome the
following drawbacks of the existing FM radio systems :
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.
1.1.1 Added Requirements
Upto this phase , we had implemented the internet radio application on windows and on
android. We aim to develop and deploy the same on linux platform for music streaming
on internet. We will attempt it on the linux platform using the icecast server.
Software Requirements :
ICECAST 2 server on Linux.
Network Requirements :
Internet should be available.
1.1.2 Deleted Requirements
There will be no such deletions from the requirements in the project. We will add the new
dimensions in our project by implementing it on different platforms so as to expand its
horizon. The project is a combination of modules that are independent and there is no
partial implementation possible. Either the whole module is implemented or it is
dissolved as it can only work as a whole. So, In our project , the requirements can not be
removed.
2 | P a g e
1.1.3 Modified Requirements
In the earlier phase , We had completed the implementation of our project on windows
platform using Shoutcast server. And we did the implementation of the same on the
android emulator. The modified requirement will be to complete the android platform
implementation by running it on the android device.
Software Requirements:
Android phone
API Level: 2.2
Display : Touch screen with any dimension and resolution
Network Requirements :
Internet should be available.
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. Hundreds 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.
3 | P a g e
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.
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.
Fig 1.1 : Non Functional Requirements
4 | P a g e
1.2 Design Changes
1.2.1 Design Constraints
The interface of our project will be user friendly and will work on the following options
Ask the user to select the station they would like to listen to.
Restrict the user to play only one station at a time .
Allows the user to add station to their favourite list.
Search the stations from the available list of stations.
Allows the user to listen to their favourite stations anytime , anywhere.
Portable android application.
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.
5 | P a g e
Design Constraints for performance requirements
The advantage of using Internet Radio instead of the terrestrial radio itself is three-fold:
1. Live streaming of data over the internet which is availavle from anywhere in the
world.
2. Efficient encoding of data formats and numerous stations available at a time.
3. Improved sound quality which is unaffected under change in weather conditions or
no-network zones.
Thus , the system developed required to perform in such a way such that the above three
advantages of using Internet Radio over FM radio are fulfilled as well as it takes into
consideration that the sound quality is maintained and the user doesnt not have to wait
long for buffering.
Also there are certain constraints to maximize the usability of the bandwith such as,
limiting the number of clients, restricting the user to listen to a single station at a time,
checking if the user is available by checking for clicks on the page for a fixed time
duration.
6 | P a g e
1.2.2 Design Diagrams
Use Case diagrams
For my system there is a relatively simple use case diagram as the software is fairly
compartmentalised and doesn’t link to anything external besides the user and the
software to be developed.
Fig1.2 - Use Case Diagram
7 | P a g e
Class diagrams
We also made a class diagram, outlining the classes, methods and members of each class and
how they relate to each other. The relationships are all calling about the server class, which
creates instances of many of the other classes,and the main focus is around the server
interface which reads audio file, encodes it and broadcasts it to the systems.
Fig. 1.3 - Class Diagram
8 | P a g e
1.3 Implementation Strategy
Streaming technology is used to distribute Internet radio, typically using a lossy audio codec .
Streaming audio formats include MP3 , Ogg Vorbis , Windows Media Audio
, RealAudio, HE-AAC . Audio data is continuously transmitted serially over the local
network or internet in TCP or UDP packets, then reassembled at the receiver and played a
second or two later. The delay is called lag, and is introduced at several stages of digital
audio broadcasting. On windows platform, we are using the shoutcast server , to stream audio
over the internet. And on linux , we are using icecast server , to stream audio over the
internet.
Three layers within a communication system for the internet are:
1. The physical layer (computers, wires that connect them)
2. The logical or code layer (the code that makes the hardware run)
3. The content layer (the content that gets transferred around and across the network)
The implementation will be done by implementing the below steps :
1. Implementation of the above described three layers.
2. Creation of an Android application for Internet Radio.
Implementation details
Streaming Media is the term used to describe the real-time delivery of audio and video over
the internet. Streaming Media allows for live transmission of audio or video over the
internet, transforming the internet into a broadcasting medium. Content can also be archived
in streaming file formats, allowing internet users to experience recordings of events after they
happen.
Varieties of Streaming
There are three types of delivery of audio and video data over the internet: Download and
Play,Progressive Download, and True Streaming.
Download and play
To experience Download and Play media you must first download the entire media file to
your hard disk before you can play it. For this reason Download and Play media cannot be
used for live broadcasts, however it is often a good way to deliver high quality media content
over any bandwidth. A high quality movie, for example, can be downloaded over any internet
connection. However because you cannot play the movie until you have downloaded the
entire file, download time becomes a factor. To download a DVD movie (usually about 4.6