Pragati – Java and HTML Editor
1.
INTRODUCTION
The main goal to design a text
editor, which is platform independent unlike notepad. Here we are going to
provide some extra features, which are not available in notepad. My project
entitled “PRAGATI - The JAVA and HTML Editor”
We are going to provide a toolbar
which is not available in notepad. Here we are providing a facility by which
you can change the font of selected region only, which is not possible in
notepad. The proposed editor will support JAVA as well as HTML programs.
With the proposed editor, user may
have the facilities to execute the HTML and Java programs and also it is
possible to write the text files. Apart from these, an user can also execute
the JavaScript programs. Another main facility we are going to provide here is
JAVA editor where you can write, compile and execute your JAVA program on the
same editor. You need not use the command prompt to compile and execute the
JAVA program. You can easily debug the program in the same editor.
Our editor will be user-friendly. It
is easy to compile and execute JAVA programs using our editor because you need
not use commands here to compile and execute the JAVA programs. The old text
editor i.e. notepad which is not platform independent and doesn’t have toolbar
hut our editor is platform independent and will have toolbar. The notepad
doesn’t have extra features such as font color, which we are going to provide
in our “PRAGATI - Editor”. Regarding the JAVA editor normally we write the JAVA
programs in DOS editor, in windows platform using notepad or in UNIX platform
using editor of UNIX. And compilation is done in command prompt using commands
but in our editor user can direct compile and execute the JAVA program by only
one click.
2. SYSTEM
ENVIRONMENT
The system environment specifies the
technical specification of requirements for the developing software. The goal
of this chapter is completely and consistently specifies the requirements for
the software products in a concise and unambiguous manner.
2.1
SOFTWARE REQUIREMENT
Operating system
: Any Operating System
Platform : Core Java
2.2 MINIMUM
HARDWARE REQUIREMENT
Processor : Pentium I and above
Memory : 64 MB RAM and above
Hard disk : 10 MB and above
Mouse : Optical mouse or if any
Monitor : Color monitor
Keyboard : 102 keys
ABOUT JAVA
Java is an object-oriented
programming language developed by Sun Microsystems that plays to the strengths
of the Internet. Work on Java originally began with the goal of creating a
platform independent language and operating system for consumer electronics.
Java is both a programming language and an environment for executing programs
written in the Java language. Unlike traditional compilers, which convert
source code into machine-level instructions, the Java compiler translates Java
source code into instructions that are interpreted by the runtime Java Virtual
Machine. So, unlike languages C and C++, on which Java is based, Java is an
interpreted language.
Although most of the current
excitement and anticipated use of Java are related to the Internet, and the
World Wide Web in particular Java did not begin as an Internet project. Because
of this Java is suitable for many general-purpose programming tasks and in
fact, many of the Java tools themselves are written in Java. It is a compiler
development custom that a language has come of age when its compiler can be
written in the language. According to this custom the Java language has come of
age.
JAVA AS A
GENERAL-PURPOSE LANGUAGE
Of course, the use of Java extends
beyond the Web, and there is much to recommend Java as a general-purpose
development language. Java is completely portable to a variety of hardware
platforms and OS.
FEATURES OF
THE-JAVA LANGUAGE
Having seen that Java is equally
suited as a language for development both on and off the Internet it’s time to
look more closely at the Java language itself. The creators of Java at Sun
Micro Systems have defined the Java language as “a simple object-oriented
distributed, interpreted, robust, secure, architecture neutral portable, high
performance, multithreaded and dynamic language”.
SIMPLE
Java has simplified C++ programming
by both adding features beyond those found in C++ and by removing some of the
features that make C++ a complicated and difficult language to master. Java is
simple because it consists of only three primitive data types numbers, Boolean
types, and arrays. Everything else in Java is a class. For example, strings are
true objects, not just arrays of characters. Similarly, arrays in the Java
language are first class objects, not just memory allocations and runtime
representations. Java offers additional operator overloading, a frequent source
of confusion during the maintenance of C++ programs, is not allowed in Java.
Unlike C and C++, Java has no preprocessor. Java reduces the redundancy of C++
by removing structures and unions from the language. The most important C++
feature left out of Java is the capability to directly manipulate memory
addresses through the use of pointcrs. Java goes well beyond C++ by adding some
important features.
One of the most important is
automatic memory management usually known as garbage collection. Java goes
beyond C++ in a variety of other ways, as well. For example, Java includes
language level support for writing multithreaded programs. A multithreaded
program is one that is written such that it performs more than one task at a
time.
OBJECT-ORIENTED
Java is an object-oriented
programming language. As a programmer, this means that you focus on the data in
your application and methods that manipulate that data, rather than thinking
strictly terms of procedures. Of course, Java is an object- oriented. In its
approach to object-orientation except for its primitive data everything in Java
is an object. There are no global functions in Java all functions are invoked
through an object.
In an object oriented system, a
class is a collection of data and methods that operate on that data. Taken
together, the data and methods describe the state and behavior of an object
Classes are arranged in a hierarchy, so that a subclass can inherit behavioral
from its super class. A class hierarchy always has root class; this is class
with very general behavior.
Java comes with an extensive set of
classes, arranged in packages that you can use in your program.
Classes in Java can be defined as
abstract. An abstract class is a class that collects generic state and
behavioral information.
DISTRIBUTED
Java facilitates the building of
distributed applications by a collection of classes for use in networked
applications. By using Java’s URL class, an application can easily access a
remote server. Classes also arc provided for establishing socket level
connections.
ROBUST
The designers of Java anticipated
that it would be used to solve some very complex programming problems. Writing
distributed, multithreaded program that can run on a variety of operating
systems with a variety of processors is not a simple task .To do it
successfully, you need all the help your programming language can offer you.
With this in mind, Java was created as a strongly typed. Data type issues and
problems are resolved at compile-time, and implicit casts of a variable from
one type to another are not allowed.
Memory management has been
simplified in Java in two ways. First, Java does not support direct pointer
manipulation or arithmetic. This makes it impossible for a Java program to
overwrite memory or corrupt data. Second, Java uses runtime garbage collection
instead of explicit freeing of memory.
SECURE
Closely related to Java’s robustness
is its focus on security. Because Java does not use pointers to directly
reference memory locations, as is prevalent in C and C++, Java has a great deal
of control over the code that exists within the Java environment.
It was anticipated that Java
applications would run on the Internet and that they could dynamically
incorporate or execute code found at remote locations on the Internet. Because
of this, the developers of Java hypothesized the existence of a hostile Java
compiler that would generate Java byte codes with the intent of bypassing
Java’s runtime security. This led to the concept of a byte-code verifier The
byte-code verifier examines all incoming code to ensure that the code plays by
the rules and is safe to execute. In addition to other properties, the byte
code verifier ensures the following:
- No pointers are forged.
- No illegal object casts are performed.
- There will he no operand stack overflows or underflows.
- All parameters passed to functions are of the proper types.
INTERPRET
Java is an interpreted language: the
Java compiler generates byte-codes for the Java Virtual Machine (JVM), rather
than native machine code. To actually run a Java program, you use the Java
interpreter to execute the compiled byte-codes. Because Java byte-codes are
platform-independent, Java programs can run on any platform that the JVM (the
interpreter and run-time system) has been ported to.
PORTABLE
Java code is portable. It was an
important design goal of Java that it be portable so that as new architectures
(due to hardware, operating system, or both) are developed, the Java
environment could be ported to them. In Java, all primitive types (integers,
longs, floats, doubles, and so on) are of defined sizes, regardless of the
machine or operating system on which the program is run.
MULTITHREADED
Writing a computer program that only
does a single thing at a time is an artificial constraint that we’ve lived with
in most programming languages. With Java, we no longer have to live with this
limitation. Support for multiple, synchronized threads is built directly into
the Java language and runtime environment. Synchronized threads are extremely
useful in creating distributed, network-aware applications. Such an application
may be communicating with a remote server in one thread while interacting with
a user in a different thread.
DYNAMIC
Because it is interpreted, Java is
an extremely dynamic language. At runtime, the Java environment can extend
itself by linking in classes that may be located on remote servers on a network
(for example, the Internet). This is a tremendous advantage over a language
like C++ that links classes in prior to runtime.
THE JAVA
API
The Java Application Programming
Interface (API) is a set of classes used to develop Java programs. These
classes are organized into groups called packages. There are packages for the
following tasks:
- Numeric variable and string manipulation
- Image creation and manipulation
- File input and output
- Networking
- Windowing and graphical user interface design
- Applet programming
- Error handling
THE
ABSTRACT WINDOW TOOLKIT
The Abstract Window Toolkit (AWT)
provides a large collection of classes for building graphical user interfaces
(GUIs) in Java. With AWT, you can create windows, draw, work with images, and
use components like buttons, scroilbars, and pull down menus in a
platform-independent way. The java.awt package contains the AWT GUI classes.
The java.awt.image package provides some additional tools for working with images.
AWT is the largest and most complicated part of the standard Java distribution.
As its name suggests AWT is an abstraction. Its classes and functionality are
the same for all Java implementations, so Java applications built with AWT
should work in the same way on all platforms. AWT uses layout managers to
arrange components inside containers and control their sizing and positioning.
Layout managers define a strategy for arranging components instead of relying
on absolute positioning.
SWING
Of
all the new capabilities provided by the JFCI.l, on API, referred to as swing.
Swing is the code word used by the Java Soft programming team for the next
generation of the AWT. Swing extends AWT by supplying many more types of GUI
components, providing 100% pure Java implementations of these components, and
allowing the appearance and behavior of this components to he easily tailored.
Swing
components are
available and consistent across all platforms. The most talked about feature of
Swing is its pluggable look and feel. The Swing PL&F architecture makes it
easy to. customize both the appearance and behavior of any particular Swing
control or any group of those controls.
The Swing
include the following features
- Data Transfer /Clipboard
- Desktop Colors
- Delegation Event Model
- Graphics and images
- Light weight UI frame work
- Mouse less operation
- Popup Menu
- Printing
3. SYSTEM
ANALYSIS
System analysis will be performed to
determine if it is feasible to design information based on policies and plans
of the organization and on user requirements and to eliminate the weaknesses of
the present system.
General
Requirements are: -
1)
The new system should be cost effective.
2)
To augment management, improve productivity and
services.
3)
To enhance User/System interface.
3.1
FEASIBILITY STUDY
3.1.1
TECHNICAL FEASIBILITY
Evaluating the technical feasibility
is the trickiest part of a feasibility study. This is because at this point in
time, not too many-detailed design of the system are present, making it
difficult to access issues like performance, costs on (on account of the kind
of technology to be deployed) etc. A number of issues have to be considered
while doing a technical analysis.
- Understand the different technologies involved in the proposed system: Before commencing the project, we have to be very clear about what are the technologies that are to be required for the development of the new system.
- Find out whether the organization currently possesses the required technologies:
- Is the required technology available with the organization?
- If so is the capacity sufficient?
3.1.2 OPETIONAL
FEASIBILITY
Proposed projects are beneficial
only if they can he turned into information systems that will meet the
organizations operating requirements. Simply stated, this test of feasibility
asks if the system will work when it is developed and installed. Are there
major barriers to Implementation? Here are questions that will help test the
operational feasibility of a project:
- Is there sufficient support for the project from management from users? If The current system is well liked and used to the extent that persons will not be able to see reasons for change, there may be resistance.
- Are the current business methods acceptable to the user? If they are not, Users may welcome a change that will bring about a more operational and useful systems.
- Have the user been involved in the planning and development of the Project?
Early involvement reduces the
chances of resistance to the system and in general and increases the likelihood
of successful project.
3.1.3
ECONOMIC FEASIBILITY
Economic feasibility attempts two
ways the costs of developing and implementing a new system, against the benefit
that would accrue from having the new system in place. This feasibility study
gives the top management the economic justification for the new system.
The project is not using any
additional software and there is no training required to operate the project so
it is costing saving.
4. SYSTEM
STUDY
4.1
EXISTING SYSTEM:
The existing text editor available
in windows platform is notepad. Notepad has some drawbacks such as we can not
change the font of selected region only compulsory it will change the font of
all the text. Font coloring is not available in notepad.
Regarding JAVA editor there are
number of editor available but using that we can not edit normal text files. In
GEL JAVA editor it is not possible to provide input in the same editor. Again
we have to go to the command editor. There is no special editor available for
HTML and JavaScript. At last we can say there is no such a system exist which
supports normal text files, JAVA programs, HTML and JavaScript programs and
which is platform independent.
4.2
PROPOSED SYSTEM:
In the proposed system we are going
to overcome the limitations of notepad such as providing toolbar and font
coloring. About the JAVA editor you can compile the JAVA program in the same
editor and can give the input for the program in the same editor. First time we
are separately providing an editor for HTML and JavaScript programs.
The proposed system which we are
going to develop will support normal text files, JAVA programs and HTML and
JavaScript Programs as well as which will be platform-independent.
4.3
ADVANTAGE OF PROPOSED SYSTEM
- The proposed system will he platform-independent.
- It will he an user friendly.
Comments
Post a Comment