Chapter 10
COMPUTER-AIDED
SOF TWARE ENGINEERING
10.1 CASE AND ITS SCOPE
C
ASE stands for Computer-Aided Software Engineering.
CASE is a tool that helps a software engineer maintain and develop software.
The workshop for software engineering is called an Integrated Project Support
Environment (IPSE) and the tool-set that fills the workshop is called CASE.
CASE is an automated support tool for software engineers in any software-
engineering process.
Software engineering mainly includes the following processes:
T
ranslation of user needs into software requirements
Transaction of software requirements into design specifications
Implementation of design into code
Testing of the code
Documentation
223
224 SOF T WARE ENGINEERING AND TESTING
CASE technology provides software-process support by automating some
process activities and by providing information about the software being
developed. Examples of activities, which can be automated using CASE,
include:
The development of graphical system models as part of the requirements
specification or the softwar
e design.
Understanding a design using a data dictionary, which holds information
about the entities and r
elations in a design.
The generation of user interfaces from a graphical interface description,
which is cr
eated interactively by the user.
Program debugging through the provision of information about an
executing pr
ogram.
The automated translation of programs from an old version of a
pr
ogramming language, such as COBOL, to a more recent version.
10.2 LEVELS OF CASE
There are three different levels of CASE technology:
1. Production Process Support Technology. This includes support for process
activities, such as specification, design, implementation, testing, and so on.
2. Process Management and Technology. This includes tools to support process
modeling and process management. These tools are used for specific support
activities.
3. Meta-CASE Technology. Meta-CASE tools are generators, which are used to
create production process-management support tools.
10.3 ARCHITECTURE OF CASE ENVIRONMENT
The architecture of the CASE environment is illustrated in Figure 10.1.
The important components of a modern CASE environment are the user
interface, the Tools Management System (tools-set), the Object Management
System (OMS), and the repository. These various components are discussed as
follows:
1. User Interface. It provides a consistent framework for accessing different
tools; thus making it easier for the user to interact with different tools and
reduces learning time of how the different tools are used.
COMPUTER-AIDED SOFTWARE ENGINEERING 225
FIGURE 10.1 Architecture of CASE Environment
2. Tools-Management Services (Tools-set). The tools-set section holds the
different types of improved quality tools. The tools layer incorporates
a set of tools-management services with the CASE tool themselves. The
Tools Management Service (TMS) controls the behavior of tools within the
environment. If multitasking is used during the execution of one or more tools,
TMS performs multitask synchronization and communication, coordinates
the flow of information from the repository and object-management system
into the tools, accomplishes security and auditing functions, and collects
metrics on tool usage.
3. Object-Management System (OMS). The object-management system maps
these (specification design, text data, project plan, etc.) logical entities into
the underlying storage-management system, i.e., the repository.
Working in conjunction with the CASE repository, the OML provides
integration services a set of standard modules that couple tools with the
repository. In addition, the OML provides configuration management
services by enabling the identification of all configuration objects performing
version control, and providing support for change control, audits, and status
accounting.

Get Software Engineering and Testing now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.