- A functional
- An integration perspective where tools are classified according to how they are organised into integrated units that provide support for one or more process activities.
|Planning tools||PERT tools, estimation tools, spreadsheets|
|Editing tools||Text editors, diagram editors, word processors|
|Change management tools||Requirements traceability tools, change control systems|
|Configuration management tools||Version management systems, system building tools|
|Prototyping tools||Very high-level languages, user interface generators|
|Method-support tools||Design editors, data dictionaries, code generators|
|Language-processing tools||Compilers, interpreters|
|Program analysis tools||Cross reference generators, static analysers, dynamic analysers|
|Testing tools||Test data generators, file comparators|
|Debugging tools||Interactive debugging systems|
|Documentation tools||Page layout programs, image editors|
|Reengineering tools||Cross-reference systems, program restructuring systems|
The diagram below presents an alternative classification of software tools. It shows the process phases supported by a number of types of tool. Tools for planning and estimating, text editing, document preparation and configuration management may be used throughout the software process.