arcflipkarma.com/media_dir/main_documents/arc%20locus_1.pdf · 4.5. dfd- level-1 ... arc client...

25
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

Upload: dinhdiep

Post on 12-Jun-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

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

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

ARC

3

Chapter 1

Introduction

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.

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.

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.

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

ARC

8

Chapter 2

Study Analysis

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.

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.

ARC

11

Chapter 3

Working Principle

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.

ARC

13

Chapter 4

System Design

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.

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

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.

ARC

17

4.4. DFD -Level-0

Fig: DFD- Level 0

4.5. DFD- level-1

Wi

-Fi

0

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

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.

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.

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.

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

ARC

23

Appendix

Snapshots

A. ArcPc (server module)

ARC

24

B. ARC (client module)

ARC

25