- tware engineering is a team activity and software engineers spend quite a lot of time interacting with other team members. Although tools for collaboration are improving, they are still fairly limited and do not support creative processes in an effective way.
My software tool classification sets out a number of different ways of classifying software development tools.
Integrated development environments (IDEs) are made up of a number of integrated software tools that support one or more general software process activities such as requirements, design or programming. They will always include a source code editing system, compiler and debugger.
Programming environments are the most mature IDEs and environments are now available for many different programming languages such as Java, Python, Ruby, etc. Programming environments generally include an integrated program editor, compiler and debugging environment. From within this environment, the editor maintains the syntax of the program and the user can seamlessly compile and debug the program.
IDEs are also available for requirements engineering and for the UML.
The open-source ECLIPSE environment is a framework for building IDEs and provides a basis for linking separately written tools. Therefore, an instance of an ECLIPSE environment might include tools for creating system models using UML and programming tools (in Java, say) to develop these models into executable programs. Many different instances of ECLIPSE, geared towards different application domains, are now available.
Huff, C. C. (1992). Elements of a realistic CASE tool adoption budget. Comm. ACM, 35 (4), 45-54.