 |
What is Computer Aided Software
Engineering? |
 |
Computer-aided software engineering
(CASE) is the use of software tools to assist in the development and
maintenance of software. Tools used to assist in this way are known as
CASE Tools.
All aspects of the software development lifecycle can be supported by
software tools, and so the use of tools from across the spectrum can,
arguably, be described as CASE; from project management software
through tools for business and functional analysis, system design,
code storage, compilers, translation tools, test software, and so on.
However, it is the tools that are concerned with analysis and design,
and with using design information to create parts (or all) of the
software product, that are most frequently thought of as CASE tools.
Such tools arose out of developments such as Jackson Structured
Programming and the software modelling techniques promoted by
researchers such as Ed Yourdon, Chris Gane and Trish Sarson (see
structured programming, SSADM). In this narrower range, CASE applied,
for instance, to a database software product, might normally involve:
 |
|
 |
| |
 |
Modelling business / real world processes and
data flow |
 |
 |
 |
Development of data models in the form of
entity-relationship diagrams |
 |
 |
 |
Development of process and function
descriptions |
 |
 |
 |
Production of database creation SQL and stored
procedures |
|
|
 |
|
 |
The term CASE was originally coined in the early 1980s by the Nastec
Corporation. They brought out a number of integrated
graphics and text editors, which were the first microprocessor based tools
to logically and semantically evaluate software and system design
diagrams and build a data dictionary. This was later expanded to support
analysis of a wide range of structured analysis and design methodologies,
notably Yourdon/Demarco SA/SD and Warnier-Orr.
Most of the early, graphically focused CASE tools specialized in
either process (program or module) design, or data
design.
The early CASE tools focused primarily on creating and analyzing
graphical software design representations. The original concepts were to be the bridge between the system development
methodology and the project management system.
CASE tools were at their peak in the early 1990s. By now, tools were full lifecycle and included Upper
CASE and Lower CASE (see below). |
|
|
With the decline of the mainframe, the big CASE tools died off, opening
the market for the mainstream CASE tools of today.
Some typical CASE tools are:
 |
|
 |
| |
 |
Code generation tools |
 |
 |
 |
UML editors and the like |
 |
 |
 |
Refactoring tools |
 |
 |
 |
QVT or Model transformation tools |
 |
 |
 |
Configuration management tools including revision control |
|
|
 |
|
 |
CASE tools do not only output code. They also generate other output
typical of various systems analysis and design methodologies such as SSADM.
E.g.
 |
|
 |
| |
 |
Database schema |
 |
 |
 |
Data Flow Diagrams (DFDs) |
 |
 |
 |
Entity Relationship Diagrams (ERDs) |
 |
 |
 |
Program specifications |
 |
 |
 |
User documentation |
|
|
 |
|
 |
Sometimes CASE tools are separated in two groups:
 |
|
 |
| |
 |
Upper CASE |
 |
 |
|
|
Tools for the analysis and design phase of the software
development lifecycle (diagramming tools, report and form
generators, analysis tools) |
 |
 |
 |
Lower CASE |
 |
 |
|
|
Tools to support data base schema generation, program
generation, implementation, testing, configuration management |
|
|
 |
|
 |
 |
Learn More |
 |
To find out more about how Select Business Solutions can help you
Contact Us today.
|
 |
|