Вы находитесь на странице: 1из 48

INTRODUCTI ON

CHAPTER 1 INTRODUCTION

1.1. ABOUT THE PROJECT


The concept of this project is to access the shared files in Linux Environment in Windows Environment. Users can access shared files in Windows to Windows and Linux to Linux Environment but cant access files in Linux in Windows. The Server machine is installed with Linux and Clients are installed with Windows operating system. The files in server machine is put into a distributed directory and then downloaded into client machines. The project modules involved are Member Adder Look up User Admin Resource Register

Resource Server File Sender Resource Prober

1.1.1. MODULE DESCRIPTION


Member Adder Module In this Module, all the clients that want to communicate with server are added to the server .The IPAddress of all the client machines are registered in the server machine. Lookup Module In this Module, we check whether client have established connection with the Server. Only if there is connection between client and server, they can communicate.

User admin Module Only authorized users are allowed to access the shared files. Authorized users are validated by a database. Using MYSQL as Backend, The User table is created with three fields named Username, password, groupname.

Resource Register Module

Administrators have all privileges, and users have certain restricted privileges, files should be hidden from their usage. This validation done by using MYSQL Resource Table. MYSQL Resource Table is created with following fields resource name, comment, hostname. In this module, the files that can be accessed are Shared and stored in Resource table. Resource Server Module In this module, Distributed ddroot directory is created. File Sender Module In this module, The Shared files in the Resource table are stored in the Distributed directory. Resource Prober Module In this Module, the file in Distributed directory is downloaded into Client Machine. After downloading the files, users can access the files in Windows Environment.

1.2. SYSTEM ANALYSIS


1.2.1EXISTING SYSTEM Though solutions exist for Windows platforms that emulate the concept of service agents, no reliable cross-platform software exists similar to the one we have developed. The available solutions include: 1. Commercial software 2. Free downloads The few commercial solutions that exist lack the following

requirements: 1. Price factor 2. Too compelling and intricate registration and maintenance procedures 3. 100 % customized for a single company requirements so that modification to suit alternative requirements becomes difficult. 4. Security. Drawbacks of Existing System The Available Software is either prohibitively expensive or doesnt satisfactorily possess all the features required. It is not advisable for corporates to rely on anonymous downloaded software freely available over the internet, for the risks involved with respect to the companys valuable trade secrets and data are enormous.

1.2.2. PROPOSED SYSTEM In short, the requirements for this undertaking are: 1. Software that is excellent with respect to performance. 2. Doesnt necessitate dependence on expensive commercial software. 3. Customized report and registration features. 4. High security 5. Reliability and support. 6. Offers a user-friendly interface. 7. Fast and easy probing of a network services without straining the networks resources. Quality Assurance is software that fulfills all the above

requirements. The services can be seamlessly accessed and the files downloaded for the network users. An essential criterion for the success of software is a simple, user-friendly Graphical User Interface (GUI). The project should be robust (bullet-proof) so that the service agent does not go down should any wrong data be input, or any other crisis like an attempted violation of access rights occurs.

1.3. SYSTEM CONFIGURATION

HARDWARE CONFIGURATION Processor Motherboard Main Memory Hard disk Floppy disk CD-ROM Monitor : : : : : : : Pentium IV Intel Motherboard 256 MB 40 GB 1.44 MB 54x Max-speed Display type: 15.0 color

Keyboard

Multi-media Keyboard

SOFTWARE CONFIGURATION Server configuration Operating System : Linux Language : Java

Software Required : Samba

Client configuration Operating System Language : Windows : Java 2.0

Software Required : Telnet Backend : MySQL

LITERATURE SURVEY
CHAPTER 2 LITERATURE SURVEY 2.1. LINUX FEATURES
There are many reasons to use LINUX. Free LINUX is licensed under the free software foundations GNU General Public License (GPL). According to the terms of the License, anything using it must take available the source code used to build the software, and anything using source code from the software must be licensed under the GPL. This perpetuates the availability of the source code Open source This implies that the source code used to create the application is made available at no change to the General Public. Users configuration to the source code, which may be, in tern, merged into the distributed binary form of the application, are generally welcome. This is the way LINUX

has come to thrive in.

Network A network is a group of computers and devices connected together in order to communicate and work with each other. LINUX was built with networking in mind and all distributions include the necessary programs and utilities to attached to and function on a network.

Power LINUX has the ability to transform your legacy hardware into a powerful, well turned machine. Take that old 486 or Pentium and turn it into a fully multitasking crash free system. Interactive LINUX allows user to interact with the system, entering commands that are executed immediately (rather than the mainframe method of queuing commands to be run in a batch). Multi-user Linux allows multiple people to access the same computer at the same time, differentiate between them, and understand which process belongs to whom. Multitasking Linux is capable of carrying out more than one task at the same time.

Multiprocessing System Linux also supports multiple CPUs on the same computer. System with multiple processors performs faster than single CPU system because the processors can combine forces to work on one task between multiple processors via a technique called multithreading.

2.2. JAVA OVERVIEW


Java is a platform independent language and supports Unicode character set. Java was developed in 1990s and is a Microsoft product. It contains application and applet programming. Java is an Object-oriented multithreaded programming language. It is designed to be small, simple and portable across different platforms as well as operating systems. Java became popular because of its three components. One of the components is Applet.

2.3. JAVA FEATURES


Secure Java achieves protection by confining a Java program to the Java execution environment and by making it inaccessible to other parts of the

computer. Hence Applets can be downloaded without any fear of viral infection or malicious intent. Portable Many types of computers and operating systems are in use throughout the world and are connected to the Internet. So, for downloading programs through different platforms connected to the Internet portable, executable code is needed. Java handles these problems efficiently through its well-defined Architecture. Object-Oriented Java gives a clean, usable, realistic approach to objects. The object model in Java is simple and easy to extend, while simple types, such as Integers, are kept as high performance non-objects. Robust Most programs used today fail for one of the two reasons: Memory management or Exceptional conditions. Thus the ability to create robust programs was given a high priority in the design of Java. Java also handles exceptional conditions by providing object oriented exception handling. Multithreaded Java was designed to meet the real world requirements of creating interactive, networked programs. To achieve this, Java supports multithreaded programming, which allows the user to write programs that performs many functions simultaneously Architecture Neutral

Interpreted and high Performance Java enables the creation of cross-plat formed programs by compiling the code into an intermediate representation called Java byte code. This code can be interpreted on any system that has a Java Virtual Machine. Most of the earlier cross-platform solutions are run at the expense of performance. Java however was designed to perform well on very low power CPU's.

Distributed Java is designed for the distributed environment of the Internet, because it handles TCP/IP protocols. Java includes features for Intraaddress-space messaging in a package called Remote Method Invocation (RMI). Dynamic Java programs carry with them extensive amounts of runtime information that is used to verify and resolve accesses to objects at runtime. Using this concept it is possible to dynamically link code. Dynamic property of Java adds strength to the applet environment in which small fragments of byte code may be dynamically updated on a running system. 2.4. SWING COMPONENTS

Swing is a GUI component kit for building user interfaces and handling end user input. JButton JButton is a push button that is a replacement for java.awt.Button. Instances of JButton, like Swing labels, can display text, an icon, or both. Like AWT buttons, Swing button fire action events when they are activated. An action listener can register with a button, and the listeners action Performed method will be invoked whenever the button is activated. JLabel Swing labels can be used for many purposes. For example, in addition to serving as a component that can display an icon, labels are also typically used as cell reindeers for Swing tables. JList Swing lists, represented by the JList class, display a list of selectable objects and support three selection modes: single selection, single interval selection, and multiple interval selection. JTextField The JTextField component displays a single line of editable text, using a single font and a single color. Horizontal alignment either LEFT, CENTER, or RIGHT can be specified for a text fields text. By default, pressing the Enter key (KeyEvent.VK_ENTER) while a text field has

focus causes the field to fire action event. The JTextField class is nearly source compatible with the java.awt.TextField class. JTextArea Swing text areas, represented by the JTextArea class, can display multiple lines of plain text, which is defined as text with one font and one color. Text areas can wrap lines, either on character or word boundaries. The JTextArea class is nearly source compatible with the java.awt.TextArea class.

JCheckBox Check boxes are two state buttons that typically display text and have a visual indicator as to whether the check box is currently selected or deselected. Check boxes are usually displayed in groups but normally do not exhibit mutually exclusive selection behavior. The JCheckBox class has no properties of its own all properties are inherited from the Abstract Button class. JComboBox Instances of JComboBox are not editable by default, but a simple call to JComboBox.setEditable (true) is all thats required to enable editing. JRadioButton Radio buttons and check boxes are nearly identical, except for the

control they display to depict their selection status. Additionally, radio buttons are almost always used to present an array of mutually exclusive check boxes are typically used for choices that are not mutually exclusive. The JRadioButton class has no properties of its own all properties are inherited from the Abstract Button class.

JScrollBar The user positions the knob in the scrollbar to determine the contents of the viewing area. The program typically adjusts the display so that the end of the scrollbar represents the end of the displayable contents, or 100% of the contents. The start of the scrollbar is the beginning of the displayable contents, or 0%. The position of the knob within those bounds then translates to the corresponding percentage of the displayable contents. Typically, as the position of the knob in the scrollbar changes a corresponding change is made to the position of the JViewport on the underlying view, changing the contents of the JViewport. Instances of JScrollBar fire adjustment events when a scrollbars value is modified. JMenuBar JMenu

Swing menus are buttons that display a popup menu they are activated. If a menu resides in a menu bar, it is referred to as a toplevel, whereas menus that are contained in a menu are referred to as pull-right menus. MenuItem Menu items are buttons by virtue of the fact that JMenuItem extends Abstract Button, and therefore menu item can display text and an icon. Menu items also inherit the ability to fire action events when they are activated. Because Abstract Button ultimately extends java.awt.Container, menu items can also contain types of AWT and Swing components. JCheckBoxMenuItem JCheckBoxMenuItem is a simple extension of JMenuItem that draws a checkbox control on the left hand side (by default) of the drawn in the menu item. JRadioButtonMenuItem Swing radio button menu items are similar to checkbox menu item; both JCheckBoxMenuItem and JRadioButtonMenuItem are simple extension of JMenuItem. Flow Layout A flow layout arranges components in a left-to-right flow, much like lines of text in a paragraph. Each line is centered. Grid Layout

The Grid Layout object is a layout manager that lays out a container's components in a rectangular grid. The container is divided into equal-sized rectangles, and one component is placed in each rectangle. Border Layout A border layout lays out a container, arranging and resizing its components to fit in five regions: north, south, east, west, and center. Each region may contain no more than one component, and is identified by corresponding constant: NORTH, SOUTH, EAST, WEST, and CENTER.

DATABASE STRUCTURE

Table Name: User table

Field Name User name Password Group name

Data Type Varchar (15) Varchar (15) Varchar (13)

Table Name: Resource Table Field Name Resources name Comment Group name Host Data Type Blob Varchar (20) Varchar (13) Varchar (15)

DESIGN METHODOLOGY
CHAPTER - 3 DESIGN METHODOLOGY
3.1. INPUT DESIGN Input design is the process of converting user-oriented inputs to a computer-based format. The quality of the system input determines the quality of system output. Input design determines the format and validation criteria for data entering to the system. Inputs originate with system users; human factors play a significant role in input design. The inputs in this project are as simple as possible and design to reduce the possibility of incorrect data being entered by using validation in each and every module. Users pass input through components created using swing.

The input design of this project is constructed with the following principles Capture only validated data. Restricted user entry. The main objectives considered during input design are: Nature of input processing. Flexibility and thoroughness of validation rules. Handling of priorities within the input documents.

Screen design to ensure accuracy and efficiency of input Careful design of the input also involves attention to error

relationship with files.

handling, controls, batching and validation procedures. As the project is system oriented and we deal with service agent, the input is just the username, password and the group name of the administrator. The user should not login into the project in order to improve the security of the system. In some cases the enabling options that would affect the performance of your system can be the input. The member adder module checks for the system in the network by identifying the port number and the IP address for the systems. The ResourceProber module identifies the shared files in the network by searching the resource table

3.2. OUTPUT DESIGN

Output design generally refers to the results and information that are generated by the system. For many end users, outputs are the main reason for developing the system and the basis on which they will evaluate the usefulness of the application. Most end users will noticeably operate the information system or enter data through workstation, but they will use the output from the system. When designing output, system analyst must determine what information is to be presented and decide where to display, print the information and select the output medium. The data produced as output should be accurate and reliable and the output must furnish relevant data. The output should be maintained according to the users needs.

Quality Assurance is done in Java, so the output is the GUI interface, which is user-friendly. The project is provided with a separate GUI tool for enabling the client machines to the server for the connection to be established between the server and the client machines. The output is also provide an interface for registering the files in the network so that the administrator can download the shared files from the server which is to be stored in the database. The shared files are downloaded and used effectively in the local client machines.

STEM TESTING

SY

CHAPTER - 4 SYSTEM TESTING AND IMPLEMENTATION


4.1. UNIT TESTING Unit testing focuses verification effort on the smallest limit of software design. Using the unit test plan prepared in the design phase of the system, important control paths are tested to uncover the errors within the module. This testing was carried out during the coding itself. In this testing each module is going to be working satisfactorily as the expected output from the module. Examples for some tests performed: Click on all links System displays appropriate screen. No error message saying not found is given. If we press a button appropriate screen should open otherwise not found error will be displayed. Use of empty values in mandatory fields. Display error: Entry missing. If username without password is given then enter correct password message will be displayed. Use of wrong data type values. Display error: Enter numeric or alpha according to the entry. If numeric value is entered in user name field error message will be displayed.

4.2. INTEGRATION TESTING

Integration testing is the systematic technique for constructing the program structure while at the same time conducting test to uncover errors associated with the interface. The objective is to take tested modules and build the program structure that has been dictated by design. All modules are combined in this testing step. Then the entire program is tested as a whole. If a set of errors is encountered correction is difficult because the isolation of causes is complicated by vastness of the entire program. Using integrated test plans prepared in the design phase of the system developed as a guide, the integration was carried out. All the errors found in the system were corrected for the next testing steps. Security checks done are, 1) Login with wrong user id Display error No such user exist 2) Provide wrong password Display error Password incorrect 3) Other than administrator trying to access user groups Display error Invalid command or Insufficient Access Level 4) Provide wrong IP address of server Display error Server not responding 5) Provide wrong port number Display error error sending message login, list

4.3. VALIDATION TESTING At the end of the integration testing, software is completely assembled as a package, interfacing errors have been uncovered and corrected and final series of software validation testing begins. Validation testing can be defined in many ways, but a simple definition is that validation succeeds then the software functions in a manner that can be reasonably accepted by the user. Software validation is achieved through a series of black box tests that demonstrate conformity the requirements. After validation test has been completed, one of the following two possible conditions exists: The function or performance characteristics confirm to specification and are accepted. A deviation from specification is uncovered and a deficiency list is created. Deviation or errors discovered at this step in this project is corrected prior to the completion of the project is the help of users by negotiating to establish a method of resolving deficiencies. Thus, the proposed system under consideration has been tested by using validation testing and found to be working satisfactory.

IMPLEMENTATION

CHAPTER - 5 IMPLEMENTATION
5.1. SYSTEM IMPLEMENTATION Implementation is the process of having the system personal checks out and put flew equipment to use, train the users to use the new system and construct any file that are needed to take it. The final and important phase in the system life cycle is the implementation of the new system. The file conversion is the most time consuming and expensive activity in the implementation stage. System implementation refers to the step necessary to install a new system input into operation. The implementation has different meaning, ranging from the conversion of a basic application to complete replacement of computer system. Implementation includes all those activities that take place to convert from old system to new. The new system may be totally new placing an existing module or automated system or it may be major modification to an existing system. The method of implementation and time scale to be adopted is found out initially. 5.2. USER TRAINING The system is tested properly and at the same time the users are trained in the new procedure. Proper implementation is essential to provide a reliable system to meet organization requirements. Successful implementation may not guarantee improvement in the organization using the new system, but it will prevent improper installation.

The implementation involves the following things: Careful planning Investigation of the system and constraints Design the methods to achieve the charge over Training the staff in the changed place

CONCLUSI ON

CHAPTER 6 CONCLUSION
The application has been successfully developed, fulfilling the necessary requirements, as identifies in the background study and requirements analysis phase. The design of the system and the database are flexible and has a consistent flow for easy understanding. This is to ensure that enhancements can easily accommodate, without having to make major changes to the application. The software is developed with scalability in mind. Additional modules can be easily added when necessary. The software is developed with modular approach. All modules in this project have been tested separately and put together to form the main system. Finally the system is tested with real data and everything worked successfully. Finally, to conclude, the software development was completed and accepted by the management as well as user staff.

APPENDIX 1

7.1. DATAFLOW DIAGRAM

7.2. SYSTEM DIAGRAM

APPENDIX 2

SNAP SHOTS

REFERENCE

REFERENCE
The relevant referred books for the project are the following
1. The complete reference for Java2 3rd Edition by Patrick

Naughton & Herbert Schildt. 2. Java Foundation Classes by Matthew T. Nelson


3. Programming Java-An introduction to programming using Java

by Decker, Hirsh field, 2nd edition 4. Core Java Cay S.Horstmann, Gary Cornell.

Вам также может понравиться