Computer Aided Software Engineering
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:
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.
Here are the ways where the CASE tools are used:
CASE tools help the organization to standardize the development process. It also
facilitates coordinated development. Integration becomes easy as common methodology
is adopted.
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:
5. Project Management:
It improves project management activity and to some extent automates various activities
involved in project management.
Use of CASE tools makes the software easy to maintain and hence reduce the maintenance
costs.
7. Increase Productivity:
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
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.
Sometimes CASE tools are classified in to following categories due to their activities:
They support the analysis and the design phase. They include tools for analysis modeling, reports
and forms generation.
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:
A CASE tool must have the following characteristics in order to be used efficiently: