Page 1
ARC
1
Contents Chapter 1
Introduction ............................................................................................................... 3
1.1. Project Introduction ..................................................................................... 4
1.2. Background Theory ..................................................................................... 5
1.3. Literature Review: ....................................................................................... 6
1.4. Objectives: .................................................................................................. 6
Primary Objectives ............................................................................................ 6
Secondary Objectives ......................................................................................... 6
1.5. Requirement Analysis: ................................................................................ 7
Methodology: .................................................................................................... 7
1.5.2. Functional Requirement: .......................................................................... 7
1.5.3. Non Functional Requirement .................................................................... 7
1.5.4. Software Requirements: ........................................................................... 7
1.5.5. Hardware requirements: ........................................................................... 7
Chapter 2
Study Analysis........................................................................................................... 8
2.1. Feasibility Study: ......................................................................................... 9
2.1.1. Legal feasibility:- ................................................................................. 9
2.1.2. Market and real estate feasibility:- ........................................................ 9
2.1.3. Economic feasibility:- .......................................................................... 9
2.1.4. Technical Feasibility .......................................................................... 10
2.1.5. Operational Feasibility ....................................................................... 10
2.1.6. Scheduled Feasibility.......................................................................... 10
Chapter 3
Working Principle ................................................................................................... 11
3.1. Process Followed ....................................................................................... 12
3.2. Platforms Used and Programming Languages ............................................ 12
3.2.1. JAVA ................................................................................................. 12
3.2.2. Android .............................................................................................. 12
Chapter 4
System Design ......................................................................................................... 13
4.1. Block Diagram of System .......................................................................... 14
4.2. USE CASE Diagram:- ............................................................................... 15
4.3. System Sequence Diagram ........................................................................ 16
Page 2
ARC
2
4.4. DFD -Level-0 ............................................................................................ 17
4.5. DFD- level-1 ............................................................................................ 17
4.6. Sequence Diagram .................................................................................... 18
4.7. Design Class Diagram ............................................................................... 19
4.8. Limitations ................................................................................................ 20
4.9. Further Enhancements ............................................................................... 21
4.10. Conclusion ............................................................................................. 21
References ........................................................................................................... 22
Appendix ............................................................................................................. 23
Page 3
ARC
3
Chapter 1
Introduction
Page 4
ARC
4
1.1. Project Introduction
The term “Remote” is the most heard term in human’s daily life. A person has
to encounter with a remote many times a day. In the modern world every electronic
good has got its own remote. Everything can be controlled without reaching to the
vicinity of that device. But the in the field of personal computers, that practice hasn’t
got popular so well. Although computers are the most advanced and mostly used
product, the remote approach to this device has not been practice so far except some
not so popular ideas. Therefore we got this idea of developing an android operating
based application Android Remote Control (ARC) that controls the basic
functionalities of the PC remotely and enables us to operate the PC remotely.
ARC is an application that is developed for the purpose of controlling PC
remotely as stated previously. It connects to the PC via a Wi-Fi connection that is
made available in almost every home these days. There exists mainly two main
modules of the ARC system, ARC client module, i.e. the Smartphone in which the
application is installed and the Server module, i.e. ARC PC that is installed in the PC
to be controlled by the arc system. These two modules can transfer the messages to
each other wirelessly through the TCP/IP protocol.
Usually when someone refers to "TCP/IP" they are referring to the entire suite
of protocols, all based on the Internet Protocol ("IP"). Unlike a single network, where
every computer is directly connected to every other computer, an "inter-network" (or
"internet") is a collection of one or more networks. These networks are all connected
together to form a larger "virtual network". Any host on this virtual network can
exchange data with any other host, by referring to the hosts "address".
The address is a 32-bit number which is unique across the entire internet.
Typically, this number is broken into 4 8-bit pieces, separated by periods to make it
easier for humans to read. This human readable format is called "dotted-decimal"
format, or just "dot-notation". An address displayed in this fashion looks something
like "192.168.66.21".
The protocol corresponds to the transport layer of TCP/IP suite. TCP provides
a communication service at an intermediate level between an application program and
the Internet Protocol (IP). That is, when an application program desires to send a large
chunk of data across the Internet using IP, instead of breaking the data into IP-sized
pieces and issuing a series of IP requests, the software can issue a single request to
TCP and let TCP handle the IP details. IP works by exchanging pieces of information
called packets. A packet is a sequence of octets (bytes) and consists of a header
followed by a body. The header describes the packet's source, destination and control
information. The body contains the data IP is transmitting.
This application is mostly beneficial to the disabled persons for whom it is
unfeasible to go to the PC every time they need to perform some operations. Also the
persons who mostly need to be in touch with their PC will be benefitted by this
application as it provides the remote control function over the range covered by the
Wi-Fi to which both devices are connected. Because of its easy user interface, this
application is easy to use for all the users trying to use this application.
Page 5
ARC
5
1.2. Background Theory
In the field of today’s technology, different media and technology has affected
our life. The system with the suggested name Android Remote Controller, is
supposed to quench the thirst of some of the users of personal computers and android
based Smartphone who were waiting for this kind of application. As we all know, a
remote control system has been an essential part of our life in this 21st century. As we
have encountered with the remote control of every other system but still had not heard
of a remote control for the PC, we, the members of our group decided to do this
project. The simple and basic idea behind this project is Control any PC with this
system installed remotely from an Android OS based Smartphone.
At first, the idea of making a PC remote control struck our mind when we had
to repeatedly reach to our PC to do some tasks while we were listening to the music
from the PC or watching movie. So we decided to carry on this problem with a project
that enables us to control the PC remotely. It took us several months to analyze the
problem and hence kept us busy. After the analysis we decided to use JAVA platform
for the server side programming and the android programming which is a language
derived from the same JAVA programming language to develop a client side
application. After the decision we began to work on the project in module wise basis.
The modules we have split the project into will be discussed later in this report.
Page 6
ARC
6
1.3. Literature Review:
There has been subsequent development in the field of remote controlling a PC.
Initially Microsoft introduced software called “Remote desktop” which connects two
PC over a network or internet. After the Smartphone were introduced in the market,
the trend of developing software to remotely access the PC through the Smartphone
started. Some of the applications that have been developed already in this field are
“Pocket droid”, “PCremote”. We can find many such applications if we search in the
android play store.
1.4. Objectives:
The objectives of this minor project can be classified into two categories as listed
below:-
Primary Objectives Primary objectives of this project are listed below:-
i. To develop the knowledge of application development platforms and
tools and the platforms for our project are java and android using net
beans and ADT as tools.
ii. Learn team work and project management skills.
iii. Learn to prepare project documents.
Secondary Objectives This project is to develop the application which will synchronize the smart
phone properly with the pc. Considering the above main objective we are also
planning to add the certain features like:
i. To support file management.
ii. To provide better user interface.
iii. Button to add shortcut, widgets, and folders as the user requirement on
the screen of the mobile so the users don’t have to access the internal
file.
E.g.: playing music, viewing received files etc.
Page 7
ARC
7
1.5. Requirement Analysis:
Methodology: To gather information required for the development of this mobile application, we
took the help of internet. We went through several websites and studied how the
application works in android OS does. We also Consulted some android users on
how would they want our software. On that basis we have listed out some of the
functional and non-functional requirement of our software.
1.5.2. Functional Requirement:
1. Use less bandwidth to transmit data for fast data transmission and quick response
time
2. The rules governing how command/data are handled and processed.
3. Easy access (shortcuts) to the basic operations like opening ‘My Computer’, ‘Shut
Down’, Music control bar, Close/minimize all running applications.
4. Easy slide presentation.
1.5.3. Non Functional Requirement 1. Easy user interface
2. Security
3. Performance
• Response time
• Processing Time
• Query and Reporting time
4. Capacity
5. Growth Requirements
6. Maintainability
7. Recovery
Restore Time
1.5.4. Software Requirements: a. Android ADT
b. NetBeans (JAVA language)
c. Adobe Photoshop
1.5.5. Hardware requirements: a. Android OS based Smartphone
b. PC
c. Wireless enabled Wi-Fi router
Page 8
ARC
8
Chapter 2
Study Analysis
Page 9
ARC
9
2.1. Feasibility Study:
Feasibility analysis is the measure of how beneficial or practical our project will be in
any organization. It is the process by which the feasibility is measured. The feasibility
analysis is conducted during the preliminary investigation phase so that while doing
the project it will be easy to calculate the overall estimation time and also the budget
that is required.
2.1.1. Legal feasibility:-
This application would have been illegal if it would break any law of this
country. This application can be used in various field of day to day life where
remote control for the PC is required. As far as we have examined, our
application itself won't breach any law. But we can't control the area of its use
after we hand over our product to the costumer. So it depends on the costumer
that how he is using our software. But the as the application won't break any
law in the constitution, the application is legally feasible.
2.1.2. Market and real estate feasibility:-
The market feasibility studies how well will our application will perform on
the market. Before finalizing this topic as our minor project, we had searched
for applications which could control our PC remotely. We had found a couple
of them but both could not satisfy our need as one of them had very few
features while we could not have a good demo as it was a paid application. As
our product will overcome the demerits of both of these applications, we have
no doubt regarding its publicity in the market. This product will also be a paid
application as we have to get back the cost of our efforts made during the
development phase, but user can experience its all use till the 30 days of
downloading. Also after 30 days the user will be able to use the basic features
of the application. So the criterion for this product to be feasible in market
meets and hence the product is feasible for market too.
2.1.3. Economic feasibility:- Economic feasibility is the measure of the cost effectiveness of the project or
the solution. It deals with the cost and the benefits of the project. So this can
also be called as the cost benefit analysis. During the early phase of the project
economic feasibility analysis amounts to little more than judging whether the
possible benefits of solving the problem are worthwhile. Although we can’t
exactly predict the cost of any project before it is implemented, we have
pointed the factors which affect the economic feasibility of the project.
Initially the trial version of this application can be downloaded from the play
store. User can experience the feature of the application and if it meets the
user’s need then the user can download the full version of the application
paying a reasonable price.
Page 10
ARC
10
2.1.4. Technical Feasibility As this app is based on java platform, which is these days most common
platform to develop the programs and apps, it is quiet easier to add user
interfacing features.
2.1.5. Operational Feasibility From the survey we have found that android users are interested in this app
and its features. We have a very positive response from the market
2.1.6. Scheduled Feasibility
The scheduled feasibility is the measure of hoe reasonable the project
timetable is. The potential time frame and completion dates for all the major
activities within the project were estimated to be approximately 5 months and
the project timetable was found to be feasible.
Page 11
ARC
11
Chapter 3
Working Principle
Page 12
ARC
12
3.1. Process Followed
We have used the modified waterfall model to complete our project. This
model in software engineering came into existence because of the defects in the
traditional waterfall model. The phases of the modified model are similar to the
traditional model, they are
Requirement Analysis Phase
Design Phase
Implementation Phase
Testing Phase
Maintenance Phase
3.2. Platforms Used and Programming Languages
3.2.1. JAVA
For the programming of the server side program we have used JAVA as our
language platform. We chose JAVA because of its simplicity yet the broad coverage
in the field of programming and mainly we have used JAVA because of its portability
3.2.2. Android For the programming of the client side application we have chosen Android
platform because of its wide range of use. By this time Android is the most popular
OS used in the smartphones. The programming in Android is also Java based
programming.
Page 13
ARC
13
Chapter 4
System Design
Page 14
ARC
14
4.1. Block Diagram of System
Fig- Basic Block Diagram of ARC system
This is the basic block diagram of “Android Remote Controller”. It consists of
two modules, client side and the server side. The client and the server is connected
Via Wi-Fi.
Page 15
ARC
15
4.2. USE CASE Diagram:-
Use Case Diagram is used to represent user interaction with the system to
describe the actions performed between the actor and the application to achieve the
goals of the system. The user of the system can be anyone who owns a Wi-Fi enabled
Android device and the Pc which he/she wishes to be controlled.
The above use case diagram shows the user interacting with the Client module
(ARC) which communicates with server module (ARCPC). The user can performs the
operations of PCs like opening task manager, browsing files, opening and controlling
windows media player, controlling the mouse movement and left/right click actions
similar to wireless mouse, shutting down PC and easy slide show presentation
remotely from android device(ARC client).
Page 16
ARC
16
4.3. System Sequence Diagram
System sequence diagram shows the interaction of actor with the whole system. In
our system there are two systems i.e. one is client and the other is the server one. The
user directly interacts with the client and the client (ARC) and then it interacts with
the server.
Page 17
ARC
17
4.4. DFD -Level-0
Fig: DFD- Level 0
4.5. DFD- level-1
Wi
-Fi
0
Page 18
ARC
18
4.6. Sequence Diagram
Fig: Sequence Diagram
Sequence Diagram is used to show the object interactions in a sequence of
time. Exchange of messages between the objects during the execution of the
functionality can be depicted in the sequence diagrams. These are also used to show
the processes interaction with each other in accordance of time. The following are the
various sequence diagrams:
The user directly communicates with the client (ARC) and the client interacts
with the server. The client consists of six classes / objects and the server consists of
two classes. All the classes in client is connected to server through two networking
classes, network class in ARC and receive class in ARCPC. All the desired operations
are sent from client to server via network class in ARC and the command is
recognized by receive class in server and then perform the respective operations.
The user first establishes network connection between client and server. To control
the mouse of server the user calls mouse class and it sends the respective position of
touch motion in android’s screen to network class which passes the message
(coordinates) to receive class in server and move the cursor to respective position.
Similarly left click and right is performed through network and receive classes. The
network class similarly transmits the messages like opening windows media player
and controlling it, file browser , shortcut items like task manager, shutdown pc to
server side and the receive class in server reads those messages and perform the task
in pc accordingly.
Actor
Page 19
ARC
19
4.7. Design Class Diagram
Fig: Design Class Diagram
Class Diagram is used to describe the structure of the system with the help of
the classes, attributes, operations on the attributes and relation between the classes of
the system. The classes that are designed to achieve the functionality of the
application are shown in the Class Diagram. It depicts the basic classes utilized to
build the whole application. The functionality of each class is as follows:
i) Arc
It is the main class of client (android device) and its main activity is used
to load the application and displays the UI (User Interface) to access the features
of the application. Based on the user action, corresponding activity is loaded.
Page 20
ARC
20
ii) Networking
This class is used to establish a socket network between client and server. The
networking code is implemented in this class and also it acts as the mediator class
between client and server to transmit message from client to server
iii) Media control
This class is used to open windows media player of pc and control it’s media
options like play, pause, stop, next, forward, volume. It creates an object of
networking class to send message to server.
iv) Mouse control
This class reads the position to touch location on the android’s screen and
sends the respective coordinates to server . It also reads the left click or right click
instruction from the user.
v) File manager
This class browses the drives and paths of files in server and return it to client .
This class is used to import files of server to client.
vi) Audio streaming
This class is used to stream the audio to client which is being played on pc at
real time.
vii) Playing audio
This class is used to recognize the playing audio in server and upstream the
audio to the client.
viii) Receive
This class is used in server module to receive all the commands sent from the
client and execute them.
ix) ArcPC
It is the main class of server which displays the IP address of server PC and
establishes the connection between client and server.
4.8. Limitations
Though we managed to resolve most of the requirements discussed above, still there are
some challenges we could not get through. Those challenges led to create some of the
limitations of the application. Some of the limitations of the applications are listed below:
i) Cannot operate all the shortcuts of pc remotely. Shortcut items are limited.
ii) User cannot customize remote access of pc as per their changing demand.
iii) Cannot remotely copy, paste, move files of pc from one drive to other within the pc
from android.
iv) Cannot transfer files from android to pc.
v) Cannot secure file import from pc to android which may violate privacy.
Page 21
ARC
21
4.9. Further Enhancements
We have plans to modify this application for more practical and commercial use.
Hence, we have listed some of the points as future enhancements as below:
i) Bidirectional files transfer.
ii) Modifying System services.
iii) Using encryption methods for the secure connection and transfers.
iv) Password security.
v) Implement VNC to visualize desktop’s screen on android phone.
4.10. Conclusion
Hence, the networking software, Android Remote Controller is developed to meet the
minimum objective of this project. We gained the general concept of Java programming
language and android programming .We also learned to use different tools like net beans
for java and ADT (Eclipse) for android app development. While completing this project we
learned to follow software development processes and prepare the documents accordingly.
We were also made familiarized with current software development trends and the
processes followed. By the end of the project we are able to present an android application
and a java server application that will help the user to control PC remotely from android
phones via Wi-Fi.
Page 22
ARC
22
References
1. IT Group-72, “Control computer through Mobile”
2. Android, http://www.android.com
3. Gmote, http://www.gmote.com
4. Developers.android.com
5. Angel Gonzalez Villan and Joseph Jovra Steve “Remote Control of Mobile
Device in Android Platform”
6. Chaitali Navasare, Deepa Nagdev and Jai shree “Pocket Droid- A PC Remote
Control”, ICINT 2012
Page 23
ARC
23
Appendix
Snapshots
A. ArcPc (server module)
Page 24
ARC
24
B. ARC (client module)