Vous êtes sur la page 1sur 52

Remote Desktop System

1. INTRODUCTION
1.1 About the system
The Remote Control system is used to communicate with the remote system and is
used to establish a connection between the remote systems without considering its
distance range via internet and control the operation of the remote system. Here the
smartphone is working as a remote controller. The system is built upon Remote
Desktop protocol. This protocol is developed by Microsoft, which provides the user
with a graphical interface to connect to another computer over a network connection.
The user employs RDP client software for this purpose, while the other computer must
run RDP server software.

1.2 Need for the System


The need is to develop an application through which user can monitor the
computer over a network and can perform the administrative tasks such as accessing
programs, hardware details, manipulating the files, logoff the system, mouse
operations, viewing the full screen or navigating only to the part required, refresh
operations and several other functions can be performed from the cellular phones
itself.

1.3 About the Environment


Electronic devices have acquired an increasingly important role in our society and
are integrated in our lives making both the users and their devices more accessible.
Currently in the western world most families have at least one computer. This
computer is generally equipped with multimedia accessories and an Internet
connection. Portable devices, such as mobile phones and PDAs, are part of this
technological and social environment. As soon as this project it implemented one will
be capable of remotely accessing and interacting with the computer system. It will
work efficiently at any place with a good internet connection. The interface is designed
in a simple and easy to understand and intractable form. The application will be much
handy for business as well as commercial purpose.
CIMAT

Remote Desktop System

1.4 Salient Features of the System


Access computer anywhere with any network.
Easy to use and understandable cellular phone based viewer to operate computers.
It does cover more distance than Bluetooth (100 meter range).

CIMAT

Remote Desktop System

2. PROBLEM DESCRIPTION AND OBJECTIVE


2.1 Problem Description
Computer systems are the most widely used commodity all over the world. This
system sometimes faces problems due to the malfunction of the software installed in it.
To solve the problem the technician should travel to the location where the system and
then rectify the malfunction. The malfunction may be a minor one, but the user with
less computer knowledge is unable to rectify it. So every now and then when such
malfunction occur the technician is called to the location of the system. To overcome
such issues the employment of the Remote control system is required. This remote
control system helps to troubleshoot the remotely placed system from any location.
Other than troubleshooting manipulation of files , performing or undertaking
presentation.

2.2 Objective
To access the remote desktop from mobile phone.
To take control of remote computer hardware devices.
To perform remote troubleshot for computers.
Virtual teaching or presentation can be performed.

CIMAT

Remote Desktop System

3. SYSTEM STUDY AND ANALYSIS


Introduction
System analysis is a general term that refers to an orderly, structured process for
identifying and solving problems. We call system analysis process lifecycle
methodology, since it relates to four significant phases in the lifecycle of all business
information system. The life cycle is divided into four phases.
Study Phase
Design Phase
Development Phase
Implementation Phase
Study Phase
Study of the process and system being presently followed to put forwards the
difficulties the people faced while trying to access or control a computer system from a
remote location. It bring forward the problems of how the system was not able to
support the user need while using the application. Based on which a new system will
be proposed and put forward for development and implementation to properly achieve
users need. After the study it was found that the earlier system was based on
Bluetooth. Which limit the range from where a user can access the remote system. The
current range for the device to connect with Bluetooth is 100 meters. The system was
also limited to some operations like control over the mouse movement and audio/video
player functionality. So the proposed system should be able to overcome these
limitations.
Design phase
Based on the difficulties faced in study phase the proposed Remote control
system is designed. The design is such that the user can easily interact with the system
without any confusion or difficulties. It is kept in mind that the system should only put
forward all the necessary information which will help in interacting with the system
environment. The design is done in such a manner that the application detects the
available internet connection. The view of the application is designed with few button
CIMAT

Remote Desktop System

which can perform most of the events that helps in interacting with the computer
system.
Development Phase
The coding process of the various validations is done for the proposed system
design of Remote control application. Not only the coding section, the infrastructure is
also developed during this phase and all roles are active in building and testing
deliverables. The button placed on the viewer are checked and verified for the outcome
of every button pressed. The time delay on the viewer and the remote system is
checked.
3.1 Existing system
The current existing systems are potentially good systems, which do allow us to
remotely connect to the remote machines and access their respective desktops. But
most of the existing systems are quite difficult to use and implement for a layman.
Moreover these systems have limit access over the computer system. These mostly are
able to control mouse events and few applications of the computers. But full and final
control over the computer features is less perfect.
Disadvantages
Remote Desktop Protocol (RDP) is a multi-channel protocol that allows a user to
connect to a computer running Microsoft Terminal Services.
In some of the existing systems, when a user accesses the desktop of the remote
machine then the display terminal of that remote machine is disabled. This is a
major limitation, because it prohibits the original user of the remote machine to
carry out his/her task.
In some of the already existing systems, the quality of desktop image captured is
of poor quality.

CIMAT

Remote Desktop System

3.2 System Description


The proposed system is a Virtual Network Computing based. A Virtual
Network Computing is a desktop sharing system which uses the RFB (Remote Frame
Buffer) protocol to remotely control another computer. It transmits the user events
from one computer to another relaying the screen updates back in the additional track,
more than a network. The standard of mobile cloud computing actually separates the
user interface from the application logic. Here, a Viewer component is executed on the
mobile device, which is operating as a remote display for the applications running on
distant servers in the cloud. distant display framework is collected of three
components: a server side component that intercepts encodes and transmits the
application graphics to the client, a viewer component on the client and a remote
display protocol that transfers display updates and user events between both endpoints.
In a mobile cloud computing environment, the remote display protocol deliver
complex multimedia graphics over wireless links and render these graphics on a
resource constrained mobile device. Offloading applications to the cloud is a straight
forward way to save on energy consumption because the amount of local processing is
reduced.
Advantages
View and interact with remote system.
Security restrictions like approval from computer system is require by the cellular
phone over every connection request.
Enables the user to use softwares installed on the computer system via the cellular
phone.
3.3 System Requirement Analysis
System Analysis would lead in determining the requirements needed in software.
These requirements in software should be implemented otherwise the software may
not answer the concerns or may lack in its usage. This stage will somehow determine
how the software should function.

CIMAT

Remote Desktop System

Feasibility Study
The feasibility of the Remote Control System project can be ascertained in terms
of technical factors, economic factors, or both done by before starting the project. A
feasibility study is documented with a report showing all the ramifications of the
project.

Technical Feasibility
The expertise used can be urbanized with the current equipments and has the
technical capacity to hold the data required by the new system.
This knowledge supports the recent trends of technology
Easily accessible, more secure technologies.

Technical feasibility on the existing system and to what extend it can support the
proposed addition. We can add new modules easily without affecting the Core
Program. Most of parts are running in the server using the concept of stored
procedures. The server accelerates and extends desktop and application deployment to
any device, improving remote workers efficiency and providing security over
connection. Mobile devices have become an essential part of our daily life. Their
portability is well appreciated by end-users and smart phones sales will soon surpass
desktop sales. As mobile device attractiveness grows, end-user demands to scamper
heavier applications are evenly increasing. Although advances in neatness persist, the
longing to preserve the compensation.
Financial feasibility
The software and hardware required for the system is analyzed so as to get the
total idea of the financial state of the project. It is find out that as the system is a
mobile application runnable on android devices, the hardware resources require is very
low. Also the software requirement it less. The system will work on any system
supporting android. The working of the system will mainly require a dedicated internet
connection. So after the analysis it is determined that the Remote control system is a
financially efficient system. The system is maintained by a single user so manpower
required is less. As a dedicated internet connection is required for the remote control
CIMAT

Remote Desktop System

system to work, both computer system and cellular phone should purchase an package
of internet connection.
Operational feasibility
The Remote control is analyzed such that it meets the purpose of the system. In
future this will still be reliable as it is an open source platform based project which is
implemented using Android and java. The software is well advance to engulf all future
changes. As the entire smart phone that is marketed has 50% of android device it is
developed so as to meet any android device. Its interface is easy to access and control.
It is also analysis that the proposed system is properly fulfilling the operation specified
in it.
3.4 Hardware and Software Requirements.
3.4.1 Requirement
The selection of hardware is very important in the existence and proper working
of any software. When selecting hardware, the size and requirements are also
important.

System Requirement
Network

: Broadband or similar high speed connection.

OS

: windows (XP, 7, 8, 8.1, 10).

Processor

: 400 MHz or greater.

Ram

: 512 MB

Disk space

: 20GB HDD

Smartphone Requirement

CIMAT

Network

: WI-FI or Mobile data connection.

OS

: Android jellybean and above.

Processor

: Quad-core 1.7 GHz Krait 300

Ram

: 512 MB

Disk space

: 1GB

Remote Desktop System

3.4.2 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. It based on the Linux kernel. Android is designed primarily
for touch screen mobile devices such as smart phones and tablet computers.
Features
Application framework enabling reuse and replacement of components
Dalvik virtual machine optimized for mobile devices
Integrated browser based on the open source Weskit 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).

CIMAT

Remote Desktop System

ANDROID ARCHITECTURE
The following diagram shows the major components of the Android operating
system.

Each

section

is

described

in

more

detail

below

Fig1: Major Components of Android operating System


3.4.3 Applications
Android will ship with a set of core applications including an email client, SMS
program, calendar, maps, browser, contacts, and others. All applications are written
using the Java programming language.
Application Framework
By providing an open development platform, Android offers developers the
ability to build extremely rich and innovative applications. Developers are free to take
advantage of the device hardware, access location information, run background
services, set alarms, add notifications to the status bar, and much, much more.
Developers have full access to the same framework APIs used by the core
applications. The application architecture is designed to simplify the reuse of
components; any application can publish its capabilities and any other application may
then make use of those capabilities (subject to security constraints enforced by the
framework). This same mechanism allows components to be replaced by the user.

CIMAT

10

Remote Desktop System

Libraries
Android includes a set of C/C++ libraries used by various components of the
Android system. These capabilities are exposed to developers through the Android
application framework. Some of the core libraries are listed below:
System C library - a BSD-derived implementation of the standard C system
library (libc), tunedfor embedded Linux-based devices
Media Libraries - based on PacketVideo'sOpenCORE; the libraries support
playback and recording of many popular audio and video formats, as well as static
image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
Surface Manager - manages access to the display subsystem and seamlessly
composites 2D and 3D graphic layers from multiple applications
LibWebCore - a modern web browser engine which powers both the Android
browser and an embeddable web view
SGL - the underlying 2D graphics engine
3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use
either hardware 3D acceleration (where available) or the included, highly
optimized 3D software rasterizer

Android Runtime
Android includes a set of core libraries that provides most of the functionality
available in the core libraries of the Java programming language. Every Android
application runs in its own process, with its own instance of the Dalvik virtual
machine. Dalvik has been written so that a device can run multiple VMs efficiently.
The Dalvik VM executes files in the Dalvik Executable (.dex) format which is
optimized for minimal memory footprint.
Linux Kernel
Android relies on Linux version 2.6 for core system services such as security,
memory management, process management, network stack, and driver model. The
kernel also acts as an abstraction layer between the hardware and the rest of the
software stack.
CIMAT

11

Remote Desktop System

Android SDK
The Android software development kit (SDK) includes a comprehensive set of
development tools. These include a debugger, libraries, a handset emulator based on
QEMU, documentation, sample code, and tutorials. Currently supported development
platforms include computers running MacOSX 10.5.8 or later, Windows XP or later.
The officially supported integrated development environment (IDE) is Eclipse using
the Android Development Tools (ADT) Plugin, thoughIntelliJIDEAIDE (all editions)
fully supports Android development out of the box, and Net Beans IDE also supports
Android development via a plugin. Additionally, developers may use any text editor to
edit Java and XML files, then use command line tools to create, build and debug
Android

applications

as

well

as

control

attached

Android

devices.

The

Android SDK includes sample projects with source code, development tools,
an emulator, and required libraries to build Android applications. Android SDK build
tools are used to debug, build, run and test an Android application.
3.4.4 Xml 1.1
Android applications are written in the Java programming language, so
experience with Java technology is must-have. To develop for Android, user will need
the Android .All of the code shown in this article will work with any version of the
Android SDK, but SDK 1.5_pre was used to develop the code. User can develop
Android applications with just the SDK and a text editor, but it is much easier to use
the Android Developer Tools (ADT), an Eclipse plug-in.

Xml on Android
The Android platform is an open source mobile development platform. It gives
user access to all aspects of the mobile device that it runs on, from low level graphics,
to hardware like the camera on a phone. With so many things possible using Android,
you might wonder why you need to bother with XML.
XML is so interesting; it is working with the things that it enables if user wants to send
data to a Web service, you might also need to send XML. In short, if users Android
application will leverage the Internet, then you will probably need to work with XML.
CIMAT

12

Remote Desktop System

Xml Parsers
API: Application programming interface
RSS: Really Simple Syndication
SDK: Software Developers Kit
UI: User interface
3.4.5 Java Programming Language
The java programming language is a high-level language that can be
characterized ball of the following buzzwords:
Simple
Architecture neutral
Object oriented
Distributed
High performance
Interpreted
Multithreaded
Robust
Dynamic

With most programming languages, you either compile or interpret a program so


that you can run it on your computer. The Java programming languages unusual in that
a program is both compiled and interpreted. With the compiler, first you translate a
program into an intermediate language called java bites code the platform-independent
codes interpreted by the interpreter on the Java platform. The interpreter parses and
runs each Java byte code instruction on the computer.
The Java Platform
A platform is the hardware or software environment in which a program runs.
Weve already mentioned some of the most popular platforms like Windows2000,
Linux, Solaris, and Mac OS. Most platforms can be described as a combination of the
operating system and hardware. The Java platform differs from most other platforms
CIMAT

13

Remote Desktop System

in that its a software only platform that runs on top of

other hardware-based

platforms.
The Java Platform Have Two Components
The Java Virtual Machine (Java VM)
The Java Application Programming Interface (Java API)
The Java API is a large collection of ready-made software components that
provide many useful capabilities, such as graphical user interface (GUI) widgets.
The most common types of programs written in the Java programming language
are applets and applications. If youve surfed the Web, youre probably already
familiar with applets. Applet is a program that adheres to certain conventions that
allow it to run within a Java-enabled browser. An application is a standalone program
that runs directly on the Java platform. A special kind of application known as a server
serves and supports clients on a network. Examples of servers are Web servers, proxy
servers, mail servers, and print servers. Another specialized program is a servlet. A
servlet can almost be thought of as an applet that runs on the server side. Java Servlets
area popular choice for building interactive web applications, replacing the use of CGI
scripts. Servlets are similar to applets in that they are runtime extensions of
applications. Instead of working in browsers, though, servlets run within Java Web
servers, configuring or tailoring the server. applet is a program that adheres to certain
conventions that allow it to run within a Java-enabled browser. An application is a
standalone program that runs directly on the Java platform.

3.5 Costing and Scheduling


3.5.1 Costing
The cost of the project calculated using COCOMO model and it provides the
final cost of this project given below.
COCOMO is an open model, it includes
The underlying cost estimation equations.
Every assumption made in the model.

CIMAT

14

Remote Desktop System

Every definition.
The costs included in an estimate are explicitly stated. Because COCOMO is well
defined, and because it doesnt rely upon proprietary estimation algorithms, the
advantages to its user:
COCOMO can be calibrated to reflect your software development environment,
and to produce more accurate estimates.
The COCOMO calculations are based on your estimates of a projects size in
Source Lines of Code(SLOC).
The estimation formulas have the form
Estimation formulas = Li(LOC) exp(Xi)*EAF
Where E is the effort applied in person-months,
Li is the coefficient and exponents Xi are the organic values,
LOC is estimated number of delivered lines of code for the project.
Effort Adjustment Factor (EAF) having the typical values. That range from 0.9 to 1.4
Li=3.2, Lines of code=.205, Xi=1.05 and EAF is the 1.4
Em(Estimation cost per month) = 3.2(.205)(1.05)^1.4
= (0.656)(1.07069)
=702.37
Project coding time
= 3 months
Coefficient value = 3 months (90 days) / line of code
= 439
Effort Estimation =. (Coefficient value ) (Estimation cost per month)
.439 * 702.37 = 0.309
Approximation cost = Effort Estimation * Project coding time.
=0.309 * 3
= 927

CIMAT

15

Remote Desktop System

Table1: Cost estimation


Phase

%
Cost

Direct

35%

324.45

10%

92.7

Manpower

40%

370.8

Development

5%

46.35

Testing

5%

46.35

Maintenance

5%

46.35

Resources
Indirect
Resources

Costing

Total Cost

927

3.5.2 Scheduling
Scheduling is the culmination of a planning activity that is a primary component
of software project management. When combined with estimation methods and risks
analysis, scheduling establishes a road map for the project manager. Scheduling begins
with process decomposition.
Table 2: Scheduling

CIMAT

Analysis

16 - 01 2016

Design phase

13 02 - 2016

Coding

10 03 2016

Testing

15 03 2016

Implementation

23 03 - 2016

Document

12 04 -2016

16

Remote Desktop System

4. SYSTEM DESIGN AND DEVELOPMENT

Introduction
Remote control System design involves two main aspects over which the
success of the system depends. The input design and output design. The input and
output design deals with the proper acceptance of the information given to the system
by the user which should satisfy certain validation and authentication. The design
involves translating information requirements and conceptual design into technical
specification and general flow of processing. After the user requirements are
identified, related information is gathered to verify the problem and after evaluating
the existing system, a new system is proposed. The design of remote control system, is
prepared to achieve high performance and user friendly. It has been assured that the
system will have the functions and promises of the proposed system. Design phase acts
as a bridge between the software requirement specification and the implementation
phase, which satisfies the requirements. The major step in design is the preparation of
input forms and the design of all the major output forms in a manner acceptable to the
user in all aspects. The base lies in the complete understanding of the system. The data
flow diagrams explicitly specify the process flow. Table design or database design is
the next major step. Extreme care has to be given here and several concepts of
normalization have to be applied at many levels. Program specification comes next.
Here we specify various aspects of the program and also will explain in detail the
major components used in the program. The overall process flow is also explain in
much detail. Various validation rules and constraints such as data format checking are
applied during data input. The citizen or seekers that registered to the application are
validated by administrator. To ensure security strict checking of password and
username had done. Inputs, outputs have to be designed as per predefined guidelines.
Effective and meaningful navigation has to be applied. In the input design, the useroriented inputs are converted into computer-based formats whereas in the output
design, the emphasis is on producing the hard copy or soft copy of the information
requested for. Code design is also of much importance. It directly refers to various
CIMAT

17

Remote Desktop System

codes used in the programs and their usage specification. The category to which these
codes belong should also be specified.
4.1 Input Design
Input design converts user-oriented inputs to computer-based format, which
requires careful attention. The collection of input data is the most expensive part of the
system in terms of the equipment used and the number of people involved. In input
design, data is accepted for computer processing and input to the system is done
through mapping via some map support or links. Inaccurate input data is the most
common cause of errors in data processing. The input screens need to be designed very
carefully and logically. A set of menus is provided which help for better application
navigation. While entering data in the input forms, proper validation checks are done
and messages will be generated by the system if incorrect data has been entered.
Carefull form and layout design is done in the remote control system, the
overall system is divided into a number of layour. This layour will differ based on the
fragments changes to engulf the complete screen of the remote system on the mobile
viewer.
4.2 Output Design
Outputs are the most important and direct source of information to the user and
to the department. Intelligent output design will improve the systems relationship with
the user and help much in decision-making. Outputs are also used to provide a
permanent hard copy of the results for later uses. The layour used in the system are
shown in the appendix. The Output Design is another very important phase. The
outputs are mainly used to communicate with a user, processing the input data given
by the user etc.
A quality output is one, which meets the requirements of the end user and
presents the information clearly. In any system results of processing are communicated
to the users and to other through outputs. In the Output design it is determined how the
information is to be displayed for immediate need and also hardcopy out.
CIMAT

18

Remote Desktop System

Efficient, intelligible output design should improve the systems relationship


with the user and the help in decision making.
Input and Output Design screens are provided in the appendix.
4.3 Code Design
A code is an ordered collection of symbols designed to provide unique
identification of entity or attribute. The coding system should be designed to offer
uniqueness, expansibility, stability, meaningfulness, operability. The code must be
simple to apply and easily understood by each user. The code should be easy to modify
to reflect necessary changes in conditions. The code designs of the proposed system
which do not require frequently updated and also promote user efficiency. The code
should be adequate for proposed system and anticipated data processing both for
human and machine use.
4.4 Test Case Design
Test case design focuses on a set of techniques, which meets all testing
objectives, which are mentioned below.
Testing is a process of executing a program with the intent of finding an error.
A successful test is one that uncovers as yet undiscovered error.
Testing demonstrates that software functions work according to specifications.
In addition data collected from testing provides a good indication of software
reliability and some indication of software quality as a whole. Testing results in the
deduction in the numbers of errors. Critical modules are tested as early as possible.
4.4.1 Preparation of Test Data
Taking various kinds of test data dose the above mentioned testing, Preparation
of test data plays a vital role in system testing. After preparing test data the under
study is tested using that test data, errors are again uncovered and corrected by
implementing the above testing steps and corrections are noted for future use.

CIMAT

19

Remote Desktop System

4.4.2 Using Live Test Data


Live test data are those that are actually extracted from the organization. It is
realistic data that will show how the system will perform for typical processing
requirements, assuming that the live data entered are in fact typical such data generally
will not test all combinations or formats that can enter the system.
4.4.3 Using artificial test data
Artificial test data are created solely for the test purposes, since they can be
generated to test all combination of formats and values. The most effective test
program use artificial test generated by person other than those whose wrote the
programs, often an independent team of testers formulates a testing plan, using the
system specification.
4.5. Module Description
4.5.1 Server Connecting Module
Authentication is set by asking the username and password on the cellular
phone, if the validation is correct it asks for the ip address of the remote system.
Otherwise it displays an error message. If the ip address is incorrect it displays an error
message and if the ip address is correct, with the help of the http proxy the client is
connected to the server which is our remote desktop. Screenshot provided in the
appendix.
4.5.2 Desktop viewing module
The computer screens view is fragmented into 8 to 16 parts display area of the
mobile using Remote frame buffer protocol. Text is entered and edited locally on the
cellular phone using the built-in text input capability of the cellular phone. After
editing on the cellular phone, the text is transmitted.
4.5.1 Notepad client
For sake of communication between parties involved in, we have provided
notepad client. This client enables us to type any kind of message that we wants to
CIMAT

20

Remote Desktop System

convey to the user which is working on server. This client saves .txt file to server
computer. By seeing message in the notepad file user will respond.
4.6 Development
Development is the state in the project where the theoretical design is turned a
working system. The most critical stage in achieving a new successful system and
getting in confidence on the new system for the user that it will work efficiently and
effectively. The system can be developed only after thorough testing is done and if it is
found to work to the specifications. It involves careful planning, investigation of the
current system and its constraints on development. More complex the system being
developed, the more work involved will be the system analysis and design effect
required for development.

CIMAT

21

Remote Desktop System

5. TESTING AND IMPLEMENTATION


5.1. Objective of Testing
The testing of the remote control System is actually a series of different tests
whose primary purpose is to fully exercise the computer-based system. Testing helps
in finalizing the software application or product against business and user
requirements. It is very important to have good test coverage in order to test the
software application completely and make it sure that its performing well and as per
the specifications.
While determining the coverage the test cases should be designed well with
maximum possibilities of finding the errors or bugs. The test cases should be very
effective. This objective can be measured by the number of defects reported per test
cases. Higher the number of the defects reported the more effective are the test cases.
5.2 Test Plan
After the integration of this proposed system, the verification and validation of
the system has been carried out. When the user gives the appropriate input, the system
simulates properly and gives reasonable output. When the input from the user is found
to gives appropriate input.
5.2.1 Verification
Verification has been done by getting inappropriate input. If the user gives
inappropriate invalid data message box with a desired message as invalid key is found
will be displayed.

5.2.2 Validations
Validation also has been done through inappropriate user input. For example, if
user giving inappropriate input in new message page. This will warn user to give
correct input. Example : phone number, date and time.

CIMAT

22

Remote Desktop System

5.3 Testing Methods


In this system testing to test our project in different ways have mainly 3 types
of testing. They are as follows:
Unit Testing
Integrated Testing
Acceptance Testing
5.3.1 Unit Testing
Unit testing focuses on verification errors on the smallest unit of software
design-the module. Using the procedural design description as a guide, important
control paths are tested to uncover errors within the boundary of the module. The
module interface is tested to ensure that the information properly flows into and out of
the program unit under test. Boundaries conditions are tested to ensure that the module
operates properly at the boundaries established to limit of restrict processing.
5.3.2 Integration Testing
Integration testing is a systematic technique for constructing the program
structure while conducting test to uncover errors associated with interfacing. The
objective is to take unit tested modules and build a program structure that has been
dictated by design.

5.3.3 Acceptance Testing


Finally when the software is completely built, a series of acceptance tests are
conducted to enable the client to validate all requirements. The user conducts these
tests rather than the system developer, which can range from informal test drive to a
planned and systematically executed series of tests.
These acceptance tests are conducted over a period of weeks or months, there by
uncovering cumulative errors that might degrade the system order time. In this process
alpha testing and beta testing are used to uncover the errors that only the end user
seems able to find.

CIMAT

23

Remote Desktop System

5.4 Testing in your System.


Manual testing is being performed on Remote Desktop System. Here first the
connection is established among the cellular device and the remote computer system.
After the connection is established. It is confirmed that the application installed on the
cellular device show same desktop view of the computer system at remote location.
Then the mouse movement is checked in application and what changes has occurred
on the computer system is noted. Button provide on the application is checked and the
result is noted by monitoring the computer system. Finally the rate at which the text
change occur in both screens is verified by using a notepad application.

Before the software is ready to be implemented Validation Testing is carried


out. Validation testing can be defined in many ways but a simple definition is that
validation succeeds when software functions in a manner that can be reasonably
accepted by the customer. The validation testing goal is to validate and be confident
about the software product or system, that it fulfils the requirements given by the
customer. The acceptance of the software from the end customer is also a part of
validation testing.
The validation testing of the remote desktop system results that
The standard Remote Desktop access permission is enabled in windows
OS.
The server is checked and is efficiently connected with the android
application with server connection interface.
Once the server is detected by the application the connection is
established without any delay.

The testing methods in this particular system is considered success when there is no
delay in connection between the remote system and the cellular phone and also the
interaction result in both the system is parallel carried out without delay.

CIMAT

24

Remote Desktop System

5.5

Implementation.
Conversions to new systems often get off track because companies fail to plan

the project realistically or they don't execute or manage the project by the plan.
Remember that major systems conversions are not just IT projects. Companies should
maintain joint responsibility with the vendor in the project-planning process,
maintenance of the project-plan status, as well as some degree of control over the
implementation.
All key user departments should have representation on the project team,
including the call centre, website, fulfilment, management, merchandising, inventory
control, marketing and finance. Team members should share responsibilities for
conversion, training and successful completion of the project tasks.
The software vendor should have a time-tested project methodology and
provide a high-level general plan. As the merchant client, your job is to develop the
detailed plan with the vendor, backed up with detail tasks and estimates.
For example, a generalized plan may have a list of system modifications, but
lack the details that need to be itemized. These may include research, specifications,
sign-offs, program specs, programming, testing and sign-off, and the various levels of
testing and program integration back into the base system.
Plan for contingencies, and try to keep disruptions to the business to a
minimum. We have seen systems go live and with management initially unable to get
their most frequently used reports this can be a big problem.
Along the same lines, you should schedule the go-live for the slowest period of
the year. In consumer retail and ecommerce businesses, systems generally aren't
brought live from January through April.
The systems project should have a senior manager who acts as the project
sponsor. The project should be reviewed periodically by the steering committee to
track its progress. This ensures that senior management on down to the department
managers are committed to success.
Once you have a plan that makes sense, make sure you manage by the plan. This
sounds elementary, but many companies and vendors stumble on it.

CIMAT

25

Remote Desktop System

Early in the project publish a biweekly status report. Once you get within a few
months, you may want to have weekly conference call meetings and status updates.
Within 30 days of go live, hold daily meetings and list what needs to be achieved.
Probably the most under planned area is in training and writing procedures.
You need to understand that the vendor will provide documentation only about the
application and, at best, how the system operates in terms of functionality.
The vendor's approach is typically to train your trainer. From there, it's your
responsibility to develop training materials and approaches for the various departments
and the new policy and standard operating procedures (SOPs) that are required.
Most companies don't have full-time trainers. It's a good idea to train each
department manager on the application, and then have them develop the SOPs and set
training for their department. All of this will need to be standardized so that the
documentation is at the same level of detail across the operational departments.
It generally takes six to 12 months after implementation for companies to start
feeling comfortable with the new systems. It may take longer to achieve the ROI from
the application. Training is the single most important thing you can do to shorten the
learning curve.
Most vendors offer not only the initial training, but also more advanced instruction for
super users. Budget for the additional training; it's the smallest part of the total
expense. And perform a post implementation audit 30 to 60 days after the go-live.
Identify the individuals and departments for which additional training is necessary

CIMAT

26

Remote Desktop System

6. COMPARATIVE STUDY
Computer system is advancing at a day to day rate, as it is considered as the
backbone of the technological world. Its advancement has reached to a point that now
the operations over the computer system is done remotely. As per the system followed
till now the remote controlling was restricted to mouse movement and control over
some defined application. The proposed system is far advanced; it has equipped a
graphical interface design with the help of remote desktop protocol. This enable the
user to visualise the remote system screen on the viewer application installed on the
smartphone from any location. Also the earlier system was based on Bluetooth so the
distance and range was limited. Now the use of internet has cancelled the problem of
distance and range. The most important purpose achieved by the remote control
system is troubleshoot the of the computer system at remote location. It is so firmly
confirmed that the developed system is highly functional than the previous system.

CIMAT

27

Remote Desktop System

7. CONCLUSION
Remote control system is working as a perfect solution for the lack of time in
this busy world. It has cancelled the need that the computer operator should be present
at the system location to interact with it. Now the user can be at any location and still
can interact with system in remote location. The presentation work, the
troubleshooting and the teaching process all can now be achieved from any location.
To operate this kind of project man power required is very less so the system can be
adopted by any kind of user. This concept of remote controlling has the highest
possibility to be developed in the future. So the usage of the system at its starting level
will help understand and research the future enrolment of this kind of technology.

CIMAT

28

Remote Desktop System

8. SCOPE FOR FUTURE DEVELOPMENT


Computer system will be the backbone of the world with the internet at its root.
The remote control system thus will be more frequently equipped and future
developed. In the future with the concept of the remote controlling one will be able to
do any task related to a computer system like, when the technology will be joined with
automobile technology people will be able to control their automobile with just a
remote control application. Furthermore the activities of a room will also be able to be
controlled with an remote control application. Thus the Remote control system will
surly have high scope in future. High chances are there that each and every device
based on computer system will be implementing remote based systems.

CIMAT

29

Remote Desktop System

9. BIBLIOGRAPHY
1.

Tristan Richardson, The RFB Protocol, RealVNC Ltd., 28 August 2008.

2.

Rick Rogers, John Lombardo, ZigurdMednieks, G. Blake Meike, Android


Application Development , 1st edition, O'Reilly Media, 2009

3.

Lauren Darcey, Shane Confer, S aims Teach Yourself Android Application


Developmentin24 Hours , 2nd edition, Sams (2012).

4.

Reto Meier, Professional Android 2 Application Development , 2nd edition

Wrox

Programmer to Programmer (2009).

5.

SayedHashimi, SatyaKomatineni, Dave MacLean, Pro Android 3rd , illustrated,


Apress, (2011).

CIMAT

30

Remote Desktop System

10 . APPENDIX
A. Sample code

Touch
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.content.DialogInterface;
import android.widget.EditText;
import android.widget.SeekBar;

import android.util.Log;

public class Touch extends Activity{


private EditText ipField;
private EditText portField;
private AlertDialog alert;
private AlertDialog network_alert;
private SeekBar sensitivity;

private boolean firstRun = true;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

ipField = (EditText) findViewById(R.id.EditText01);


portField = (EditText) findViewById(R.id.EditText02);
CIMAT

31

Remote Desktop System

sensitivity = (SeekBar) findViewById(R.id.SeekBar01);

ipField.setText("192.168.1.2");
portField.setText("5444");

alert = new AlertDialog.Builder(this).create();


alert.setTitle("Server Connection Unavailable");
alert.setMessage("Please make sure the server is running on your computer");
alert.setButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
return;
}
});

network_alert = new AlertDialog.Builder(this).create();


network_alert.setTitle("Network Unreachable");
network_alert.setMessage("Your device is not connected to a network.");
network_alert.setButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
return;
}
});
}

@Override
public void onResume(){
Log.d("RESUME", "RESUMED");
super.onResume();
AppDelegate appDel = ((AppDelegate)getApplicationContext());
CIMAT

32

Remote Desktop System

if(!appDel.connected && !firstRun){


alert.show();
}

appDel.stopServer();
}

@Override
public void onPause(){
super.onPause();
firstRun = false;
}

public void clickHandler(View view) {


AppDelegate appDel = ((AppDelegate)getApplicationContext());
int s = sensitivity.getProgress();
appDel.mouse_sensitivity = Math.round(s/20) + 1;

if(!appDel.connected){
String serverIp;
int serverPort;

serverIp = ipField.getText().toString();
serverPort = Integer.parseInt(portField.getText().toString());

appDel.createClientThread(serverIp, serverPort);
}

int x;
for(x=0;x<4;x++){// every quarter second for one second check if the
CIMAT

33

Remote Desktop System

server is reachable
if(appDel.connected){
startActivity(new

Intent(view.getContext(),

Controller.class));
x = 6;
}
try{Thread.sleep(250);}
catch(Exception e){}
}

if(!appDel.connected)
if(!appDel.network_reachable)
network_alert.show();
else
alert.show();
}
}

CIMAT

34

Remote Desktop System

Controller
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

import android.view.Display;
import android.view.MotionEvent;
import android.view.View.OnTouchListener;
import android.view.View.OnKeyListener;
import android.view.*;

import android.widget.Button;
import android.widget.EditText;
import android.text.Editable;
import android.text.TextWatcher;

import android.view.inputmethod.InputMethodManager;
import android.content.Context;

public

class

Controller

extends

Activity

implements

OnTouchListener,

OnKeyListener{

int lastXpos = 0;
int lastYpos = 0;
boolean keyboard = false;
Thread checking;

String delim = new String("!!");

protected void onCreate(Bundle savedInstanceState) {


CIMAT

35

Remote Desktop System

super.onCreate(savedInstanceState);
setContentView(R.layout.control);

Display display = getWindowManager().getDefaultDisplay();


int width = display.getWidth();

Button left = (Button) findViewById(R.id.LeftClickButton);


Button right = (Button) findViewById(R.id.RightClickButton);

left.setWidth(width/2);
right.setWidth(width/2);

View touchView = (View) findViewById(R.id.TouchPad);


touchView.setOnTouchListener(this);

EditText editText = (EditText) findViewById(R.id.KeyBoard);


editText.setOnKeyListener(this);
editText.addTextChangedListener(new TextWatcher(){
public void afterTextChanged (Editable s){
Log.d("seachScreen", ""+s);
s.clear();
}
public void beforeTextChanged (CharSequence s, int start, int count, int
after){
Log.d("seachScreen", "beforeTextChanged");
}
public void onTextChanged (CharSequence s, int start, int before, int
count) {
AppDelegate appDel = ((AppDelegate)getApplicationContext());

CIMAT

36

Remote Desktop System

try{
char c = s.charAt(start);
appDel.sendMessage("KEY"+delim+c);
}
catch(Exception e){}
}
});
}

public void onStart(){


super.onStart();

AppDelegate appDel = ((AppDelegate)getApplicationContext());


sendToAppDel(new

String("Mouse

Sensitivity!!"+appDel.mouse_sensitivity));

new Thread(new Runnable(){


AppDelegate

appDel

((AppDelegate)getApplicationContext());
public void run(){
while(appDel.connected){
try{Thread.sleep(1000);}
catch(Exception e){};
if(!appDel.connected){
finish();
}
}
}
}).start();
}

CIMAT

37

Remote Desktop System

// detect touch events


// and pass them to mousePadHandler method
@Override
public boolean onTouch(View v, MotionEvent event) {
mousePadHandler(event);
return true;
}

// detect keyboard event


// and send to delegate
@Override
public boolean onKey(View v, int c, KeyEvent event){
Log.d("ello", ""+event.getKeyCode());
AppDelegate appDel = ((AppDelegate)getApplicationContext());

appDel.sendMessage("S_KEY"+delim+event.getKeyCode());
return false;
}

// send message to AppDelegate class


// to be sent to server on client desktop
private void sendToAppDel(String message){
AppDelegate appDel = ((AppDelegate)getApplicationContext());
if(appDel.connected){
appDel.sendMessage(message);
}
else{
finish();
}
}
// send a mouse message
CIMAT

38

Remote Desktop System

private void mousePadHandler(MotionEvent event) {


StringBuilder sb = new StringBuilder();

int action = event.getAction();


int touchCount = event.getPointerCount();

// if a single touch
// send movement based on action
if(touchCount == 1){
switch(action){
case 0: sb.append("DOWN"+delim);
sb.append((int)event.getX()+delim);
sb.append((int)event.getY()+delim);
break;

case 1: sb.append("UP"+delim);
sb.append(event.getDownTime()+delim);
sb.append(event.getEventTime());
break;

case 2: sb.append("MOVE"+delim);
sb.append((int)event.getX()+delim);
sb.append((int)event.getY());
break;

default: break;
}
}

// if two touches
// send scroll message
CIMAT

39

Remote Desktop System

// based off MAC osx multi touch


// scrolls up and down
else if(touchCount == 2){
sb.append("SCROLL"+delim);
if(action == 2){
sb.append("MOVE"+delim);
sb.append((int)event.getX()+delim);
sb.append((int)event.getY());
}
else
sb.append("DOWN");
}

sendToAppDel(sb.toString());
}

public void LeftButtonClickHandler(View v){


Log.d("eloo", "CLICKED");
sendToAppDel("CLICK"+delim+"LEFT");
}

public void RightButtonClickHandler(View v){


sendToAppDel("CLICK"+delim+"RIGHT");
}

// Show and hide Keyboard by setting the


// focus on a hidden text field
public void keyClickHandler(View v){
EditText editText = (EditText) findViewById(R.id.KeyBoard);
InputMethodManager

mgr

(InputMethodManager)

getSystemService(Context.INPUT_METHOD_SERVICE);
CIMAT

40

Remote Desktop System

if(keyboard){
mgr.hideSoftInputFromWindow(editText.getWindowToken(), 0);
keyboard = false;
}
else{
mgr.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
keyboard = true;
}

CIMAT

41

Remote Desktop System

B Sample Screens
Server connection

Figure 1: Server Connection

CIMAT

42

Remote Desktop System

Server checking

Figure 2: Server Checking

CIMAT

43

Remote Desktop System

Connecting

Figure 3: connecting

CIMAT

44

Remote Desktop System

Remote desktop view

Figure 4: Remote Desktop View

CIMAT

45

Remote Desktop System

Buttons

Figure 5: Buttons

CIMAT

46

Remote Desktop System

Notepad

Figure 6: Notepad

CIMAT

47

Remote Desktop System

Exiting Session

Figure 7: Exit session

CIMAT

48

Remote Desktop System

C Data Flow Diagram


Level 0

USER

Remote
Control

Remote side

1
Server side

Figure 8: Data flow diagram - level 0

Level 1: Remote control

2.1
2
Client selection
Server side
user

2.2
Login
2.3
Image capture and
transfer

Figure 9: Data flow diagram - level 1

CIMAT

49

Remote Desktop System

Level : Remote
user
3
Client

3.1
Server
connectio

3.2
Image
capture

Figure 10: Data flow diagram - Remote

CIMAT

50

Remote Desktop System

D System flow diagram

Remote side

Figure 11: System flow diagram remote side

CIMAT

51

Remote Desktop System

Server side

Figure 12: System flow diagram server side

CIMAT

52

Vous aimerez peut-être aussi