08-16-2017, 08:49 PM
[attachment=2417]
ACCESS MY PC
PROJECT REPORT Submitted by
VINEESH NARAYANAN SIMY DAVIS
ANJANA GOPAKUMAR AMBILY N.S.
ABSTRACT
Access My PC, as we call it, is a software that allows users to access devices connected to their systems from remote locations. The process starts when the different users, who need the facility, get registered through our website and download the application program for the said facility. Once the software is installed on the home pc then the user can access the devices connected to the system from any location using our website through the Internet.
A simple registration form is provided to the user wherein he can enter his name, address, contact number, email id, login id and password. After filling up the proper information, the user gets successfully registered for the application software. The user is authenticated for his login name and password, which was provided to him during the registration process. If the user fails to give his proper login id or password, an error message is displayed to him indicating that the login id does not exist.
The user has the option for downloading the software to the particular system that he is using. Once the system is installed in that system, say the Home PC, then the devices connected to that system can be accessed easily using our website. Accessing the various devices connected to the Home PC is the feature that is being implemented in the project. Every user will have a particular Access code to be entered for getting access to this feature. If the Access code entered is wrong then the user get automatically logged out. Once the correct Access Code is entered the user can access the device he wants. The user can sign out of the login area any time using this function.
TABLE OF CONTENTS
CHAPTER TITLE PAGE NO.
ABSTRACT iv
LIST OF TABLES vii
LIST OF FIGURES vii
1. INTRODUCTION 1
1.1 OVERVIEW OF THE PROJECT 1
1.1.1 User Regi stration 1
1.1.2 Login and Authentication 1
1.2 SYSTEM ARCHITECTURE 3
1.2.1 Home PC 3
1.2.2 Server 5
1.2.3 Remote PC 6
2. MODULES 7
2.1. FILE MANAGEMENT 7
2.1.1 View Files 7
2.1.2 Upload Files 7
2.1.3 Download Files 7
2.2 DEVICE MANAGEMENT 8
2.3 COMMAND EXECUTION 8
3. SYSTEM ENVIRONMENT 9
3.1 CORE JAVA 9
3.2 JSP 16
3.3 HTML 20
4. SYSTEM ANALYSIS 22
5. SYSTEM REQUIREMENT 25
6. SYSTEM SPECIFICATION 26
7. SYSTEM DESIGN 27
7.1. MAJOR DESIGN ACTIVITIES 27
7.2. LOGICAL DESIGN 29
8. SYSTEM DEVELOPEMENT 30
9. SYSTEM IMPLEMENTATION 31
10. TESTING 32
11. SCREENSHOTS 34
12. MAINTENANCE 47
13. CONCLUSION 48
RESUME 49
REFERENCE 50
LIST OF TABLES
Table Page
1.1 User Information
2
LIST OF FIGURES
Figure Page
1.1: System Architecture 3
1.2 Block Diagram of Home PC 4
1.3 Block Diagram of Server 5
1.4 Block Diagram of Remote PC 6
2.1 Java Runtime Environment 10
2.2 The General RMI Architecture 13
2.3 Working of RMI 13
2.4 JSP Architecture 16
2.5 Processing of a JSP document 19
11.1 Home Page 32
11.2 Sign Up Form 33
11.3 Forgot Password Form 34
11.4 Welcome Page After Successful Login 35
11.5 Home Page With User Options 36
11.6 File Management Options Page 37
11.7 View Files Page 38
11.8 File Download Form 39
11.9 File Upload Form 40
11.10 Device Management Form 41
11.11 Command Execution Form 42
11.12 User Settings 43
11.13 Change Password Form 44
CHAPTER 1 INTRODUCTION
1.1 OVERVIEW OF THE PROJECT
Access My PC, as we call it, is software that allows users to access devices connected to their systems from remote locations. The process starts when the different users, who need the facility, get registered through our website and download the application program for the said facility. Once the software is installed on the home pc then the user can access the devices connected to the system from any location using our website through the Internet. The various steps present in this process are:
1.1.1 User Registration
A simple registration form is provided to the user wherein he can enter his name, address, contact number, email id, login id and password. After filling up the proper information, the user gets successfully registered for the application software.
1.1.2 Login and Authentication
The user is authenticated for his login name and password, which was provided to him during the registration process. If the user fails to give his proper login id or password, an error message is displayed to him indicating that the login id does not exist. If the login is successful then the user is able to perform the following functions:
Software Download: The user has this option for downloading the software to the particular system that he is using. Once the system is installed in that system, say the Home PC, then the devices connected to that system can be accessed easily using our website.
Access Devices: This is perhaps the purpose of Access My PC. Accessing the various devices connected to the Home PC is the feature that is being implemented here. Every user will have a particular Access code to be entered for getting access to this feature. If the Access code entered is
wrong then the user get automatically logged out. Once the correct Access Code is entered the user can access the device he wants. Logout: The user can sign out of the login area any time using this function.
Table 1.1: User Information
FIELDS DATATYPE CONSTRAINT
ID STRING PRIMARY KEY
PWD PASSWORD
FNAME STRING
LNAME STRING
GENDER STRING
QUESTION STRING
ANSWER STRING
MONTH STRING
DAY INT
YEAR DOUBLE
ZIP DOUBLE
IP DOUBLE
SYSTEM STRING
The above table shows the user information.
1.2 SYSTEM ARCHITCTURE
The Basic System Architecture is shown below:
Server
Remote PC
Home PC
Fig 1.1: System Architecture
The System architecture has to be designed keeping all the above functions in mind. We can see that the system consists of mainly the following three parts:
1.2.1 Home PC
Home PC is the personal computer, which is owned by the user. The software that is Application part resides on this computer. It gets the data from the device and transmits it to the remote PC location and it also gives the status of the remote PC location. It has no level of user authentication. But it is the application part of this system that checks for the user device accessing. Home PC consists of mainly five modules namely:
Network Interface: This is the part of the application, which is connected to the network.
Data Manipulation Unit: This prepares the data from the devices to suitable for the network transmission.
Device Access Module: This gets the data from the user from the interface corresponding to each of the users.
Control Unit: Controls and coordinates each of the units in the Home PC. Device Interface: Interface of the operating system of the PC with the device so as to facilitate the communication between the two.
CONTROL
DATA MANIPU LATION
DEVICE
ACCESS
DEVICE INTERFACE
Fig 1.2 Block Diagram of Home PC
The above figure represents the diagrammatic representation of Home PC module. The Home PC consists of Data Manipulation and Device Access units. These two units are controlled by a Control unit. The Home PC is connected to a Network Interface. It is also connected with the devices via Device Interface.
1.2.2 Server
It is the master controller of the entire software. It consists of controlling Application level program and it gets the requests from the users of the Remote PC. It also gives the instructions to the Home PC. Server consists of mainly 5 modules namely:
Network Interface: It communicates with the Home PC as per the instruction from the control module. It decides the protocol for communication and also the other network related factors.
Control Module: It controls the entire server module
Database Monitor: It constantly checks the database and sends signals to the control module according to the state changes of the system.
Active Server Pages: It is the web program that makes the GUI at the client side and it makes the communication of the remote user.
Database: It is used for storing and retrieving the user details and current status of the user.
DATABASE MONITORING
NETWORK INTERFACING
MODULE
CONTROL MODULE
Fig 1.3 Block Diagram of Server
The figure is a diagrammatic representation of the Server. The server is having a Database Monitoring unit and a Network Interfacing unit. These two are controlled by a Control Module. The Server module is connected to the Database and through that to a JSP document.
1.2.3 Remote PC
Remote PC is the PC from where the user login for selecting and using a device in the Home PC. For this he uses the http protocol. The server side programs and the client side programs are used to make use of this Remote PC. It has the following modules:
Network Interface: It performs the network-based functions such as connecting to server, receives and transmits the user data.
Data Manipulation Unit: In this the data from the network is converted
to their actual form and representation separates the control signals and data signals.
Control Module: It controls and coordinates the different modules. It also defines the rules from the network. It handles the loss of data and configures the different units for best performance.
Device Interface Regeneration: In this it creates the Graphical User Interface according to the device and it also gives the Graphical User Interface according to the device selected. It also receives the user inputs and responds accordingly.
Device user interfacing component
Data Manipulation
Data Processing Module
Network Interface
BROWSER
Fig 1.4 Block Diagram of Remote PC
The figure shows how the Remote PC works. It is having a Device-user interface component and a Data manipulation unit. These are connected to a Data Processing module. It is also connected to a Network interface.
CHAPTER 2
MODULES
FILE MANAGEMENT
DEVICE MANAGEMENT
COMMAND EXECUTION
Once you have registered in the website and downloaded the software in the Home PC, you will be given a login name and a password. Using this, you can access your Home PC from any remote system through internet. Then you will be able to do the above operations. Let's see them in detail:
2.1. FILE MANAGEMENT
In file management section, you can do the following functions:
2.1.1 View Files:
Through this option, you can view the drives and directories of your Home PC while you are using a Remote PC. You can also view the subfolders and files in the Home PC in a hierarchical manner.
2.1.2 Upload Files:
In this option, you can transfer files from the Remote PC to your Home PC. The uploaded files will be stored in a folder namely "Upload" in the Home PC.
2.1.3 Download Files:
This option enables the user to download the files from the Home PC to the Remote PC he currently uses. The user can download files from the Home PC to the desired location of the system that is currently in use.
2.2 DEVICE MANAGEMENT
Device management is the most enhanced option of ACCESS MY PC. With the help of this option, the user can access the external devices attached to the Home PC. These can be printer or webcam. The user can do the printing job in the printer that is connected to the Home PC. Similarly, he can view the image that was captured by the webcam attached to the Home PC.
2.3. COMMAND EXECUTION
Command Execution is the option through which the user can execute commands in the Home PC and its results can be viewed in the Remote PC. The command can be anything that can be executed in the command prompt (eg: dir, copy icon, date, notepad etc.). The text results will be displayed in a text area of the browser in the Remote PC.
CHAPTER 3
SYSTEM ENVIRONMENT
The developing tools for the project are listed below:
Core Java
JSP (Java Server Pages)
HTML
3.1. Core Java
The Java language was derived from C++ but without many of the cumbersome, difficult-to-use features of C++. Java's cross-platform capability originally addressed the problem that applications for embedded devices must run on a wide variety of hardware (without the benefit of a standardized operating system). Java has taken much of the C/C++ syntax, making simplifications and revisions to suit to its own philosophy. Java is designed to be architecturally neutral so it can run on multiple platforms. The same runtime code can run any platform which supports Java.
To achieve its cross-architecture capabilities, the Java compiler generates architecturally neutral byte code instructions. These instructions are designed to be both easy to interpret on any machine and easily translated into native machine code on the
fly.
Java has a wide range of libraries (or packages) which can be used to extend the language. Libraries are available for user interface objects (AWT or swing variants), I/O, a network library, etc.
Java has many attributes that promote reliable, bug-free software: memory management to prevent memory leaks, strong type checking to prevent the misuse of objects, and built-in support for exception handling. Java's virtual machine model increases portability and its security model provides a degree of safety when importing externally developed code. All these features are a great improvement over C++, Java's nominal predecessor. Indeed, initial experimental results show greater programmer productivity and fewer program bugs for development with Java versus C++.
Significant Java Features
Java is a fully object-oriented language and it can be used to:
create applets for viewing within a browser, standalone client-side application,
create standalone client-side applications
create middle-tier components (Servlets/JSP) for generating webpage with dynamic content and parsing web pages coming back from the client
create middle tier component (Enterprise JavaBeans or EJB) for implementing business logic and updating the database
create procedures that run within a database and are callable from other database procedures
Java RMI
Remote Method Invocation (or RMI for short) allows us to execute methods on remote servers. RMI is the acronym for Remote Method Invocation. As the name suggests, it helps you locate and execute methods of remote objects.
Objects which have to be made available to other machines have to be exported to something called a Remote Registry Server so that they can be invoked. Remote Registry Server is a service that runs on the server and helps client's search and access objects on the server remotely. Now, if an object has to be capable of being exported then it must implement the Remote Interface present in the RMI package.
RMI uses something called a stub and a skeleton. The stub is present on the client side, and the skeleton the server side. There are a number of events that have to take place beforehand which help in the communication of the data. The stub is like a local object on the client side, which acts like a proxy of the object on the server side. It provides the methods to the client which can be invoked on the server. The Stub then
sends the method call to the Skeleton, which is present on the server side. The Skeleton then implements the method on the server side.
The Stub and the Skeleton communicate with each other through something called a Remote Reference Layer. This layer gives the stub and skeleton the capability to send data using the TCP/IP protocol.
On the server end we associate a string variable with an object. The client tells the server what object he wants to create by passing that string to the server, thus letting the server know exactly what object you are talking about. All of these strings and objects are stored in the Remote Registry Server on the server.
Remote Method Invocation (RMI) facilitates object function calls between Java Virtual Machines (JVMs). JVMs can be located on separate computers - yet one JVM can invoke methods belonging to an object stored in another JVM. Methods can even pass objects that a foreign virtual machine has never encountered before, allowing dynamic loading of new classes as required. This is a powerful feature.
The server must first bind its name to the registry
The client lookup the server name in the registry to establish remote references.
The Stub serializing the parameters to skeleton, the skeleton invoking the remote method and serializing the result back to the stub.
RMI Client
call skeleton
RMI Server
return
Fig 2.4 Working of RMI
A client invokes a remote method, the call is first forwarded to stub. The stub is responsible for sending the remote call over to the server-side skeleton The stub opening a socket to the remote server, marshaling the object parameters and forwarding the data stream to the skeleton.
A skeleton contains a method that receives the remote calls, unmarshals the parameters, and invokes the actual remote object implementation
Step of developing an RMI System:
1. Define the remote interface
2. Develop the remote object by implementing the remote interface.
3. Develop the client program.
4. Compile the Java source files.
5. Generate the client stubs and server skeletons.
6. Start the RMI registry.
7. Start the remote server objects.
8. Run the client
The Remote Object
This interface (yes our remote object is actually an interface) will have only method declarations. Hopefully you know that interfaces don't always have to have method bodies, just declarations. The Remote Object will have a declaration for each method that you want to export. This remote object would implement the Remote interface, which is present in the Java.rmi package.
The Remote Object Implementation
This is a class that implements the Remote Object. If you implement the Remote Object, it's common sense that you would override all of the methods in that object, so the remote object implementation class would actually have all of the method bodies of the methods that we want to export. This method will be extended from the UnicastRemoteObject class.
The Remote Server
This is a class that will act like a server to the client wanting to access remote methods. Here's the place where you will bind any string with the object you want to export. The binding process will be taken care of in this class.
The Remote Client
This is a class that will help you access the remote method. This is the end user, the client. You will call the remote method from this class. You will use methods to search and invoke that remote method.
3.2. JSP
Java Server Pages enables the development of dynamic web sites and it is based on Java language. The simplest JSP document is a combination of Java statement and HTML tags. In a JSP document, you can interrupt a Java statement with part of an HTML tag, or interrupt a tag with part of a statement. We can't use ordinary English-language commands to create JSP documents.JSP is a mix of Java and HTML needs to be translated into an ordinary HTML document and sent to the user's Web browser.
To allow server side development JSP was developed by Sun Microsystem. Typical different clients connecting via the Internet to a Web server. e.g. a well popular Apache Web server is execute on Unix platform.
Java Server Pages or JSP for short is Sun's solution for developing dynamic web sites. JSP provide excellent server side scripting support for creating database driven web applications. JSP enable the developers to directly insert java code into jsp file, this
makes the development process very simple and its maintenance also becomes very easy. JSP pages are efficient, it loads into the web servers memory on receiving the request very first time and the subsequent calls are served within a very short period of time.
In today's environment most web sites servers dynamic pages based on user request. Database is very convenient way to store the data of users and other things. JDBC provide excellent database connectivity in heterogeneous database environment. Using JSP and JDBC its very easy to develop database driven web application.
Fig 2.5 JSP Architecture
Java Server Pages (JSP) technology is the Java platform technology for delivering dynamic content to web clients in a portable, secure and well-defined way. The Java Server Pages specification extends the Java Servlet API to provide web application developers with a robust framework for creating dynamic web content on the server using HTML, and XML templates, and Java code, which is secure, fast, and independent of server platforms. JSP has been built on top of the Servlet API and utilizes Servlet semantics. JSP has become the preferred request handler and response mechanism. Although JSP technology is going to be a powerful successor to basic Servlets, they have an evolutionary relationship and can be used in a cooperative and complementary manner.
Servlets are powerful and sometimes they are a bit cumbersome when it comes to generating complex HTML. Most servlets contain a little code that handles application logic and a lot more code that handles output formatting. This can make it difficult to separate and reuse portions of the code when a different output format is needed. For these reasons, web application developers turn towards JSP as their preferred servlet environment.
Benefits of JSP
One of the main reasons why the Java Server Pages technology has evolved into what it is today and it is still evolving is the overwhelming technical need to simplify application design by separating dynamic content from static template display data. Another benefit of utilizing JSP is that it allows to more cleanly separating the roles of web application/HTML designer from a software developer. The JSP technology is blessed with a number of exciting benefits, which are chronicled as follows:
1. The JSP technology is platform independent, in its dynamic web pages, its web servers, and its underlying server components. That is, JSP pages perform perfectly without any hassle on any platform, run on any web server, and web-enabled application server. The JSP pages can be accessed from any web server.
2. The JSP technology emphasizes the use of reusable components. These components can be combined or manipulated towards developing more purposeful components and page design. This definitely reduces development time apart from the At development time, JSPs are very different from Servlets, however, they are precompiled into Servlets at run time and executed by a JSP engine which is installed on a Web-enabled application server such as BEA WebLogic and IBM WebSphere.
JSP document
Translation
.java file
^ Compilation
.class file
3.3. HTML
HTML is a language used to develop web pages. HTML is the language interpreted by the browser. Web pages are also called HTML documents. HTML stands for Hyper Text Markup Language. An HTML file is a text file containing small markup tags. The markup tags tell the web browser how to display the pages. An HTML file must have an htm or html file extension. An HTML file can be created using a simple text editor.
HTML tags are instructions that are embedded into the text of the document. An HTML tag is a signal to a browser that it should do something. HTML tags begin with an open angle bracket (<) and end with a close angle bracket (>). The text between the start tag and end tag is the element content. HTML tags are not case-sensitive.
HTML is not a computer programming language. It is a document mark up language. There is a big difference. No knowledge of programming is necessary. HTML is designed to specify how text and images are displayed or "rendered" on your computer screen. HTML documents are generally viewed through a program called a browser. Netscape Navigator and Internet Explorer are both browsers.
Basic Structure of An HTML Document. .An HTML document is divided into two sections. These are the head and the body. The head is surrounded by <head> </head> tag. The body is surrounded by <body> </body> tags.
CHAPTER 4 SYSTEM ANALYSIS
System analysis is the process of identification of the objectives and requirements, evaluation of alternative solutions and recommendation for a more feasible solution. In other words, system analysis is the step-by-step process of gathering, recording and interpreting facts. It is the reduction of an entire system by studying the various operations. It includes studying the problems encountered in the present system and introducing a new computer system into an organization. The main aim of analysis is to determine problem areas and decide on solutions to reduce or eliminate them.
System analysis itself breaks into two stages. Preliminary and Detailed. During preliminary analysis the analyst list the objectives of the proposed system. These findings come together in the preliminary report. Once the preliminary report is approved, the system analysis phase advances into a second stage. During detailed analysis required data and information are collected and a detailed study is made.
During analysis, data are collected on the available files, decision points, and transactions of the system using various tools like data flow diagram.
Feasibility Study
In any project, feasibility analysis is a very important stage. Feasibility study is system proposal according to its workability, impact on the operation, ability to meet user needs and efficient use of resources. Any project may face scarcity in resources, time or workforce. An important outcome of the preliminary investigation is the determination whether the system requested is feasible or not. The key considerations involved in the feasibility analysis are technical, operational, and economic.
Technical Feasibility
Technical feasibility is the most important of all types of feasibility analysis. Technical feasibility deals with hardware as well as software requirements. An idea from the outline design to system requirements in terms of inputs outputs, files and procedures is drawn and the type of hardware, software, and the methods required for running the systems are analyzed. Keeping in mind of the above considerations, the resource availability at this company was observed. It was found that the company has the sufficient resources to develop the current project; hence the system is technically feasible.
Economic Feasibility
Economic analysis is the most frequently used method for evaluating the effectiveness of the software, more commonly known as the cost /benefit analysis. The procedure is to determine the benefits and savings that are expected from a candidate system and compare them with costs. If the benefits outweigh cost, the decision is made to design and implement the system; otherwise further alternatives have to be made. Here it is seen that no new hardware or software is needed for the development of the system. Hence the project is economically feasible for development in this company.
Schedule Feasibility
Schedule feasibility is concerned with the completion of the project development within the fixed time span. It is an important factor as it can affect other factors like machine availability, tools, cost development and delay in the development of other systems. Besides these, this project is assigned to the student as an academic exercise to be completed within a fixed period of time.
Operational Feasibility
The purpose of the operational feasibility study is to determine whether the new system would be used if it is developed and implemented, will there be resistance from users that will undermine the possible application benefits etc. From the outputs of the meeting that was held with the system users, it was found that all of them support the development of new system. The positive response from them encouraged in building such a system.
CHAPTER 5
SYSTEM REQUIREMENT
After analyzing the requirements for our project we had come to the conclusion that our project users require the following requirements.
Client's Requirements:
> Needs a network connection
> The account bound with a separate username and password for every user.
> Needs the Internet facility
Server's Requirements:
> Should be connected to the Internet
> Needs a Java Runtime Environment
> Needs a database
CHAPTER 6
SYSTEM SPECIFICATION
The hardware and software requirements for the development phase of our project are:
Software Requirements :
Development Tools : Java, JSP, HTML
Back end : SQL Server 2000
Browser
: Mozilla 2.0 or IE
Web Server
: Apache Tomcat Server
Hardware Requirements :
Processor RAM Capacity Hard Disk Space Mouse Keyboard Monitor
Floppy Disk Drive
: Pentium IV : 256 MB
: 40 GB
: MS Compatible : Standard 104 Keys
: Standard 15"
: 1.44 MB
CHAPTER 7
SYSTEM DESIGN
The most creative and challenging phase of the system life cycle is system design. The term design describes a final system and the process by which it is developed. It refers to the technical specification that will be applied in implementing the candidate system. It also include the construction of program s and program testing. The question involved here is "How the problem is solved".
System design is a transition from the user-oriented document to the document-oriented program or database personnel. It emphasizes translating performance specification into the design specification and it involves conceiving and planning and then carrying out the plan for generating the necessary reports and outputs. Design phase acts as the bridge between the software requirements specifications and implementation phase , which satisfies the requirements
7.1. MAJOR SYSTEM DESIGN ACTIVITIES:
Input Design:
Input design is a process of converting user-oriented input to computer based format. It also includes determining the record media ,method of input, speed of capture and entry into the system. Input design consist of developing specification and procedures for data procedure for data preparations, those necessary steps into put transaction data into usable form of processing, data entry and activity of putting the data into computer for processing. Five objectives guiding the design are input focus on controlling the amount of input required, avoiding delay, controlling error and keeping the steps simple. The following are the details the system analyst decide while designing
The data to input
The details of how data should be arranged or coded
The data item and transaction needed validation to detect errors.
All input processes have bee designed with at most care to avoid entry of any kind of invalid data into the system. The input screens have been validated effectively in order to give the most accurate input details. Points to be noted while designing the input screens are
Don't overcrowd the input screen
Keep the same style among the screens
Ask for confirmation of critical data
Validate data as soon as possible on inputs
Output Design:
Output are the most important and direct source of information to the user and to the management. Intelligent output design will improve the systems relationship with the user and help in decision making. Output are also used to provide a permanent hard copy for the later consultation. They are obtained in the form of response to the requests.
Program Design :
On the analysis based on the requirement the program design taking into consideration all program aspects. The structure require, the control flow etc are decided for efficient functioning of the system that was to be developed
7.2 LOGICAL DESIGN
Logical design describes the format of inputs, outputs, and procedures that meets the user requirements.
The design covers the following:
Reviews the current physical system.
Prepares the output specification.
Prepares the Input specifications.
Prepares control specifications.
CHAPTER 8 SYSTEM DEVELOPMENT
System development is a series of operations performed to manipulate data to produce output from a computer system. This is highly dependent on the programming language used. The principle activities during the development phase can be divided into two major related sequences :
1. External system development
2. Internal system development
The major external system development activities are :
1. Implementation
2. Planning
3. Equipment acquisition
4. Installation
The major internal system development activities are :
1. Computer program development
2. Performance testing
CHAPTER 9 SYSTEM IMPLEMENTATION
The implementation stage is the next step towards the problem solution. Here the details like which coding language is used is decided and the coding is done in the specified language.
The implementation is the practical job of putting a theoretical design in the practice. It may involve the complete implementation of a computer complex or the introduction of one small subsystem.
The implementation phase of a project covers the period from the acceptance of the test design to its satisfactory operation support by the appropriate user and operations manual. It is a major operation across the whole organizational structure and requires a great deal of planning. Planning for implementation must begin from the initial conception of the project. It requires a thorough knowledge of the new system, its personal needs, hardware and software requirements, file and procedure conversion activities, etc. Only the analyst is responsible for creating the new system will possess this knowledge. He can plan, schedule and co- ordinate but has no executive powers.
CHAPTER 10
TESTING
System testing is the stage of implementation, which is aimed at ensuring that the system works accurately and efficiently before live operation commences. Testing is vital to the success of the system. An elaborate testing of data is prepared and the system is tested using this test data. While testing error noted and corrections are made. The users are trained to operate the developed system. Both hardware and software securities are made to run the developed system successfully in future. Testing steps:
S Unit Testing
S Integration Testing
Validation Testing
Output Testing
User Acceptance Testing
Unit Testing
Unit testing focuses verification efforts on the smallest unit of software design, the module. This is also known as "Module Testing". The modules are tested separately. This testing is carried out during programming stage itself. In these testing steps each Module is found to be working satisfactorily as regard to the expected output from the module.
In the project, we have done unit testing to test whether the each unit works in the desired manner.
Integration Testing
Integration testing is a systematic technique for constructing tests to uncover errors Associated within the interface. In this project, all the modules combined, and then entire
Program is tested as a whole. Thus in the integration testing step, all the errors uncovered are corrected for the next testing steps.
We have also done integration testing after integrating the whole system. Validation Testing
Validation testing is where requirements established as a part of software requirement analysis is validated against the software that has been constructed. This test provides The final assurance that the software meets all functional, behavioral and performance requirements .The errors, which are uncovered during integration testing, are corrected during this phase.
Output Testing
After performing the validation testing, the next step is output testing of the proposed system since no system could be useful if it does not produce the required output in the specific format. The Output generated or displayed by the system under consideration is tested asking the users about the format required by then. Here, the output is considered into two ways: one is on the screen and the other is printed format.The output format on the screen is found to be correct as the format designed according to the user needs .For the hard copy also, the output comes out as specified by the user. Hence output testing doesn't result in any connection in the system.
User Acceptance Testing
User acceptance of a system is the key factor for the success of any system. The system under consideration is tested for user acceptance by constantly keeping in touch with the prospective system users at time of developing and making for SiteDownloader system.
The testing of the software began along with coding. Since the design was fully object-oriented, first the interfaces were developed and tested. Then unit testing was done for every module in the software for various inputs, such that each line of code is at least once executed After all modules were coded the integration test were carried out. Some minor errors were found in the output at the earlier stage and each of them was corrected. In the implementation of user interface part no major errors were found. After the software was completely developed, the testing was done.
CHAPTER 11
SCREEN SHOTS
The form below will be displayed when you access the website.
When a new user wants to register to the website, the following sign up form displays:
Fig 11.2 Sign Up Form
If the user forgets the password, there will be a help option as shown below:
There appears a welcome screen when the user logs in.
The options will be provided to the user after the log in
The File Management options are View Files, Upload, and Download
The View Files option can be accessed as shown below:
The File Download option is like shown below:
The File Upload option is like shown below:
The Device Management options will be displayed in this page:
The Command Execution option is provided in this page:
Done
Home :: ViewFiles :: Download :: Upload :: Webcam :: Printer :: CommaiidEKecution :: Help :: MyAccount
Fig 11.11 Command Execution Form
The User Settings page is shown below:
The Change Password page is shown below:
CHAPTER 12 MAINTENANCE
Development is a single activity. Maintenance is a continuous activity. Maintenance involves activities like inspections, corrections and enhancement. Once the system is delivered and deployed, it enters the maintenance phase. The system need to be maintained not because of some of its components wear out and need to be replaced, but because there are some residual errors remaining in the system that must be removed as they are discovered. This includes activities related to debugging the software after it goes live, changes required to address evolving software and enhancement to meet changing customer requirements. So maintenance phase involves : Understanding the effects of change. Testing the new parts.
Retesting the old parts that were not changed Making changes-to both the code and the documents.
These changes have to be signed by the user before the change can be carried out. Since requirement change request involves cost, user will be cautious while requesting the software changes. The software will require continued support. The system maintenance means the maintenance activities after and during the system development processes. This include activities related to debugging the software after it goes live, changes acquired to meet change in users requirement.
Three type of maintenance : Corrective maintenance. Adaptive maintenance. Perfective maintenance.
Maintenance phase identifies if there are any changes required in the current system. If the changes are identified, then an analysis is made to identify if the changes are really required. Cost benefit analysis is a way to find out if the change is really essential
CHAPTER 13
CONCLUSION
Access My PC, in simple words, is a remote PC access software. This is done through a web site. The user can register to the web site with a user name and password and can download the server section of the software to his Home PC or Office PC. Thereafter, he can access his Home PC through a network from anywhere.
The web site provides the access to the files and peripheral devices in the Home PC. The web site also allows the user to manipulate the files and operate the remote devices such as printer or webcam. The image captured by the webcam can be viewed by the user. Similarly, the user can do the printing jobs in a printer attached to the Home PC.
It also provides the file viewing, uploading and downloading options to the user. The user can execute commands in the command prompt of the Home PC and view the result in his current system.
All these provisions allow the user to access his PC from anywhere. This is an important milestone in the enhancement of Internet. As the caption says, this software gives the user "anywhere PC access".
RESUME
The software we have developed can be used to access a PC remotely through our website while connected to a network. This software allows the user to access his files and devices remotely. It gives a user friendly interface to the Home PC through the network.
In future, this software can be upgraded with provisions like Remote Desktop Viewing and accessing. Remote Desktop Architecture provides a vast area of development to the programmers. It can be also upgraded with a video conferencing provision. All the file manipulation operations like creation, deletion, renamig etc can be included in this website in future.
REFERENCES
1. Herbert Schildt(2002) ' Java2: The Complete Reference, Fifth Edition' , Tata Mc Graw Hill Publication .
2. Barry Burd(2005) 'JSP: Java Server Pages', Wiley Publishing
3. google.com
4. Troy Bryan Downing(2000), 'Java RMI: Remote Method Invocation', IDG Books