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, test software, and so on.
Equally arguably, it is those 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 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
Some typical CASE tools are:
- Configuration management tools including revision control
- UML editors and the like
- Refactoring tools
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)
- Lower CASE: Tools to support implementation, testing, configuration management
List of sample CASE tools
- Sybase PowerDesigner - website (http://www.sybase.com/products/developmentintegration/powerdesigner)
- Embarcadero ER/Studio - website (http://www.embarcadero.com/products/erstudio/index.html)
- CASEWise website (http://www.casewise.com/)
- Enterprise Architect - Sparx Systems - website (http://www.sparxsystems.com.au/)
- Visual Paradigm for UML - website (http://www.visual-paradigm.com/vpuml.php)
- ERWin - Computer Associates - website (http://www3.ca.com/Solutions/Product.asp?ID=260)
- INNOVATOR - MID website (http://www.mid.de/en/innovator/)
- Obsydian / Plex - Computer Associates website (http://www3.ca.com/Solutions/Product.asp?ID=258)
- Rational Rose - IBM - website (http://www-306.ibm.com/software/rational/)
- Together - Borland - website (http://www.borland.com/together/)
- System Architect - Popkin Software - website (http://www.popkin.com/)
- Visible Enterprise Products - website (http://www.visible.com/Products/index.htm)
- ArgoUML - website (http://argouml.tigris.org/)
- Eclipse with plugins - website (http://www.eclipse.org/)
See also
External links
- Definition and discussion (http://www.sei.cmu.edu/legacy/case/case_whatis.html) of CASE from Carnegie Mellon Software Engineering Institutede:CASE