Title of Paper : CASE tools

Grade Received on Report : 95%



CASE Tools



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,

including:



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

project.









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.