Register | Login
:: Select Business Solutions - Application Development Tools

What is Computer Aided Software Engineering? (CASE)

E-mail

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:

  • Modeling 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
 
Agile modeling CBDI Forum CMMI DSDM Consortium
MDA OMG UML BPMN

References

Information is taken in whole, or in part, from Wikipedia, The Free Encyclopedia - which is a fully independent knowledge resource that has no affiliation with Select Business Solutions. As a result, Select Business Solutions takes no responsibility for the accuracy. If you believe the information is wrong, please contact us and we will investigate.