Explain CASE tools and its use in Software Engineering.
- Computer-aided software engineering (CASE) tools assist software engineering managers and practitioners in every activity associated with the software process.
- They automate project management activities, manage all work products produced throughout the process, and assist engineers in their analysis, design, coding and test work.
- CASE tools can be integrated within a sophisticated environment. CASE provides the software engineer with the ability to automate manual activities and to improve engineering insight.
CASE Tools Building Blocks
- The environment architecture, composed of the hardware platform and system support (including networking software, database management, and object management services), lays the ground work for CASE. But the CASE environment itself demands other building blocks.
- A set of portability services provides a bridge between CASE tools and their integration framework and the environment architecture.
- The integration framework is a collection of specialized programs that enables individual CASE tools to communicate with one another, to create a project database, and to exhibit the same look and feel to the end-user.
- Portability services allow CASE tools and their integration framework to migrate across different hardware platforms and operating systems without signi?cant adaptive maintenance.
- The building blocks depicted in Figure represent a comprehensive foundation for the integration of CASE tools. However, most CASE tools in use today have not been constructed using all these building blocks.
- In fact, some CASE tools remain "point solutions." That is, a tool is used to assist in a particular software engineering activity (e.g., analysis modeling) but does not directly communicate with other tools, is not tied into a project database, is not part of an integrated CASE environment (I- CASE).
- Although this situation is not ideal, a CASE tool can be used quite effectively, even if it is a point solution.