CASE Work Benches
CASE Work Benches
Objectives
⊗ To describe different types of CASE workbench
⊗ To discuss the notion of open and closed CASE
workbenches
⊗ To describe the structure and components of
design, programming and testing workbenches
⊗ To introduce meta-CASE tools for CASE
workbench creation
CASE workbenches
⊗ A set of tools which supports a particular phase in
the software process
⊗ Tools work together to provide comprehensive
support
⊗ Common services are provided which are used by
all tools and some data integration is supported
Open workbenches
⊗ Control integration mechanisms are provided and
the data integration protocols are public. New tools
can therefore be added by users
⊗ Advantages
• The workbench can be tailored to specific organizational needs
• The file outputs may be managed by a configuration management
system
• Incremental workbench introduction and evolution is possible
• Organizations can source tools from different vendors. Diversity
of supply is possible
Programming workbenches
⊗ A set of tools to support program development
⊗ First CASE workbenches. Include compilers,
linkers, loaders, etc.
⊗ Programming workbenches are often integrated
around an abstract program representation (the
abstract syntax tree) which allows for tight
integration of tools
⊗ Integration around shared source-code files is also
possible
Language-directed workbenches
⊗ Integrated around an abstract program
representation
⊗ The system editor has language knowledge and
can edit the abstract representation rather than the
source code text
⊗ A range of program analysis tools may be
supported
⊗ Allow multiple views of the program to be
generated
Abstract syntax
tree
4GL workbenches
⊗ Provide facilities for developing 4GL programs
⊗ Integrated around a database management system
⊗ Components usually include
• Database query language
• Form design system
• Spreadsheet
• Report generator
⊗ Very effective in developing business systems
Central Query
Code
information language
generator
repository facilities
Workbench advantages
⊗ Generally available on relatively cheap personal
computers
⊗ Results in standardized documentation for
software systems
⊗ Estimated that productivity improvements of 40%
are possible with fewer defects in the completed
systems
Testing workbenches
⊗ Testing is an expensive process phase. Testing
workbenches provide a range of tools to reduce
the time required and total testing costs
⊗ Most testing workbenches are open systems
because testing needs are organization-specific
⊗ Difficult to integrate with closed design and
analysis workbenches
Execution File
Simulator
report comparator
Language
Environment Language
syntax
generator tables
definition
Semantic
information Language- Generic
oriented environment
environment
ER ER
description tables
FSM FSM
description tables
Key points
⊗ CASE workbenches are integrated toolsets to
support a phase of the software process
⊗ Workbenches may be open or closed systems
⊗ Programming workbenches, analysis and design
workbenches and testing workbenches are widely
used
⊗ Analysis and design workbenches may include
graphical editors, report generators and a data
dictionary