Software tools are now available to support most routine activities in the software process. These tools support editing of different types of document (designs, programs, etc.), compilation and debugging, and information management. Information management tools collect information about the system and allow users to browse and query that information. For example, a requirements traceability tool will allow users to examine the dependencies between requirements.
Early advocates of CASE suggested that orders of magnitude improvement were likely if integrated CASE tools were used. Significant improvements are possible for programming activities (integrated editing, compilation and debugging) but, for larger projects, the impact of CASE has been less dramatic.
In fact, the improvements for larger projects that have been achieved are of the order of 40% (Huff, 1992). Although this is significant, the predictions when CASE tools were first introduced in the 1980s and 1990s were that the use of CASE technology would generate huge savings in software process costs.
The improvements from the use of software tools are limited by three factors:
My CASE classification sets out a number of different ways of classifying software development tools.
Interactive development enviroments, such as those based on ECLIPSE, consist of an integrated set of tools supporting a range of process activities. They will always include a source code editing system, compiler and debugger.
References
Huff, C. C. (1992). Elements of a realistic CASE tool adoption budget. Comm. ACM, 35 (4), 45-54.