CASE Tools

Title of Paper : CASE tools
Grade Received on Report : 95%

What are CASE Tools ?

Computer Aided Software Engineering (CASE) tools provide automated support for many of the systems
analysis and design methods available to the information systems developer.

CASE tools provide an environment which automates many time-consuming aspects of the systems
development process,

drawing and redrawing diagrams
cross checking usage of elements across the system model
generation of system documentation
generation of code structures and database schemas

What are the benefits of CASE tools?

Less effort spent on document administration, such as redrafting diagrams increased quality from
extensive cross checking provided in CASE tools subsequent potential for reduction in end-to-end system
development time automated system documentation generation .
History on CASE Tools
Since the early days of writing software, there has been an awareness of the need for automated
tools to help the software developer. Initially the concentration was on program support tools such as
translators, compilers, assemblers, macro processors, and linkers and loaders. However, as computers
became more powerful and the software that ran on them grew larger and more complex, the range of
support tools began to expand. In particular, the use of interactive time-sharing systems for software
development encouraged the development of program editors, debuggers, code analyzers, and program-
pretty printers.

As computers became more reliable and in greater use, the need for a broader notion of software
development became apparent. Software development came to be viewed as:

ĽA large-scale activity involving significant effort to establish requirements, design an appropriate solution,
implement that solution, test the solution\'s correctness, and document the functionality of the final system.

ĽA long-term process producing software that requires enhancement through out its lifetime. The
implications of this are that the structure of the software must enable new functionality to be added easily,
and detailed records of the requirements, design, implementation, and testing of the system must be kept to
aid maintainers of the software. In addition, multiple versions of all artifacts produced during a project
must be maintained to facilitate group development of software systems.

ĽA group activity involving interaction among a number of people during each stage of its life. Groups of
people must be able to cooperate, in a controlled manner, and have consistent views of the state of the

CASE Tools Environment:
The first generation of CASE tool developers concentrated to a large extent on the automation of
isolated tasks such as document production, version control of source code, and design method support.
While successes have been achieved in supporting such specific tasks, the need for these \'islands of
automation\' to be connected has been clearly recognized by many first generation CASE tool users. For
example, a typical development scenario requires that designs be closely related to their resultant source
code, that they be consistently described in a set of documentation, and that all of these artifacts be under
centralized version control. The tools that support the individual tasks of design, coding, documentation,
and version control must be integrated if they are to support this kind of scenario effectively.

A CASE environment is a collection of CASE tools and other components together with an integration
approach that supports most or all of the interactions that occur among the environment components, and
between the users of the environment and the environment itself.