You are on page 1of 38

Intelligent Editor

Introduction to the area


Developers need a solid text editor is for working with complex
web applications. It may be for creating a site from a scratch, for
editing a CSS file or even just messing around with the
configuration files on the server. For them, a good, solid text
editor is the smiths hammer. You can find very good text editors
both for free and at high cost. If you constantly work with a text
editor then it an important choice
Now a days with the increase in the complexity involved in
programming using different languages and the complexity
involved

in

debugging

these

programs

has

led

to

the

development of newer kind of editors for these programming


languages.these editors are becoming intelligent day by day and
are expected to provide more and more features which make the
task of programming an easier one .
Today there is a very strong need for developing editors with
exceptional

capabilities

which

reduces

the

burden

of

the

programmer to a very great extent . Now a days editor need to


provide easier options such as easier debugging, automatic
indentation for increasing the visibility of the code, removal of
comments, automatic insertion of the keywords and many other
in order to free the programmer form the unnecessary burden of
indentation and other typing related errors. these options should
allow him to perform the coding very easily and time efficiently .

Literature survey
Exiting System
Notepad
Notepad is a text editor, which is a program similar to a word
processor but cannot perform any special editing. No embedded
codes are inserted into the document.
Text files also called: unformatted text files and ASCII (American
Standard Code for Information Interchange).
With Notepad, you can:
Create simple text documents
Multi-tasking/create/edit batch files
Print a file

The Notepad++
Notepad++ is a source code editor and is also a text editor. This
software is distributed free. For displaying and editing text and as
well as programming language source code files, the Notepad++
makes use of the Scintilla editor module.

Dreamweaver
Dreamweaver starts up rather slower than Notepad++. However
the design and source view in Dreamweaver, though sometimes if
you make a change in the design view can often interfere with the
original code and so you have to make changes.

Both Notepad++ and Dreamweaver present color for the code


and thus it enables you to tell the code apart, which is an
extremely helpful characteristic and makes it easier for you to be
aware of the code.

Problem in the existing system


1. Notepad has minimal editing features
2. Notepad come with only basic features not suitable for
advanced programmers
3. It has only basic support for page formatting, and no spell
check
4. Notepad is only text editor, and can not use for large file
5. Notepad is bad for general word processing with very limited
features and help
6. On the other hand Dreamweaver is not freely available so
developers have to shell out money to buy it
7. Dreamweaver is very much resource hungry and it uses lots
of space and resource of the computer

Available solution and their features


NOTEPAD++:
Notepad++ is a text editor that was first released in 2003, which
aims to be an alternative to the unsatisfying editing experience
brought by the default Windows text editor, namely Notepad.

Starting out as a humble project but constantly getting updates, it


grew in popularity over time to eventually become a reference
point for many programmers.
This piece of software is mostly made for developers. Indeed,
there are many tools designed to make the development process
easier. For example, it can colorize a large number of different
programming languages, to make the code easier to read.
Notepad++ is also meant to improve productivity: you can create
macros, which are a list of steps that this program will do when
you press a certain key combination. Creating macros, you avoid
doing repetitive work.
If you fear losing your unsaved work in case of a power shortage,
a system crash, or any other potential problem, then you will
probably like the fact that Notepad++ automatically backups your
work every seven seconds (the time interval is configurable, too).
In case Notepad++ does not have a feature you need, maybe
someone has already made a plugin to add this feature. With the
integrated plugin manager of Notepad++, it is easy to find a
plugin and install it.
However, I found something that I consider to be a major
drawback for users employing multiple screens: Notepad++ can
only be opened once (by default), this means that you cannot
have multiple windows. So if you want to work on multiple
screens in order to be more efficient, you are going to have a hard
time struggling with the split views and the position of the main
window. Although there is a workaround that involves using the
-multiInst -nosession switch.
In conclusion, Notepad++'s reputation is well-deserved since it's
a full-featured text editor, which allows developers to work
significantly more efficiently than with other similar utilities.
BLUEJ:

BlueJ is an editor and generator of Java programs. This program is


capable of editing any existing java application, or generating a
new one, by generating new classes or selecting them from other
packages.
In order to use this editor you must have any version of Java
Development Kit on your system.
You can download the JDK for free from www.sun.com. Optionally,
you can choose to download and install the Sun Java Wireless
Toolkit (WTK). This way, you will install not only the Java
Developer Kit, but the external standard libraries and device
emulators needed for developing Java ME applications (also called
MIDlets). These applications will run on mobile devices, like
cellphones.
From this version onwards, BlueJ supports developing this kind of
applications. The program will let you build new projects or edit
saved ones, adding, modifying or deleting classes. You will also be
able to open non-BlueJ projects, in order to edit them. This tool
contains links to the developer's page (the University of Kent),
where you will be able to find lots of documentation, manuals and
resources to master this piece of software.
Problem Definition
Problem definition
Teaching a new programming language such as Java is a
challenging task because of the many features that exist in such a
language. Many concepts are too complicated to explain at first
and thus a cut-down approach is needed.
While knowledge of the language is important, it cannot be
denied that the most proficient and efficient programming has
come about with the development of tools, such as integrated
development environments (IDEs), that allow the programmer to
quickly manipulate code and to automate repetitive tasks.

Current basic editors provided by various languages are not so


smart in the sense that the user needs to take care of many
unnecessary things such as indentation of the code , handling the
comments and also the user should take care of the typing errors
such as spelling mistakes etc thus this makes the task of
programming very tedious for the programmer and thus usually
reduces the efficiency of the programmer
There are various existing systems like Notepad++, Dr java
etc .The existing system is a text editor and source code editor for
use with Microsoft Windows. Unlike Notepad, the built-in Windows
text editor, it supports tabbed editing, which allows working with
multiple open files in a single window. Older versions of Notepad+
+ may crash while opening very large files, which might cause a
problem to a programmer.

Proposed solution
The proposed system is a Complete language editor with many
additional features.
INTELLIGENT EDITOR is a type of editor used for writing source
code in a specified language. It provides many features such as
Auto Indentation, Syntax Highlighting, Automatically adds
matching

parenthesis,

Remove

of

Comments,

FTP

Synchronizer, Browser, Syntax Description etc. With these


outstanding features embedded in the editor, user can develop

the program 30 to 40% faster than the conventional editors. It


reduces the burden related to the syntax and other errors
committed while typing the program. Java (swing) is used as a
platform to implement the Intelligent Editor. By using Java as
platform we can develop a very user friendly graphical user
interface (GUI) which makes the task of writing programs easier.
It includes an Integrated language support for languages like
C, C++, Java, HTML with the options of a regular editor to create
new files, open existing files, save files, cut, copy, paste, undo.
The main motive of developing this system is to provide
Developer with a conducive environment to develop various
programs. To provide an interactive environment for editing
various programs, to reduce the time.

Development process
Development process
The waterfall model is a popular version of the systems
development life cycle model for software engineering. Often
considered the classic approach to the systems development life
cycle, the waterfall model describes a development method that
is linear and sequential. Waterfall development has distinct goals
for each phase of development. Imagine a waterfall on the cliff of
a steep mountain. Once the water has flowed over the edge of the
cliff and has begun its journey down the side of the mountain, it
cannot turn back. It is the same with waterfall development. Once

a phase of development is completed, the development proceeds


to the next phase and there is no turning back.
The Waterfall Model was first Process Model to be introduced. It is
also referred to as a linear-sequential life cycle model. It is very
simple to understand and use. In a waterfall model, each phase
must be completed before the next phase can begin and there is
no overlapping in the phases.
Waterfall model is the earliest SDLC approach that was used for
software development .
The waterfall Model illustrates the software development process
in a linear sequential flow; hence it is also referred to as a linearsequential life cycle model. This means that any phase in the
development process begins only if the previous phase is
complete. In waterfall model phases do not overlap.
Waterfall Model design
Waterfall approach was first SDLC Model to be used widely in
Software Engineering to ensure success of the project. In "The
Waterfall" approach, the whole process of software development
is divided into separate phases. In Waterfall model, typically, the
outcome of one phase acts as the input for the next phase
sequentially.
Following is a diagrammatic representation of different phases of
waterfall model.

The sequential phases in Waterfall model are:

Requirement
Gathering
and
analysis: All
possible
requirements of the system to be developed are captured in this
phase and documented in a requirement specification doc.
System Design: The requirement specifications from first
phase are studied in this phase and system design is prepared.
System Design helps in specifying hardware and system
requirements and also helps in defining overall system
architecture.
Implementation: With inputs from system design, the system
is first developed in small programs called units, which are
integrated in the next phase. Each unit is developed and tested
for its functionality which is referred to as Unit Testing.
Integration and Testing: All the units developed in the
implementation phase are integrated into a system after testing
of each unit. Post integration the entire system is tested for any
faults and failures.
Deployment of system: Once the functional and non
functional testing is done, the product is deployed in the customer
environment or released into the market.

Maintenance: There are some issues which come up in the


client environment. To fix those issues patches are released. Also
to enhance the product some better versions are released.
Maintenance is done to deliver these changes in the customer
environment.
All these phases are cascaded to each other in which progress is
seen as flowing steadily downwards (like a waterfall) through the
phases. The next phase is started only after the defined set of
goals are achieved for previous phase and it is signed off, so the
name "Waterfall Model". In this model phases do not overlap.

Advantages of proposed solution

The development of this new system contains the following


advantages, which try to automate the entire process keeping in
the view of language integration approach.
User Friendliness is provided in the application with various
controls provided by system Rich User Interface.
The system makes the overall project management much
easier and flexible.
It can be accessed over windows and other OS as its
developed in JAVA
It provides the flexibility to developers to switch to different
languages in same editor.

This editor will provide quick help to editors with syntax of


common programming key words
There is no risk of data management at any level while the
project development is under process.

Software requirement specification


Purpose, scope
The purpose of this is to allow styling (syntax highlighting) and to
make the text editor Intelligent about which context the caret is
in. For example you may want a key stroke or tab trigger to act
differently depending on the context.
The purpose of this project is to design and develop a functional
text editing application in an open source environment.
The scope of this project will include:
An open source text editor with the following functionality:
o Formatting of text
o Ability to save and open files
o Internal help documentation
Appropriate project documentation
Testing of the application to ensure that it is fully functional.
The scope of this project will not include the following:
Any application functionality not covered above.
Any official external support facilities or resources.
Anything other than what is covered in this document.

Product overview

This application is a text editor in JAVA. This text editor developed


in a JAVA platform is a replica of the word editors we all are
familiar with and which we use quite often on a daily basis. The
only difference being that, this editor has been created using JAVA
for the front-end interface. The text edited in the editor is stored
in the desired location and for this operation, the no-fuss FILE
storage system.

This editor is a simple editor, very similar to that of a notepad


editor that extends the basic features to the end-user like:
File open User can either open the files already existing n the
system or open a new blank file.
Files save - one can save the file in any desired format like-.txt,
.doc, .java etc. The file is stored in the location specified by the
user.
Cut-Copy-Paste This editor also lets the user cut-copy-paste the
edited text.
Undo The user is allowed to undo the text edited. This feature
allows letter by letter undo.
Font This feature extends the user to change the font style of
the edited text.
Word wrap Word wrap is used to wrap the text within the area
which is visible to the user. If the word wrap selection is off, then
the horizontal scroll-bar becomes active and the user will continue
to write text in the same line until a new line entry is specified
using the enter key on the keyboard. With word-wrap feature,
the user doesnt have to explicitly key in the enter button on the
keyboard, as the cursor identifies the last column of the editor
(visible to the user) and automatically points the cursor to the

next line. In short, it wraps the text to the user such that they are
able to see all the text without having to scroll horizontally.
Friendly easy to use interface This notepad editor is easy to use,
just like any other text editor.

Functional requirement
Seeking commonly implemented functions for working with
intelligent text editor, and the degrees of granularity at which
these functions can be implemented
Functions derived from previous work which has contributed to
the definition of the range.
Text selection
one or more constituents at morph, word, phrase level
differentiate content from structure select across
morph/word/phrase cells and obtain content, structure
or both
Cut, copy & paste
any unit of selected text, with or without rendered
orthographic support
combinations will facilitate split and merge type actions
multiple selection clipboard
Multiple level redo and undo

The editor should provide all basic editing operations


such as CUT, COPY, PASTE etc.

The editor should also provide basic file handling


operations such as NEW,OPEN,SAVE,SAVEAS etc
The editor apart from these basic operations should
automatically indent the code i.e. the user after
entering

the

block

of

code

the

editor

should

automatically add the tab & position the cursor at


right position.
Also the editor should add the closing parenthesis and
double

quotes

after

encountering

the

opening

parenthesis or opening quotes.


Also the editor should provide the facility of adding the
keywords automatically.
Also last but not the least the editor should provide
options for handling the comments

Performance requirement
Performance requirement
Guaranteed performance
Guaranteed performance means that, in the face of a abrupt
increase in traffic to an
unexpected level, which can degrade its performance due to
overload to cloud system, a
cloud system autonomously selects a provider that offers an SLA
that satisfies the

consumers demands, and distributes its load to other cloud


systems, thereby continuing
to provide guaranteed service performance for consumers. It also
means guaranteeing
the performance for a higher-priority processing by means of
temporarily delegating the
workload of low-priority processing tasks to other cloud systems.
Guaranteed availability
Guaranteed availability means that, when damaged by a disaster
and threatened to
continuity of services provided by a cloud system, a cloud system
recovers the services
(disaster recovery) by interworking with cloud systems located in
areas unaffected by
the disaster, thereby continuing to provide the guaranteed
services as before the
disaster. If it is difficult to recover services in such a way as to
provide guaranteed
quality for all the services, it is important to recover services
according to priority of
each services, such as continues to provide the guaranteed
quality for high priority
services and attempts to satisfy the a part of quality requirements
only on a best-effort basis.
Convenience of service cooperation
Convenience of service cooperation means to improve
convenience that, when several
related procedures need to be completed, such as when applying
for a passport, a cloud
system cooperates applying service and all the related procedural
services in such a way

that the consumer can see all the services involved as a one-stop
service.
Exception handling
Missing or defective exception handling provisions have caused
many failures in critical software intensive systems even though
they had undergone extensive review and test.
The failures occurred under conditions that had not been covered
in the reviews and tests because of incomplete or imprecise
system requirements. To curb this cause of failures the paper
addresses the generation of system requirements for exception
handling.
The systems most in need of precise exception handling
requirements are real-time control systems because in these
there is usually no opportunity to roll back and try a second time.
In keeping with the EWICS TC7 convention [1] such systems are in
the following called critical systems. They are found in aerospace,
process control, and increasingly in automotive applications.
Software for critical systems is expected to protect against a wide
range of anomalies that can include
Unusual environmental conditions
Erroneous inputs from operators
Faults in the computer(s), the software and communication lines
The portions of the programs that are charged with providing this
protection are called exception handling provisions or exception
handlers. Their purpose is (a) to detect that an anomalous
condition has been encountered and (b) to provide a recovery
path that permits continued system operation, sometimes with
reduced capabilities. In critical systems a large part of the
software can be devoted to exception handling and in some cases

a substantial part of the failures in these systems have been


traced to deficiencies in the exception handlers.
Thus, exception handling is an important part of software
development and of the verification and validation activities.
The programmer views exception handling as a task that requires
detecting an abnormal condition, stopping the normal execution,
saving the current program state, and locating the resources
required for continuing the execution. An example of the issues
dealt with at that level is the following program construct and the
comment that follows it:
public void someMethod() throws Exception{
}
This method is a blank one; it does not have any code in it. How
can a blank method throw exceptions? Java does not stop you
from doing this.
Acceptance criteria
Acceptance criteria define the boundaries of a user story, and are
used to confirm when a story is completed and working as
intended.
For the above example, the acceptance criteria could include:
1.

A user cannot submit a form without completing all the


mandatory fields

2.

Information from the form is stored in the registrations


database

3.

Protection against spam is working

4.

An acknowledgment email is sent to the user after


submitting the form.
As you can see, the acceptance criteria are written in simple
language, just like the user story. When the development team
has finished working on the user story they demonstrate the
functionality to the Product Owner, showing how each criterion is
satisfied.
Including acceptance criteria as part of your user stories has
several benefits:

they get the team to think through how a feature or piece of


functionality will work from the users perspective
they remove ambiguity from requirements
they form the tests that will confirm that a feature or piece
of functionality is working and complete.
Glossary of terms
Backup: Refers to making copies of data so that these additional
copies may be used to restore the original after a data loss event.
These additional copies are typically called "backups." Backups
are useful primarily for two purposes: (1) to restore a state
following a disaster (called disaster recovery), and (2) to restore
small numbers of files after they have been accidentally deleted
or corrupted.
Bandwidth: The amount of data that can be transmitted in a fixed
amount of time. For digital devices, the bandwidth is usually
expressed in bits per second (bps) or bytes per second. For analog
devices, the bandwidth is expressed in cycles per second, or Hertz
(Hz). The amount of data that can travel through a circuit. This is

measured in bits per second. The larger the bandwidth, the more
data you can get through in a shorter period of time. Think of this
as the difference between a small diameter hose and a larger
one. Youll have the advantage in a water fight with the larger
hose.
Bit: Short for binary digit, the smallest unit of information on a
machine. A single bit can hold only one of two values: 0 or 1. More
meaningful information is obtained by combining consecutive bits
into larger units. For example, a byte is composed of 8
consecutive bits.
Blog: Short for Web log, a blog is a Web page that serves as a
publicly accessible personal journal for an individual. Typically
updated daily, blogs often reflect the personality of the author.
Browser: Short for Web browser, a software application used to
locate and display Web pages. The most popular browser is
Microsoft Internet Explorer a graphical browser, which means
that it can display graphics as well as text. In addition, most
modern browsers can present multimedia information, including
sound and video, though they require plug-ins for some formats.
Cloud Computing: Cloud computing is the use of computing
resources (hardware and software) that are delivered as a service
over a network (typically the Internet). The name comes from the
use of a cloud-shaped symbol as an abstraction for the complex
infrastructure it contains in system diagrams. Cloud computing
entrusts remote services with a user's data, software and
computation.
Convergence: The condition or process of combining
complementary technologies such as telecommunications,
networking and multimedia.
Cookies: The main purpose of cookies is to identify users and
possibly prepare customized Web pages for them. When you
enter a website using cookies, you may be asked to fill out a form
providing such information as your name and interests. This
information is packaged into a cookie and sent to your Web

browser which stores it for later use. The next time you go to the
same website, your browser will send the cookie to the Web
server. The server can use this information to present you with
custom Web pages. So, for example, instead of seeing just a
generic welcome page you might see a welcome page with your
name on it.
Customer Relationship Management (CRM): A database that
stores all customer information for easy retrieval.
Cyber attack: The leveraging of a target's computers and
information technology, particularly via the Internet, to cause
physical, real-world harm or severe disruption.
DHCP: Short for Dynamic Host Configuration Protocol, DHCP is
software that automatically assigns temporary IP addresses to
client stations logging onto an IP network. It eliminates having to
manually assign permanent "static" IP addresses. DHCP software
runs in servers and routers.
Digitizing: The process of converting data, images, audio, video,
etc. into a digital (binary) form.
DNS - Domain Name System: Computers on the Internet are kept
separate by the use of names and addresses. These addresses
are usually expressed as a sequence of four sets of numbers
separated by a decimal (for example 172.18.1.0). Because this
would be difficult to remember and also hard to type in without
making a mistake, we use the www.address.com style names for
us humans. Theyre translated into the numbering system.
DSL: Short for Digital Subscriber Lines, DSL technologies use
sophisticated modulation schemes to pack data onto copper
wires. They are sometimes referred to as last-mile technologies
because they are used only for connections from a telephone
switching station to a home or office, not between switching
stations.
Dynamic Sites: Through the use of Database programming, this
type of website offers more than a static site since it can

constantly be updated from any where theres access to the


internet. This type of site is also necessary if e-commerce is to be
considered, search functions are require and secure transactions
of any type are to be conducted.
Electronic Commerce: Often referred to as simply e-commerce,
business that is conducted over the Internet using any of the
applications that rely on the Internet, such as e-mail, instant
messaging, and shopping carts. Electronic commerce can be
between two businesses transmitting funds, goods, services
and/or data or between a business and a customer.
Electronic Funds Transfer: Often abbreviated as EFT, it is the
paperless act of transmitting money through a secure computer
network. Popular EFT providers are VeriSign and PayPal.
Electronic discovery: or e-discovery, is a type of cyber forensics
and describes the process by where law enforcement can obtain,
secure, search and process any electronic data for use as
evidence in a legal proceeding or investigation. Electronic
discovery may be limited to a single computer or a network-wide
search.
Encryption: The translation of data into a secret code. Encryption
is the most effective way to achieve data security. A way of
coding the information in a file or e-mail message so that if it is
intercepted by a third party as it travels over a network it cannot
be read. Only the persons sending and receiving the information
have the key and this makes it unreadable to anyone except the
intended persons.
Ethernet: The format that all computers use to talk to each other.
Used in conjunction with Internet Protocol.
File Transfer Protocol (FTP): This is the system that allows you to
copy files from computers around the world onto your computer.
Also see Unlimited FTP.
Firewall: A system designed to prevent unauthorized access to or
from a private network. Firewalls can be implemented in both

hardware and software, or a combination of both. Firewalls are


frequently used to prevent unauthorized Internet users from
accessing private networks connected to the Internet, especially
intranets. All messages entering or leaving the intranet pass
through the firewall, which examines each message and blocks
those that do not meet the specified security criteria.
Hacker: A person who enjoys exploring the details of computers
and how to stretch their capabilities. A malicious or inquisitive
meddler who tries to discover information by poking around. A
person who enjoys learning the details of programming systems
and how to stretch their capabilities, as opposed to most users
who prefer to learn the minimum necessary.
HTML (Hypertext Mark Up Language): Thats the programming
language thats universally accepted for internet programming.
HTTP (HyperText Transfer Protocol): The underlying protocol used
by the World Wide Web. HTTP defines how messages are
formatted and transmitted, and what actions Web servers and
browsers should take in response to various commands. For
example, when you enter a URL in your browser, this actually
sends an HTTP command to the Web server directing it to fetch
and transmit the requested Web page. These are the rules in
which a web users browser accesses files from a web server.
HTTPS: Same as above, using rules from a secure web server.
Hub: A common connection point for devices in a network. Hubs
are commonly used to connect segments of a LAN. A hub contains
multiple ports. When a packet arrives at one port, it is copied to
the other ports so that all segments of the LAN can see all
packets.
Identity theft: Identity theft occurs when somebody steals your
name and other personal information for fraudulent purposes.
Identity theft is a form of identity crime (where somebody uses a
false identity to commit a crime).

Internet Protocol (IP): The format that all computers use to talk
over the Internet.
IP Address: Short for Internet Protocol address, an IP address is
the address of a device attached to an IP network (TCP/IP
network). Every client, server, and network device must have a
unique IP address for each network connection (network
interface). Every IP packet contains a source IP address and a
destination IP address. An IP network is somewhat similar to the
telephone network in that you have to have the phone number to
reach a destination. The big difference is that IP addresses are
often temporary. Each device in an IP network is either assigned a
permanent address (static IP) by the network administrator or is
assigned a temporary address (dynamic IP) via DHCP software.
ISP (Internet Service Provider): A company that provides access to
the Internet. For a monthly fee, the service provider gives you a
software package, username, password, and access phone
number. Equipped with a high-speed device, you can then log on
to the Internet and browse the World Wide Web, and send and
receive e-mail.
Key Words: See Meta Tags
Local Area Network (LAN): An Ethernet switch and the cables that
go to computers that are geographically close together.
Meta Tags: A list of approximately thirty (30) words that are Key
to helping search engines find your website. This list should be
made in the order of importance as well as common misspellings
since its a human entering the search words into a search
engine. For example: Harbor Freight: Harbor, Harbour, Freight,
Frieght
Network: A group of two or more computer systems linked
together. There are many types of computer networks, including:
local-area networks (LANs) where the computers are
geographically close together (that is, in the same building); and
wide-area networks (WANs) where the computers are farther

apart and are connected by telephone lines or wireless radio


waves.
ODBC (Open Database Connectivity): A standard database access
method developed with the goal to make it possible to access any
data from any application, regardless of which database
management system (DBMS) is handling the data.
Phishing: A form of Internet fraud that aims to steal valuable
information such as credit cards, SSNs, user IDs, and passwords. A
fake website is created that is similar to that of a legitimate
organization, typically a financial institution such as a bank or
insurance company. An email is sent requesting that the recipient
access the fake website (which will usually be a replica of a
trusted site) and enter their personal details, including security
access codes.
Private Cloud: Private cloud is custom cloud infrastructure for an
individual organization that can be managed internally or by an IT
service company such as ITX, and can be hosted internally or
collocated depending on the businesses security and risk
tolerance. Undertaking a private cloud project requires a degree
of engagement between the organization and the IT company to
virtualize the business environment.
At ITX we are confident, knowledgeable and can build trust with a
business to ensure the best possible private cloud environment.
When it is done right, it can have a positive impact on a business.
Working together with a trusted company like ITX will allow each
step of the engineered design to be addressed; security, risk
tolerance, back-up and recovery, etc., to avoid possible
vulnerabilities. Unlike public cloud options, private clouds do not
share server resources with other customers, but use resources
dedicated to only one business. A private cloud lets you capitalize
on existing IT investments while making IT more dynamic.
Public Cloud: Public cloud applications, storage, and other
resources are made available to the general public by a service
provider such as what ITX offers in Microsoft Office 365.
Generally, public cloud service providers like Microsoft own and

operate the infrastructure and offer access only via Internet.


Public clouds share server resources and other standard resources
such as CPU, RAM, and drive space.
If your business is comfortable with sharing resources, then a
public cloud could be the computing model for your business.
Public clouds are beneficial for newer companies and start-ups not
wanting the heavy expenses of IT gear and established
companies with aging infrastructure. Or businesses that see the
cloud value; well understood and widely used, and that public
clouds do not require rethinking your IT from the ground up.
Pure IP: Digital phone system that digitizes analog speech into
bits to transmit them along with data bits over a unified network.
QoS (Quality of Service): A term used when describing IP phone
systems, QoS is a guaranteed or predictable level of bandwidth,
transmission speed, and freedom from dropped packets, delay,
jitter, and error that is necessary to ensure adequate performance
of particular applications.
Security: In the computer industry, refers to techniques for
ensuring that data stored in a computer cannot be read or
compromised by any individuals without authorization. Most
security measures involve data encryption and passwords. Data
encryption is the translation of data into a form that is
unintelligible without a deciphering mechanism. A password is a
secret word or phrase that gives a user access to a particular
program or system.
Server: This is where your website programming actually resides.
Think of this as one very, huge hard drive! A computer or device
on a network that manages network resources. For example, a file
server is a computer and storage device dedicated to storing files.
Any user on the network can store files on the server. A print
server is a computer that manages one or more printers. A
network server is a computer that manages network traffic. A
database server is a computer system that processes database
queries.

URL (Uniform Resource Locator): A URL is the global address of


documents and other resources on the World Wide Web. This is
your street address that no one else can have. Its your
www.yourname.com.
Virtual Private Network (VPN): A secure connection created over a
public network by using tunneling-mode encryption.
Web App: Short for Web Application. An application that is
accessed via web browser over a network such as the Internet or
an intranet. It is also a computer software application that is
coded in a browser-supported language (such as HTML,
JavaScript, Java, etc.) and reliant on a common web browser to
render the application executable.
Web-based Interface: Using any common browser such as
Microsoft Explorer.
Wide Area Network (WAN): Two or more Ethernet LANs connected
with long-distance data lines.
Technology requirement
Software Requirements:
Java Development Kit 1.6.0 or Above (JDK)
Languages:
Java 2 Enterprise Edition (J2EE)
Java Swings
Java IO
Hardware Requirements
Processor :Min Intel Pentium IV Processor
RAM :Min 1GB RAM
Hard Disk : min of 100 GB or higher

System design
Use Case Model

High level design


DFD

ER Diagram


Flow Chart

Implementation

The goal of the coding phase is to translate the design into


code in the given programming language. The coding steps
translate the detailed design of the system into programming
language. The translation process continues when the compiler
accepts source code as input and produces machine dependent
object code as output. Linking of object files are done to produce
the machine code.
Internal documentation is another important factor, to
facilitate others to understand the code and the logic.

Code review and walk through


Both reviews and walk through used to deliver the correct
codes. The code review is done as soon as the source code is
ready to be executed, this is to reduce syntax errors and also
check the coding standards.

Module Specifications
The modules specified in the design are implemented using
various .htm, .jsp and .class files. These files in the source
code shares the common routines and share data structures, to
establish the hierarchical relationship.

Compilation and building the executables

The source code for the system organized in various files is


compiled using the javac utility provided in the JAVA. The
application is made to run with the Run in internet explorer using
the address as http://localhost:8080/LIC present in ROOT
directory of Apache Tomcat Server
Testing & Result
Testing is a process, which reveals errors in program. It is the
major quality measure employed during software development.
During testing, the program is executed with a set of conditions
known as test cases and output is evaluated to determine
whether the program is performing as expected.
The Primary and Larger objective of testing is to deliver quality
software. Quality software is one that is devoid of errors and
meets with a customers stated requirements.
If errors are found, then the software must be debugged to
locate these errors in the various programs. Corrections are then
made. The program/system must be tested once again after
corrections have been implemented - this time with an additional
objective of finding out whether or not corrections in one part of
the system have introduced any new errors elsewhere in the
system.
Once all errors are found, then another objective must be
accomplished that is check whether or not the system is doing
what it is supposed to do. So another aspect of testing is that it
must also ensure that the system meets with user requirements.

Techniques of testing
Black Box Testing
White Box Testing
Equivalence Portioning
Boundary Value Analysis
Ad-hoc Testing

Specialized Testing done for this Project are


Volume Testing - This was done to determine whether or not the
system is able to handle a large volume of data. The volume was
a representative of the real life volume with some provision for
future growth.
Performance testing - This is corollary to volume testing. This
testing was done to focus on the performance of the System
under large volumes and not just the ability to handle it.
Security Testing - This attempts to verify that the protection
mechanisms built into the system, actually protects the system
from unauthorized access or not.
Regression Testing - This was basically done to see if any
changes are made to one part of a Program whether it affects
another part of System and also to check the deviations in
behavior of unchanged parts of system

Unit testing
Unit testing is normally considered as an adjunct to the coding
step. After source level code has been developed, reviewed and
verified for correspondence to component level design. A review
of design information provides guidance for establishing test
cases that are likely to uncover errors in each of the categories.
Unit testing is responsible for testing each module in software
structure independently.
Integration testing
Tested modules are put together and tested in their integrity.
Integration testing is a systematic technique for constructing the
program structure while at the same time conducting tests to
uncover errors associated with interfacing. The objectives are to
take unit tested components and build a program structure that
has been discarded by design.
Testing strategies
A testing strategy is general approach to the testing process
rather than a method of devising particular system or
components tests. Different strategies a may be adopted
depending on the type of system to be tested and the
development process used.
The testing strategies which discuss in this are:
Top-down testing where testing starts with the most abstract
component and works downwards.

Bottom-up testing where testing starts with the fundamental


components and works upwards.
Thread testing which is used for systems with multiple processes
where the processing of transaction threads its way through these
processes.
Stress testing which relies on stressing the system by going
beyond its specified limits and hence testing how well the system
can cope with over-load situations.
Back-to-back testing which is used when versions of systems are
available the systems are tested together and their outputs are
compared.
Large systems are usually tested using a mixture of these testing
strategies rather than any approach. Different strategies may be
needed for different parts of the system and at different stages in
the testing process.
Whatever testing strategy is adopted, it is always sensible to
adopt an incremental approach to sub-system and system testing.
Number of software testing strategies is proposed.
Testing begins at the module /well &works outward towards the
integration of the entire computer based system.
Different testing techniques are appropriate at different point of
time.
The developer of the s/w & independent test group conducts
testing.
Testing & debugging must be accommodated in any testing
strategy.

CONCLUSION
This editor developed is very evolutionary. This application is
very flexible and more convenient for the users. This editor is very
easy to use and edit the text and easily set different colors and
fonts. And also it is easy to access. Using Intelligent Editor is easy
to open any language documents and edit them.

Future Enhancement
As for future enhancement it can be made to support more
features like running and compiling the programs.
In future this application can further be extended to have lots of
other advanced features such as find, replace, auto correction and
etc.

References

1. The Complete Reference-Java2


author - Patrick Naughton and Schildt
publisher - Tata Mc.Graw-Hill Edition

2. Java 2 Platform
author- Jamie Jaworski
pubisher Techmedia Publication, First edition.

3. HTML 4.01 Weekend Crash Course


author - Greg Perry
publisher - IDG Books India(P) LTD.

WEBSITE:

1. www.sun.com
2. www.oreilly.com
3. www.lucener.com

Appendices
IEEE Reference Papers
1. J. Albert Bickford, 1997. A Rich Model for Presenting Interlinear
Text. SILEWP 1997-003. SIL Electronic Working Papers. Summer

Institute of Linguistics: Dallas TX.


[http://www.sil.org/silewp/1997/003/]
2. Steven Bird, Kazuaki Maeda, Xiaoyi Ma, Haejoong Lee, Beth
Randall, and Salim Zayat, 2002. TableTrans, Multi- Trans,
InterTrans and TreeTrans: Diverse Tools Built on the Annotation
Graph Toolkit. Proceedings of the Third International Conference
on Language Resources and Evaluation, Paris: European Language
Resources Association, pp 364-370.

You might also like