Computer-aided software engineering |
Computer-aided software engineering (CASE) is the use of Software tools to assist in the software 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 utilizing 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 Edward 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
Some typical CASE tools are:
*Code generation tools *Unified Modeling Language editors and the like *Refactoring 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 methodolgies such as SSADM. E.g. *database schema *data flow diagrams *entity relationship diagrams *program specifications *user documentation
Sometimes CASE tools are separated in two groups: *Upper CASE: Tools for the analyse and design phase of the software development lifecycle (diagraming tools, report and form generators, analysis tools)
=List of sample CASE tools=
=See also=
*James Martin (author) *Rapid application development *Fourth-generation programming language *Model-driven architecture *Domain-specific modelling *Modeling language
= External links =
|
|