What are CASE computer-aided software engineering tools most famous for?

What are CASE computer-aided software engineering tools most famous for?

Introduction to CASE Tools

The set of application programs to automate software development lifecycle activities and are used by managers in a project, engineers and analysts to build a software system is called CASE tools and the software development cycle stages can be simplified using several tools such as design, analysis, project management, database management, documentation, etc. and the use of these tools speeds up the project development to obtain desired results.

Components of CASE Tools

There are several components are based on their usage in different stages of the software development life cycle. They are:

  • Central Repository: A central repository is required by the tools to serve as a common source of integrated and consistent information. The central place of storage consisting of specifications of product, documents requirement, diagrams and reports and information about the management is a central repository.  The central repository also acts as a data dictionary.
  • Upper: Planning, analysis, and designing of different stages of the software development life cycle can be performed using upper case.
  • Lower: Implementation, testing, and maintenance can be performed using lower case.
  • Integrated: All the stages of the software development life cycle right from the gathering of requirements for testing and documentation can be performed using integrated tools.

This that have similar functionality, process activities and based on their capacity of integration with other different tools can be grouped together. This has scope throughout all the stages of the software development life cycle.

Top 13 Types of CASE Tools

There are several types of tools available.

They are:

1. Diagram Tools

The components of the system, data flow, control flow among the various components of software and the structure of the system can be represented in graphical form using diagram tools.

Example: The state-of-the-art flowcharts can be created using flow chart maker tool.

2. Process Modeling

The software process model can be created using process modelling tools for software development. The managers can choose a process model using process modelling tools or make modifications depending upon the software product requirements.

Example: EPF composer.

3. Project Management

Planning of the project, estimation of cost and efforts, scheduling of project and planning of resources can be done using project management tools. All the steps in the execution of the project must be strictly followed by the managers in management of software project. The project information can be stored and shared in real time using the tools of project management throughout the organization.

Examples: Creative Pro Office, trac project, Basecamp etc.

4. Documentation Tools

Before the beginning of software process, documentation of the software project must begin. This documentation must cover the all the software development life cycle phases and the completion of the software development phase as well. The documents are generated by the documentation tools for both technical and end users. The in-house professionals in the development team who refer the manual maintained for the system, manual maintained for reference, manual for training, manuals for installation etc. make the technical users. The functioning of the system and how system works is described in the end user documents.

Example: Doxygen, adobe robohelp, DrExplain etc.

5. Analysis

Requirements gathering, inconsistency checks, diagrams inaccuracy, redundancies in the data etc. can be checked using analysis.

Example: For requirement analysis are Accept 360, Accompa, casecomplete etc. Total analysis can be done using visible analyst.

6. Design

The block structure of the software can be designed by the software designers using design tools which are again broken down into smaller modules using techniques of refinement. The detailing of every module and the interconnections between the modules can be done using this.

Example: Animated software design.

7. Configuration Management Tools

Whenever one version of software instance is released, configuration management tools deals with the following:

  • Management of revision and version
  • Configuration management of baseline
  • Change control management

Automatic tracking, management of version, and management of release can be done with the help of configuration management.

Example: Git, Accu Rev etc.

8. Change Control

Change Control are a part of configuration management. The changes that occur in the software after fixing its baseline or after the first release of the software are dealt by change control tools. Tracking the changes, management of files, management of codes etc. can be automated using change control. The change policy of the organization can be enforced by using change control.

9. Programming

The programming environments like integrated development environment , library consisting of in built modules, simulation are all included in programming tools. The development of software product is aided by these and simulation and testing features are included.

Example: Cscope for searching code in C, Eclipse.

10. Prototyping

The simulated version of the software product to be built is called a prototype in software. The look and feel of the product is provided by the prototype and several aspects of the actual product can be simulated using prototyping. Graphical libraries are contained in the prototyping tools. User interfaces and design that are hardware independent can be created using prototyping. Rapid prototypes can be built using prototyping based on the existing information. The software prototype can be simulated using prototyping tools.

Example: Mockup builder, Serena prototype composer etc.

11. Web Development

The web pages like forms, text, script, graphic etc. can be designed using web development tools. The web page that is being developed can be previewed to see how it looks after completion using web development.

Example: Adobe Edge Inspect, Foundation 3, brackets etc.

12. Quality Assurance

Monitoring the engineering process and methods used for software development to ensure the quality is as per the standards of the organization can be performed using quality assurance tools. The configuration change control and software testing tools come under the category of QA tools.

Example: SoapTest, Jmeter, AppsWatch, etc.

13. Maintenance

If there are any modifications after the delivery of the software product can be done through software maintenance tools. Techniques for automatically logging, error reporting, generation of error tickets automatically and root cause analysis are used in the maintenance phase of the software development life cycle to help the software organizations.

Example: Bugzilla for tracking defects etc.

This is a guide to CASE Tools. Here we discuss several components, types available in detail. You can also go through our other related articles to learn more –

  1. SDLC Methodologies
  2. Kubernetes Tools
  3. Test Coverage Tools

What are CASE computer-aided software engineering tools most famous for?



Computer Aided Software Engineering (CASE) tool refer to automated tools that are used for software development activities. CASE helps in development, verification, maintenance and generation of processes and artifacts. These tools have great importance when complexity of processes and artifacts become high.

A specific activity is supported by a tool. A collection of related tools forms an environment. CASE can be used to automate some functions of software engineering. As market demands are changing at a much faster pace than before, development of new products needs to be faster so as to replace old products with new ones. So, in order to speed up the software system building process, CASE is introduced.

Computer Aided Software Engineering (CASE) tools (software programs) support human programmers with the difficulty of processes and artifacts of software engineering. They help in synthesis, analysis, modeling, documentation, coding etc.

A CASE tool should have the following characteristics :

1) Standard Methodology : 

A CASE tool should support standard software development methodologies and modelling techniques. Presently, CASE tools use UML.

2) Flexibility : 

A CASE tool must provide flexibility and options to the user for editors and other tools.

3) Strong Integration : 

CASE tools must be integrated with all stages of software development. This means that if a change is made in a model, it must reflect in the code documentation and all related design. Hence, this offers an organised environment for software generation.

4) Integration with Testing Software : 

CASE tools should provide interfaces for automatic testing tools. This helps in regression and other testing software's under changing conditions.

5) Support for Reverse Engineering :

CASE tools should be as that it can create complex models from existing code.

6) Online Help :

CASE tools offer online tutorials.

The below mentioned architectural components are part of a CASE tool :

  1. A database for storing information.
  2. An object management system for managing variations made to the information.
  3. A tools control mechanism for coordinating the use of the CASE tools.
  4. A user interface for establishing a consistent pathway between the tools and user actions.

What are CASE computer-aided software engineering tools most famous for?

1) User Interface Layer : 

It is made up of an interface toolkit that is standardized. It implements a common protocol which is used for presentation. The components of the interface are a library which contains display objects and software that facilitates management of interface between human and computer. With the help of these two components the individual CASE tools and components can communicate with each other consistently. The tool access mechanism, use of mouse and keyboard, menu names, object names, icons and screen layout are described in the presentation tool.

2) Tools Layer : 

Along with the CASE tools a set of services to manage the tools are also included The behavior of the tools within the environment is controlled by the Tools Management Services (TMS). TMS carries out multitask communication and synchronization in case multitasking is performed by executing multiple tools at a time. This is done by gathering metrics on the usage of the tools, coordinating the information flow between the repository and management system to the tools. The auditing and security functions are also completed by it.

3) Object Management Layer (OML) : 

The configuration management tasks are performed by it. A mechanism that enables in tool incorporation is the essence of the software that is present in this layer of the framework architecture. Each case tool has been plugged into the object management layer. The OML and the CASE repository works in unison to provide integration services. The tools are coupled with the repository by this set of standard modules. Apart from all these functions, the OML also support change control, status accounting and audits. Configuration management services such as the task of classifying those configuration objects that perform version control are also executed by it.

4) Shared Repository Layer : 

It is made up of those access control functions with the help of which the object management layer interacts with the CASE database that is present in this layer. Shared repository layers and object management helps in attaining data integration.

Though it is possible to achieve benefits if CASE tools are isolated, a great number of benefits can be obtained from the CASE environment. Following are the advantages of CASE tool :

  • The process system has an effective and longer operational life.
  • The produced system fulfills the user's requirements more efficiently.
  • The documentation of the produced system is tremendous.
  • Requirement of the support in the produced system is very low.
  • More flexible systems are produced.

CASE Tools has the following disadvantages : 

  • The systems that are produced primarily require great cost to maintain and build.
  • It requires more perfect and extensive definition of the user's needs.
  • Customization is difficult.
  • Trained maintenance staffs are needed. 
  • Difficulty is encountered while using with present systems.