Desktop Locking
CHAPTER 1: INTRODUCTION
PROJECT PROBLEM AND RELEVANCE KNOWLEDGE
In the field of networking, the specialist area of network security consists of the
provisions made in an underlying computer network infrastructure, policies adopted
by the network administrator to protect the network and the network-accessible
resources from unauthorized access, and consistent and continuous monitoring and
measurement of its effectiveness (or lack) combined together.
The terms Network Security and Information Security are often used interchangeably.
Network Security is generally taken as providing protection at the boundaries of an
organization by keeping out intruders (hackers). Information Security, however,
explicitly focuses on protecting data resources from malware attack or simple
mistakes by people within an organization by use of Data Loss Prevention (DLP)
techniques. One of these techniques is to compartmentalize large networks with
internal boundaries. Employees have to cross these boundaries and be authenticated
when attempting to access protected information.
RECOGNITION OF NEED
INTRODUCTION
In System development Life cycle, the very first stage is RECOGNITION OF
NEED is a collected fast looks over the existing system, is done in this stage.
Before developing the new system, it is very important to study the existing system.
Sometimes it becomes hard to study existing system easily & suggest new system.
Study of existing system involves analyst of input, output, and type of operations.
How these operation are performed by existing system.
The system analyst has to find out what problem the existing system is facing .What
modifications have to be made in the existing system and how it can be improved in
an efficient manner so that it may satisfy the need of user? The system analyst a must
also know the scope of the problem by studying the system.
In order to understand the work of an existing system the system analyst has to
interact with the users. He has to survey to get knowledge about the existing system.
Hence in this stage the system analyst has to perform two basic steps:
1. To find out what the problem faced by users with current working system.
2. Activities of surveying and investigation
For the preliminary survey the system analyst developed through estimate and collect
sample of document. The system analyst makes take interviews only a few people and
use approximation
In short, Recognition of need is:
To find out what are the limitation include in current system.
What are the drawbacks of current system?
This is the users request to change, improve or enhance an existing system.
Make a list of objectives for new system
Problem definition for existing system
INITIAL INVESTIGATION
The survey and investigation has to be carried out by the system analyst for the
following purpose
1. The response time required
2. The goal and objective of system
3. Identify current different in users requirement
4. The resource time required
All the questions are answered by investigation. This creates a rough image of how
the system is working. Its drawbacks are in system analyst mind. Initial investigation
means to find out what are the drawback of existing system and what are the problem
faced by user at working level, what are feelings of while working with current
system.
SCOPE OF PROJECT
-Denying Services To particular Machines is used to lock/unlock the remote system.
-Administrators and users with administrator rights can only use this tool for
locking/unlocking remote system.
SELECTION OF LANGUAGE
TECHNOLOGY: 1) JAVA
Java:
Java is a new computer programming language developed by Sun
Microsystems. Java has a good chance to be the first really successful new computer
language in several decades. Advanced programmers like it because it has a clean,
well-designed definition. Business likes it because it dominates an important new
application, Web programming.
Features
Sun describes Java as
Simple
Object-oriented
Distributed
Robust
Secure
Architecture Neutral
Portable
Interpreted
High performance
Multithreaded
Java is simple.
What it means by simple is being small and familiar. Sun designed Java as
closely to C++ as possible in order to make the system more comprehensible, but
removed many rarely used, poorly understood, confusing features of C++. These
primarily include operator overloading, multiple inheritance, and extensive automatic
coercions. The most important simplification is that Java does not use pointers and
implements automatic garbage collection so that we don't need to worry about
dangling pointers, invalid pointer references, and memory leaks and memory
management.
Java is object-oriented.
This means that the programmer can focus on the data in his application and the
interface to it. In Java, everything must be done via method invocation for a Java
object. We must view our whole application as an object; an object of a particular
class. .
Java is distributed.
Java is designed to support applications on networks. Java supports various
levels of network connectivity through classes in java. net. For instance, the URL
class provides a very simple interface to networking. If we want more control over the
downloading data than is through simpler URL methods, we would use a
URLConnection object which is returned by a URL [Link] () method.
Also, you can do your own networking with the Socket and Server Socket classes.
Java is robust.
Java is designed for writing highly reliable or robust software. Java puts a lot of
emphasis on early checking for possible problems, later dynamic (runtime) checking,
and eliminating situations that are error prone. The removal of pointers eliminates the
possibility of overwriting memory and corrupting data.
Java is secure.
Java is intended to be used in networked environments. Toward that end, Java
implements several security mechanisms to protect us against malicious code that
might try to invade your file system. Java provides a firewall between a networked
application and our computer.
Java is architecture-neutral.
Java program are compiled to an architecture neutral byte-code format. The
primary advantage of this approach is that it allows a Java application to run on any
system that implements the Java Virtual Machine. This is useful not only for the
networks but also for single system software distribution. With the multiple flavors of
Windows 95 and Windows NT on the PC, and the new PowerPC Macintosh, it is
becoming increasing difficult to produce software that runs on all platforms.
Java is portable.
The portability actually comes from architecture-neutrality. But Java goes even
further by explicitly specifying the size of each of the primitive data types to eliminate
implementation-dependence. The Java system itself is quite portable. The Java
compiler is written in Java, while the Java run-time system is written in ANSI C with
a clean portability boundary.
Java is interpreted.
The Java compiler generates byte-codes. The Java interpreter executes the
translated byte codes directly on system that implements the Java Virtual Machine.
Java's linking phase is only a process of loading classes into the environment.
Java is high-performance.
Compared to those high-level, fully interpreted scripting languages, Java is
high-performance. If the just-in-time compilers are used, Sun claims that the
performance of byte-codes converted to machine code are nearly as good as native C
or C++. Java, however, was designed to perform well on very low-power CPUs.
Java is multithreaded.
Java provides support for multiple threads of execution that can handle
different tasks with a Thread class in the java. Lang Package. The thread class
supports methods to start a thread, run a thread, stop a thread, and check on the status
of a thread. This makes programming in Java with threads much easier than
programming in the conventional single-threaded C and C++ style.
Java is dynamic.
Java language was designed to adapt to an evolving environment. It is a more
dynamic language than C or C++. Java loads in classes, as they are needed, even from
across a network. This makes an upgrade to software much easier and effectively.
With the compiler, first we translate a program into an intermediate language
called Java byte codes ---the platform-independent codes interpreted by the interpreted
on the Java platform. The interpreter parses and runs each Java byte code instruction
on the computer. Compilation happen s just once; interpretation occurs each time the
program is executed.
Overview of the Swing
The Swing package is part of Java Foundation Classes (JFC) in the Java
platform. The JFC encompasses a group of features to help people build GUIs; Swing
provides all the components from buttons to split panes and tables.
Swing Features and Concepts:
It introduces Swings features and explains all the concepts we need to be able to
use Swing components effectively.
Swing Components and the Containment Hierarchy:
Swing provides many standard GUI components such as buttons, lists, menus
and textareas, which we combine to create our programs GUI. It also includes
containers such as windows and tool bars.
Layout Management:
Containers use layout managers to determine the size and position of the
components they contain. Borders affect the layout of Swing GUIs by making Swing
components larger. We can also use invisible components to affect layout.
Event Handling:
Event handling is how programs respond to external events, such as the user
pressing a mouse button. Swing programs perform all their painting and event
handling in the event-dispatching thread.
Painting:
Painting means drawing the components on-screen. Although its easy to
customize a components painting, most programs dont do anything more
complicated than customizing a components border.
Threads and Swing:
If we do something to a visible component that might depend on or affect its
state, then we need to do it from the event-dispatching thread. This isnt an issue for
many simple programs, which generally refer to components only in event -handling
code. However, other programs need to use the invoke Later method to execute
component-related calls in the event-dispatching thread.
More Swing Features and Concepts:
These are some of the major concepts we need to know to build Swing GUIs
the containment hierarchy, layout management, event handling, painting, and
threads. These are some of the other important Swing features. They are
Features that JComponent provides
Icons
Actions
Pluggable Look and Feel support
Support for assistive technologies
Separate data and state models
FEASIBILITY STUDY
INTRODUCTION
A feasibility study is a preliminary study undertaken to determine and document a
projects visibility. Feasibility study involves detailed assessment of the need value &
practically of a proposed Enterprise, such as systems development. The results of this
study are used to make a decision whether or not to proceed with the project.
FEASIBILTY STUDY INCLUDES:
1. Technical Feasibility
2. Economical Feasibility
3. Schedule Feasibility
4. Operational Feasibility
A feasibility study is conducted to select the best system that meets the performance
requirements. A system required performance is defined by a statement of the
identification of specific system objective & the description of output.
The process to make changes in the current system in order to achieve
new effective system.
The feasibility study includes complete initial analysis of all related
system. Therefore the study must be conducted in a manner that will reflect the
economic as well as technical feasibility of the system proposal.
There are four major points to be covered in feasibility study
1. ECONOMIC FEASIBILITY
Economic feasibility is the most frequently used method for evaluating the
effectiveness of the candidate system that is proposed system, more commonly used
as cost/benefit analysis
The procedure is to determine the benefit and savings that are expected from the
candidate system and compare them with the cost, if the benefit over weight cost then
the decision is made to design and implement the system, other wise further
justification in the proposed system will have it be made, if it has chance to improve.
Cost estimate for a system we consider several [Link], Personnel,
Facility, Operation, Supply cost etc.
While developing the system we have to consider all the elements are
completely satisfied and according to organizations expectations.
2. TECHNICAL FEASIBILITY
In the technical feasibility the system analyst look between the requirements of
the organization, such as suggest input device which can enter a large amount of data
in effective time .Output devices which can produce output in a bulk in an effective
manner.
3. SCHEDULE FEASIBILITY
The estimation how long the system will take to develop & if it can be
completed in a given time period using some methods like payback period. The
project will fail if it takes too long to be completed before it is useful. Schedule should
be maintained by project team.
4. OPERATIONAL FEASIBILITY
Do the current work practices & procedures affect the working lives of those
affected by system?
For eg; system should be easily operable. There should not be complications for
user to enter details. It should also validate customers specification completely.
CHAPTER 2: PROJECT ANALYSIS AND DESIGN
2.1 Requirement analysis:
We divide requirement analysis into two parts:-
2.1.1 Functional Requirement
2.1.2 Nonfunctional Requirement
2.1.1. Functional Requirement: -
In functional requirement, we describe the module we require to
develop this project.
The project contains four modules. They are,
Lock computer
Unlock computer
Network Configuration
MODULE DESCRIPTION
LOCK COMPUTER
By processing the lock procedure we can lock the remote system.
In the network locking we need client system and server system to lock
the start menu, desktop and taskbar with the help of the password
UNLOCK COMPUTER
By processing the unlock procedure we can unlock the remote system.
With the help of password we can unlock the start menu, desktop and taskbar
NETWORK CONFIGURATION
This is the first module, which is used to select the IP address is going to
do the network lock process.
With the help of this network configuration, we can select the remote
system.
3.1.2 Nonfunctional Requirement: -
Nonfunctional requirement is nothing but the
supporting system for the software or project.
Following are the Hardware And Software requirement of the project: -
HARDWARE CONFIGURATION:
PROCESSOR : PENTIUM IV
HARD DISK CAPACITY : 40 GB
MONITOR :14 SAMTRON MONITOR
FLOPPY DISK DRIVE :1.44 MB
PRINTER : TVS 80 COLOR
INTERNAL MEMORY CAPACITY : 128 MB
KEYBOARD : LOGITECH OF 104 KEYS
CPU CLOCK :1.08 GHz
MOUSE : LOGITECH MOUSE
SOFTWARE CONFIGURATION:
OPERATING SYSTEM : WINDOWS XP
FRONT END : JDK1.6.0
2.3 SYSTEM DESIGN
USE CASE DIAGRAM
`
LOCK COMPUTER
UNLOCK COMPUTER
NETWORK CONFIGURATION
WINLOCK
REMOTE
SYSTEM
LOCAL SYSTEM
ACTIVITY DIAGRAM
START
NETWORK CONFIGURATION
LOCK
COMPUTER UNLOCK
COMPUTER WINLOCK
STOP
DATA FLOW DIAGRAM (0 LEVEL)
NETWORK LOCKING
N ETWORK
CONFIGU RATION
LOCK UNLOCK WINLOCK
REMOTE SYSTEM
DATA FLOW DIAGRAM (DFD LEVEL 1)
ADMINISTRATOR
CONFIGURE
IPADDRESS
SELECT
A DMINISTRATOR
REMOTE SYSTEM
SYSTEM
SELECT SYSTEM
DATA FLOW DIAGRAM (DFD LEVEL 2)
SPEC IFY PASSWORD
LOCK SYSTEM
REMOTE SYSTEM
DATA FLOW DIAGRAM (DFD LEVEL 3)
A DMINISTRATOR
SYSTEM
SELECT SYSTEM
ENTER PASSWORD
UNLOCK SYSTEM
A DMINISTRATOR
SYSTEM
REMOTE SYSTEM
SELECT SYSTEM
DATA FLOW DIAGRAM (DFD LEVEL 4)
PERFORM
WINLOCK OPERATIONS
REMOTE SYSTEM
CHAPTER 3: IMPLEMENTATION
The purpose of System Implementation can be summarized as follows:
It making the new system available to a prepared set of users (the deployment), and
positioning on-going support and maintenance of the system within the Performing
Organization (the transition). At a finer level of detail, deploying the system consists
of executing all steps necessary to educate the Consumers on the use of the new
system, placing the newly developed system into production, confirming that all data
required at the start of operations is available and accurate, and validating that
business functions that interact with the system are functioning properly. Transitioning
the system support responsibilities involves changing from a system development to a
system support and maintenance mode of operation, with ownership of the new
system moving from the Project Team to the Performing Organization.
List of System implementation is the important stage of project when the
theoretical design is tuned into practical system.
SITE PREPARATION
It is the process of deciding boundary of the system. Boundary is the restricted area
for the system. The arrangement of machine and sitting arrangement should be very
comfortable for user
User Training
The user is important person in the whole product. Though the system is validating all
requirements of users, if user does not know how the system so it is of no use.
Thus we have to train the user so that he can access the system efficiently.
Thus we should give idea to user how to use the system. We should provide all
executable files to user and hardware and software requirement of the system.
SYSTEM TESTING
Testing is not isolated to only one phase of the project but should be exercised
in all phases of the project. After developing each unit of the software product, the
developers go through an extensive testing process of the software.
After the development of software modules, developers perform a thorough unit
testing of each software component. They also perform integration testing of all
combined modules.
Following major tests should be performed by the programmer
SYSTEM TESTING
CODE TESTING
SYSTEM TESTING
It makes logical assumptions that if all parts of the system are correct
CODE TESTING
After implementing program it is essential to test that complete code
To ensure error free program
Testing checks for two types of errors
Syntax errors
Logical errors.
ADVANTAGES
1. Reliable
2. Economical
3. Easy to use and implement.
4. Prevent unwanted access to systems.
5. When the remote computer is being locked by Network lock,
- None can access remote documents,
- browse the remote computer,
- or use programs on remote computer.
APPLICATIONS
In schools/colleges to restrict the access.
In offices, corporate houses.
In training institutions
CONCLUSION
The project entitled Desktop Locking Has been developed o satisfy all proposed
requirements.
The system is highly scalable and user friendly. Almost all the system objectives have
been met. The system has been tested under all criteria.
All phases of development were conceived using methodologies. The software
executes successfully by fulfilling the objectives of the project. Further extensions to
this system can be made required with minor modifications.
REFERENCES
Books Referred:
1. Scott Oaks, Henry Wong, Mike Loukides (Editor), Java Threads Java Series,
OReilly & Associates.
2. Patrick Naughton, Herbert Schildt, Java 2: The Complete Reference, Third
Edition, Tata McGraw-Hill Publishing Company Limited.
3. David Flanagan, Java in a Nutshell, 2nd Edition, May 1997.