CHAPTER 1 : Improvisation in Analysis , Design and Modelling
1.1 Requirement ChangesWe 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 RequirementsUpto 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 RequirementsThere 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.
1.1.3 Modified RequirementsIn 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 REQUIREMENTSThe 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 REQUIREMENTSAvailability: - 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.
Fig 1.1 : Non Functional 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 clients 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.
1.2 Design Changes
1.2.1 Design ConstraintsThe 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.
Design Constraints for performance requirementsThe 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.
1.2.2 Design Diagrams
Use Case diagramsFor my system there is a relatively simple use case diagram as the software is fairly compartmentalised and doesnt link to anything external besides the user and the software to be developed.
Fig1.2 - Use Case Diagram
Class diagramsWe 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
1.3 Implementation StrategyStreaming 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 detailsStreaming 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 Pla y media cannot be used for live broadcasts, however it is often a