0% found this document useful (0 votes)
9 views

Computer Aided Software Engineering

The document discusses Computer Aided Software Engineering (CASE), which refers to the use of software tools to facilitate the development and maintenance of software. It describes what CASE tools are, provides examples of typical CASE tools, and discusses how organizations can use CASE tools to support various stages of the software development lifecycle.

Uploaded by

Kuti Zaidan
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Computer Aided Software Engineering

The document discusses Computer Aided Software Engineering (CASE), which refers to the use of software tools to facilitate the development and maintenance of software. It describes what CASE tools are, provides examples of typical CASE tools, and discusses how organizations can use CASE tools to support various stages of the software development lifecycle.

Uploaded by

Kuti Zaidan
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

Computer Aided Software Engineering

Computer-aided software engineering or CASE refers to the use of the software tools to facilitate
the development and maintenance of the software.

Software engineering refers to the systematic approach to the development of computer software.
This systematic approach defines various stages (requirements engineering, Software design,
Implementation, Installation, Maintenance and retirement) that software has to undergo in a
paradigm known as the Software Development Life Cycle.

To successfully accomplish the various stages of software engineering, tools have been
developed to assist the software engineer. These tools came to be known as Computer Aided
Software Engineering (CASE) tools in the early eighties.

All aspects of the software development lifecycle (SDLC) can find assistance by the use of
software tools. CASE tools encapsulate the software tools for the project management, software
development, management and maintenance, business and functional analysis for the technology
implementation, system design, code storage, compilers, translation tools, and test software.

Some examples of typical CASE tools are: Data modeling tools, UML and ER diagraming
tools,Code generation tools,Refactoring tools, cost estimation and project monitoring tools,
configuration management tools including revision control, and QVT or Model transformation
Tools.

CASE has since been defined by various authors and publishers in different ways. The Software
Engineering Institute defines CASE as being "the use of computer-based support in the software
development process."

CASE:

CASE stands for Computer Aided Software Engineering which is software that supports one or
more software engineering activities within a software development process, and is gradually
becoming popular for the development of software as they are improving in the capabilities
and functionalityand are proving to be beneficial for the development of quality software.

CASE TOOLS:

Whenever a new system is installed, the implementation integrates a number of related and
different tasks. The process has to be efficiently organized and it is for this very reason that
CASE tools are developed. With the help of CASE, the installation process can be automated
and coordinated within the developed and adopted system life cycle.

CASE tools are the software engineering tools that permit collaborative software development
and maintenance. Almost all the phases of the software development life cycle are supported by
them such as analysis; design, etc., including umbrella activities such as project management,
configuration management etc. In general, standard software development methods such as
Jackson Structure programming or structured system analysis and design method are also
supported by CASE tools. CASE tools may support the following development steps for
developing data base application:

 Creation of data flow and entity models


 Establishing a relationship between requirements and models
 Development of top-level design
 Development of functional and process description
 Development of test cases.

Why CASE tools are developed:

CASE tools are designed to enhance and upgrade the computing system adopted and used. This
is very important with regards to the dependence on a computer-based environment for business
and/or personal pursuits. It is an important part of various business growth strategies. The CASE
tools are developed for the following reasons:
1. Firstly Quick Installation.
2. Time Saving by reducing coding and testing time.
3. Enrich graphical techniques and data flow.
4. Optimum use of available information.
5. Enhanced analysis and design development.
6. Create and manipulate documentation.
7. Transfer the information between tools efficiently.
8. The speed during the system development increased.

How the Organization uses CASE tools:

Here are the ways where the CASE tools are used:

1. To facilitate single design methodology:

CASE tools help the organization to standardize the development process. It also
facilitates coordinated development. Integration becomes easy as common methodology
is adopted.

2. Rapid Application Development:

To improve the speed and quality of system development organizations use CASE tools.

3. Testing:

CASE tools help in improving the testing process through automated checking and
simplified program maintenance.

4. Documentation:

In a traditional software development process, the quality of documentation at various


stages depends on the individual. At various stages of SDLC CASE tools improve the
quality and uniformity of documentation. It also ensures the completeness of the
documentation.

5. Project Management:

It improves project management activity and to some extent automates various activities
involved in project management.

6. Reduce the maintenance cost:

Use of CASE tools makes the software easy to maintain and hence reduce the maintenance
costs.

7. Increase Productivity:

Automation of various activities of system development and management processes


increases productivity of the development team.
Role of CASE tools:

CASE tools play a major role in the following activities:

 Project management
 Data dictionary
 Code generation
 User interface design
 Schema generation
 Creation of meta-data for data warehouse
 Reverse engineering
 Re-engineering
 Document generation
 Version control
 OO analysis and design
 Software testing
 Data modeling
 Project scheduling
 Cost estimation

Need of CASE tools:

The software development process is expensive and as the projects become more complex in
nature, the project implementations become more demanding and expensive. That's why
software developers always looking for such CASE tools that help them in many different ways
during the different development stages of software, so that they can understand the software
and prepare a good end product that efficiently fulfill the user requirements. CASE tools provide
the integrated homogenous environment for the development of complex projects. These tools
provide computerized setting to software developers to analyze a problem and then design its
system model. The CASE tools also provide the environment for monitoring and controlling
projects such that team leaders are able to manage the complex projects.

Basically, the CASE tools are used to

 Reduce the cost as they automate many repetitive manual tasks.


 Reduce development time of the project as they support standardization and avoid
repetition and reuse.
 Develop better quality complex projects as they provide greater consistency and
coordination.
 Create good quality documentation.
 Create systems that are maintainable because of proper control of configuration item that
support traceability requirements.

Categories of CASE Tools:

Sometimes CASE tools are classified in to following categories due to their activities:

1. UPPER CASE Tools


2. LOWER CASE Tools
3. INTEGRATED CASE Tools

Upper CASE tools:

They support the analysis and the design phase. They include tools for analysis modeling, reports
and forms generation.

Lower CASE tools:

They support the coding phase, configuration management, etc.


Integrated CASE tools:

It is known as I-CASE and also supports analysis, design and coding phases.

The phases that are supported by the Lower and upper CASE tools are shown in the Waterfall
model as under:

Positioning of CASE tools in a Software Application development:


Advantages and Disadvantages of CASE Tools:

Characteristics of a successful CASE Tool:

A CASE tool must have the following characteristics in order to be used efficiently:

 A standard methodology: A CASE tool must support a standard software development


methodology and standard modeling techniques. In the present scenario most of the
CASE tools are moving towards UML.
 Flexibility: Flexibility in use of editors and other tools. The CASE tool must offer
flexibility and the choice for the user of editors' development environments.
 Strong Integration: The CASE tools should be integrated to support all the stages. This
implies that if a change is made at any stage, for example, in the model, it should get
reflected in the code documentation and all related design and other documents, thus
providing a cohesive environment for software development.
 Integration with testing software: The CASE tools must provide interfaces for
automatic testing tools that take care of regression and other kinds of testing software
under the changing requirements.
 Support for reverse engineering: A CASE tools must be able to generate complex
models from already generated code.
 On-line help: The CASE tools provide an online tutorial.

You might also like