On tool selection for illustrating the use of UML in system development

With the pervasiveness of the Unified Modeling Language (UML) used as the de facto notation for communicating the specification, design and behavior of a system, numerous software tools are available that provide various levels of support for and use of UML. The inclusion of both UML and UML-based software tools into undergraduate curriculum is common. Selecting the appropriate tools for the curriculum is difficult. This paper identifies three categories of UML-based tools, UML Drawing Tools, UML Code-Centric Tools and UML Framework Tools, and the respective advantages and disadvantages of incorporating tool instances of each category. Based on the discussion, a recommendation is made to adopt a combination of these tools, potentially one of each type.