You are on page 1of 28

CASE TOOLS

Lecture 5
Database Management in Construction
History
• The term CASE was originally coined by software
company, Nastec Corporation of Southfield, Michigan in
1982 with their original integrated graphics and text editor
GraphiText, which also was the first microcomputer-based
system to use hyperlinks to cross-reference text strings in
documents — an early forerunner of today's web page link.
GraphiText's successor product, DesignAid was the first
microprocessor-based tool to logically and semantically
evaluate software and system design diagrams and build a
data dictionary. The next entrant into the market was
Excelerator from Index Technology in Cambridge, Mass. 
CASE Tools
• Computer-Aided Software Engineering (CASE)
technologies are tools that provide automated assistance for
software development .
• The goal of introducing CASE tools is the reduction of the
time and cost of software development and the enhancement
of the quality of the systems developed.
• The interest in CASE tools and environments is based on
expectations about increasing productivity, improving
product quality, facilitating maintenance, and making
software engineers' task less odious and more enjoyable.
CASE Tools

CASE is the use of computer-based support in a CASE tool is a computer-based product aimed
the software development process at supporting one or more software engineering
activities within a software development process
Reasons for using CASE
Tools
The primary reasons for employing a CASE tool are:
• to extend productivity
• to assist turn out higher quality code at a lower price
• CASE environment is a collection of CASE
tools and other components together with an
integration approach that supports most or all
CASE of the interactions that occur among the
environment components, and between the
Environment users of the environment and the
environment itself.
CASE
Environment
Classification Upper (front end CASE) provides support for the early stages

s of CASE CASE
Tools
in the systems development life cycle such as
requirements analysis and design.

Tools
Lower
(back end CASE) provides support for the later stages
CASE in the life cycle such as code generation and testing
Tools

Integrated
CASE Support both the early and late stages.
Tools
Types of CASE Tools

1. Diagramming Tools
It helps in diagrammatic and graphical representations of the data and system processes.
It represents system elements, control flow and data flow among different software
components and system structure in a pictorial form.  For example, Flow Chart Maker tool
for making state-of-the-art flowcharts. 
Types of CASE Tools

2. Computer Display and Report Generators


It helps in understanding the data requirements and the relationships involved. 
Types of CASE Tools

3. Analysis Tools
It focuses on inconsistent, incorrect specifications involved in the diagram and data
flow. It helps in collecting requirements, automatically check for any irregularity,
imprecision in the diagrams, data redundancies or erroneous omissions. 
For example, 
• (i) Accept 360, Accompa, CaseComplete for requirement analysis. 
 
• (ii) Visible Analyst for total analysis. 
Types of CASE Tools

4. Central Repository
It provides the single point of storage for data diagrams, reports and documents related
to project management. 
Types of CASE Tools

5. Documentation Generators
It helps in generating user and technical documentation as per standards. It creates
documents for technical users and end users. 
For example, Doxygen, DrExplain, Adobe RoboHelp for documentation. 
Types of CASE Tools

6. Code Generators
It aids in the auto generation of code, including definitions, with the help of the designs,
documents and diagrams. 
Automated Diagram
Support
CASE Tools offer an excellent array of features that
support the development and business community
through its Automated Diagram Support feature.  The
various popular features that aid the  development
community are listed below:
Automated Diagram Support
• Checks for syntactic correctness
• Data dictionary support
• Checks for consistency and completeness
• Navigation to linked diagrams
• Layering
• Requirements traceability
• Automatic report generation
• System simulation
• Performance analysis
CASE Tools and its Scope
CASE technology is the automation of step by step methodologies for
software and system development. CASE tools are characterized by the
stage or stages of software development life cycle on which they focus.
Since different tools covering different stages share common
information, it is required that they integrate through some central
repository system (data dictionary) to have a consistent view of such
information. In phases of software development life cycle integrated
through a central data dictionary. Case Tools are used in many ways in
our organizations. Case tools can be broadly classed into these broader
areas:
Requirement Analysis Tool

Structure Analysis Tool

Software Design Tool

CASE Tools Code Generation Tool


and its Scope
Test Case Generation Tool

Document Production Tool

Reverse Engineering Tool


While many organizations still use the SDLC
methodology, it is often supplemented with other
CASE Tools methods. Many systems developers use the CASE
and its Scope tools in various stages of the Software
Development Life Cycle. They mainly use it
while developing the following methodologies:
Life Cycle

CASE
Object-oriented Approach

Tools and Rapid Applications Development (RAD)

its Scope Prototyping

Joint Applications Development (JAD)


As special emphasis
The overall quality of
is placed on redesign
the product is
as well as testing, the
improved as an
servicing cost of a
organized approach
product over its
is undertaken during
expected lifetime is
the process of
considerably

Advantages
development. 
reduced. 
 
 

of CASE
Approach
Chances to meet
CASE indirectly
real-world
provides an
requirements are
organization with a
more likely and
competitive
easier with a
advantage by helping
computer-aided
ensure the
software engineering
development of high-
approach. 
quality products. 
 
Cost: Using case tool is a very costly. Mostly firms engaged in
software development on a small scale do not invest in CASE tools
because they think that the benefit of CASE are justifiable only in
the development of large systems.

Disadvantages Learning Curve: In most cases, programmers productivity may fall

of CASE
in the initial phase of implementation , because user need time to
learn the technology. Many consultants offer training and on-site
services that can be important to accelerate the learning curve and

Approach
to the development and use of the CASE tools.

Tool Mix: It is important to build an appropriate selection tool mix


to urge cost advantage CASE integration and data integration
across all platforms is extremely important. 
CASE Tools in the future
Horizontal and Vertical Division of AO-Groups

The whole system is composed of many active objects. Active objects (AO) are
categorized into several groups. Active objects in the same group are responsible for
the same type of tasks. For example, active objects to support SA/SD methodology
and object-oriented methodology. This is what we call horizontal division. All AO-
groups are organized hierarchically. For example, the group on top level is for users;
the group on second level is for domains; the group on third level is for
development knowledge; the group on fourth level is for tools; the group on fifth
level is for technique support. This is what we call the vertical division. For each
group, there is a delegate which is a local server of that group. The communication
among different groups is through delegates at the corresponding levels.
Knowledge Representation and Processing

The system maintains multiple layers of knowledge and has the ability of self-
learning and self-improvement. Especially, the system can do reasoning on
incomplete information. Otherwise, the system cannot 'figure out' users' intentions
and the interaction between a user and a tool will not be able to continue in some
cases. Each node can be bound to a set of rules. Mixed knowledge representation is
good for reducing the size of the network, and thus speeding up the learning
process. In neural network, an output can always be derived from any input, even if
the input is incomplete. Self learning is a natural and standard process in a neural
network.
Visual Integration of CASE Tools

Although a CASE shell is very useful for the creation and integration of
CASE tools, we believe it still is not simple and intuitive enough for
CASE users. We suggest to provide CASE users with more intuitive
means to describe the integration of CASE tools. A diagramming tool,
similar to DFD diagramming tool, might be useful for this purpose.
Pipe-filter, event-trigger and message passing models are all useful
means to realize the integration of CASE tools.
Work Flow Model

Basically, software project development is a team based activity. A CASE


tool should be able to support this feature. For this purpose, it is necessary
to model the work process, and the collaboration and coordination among
team members. We hope to represent all these information through a work
flow model. Currently, there are many ways to model a work flow for team
based collaborative software development. However, most of them are too
strict to change dynamically (on the fly). We suggest using decentralized
process models, such as 'ViewPoint' (E), which can be described visually
and is also possible to cope with deviations during process enactment.
Java Technologies

We are sure that the next generation CASE tools will be able to operate in
heterogeneous and distributed environments. JAVA is such a specification which
allows for transparent access to applications operating on multiple computing
platforms. JAVA is endorsed by the OMG, an organization that includes major
computer manufacturers such as Digital, Sun, HP, IBM as well as software
providers such as Microsoft, Sunsoft, and Object Design among its members. JAVA
is possibly to become a de facto standard in the future. Based on this observation,
we suggest that the next generation CASE tools are established on CORBA
standard. To develop platform independent CASE tools, some platform independent
programming languages, such as Java programming language will be used.

You might also like