CASE tools are a class of software that automates many of the
activities involved in various life cycle phases. For example, when
establishing the functional requirements of a proposed application,
prototyping tools can be used to develop graphic models of
application screens to assist end users to visualize how an
application will look after development. Subsequently, system
designers can use automated design tools to transform the
prototyped functional requirements into detailed design documents.
Programmers can then use automated code generators to convert the
design documents into code. Automated tools can be used
collectively, as mentioned, or individually. For example,
prototyping tools could be used to define application requirements
that get passed to design technicians who convert the requirements
into detailed designs in a traditional manner using flowcharts and
narrative documents, without the assistance of automated design
software.

Automated tools can also facilitate the coordination of software
development activities through the use of data warehouses or
repositories. Repositories provide a means to store and access
information relating to a project, such as project plans,
functional requirements, design documents, program libraries, test
banks, etc.

Organizations generally implement automated development tools to
increase productivity, decrease costs, enhance project controls,
and increase product quality. However, only by managing the various
risks associated with automated technologies will organizations
ensure they develop systems with appropriate functionality,
security, integrity, and reliability.

Common CASE risks and associated controls include:

Inadequate Standardization - Linking CASE tools from different
vendors (design tool from Company X, programming tool from Company
Y) may be difficult if the products do not use standardized code
structures and data classifications. File formats can be converted,
but usually not economically. Controls include using tools from the
same vendor, or using tools based on standard protocols and
insisting on demonstrated compatibility. Additionally, if
organizations obtain tools for only a portion of the development
process, they should consider acquiring them from a vendor that has
a full line of products to ensure future compatibility if they add
more tools.

Unrealistic Expectations - Organizations often implement CASE
technologies to reduce development costs. Implementing CASE
strategies usually involves high start-up costs. Generally,
management must be willing to accept a long-term payback period.
Controls include requiring senior managers to define their purpose
and strategies for implementing CASE technologies.

Quick Implementation - Implementing CASE technologies can
involve a significant change from traditional development
environments. Typically, organizations should not use CASE tools
the first time on critical projects or projects with short
deadlines because of the lengthy training process. Additionally,
organizations should consider using the tools on smaller, less
complex projects and gradually implementing the tools to allow more
training time.

Weak Repository Controls - Failure to adequately control access
to CASE repositories may result in security breaches or damage to
the work documents, system designs, or code modules stored in the
repository. Controls include protecting the repositories with
appropriate access, version, and backup controls.