google search

Tuesday, April 6, 2010

4TH GENERATION TECHNOLOGIES



The term fourth generation techniques (4GT) encompasses a broad array of software
tools that have one thing in common: each enables the software engineer
to specify some characteristic of software at a high level. The tool then automatically
generates source code based on the developer's specification. There is little
debate that the higher the level at which software can be specified to a machine,
the faster a program can be built. The 4GT paradigm for software engineering
focuses on the ability to specify software using specialized language forms or a
graphic notation that describes the problem to be solved in terms that the customer
can understand.
Currently, a software development environment that supports the 4GT paradigm
includes some or all of the following tools: nonprocedural languages for database
query, report generation, data manipulation, screen interaction and definition, code
generation; high-level graphics capability; spreadsheet capability, and automated
generation of HTML and similar languages used for Web-site creation using advanced
software tools. Initially, many of the tools noted previously were available only for
very specific application domains, but today 4GT environments have been extended
to address most software application categories.
Like other paradigms, 4GT begins with a requirements gathering step. Ideally, the
customer would describe requirements and these would be directly translated into
an operational prototype. But this is unworkable. The customer may be unsure of
what is required, may be ambiguous in specifying facts that are known, and may be
unable or unwilling to specify information in a manner that a 4GT tool can consume.

Implementation using a 4GL enables the software developer to represent desired
results in a manner that leads to automatic generation of code to create those results.
Obviously, a data structure with relevant information must exist and be readily accessible
by the 4GL.
To transform a 4GT implementation into a product, the developer must conduct
thorough testing, develop meaningful documentation, and perform all other solution
integration activities that are required in other software engineering paradigms. In
addition, the 4GT developed software must be built in a manner that enables maintenance
to be performed expeditiously.
Like all software engineering paradigms, the 4GT model has advantages and disadvantages.
Proponents claim dramatic reduction in software development time and
greatly improved productivity for people who build software. Opponents claim that
current 4GT tools are not all that much easier to use than programming languages,
that the resultant source code produced by such tools is "inefficient," and that the
maintainability of large software systems developed using 4GT is open to question.
There is some merit in the claims of both sides and it is possible to summarize the
current state of 4GT approaches:
1. The use of 4GT is a viable approach for many different application areas.
Coupled with computer-aided software engineering tools and code generators,
4GT offers a credible solution to many software problems.
2. Data collected from companies that use 4GT indicate that the time required
to produce software is greatly reduced for small and intermediate applications
and that the amount of design and analysis for small applications is
also reduced.
3. However, the use of 4GT for large software development efforts demands
as much or more analysis, design, and testing (software engineering activities)
to achieve substantial time savings that result from the elimination of
coding.
To summarize, fourth generation techniques have already become an important
part of software engineering. When coupled with component-based development
approaches, the 4GT paradigm may become the dominant approach to
software development.

0 comments:

  © Blogger templates ProBlogger Template by Ourblogtemplates.com 2008

Back to TOP