CASE tools

CASE (Computer Assisted Software Engineering) tools come in all shapes and sizes. Some merely provide help in activities like specifying requirements, design and implementation, whereas others insist on a rigorous set of activities. A tool can contain some or all of the following:

Source code control (versioning)

Structure editors

Incremental compilation (patching)

(Automated build) support

UML design with automated code generation

Debugging support

Refactoring support

(Automated) testing support - unit and functional

(Automated) documentation

Deployment/release support

Bug reports/tracking

Walkthrough support

CRC cards (class-resonsibility-collaborator)

Automatic programming (specification to code)