CASE Tools

CASE stands for Computer Aided Software Engineering is the scientific application of a set of tools and methods to a software system which is meant to result in high-quality, defect-free, and maintainable software products. It also refers to methods for the development of information systems together with automated tools that can be used in the software development process.

CASE tools are a class of software that automate many of the activities involved in various life cycle phases.The main purpose of using a CASE tool is to produce error-free, easy to maintain program code. It also allows users to develop software systems more quickly than would be possible without the use of such a tool.Computer Aided Software Engineering (CASE) tools offer many benefits for developers building large-scale systems. As spiraling user requirements continue to drive system complexity to new levels, CASE tools enable software engineers to abstract away from the entanglement of source code, to a level where architecture and design become more apparent and easier to understand and modify. The larger a project, the more important it is to use a CASE tool in software development.

As developers interact with portions of a system designed by their colleagues, they must quickly seek a subset of classes and methods and assimilate an understanding of how to interface with them. In a similar sense, management must be able, in a timely fashion and from a high level, to look at a representation of a design and understand what’s going on. For these reasons, CASE tools coupled with methodologies give us a way of representing systems too complex to comprehend in their underlying source code or schema-based form.

A CASE tool often allows developers to program visually as well as use Object Oriented Programming (OOP) methods. A Unified Markup Language (UML) design tool is an example of a CASE tool. System design documents and program code may be generated by the tool as part of the visual design, thus reducing development time and increasing accuracy of the documents and code.

CASE tools provide automation and reduce the time to complete the jobs, especially jobs that involve drawing and related specifications.

• Improve Accuracy
CASE tools can provide ongoing debugging and error checking which is critical in eliminating the early damage, which plays an important role in determining the modern software. If the correction is performed in the early stages, such as the design stage, it will save time and effort. When the system grew, the system will be more difficult to modify. Searching the error becomes more difficult.

• Reducing Maintenance Time
CASE provides a tool for re-enginering important because it makes the process efficient, saving time and cost by finding the old parts of the system that can be reused.

• Better documentation
Many tools have revisions for comments and notes on system development and maintenance.

• Programming by Non-Programmers
With the development of object-oriented technology and client server, programming can also be done by people who do not have a programming background. Important to understand the logic of the program and have the ability to analyze organizational program used in building good software. By using lower case tool, it is possible to develop software from the initial design and analysis phase.

• Intangible Benefit
CASE Tool can be used to engage users, so we get a good reception to the new system.

The major benefits of using CASE tools include the following:

Improved productivity

Better documentation

Improved accuracy

Intangible benefits

Improved quality

Reduced lifetime maintenance

Opportunity to non-programmers

Reduced cost of software

Produce high-quality and consistent documents

Impact on the style of a working of company

Reduce the drudgery in a software engineer’s work

Increase speed of processing

Easy to program software

Improved coordination among staff members who are working on a large software project

An increase in project control through better planning, monitoring, and communication

CASE Tool’s Classification:

a. Upper CASE Tools/Front-end CASE Tools. These CASE tools are designed to support the analysis and design phases of the SDLC. all analysis, design, and specification tools are front-end tools. These tools also include computer-aided diagramming tools oriented towards a particular programming design methodology, and more recently including object-oriented design.
The general types of upper CASE tools are listed below:
– Diagramming tools: Diagramming tools enable system process, data, and control structures to be represented graphically. They strongly support analysis and documentation of application requirements.
– Form and report generator tools: They support the creation of system forms and reports in order to show how systems will “look and feel” to users.
– Analysis tools: Analysis tools enable automatic checking for incomplete, inconsistent, or incorrect specifications in diagrams, forms, and reports.
b. Lower CASE or Back-end tools. These CASE tools are designed to support the implementation and maintenance phases of the SDLC. All generator, translation, and testing tools are back-end tools.
The general types of lower CASE tools are:
– Code Generators: Code generators automate the preparation of computer software. Code generation is not yet perfect. thus, the best generator will produce approximately 75% of the source code for an application. Hand-coding is still necessary.
c. Cross life-cycle CASE or Integrated Tools. These CASE tools are used to support activities that occur across multiple phases of the SDLC. While such tools include both front-end and back-end capabilities, they also facilitate design, management, and maintenance of code. In addition, they provide an efficient environment for the creation, storage, manipulation, and documentation of systems.
d. Reverse-engineering Tools. These tools build bridges from lower CASE tools to upper CASE tools. They help in the process of analyzing existing applications and perform and database code to create higher level representations of the code.

Sample for Visual Case Tool Software

Characteristics of CASE Tools:
All CASE tools have the following characteristics:

Disadvantages of CASE tools:
1. Purchasing of CASE tools is Not an Easy Task. The cost of CASE tools is very high. For this reason small software development firms do not invest in CASE tools.
2. Learning Curve. In general, programmer productivity may fall in the initial phase of implementation as users need time to learn this technology.
3. Tool Mix. It is important to make proper selection of CASE tools to get maximum benefits from the tools, as the wrong selection may lead to the wrong results.