Are the UML modelling tools powerful enough for practitioners? A literature review

IET SoftwareVolume 13, Issue 5 p. 338-354 Review ArticleOpen Access Are the UML modelling tools powerful enough for practitioners? A literature review Mert Ozkaya, Corresponding Author Mert Ozkaya mozkaya@cse.yeditepe.edu.tr Department of Computer Engineering, Yeditepe University, Istanbul, TurkeySearch for more papers by this author Mert Ozkaya, Corresponding Author Mert Ozkaya mozkaya@cse.yeditepe.edu.tr Department of Computer Engineering, Yeditepe University, Istanbul, TurkeySearch for more papers by this author First published: 01 October 2019 https://doi.org/10.1049/iet-sen.2018.5409Citations: 9AboutSectionsPDF ToolsRequest permissionExport citationAdd to favoritesTrack citation ShareShare Give accessShare full text accessShare full-text accessPlease review our Terms and Conditions of Use and check box below to share full-text version of article.I have read and accept the Wiley Online Library Terms and Conditions of UseShareable LinkUse the link below to share a full-text version of this article with your friends and colleagues. Learn more.Copy URL Share a linkShare onFacebookTwitterLinkedInRedditWechat Abstract Unified Modelling Language (UML) is essentially a de-facto standard for software modeling and supported with many modeling tools. In this study, 58 UML tools have been analysed for modelling viewpoints, analysis, transformation & export, collaboration, tool integration, scripting, project management, and knowledge management. The analysis results reveal important findings: (i) 11 UML tools support multiple viewpoints, (ii) 17 tools support large-viewpoint management, (iii) Umple and Reactive Blocks support formal verification, (iv) 9 tools support the simulation of activity diagrams, (v) while 14 tools check pre-defined well-formedness rules, 8 of them support user-defined rules, (vi) 16 tools support scripting, (vii) 29 tools support code-generation and 18 of them support round-trip engineering, (viii) Java is the top popular language, (ix) 38 tools export UML models as image, 32 tools export as HTML, and 32 tools export as XML/XMI, (x) 17 tools enable versioning and 13 of them support multi-user access, (xi) 15 tools support the plug-in extensions and 12 tools support the IDE integration, (xii) 6 tools support project management, and (xiii) while most tools provide user-manuals, interactive guidance is rarely supported. The results will be helpful for practitioners in choosing the right tool(s) and the tool developers in determining the weaknesses/strengths. 1 Introduction Unified Modelling Language (UML) [1] has been announced by the object management group (OMG) in the late 1990s as a general-purpose software modelling language that offers a huge set of visual diagrams for modelling the software system requirements, architecture, and design at different levels of abstractions. UML's diagrams can be classified into static and dynamic diagrams where the former represents the system structure modelling and the latter represents the system behaviour modelling. The system structures can be modelled with UML's use-case, class, object, component, and deployment diagrams, while the system behaviour can be modelled with UML's sequence, collaboration, activity, and state-machine diagrams. With the release of UML's version 2.x in the 2000s [UML's official OMG website: https://www.omg.org/spec/UML/About-UML/], the existing UML diagrams have been revised and some new diagram types have been introduced. That is, the structural modelling diagrams have been extended with the composite structure and package diagrams, and the behaviour modelling diagrams extended with new interaction overview and timing diagrams. UML is nowadays considered as one of the most popular software modelling languages in the industry [2-6]. This popularity is essentially due to UML's huge tool support, which enables the use of UML for modelling software systems and performing many other operations such as code generation, analysis, large view modelling, tool extension, multi-user collaboration etc. Indeed, tens of different UML tools have been available today for practitioners' use and offer various facilities for easing the software analysis, design, and development. While so many UML modelling tools have been proposed so far, one should be able to compare those UML modelling tools and choose the one(s) that best meet their expectations. Unfortunately, this is not so easy to do due to the lack of sufficient resources that consider as many UML modelling tools as existing today and the needs of practitioners in the industry. As discussed in Section 5, most of the existing resources essentially focus on a particular set of requirements (e.g. productivity, usability, and domain-specific requirements) and ignore other important concerns of practitioners such as large model management, collaboration, analysis, model transformation, knowledge management, and project management. Another issue is that the existing works fail to consider as many UML modelling tools as reachable on the internet and instead consider just a specific set of UML modelling tools that they consider popular. So, this situation prevents practitioners from performing their software development effectively by gaining the maximum benefits and productivity from the available UML modelling tools. Moreover, this also prevents the language and tool developers from easily determining the weak and strong points of the existing UML tools from the practitioners' point of view and thus developing new languages and tools that bridge the gap(s) of the existing tools. Therefore, in this paper, the goal is to determine the existing UML modelling tools and analyse them for a set of requirements that are believed to be highly important for practitioners. This work is essentially an extension of an initial study that analysed 11 well-known UML modelling tools for the modelling, analysis, code generation, user collaboration, and tool extensibility requirements [7]. So in this paper, the list of the UML modelling tools has been extended with all the tools that can be reachable on the internet. Moreover, the set of requirements for which the UML modelling tools are to be analysed has been revised and extended in the lights of the feedback received via the initial study and some other analytical studies conducted that are discussed in Section 2.2. The new, extended set of requirements now includes (xiv) the modelling viewpoints, (xv) the model analysis, (xvi) scripting, (xvii) model transformation and export, (xviii) collaborative modelling, (xix) external tool integration, (xx) project management, and (xxi) knowledge management. Each requirement given here is further considered in terms of some sub-requirements. 2 Research methodology 2.1 Identifying and filtering the UML modelling tools The existing UML modelling tools used in this study have been determined through a comprehensive literature search that has been conducted systematically. The literature search herein required four steps to be performed: (i) the Google search, (ii) the search for any websites that list some UML tools, (iii) the search for online forums on UML, and (iv) the Google scholar search. Concerning the Google search, several keywords have been run via the Google search engine to be able to reach as many resources about the existing UML tools as possible. These keywords include 'UML', 'UML tool', 'UML toolset', 'UML editor', 'Editor for UML', 'UML modeller', 'UML modelling tool', 'UML modelling tool', 'UML application', 'Online UML tool', 'UML tool free', 'UML tool commercial', and 'UML for practitioners'. All the UML tools determined have been recorded into an Excel sheet. Following that, the websites that publish any list of the UML tools have been searched via the Google search engine. This time, the keywords used are more list-oriented: 'UML tools list', 'List of UML tools', 'UML list', 'Popular UML tools', 'Free UML tool list', 'Commercial UML tool list', 'Top UML editors', and 'Top UML tools', 'Existing UML tools', and 'Collection of UML tools'. All those keywords led to a set of web pages given in Table 1, each of which lists various UML tools. So, the excel sheet created previously in the first step has been updated with the UML tools determined via those web pages. Note that any UML tools that have been previously recorded are omitted. In the third step, the existing forum websites that discuss UML have been searched via the Google search engine. By doing so, the goal was to determine whether any new UML tools have been announced in such discussion platforms or the list of popular UML tools preferred by practitioners. Therefore, several online forums have been identified and searched, including IBM's community forum [https://www.ibm.com/developerworks/community/forums/html/forum?id=11111111-0000-0000-0000-000000000346], UMLForum.com [http://umlforum.com/], Eclipse community forum [https://www.eclipse.org/forums/index.php/f/118/], and Youth4work's forum [https://www.youth4work.com/Talent/UML/Forum]. The resulting UML tools that have been determined via the forums have also been added to the excel sheet. Lastly, the Google scholar engine has been used to determine any papers indexed by Google scholar that discuss the UML tools. Here, a number of keywords have been used to reach as many papers as possible that compare or analyse a list of UML tools. These keywords include 'UML Tool Comparison', 'UML Tool Survey', 'UML Tool Analysis', and 'UML Tool Literature Review'. The literature analysis in Section 5, essentially discusses those papers on UML tools and compare them with the results obtained in this paper. The excel sheet has been finally updated with those UML tools determined in the last step. Table 1. Web pages that present a list of UML tools Name URL Access date 10 best UML diagram tool 2018 https://list.ly/list/1qDL-the-10-best-uml-diagram-tool-2018 22-02-2019 list of unified modelling language tools http://en.wikipedia.org/wiki/List_of_UML_tools 22-02-2019 open source free UML tools https://www.predictiveanalyticstoday.com/open-source-free-unified-modeling-language-uml-tools/ 22-02-2019 6 UML tools for every occasion https://www.ionos.com/digitalguide/websites/web-development/the-best-uml-tools/ 22-02-2019 list of unified modelling language tools https://ipfs.io/ipfs/QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6uco/wiki/List_of_Unified_Modeling_Language_tools.html 22-02-2019 top online UML modelling tools in 2018 https://modeling-languages.com/web-based-modeling-tools-uml-er-bpmn/ 22-02-2019 UML tools page http://www.sereferences.com/uml-tools.php 22-02-2019 UML drawing tools http://www.cs.colostate.edu/∼france/CS314/umltools.html 22-02-2019 popular UML modelling tools https://list.ly/list/2io-popular-uml-modeling-tools 22-02-2019 UML – tools & utilities https://www.tutorialspoint.com/uml/uml_tools_utilities.htm 22-02-2019 best free unified modelling language tools https://www.linuxlinks.com/best-free-unified-modeling-software/ 22-02-2019 UML tools https://socialcompare.com/en/comparison/uml-tools-wxsj724 22-02-2019 most complete list of executable UML tools https://modeling-languages.com/list-of-executable-uml-tools/ 22-02-2019 Tools https://curlie.org/Computers/Programming/Methodologies/Modeling_Languages/Unified_Modeling_Language/Tools/ 22-02-2019 my little UML (Tools) page https://plg.uwaterloo.ca/∼migod/uml.html 22-02-2019 In total, 90 different UML modelling tools have been determined, which are detailed in Table 2 depending on their supported platforms, supported UML diagrams, and being free (i.e. open-source) or commercial. Note here that the details of the 32 UML tools in Table 2 are left empty because of either of the following reasons: the tool is no longer in use whose websites are not working; the download file for the tool cannot be accessed; or the free evaluation version is not available for the commercial tool. Therefore, 58 different UML tools have been fixed, which can be installed successfully and analysed for the pre-determined set of requirements. So apparently, while some UML tools run on the Windows platform only, some run on either of the Windows, Linux, and MacOS platforms. Some UML tools also provide generic jar files that can run on any platform which have the Java Runtime Environment installed. Another sub-set of tools are web-based and offer an online application for UML modelling. A few UML tools offer an Eclipse plugin, which enable the use of the tools over the Eclipse IDE. Concerning the UML diagrams, not all UML tools seem to support the latest version of UML (i.e. 2.x) that encompasses all the UML diagrams. While some UML tools support the initial version of UML that lack in the composite structure, package, and timing diagrams, some tools just focus on particular UML diagram types. Lastly, while some UML tools are commercial that offer some free evaluation versions, some UML tools are open-source and free to use. Also note that a few UML modelling tools are not open-source but free to use. Table 2. UML modelling tools UML tools Supported platforms Website UML Diagrams Open Src AgileJ plugin for Eclipse www.agilej.com/ Cl no Altova Windows www.altova.com/ UML 2.x no ArgoUML Java file argouml.tigris.org/ UML 1.x yes Astade — http://astade.tigris.org/ — — Astah Windows, Linux, Mac astah.net/ UML 2.x no BonitaSoft Windows, Linux, Mac https://www.bonitasoft.com/ Ac no Borland Together — https://www.microfocus.com/en-us/products/together/overview — — Bouml Windows, Linux, Mac www.bouml.fr/ UML 1.x yes BridgePoint Windows and Linux xtuml.org/ Cl, Pa, Co, UC, Seq, Ac no Cacoo online App https://cacoo.com/ UC, Seq, Cl, Ac, SM no Cadifra Windows www.cadifra.com/ Cl, Ob, UC, Seq, SM no CaseComplete Windows casecomplete.com/ UC no ClDraw Windows www.Cldraw.com/ Cl no Codeless — https://codeless.com/ — — ConceptDraw — https://conceptdraw-pro.en.softonic.com — — Coral — http://mde.abo.fi/tools/Coral — — Creately online App creately.com/ UML 1.x no Dia Windows, Linux, Mac wiki.gnome.org/Apps/Dia Co, Cl, Dep, Pa no-free Diagramo online App diagramo.com/ SM yes DPAToolkit Windows dpatoolkit.sourceforge.net/ Cl yes Draw.io online App https://www.draw.io UC, Seq, Cl, Pa, Co yes Eclipse UML2 plugin for Eclipse www.eclipse.org/modeling/mdt UML 2.x yes Eclipse Omondo — http://www.ejb3.org/ — — EctoSet Modeller — http://gajits.com/ectoset — — Edraw Max Windows, Linux, Mac https://www.edrawsoft.com/edraw-max.php UML 1.x no Embarcadero Describe — https://www.embarcadero.com/products/describe/ — — Enterprise Architect Windows, Linux, Mac www.sparxsystems.com/products/ea/ UML 2.x no ESS Model Windows essmodel.sourceforge.net/ Cl yes Generic Modelling Environment Windows http://www.isis.vanderbilt.edu/Projects/gme/ Cl yes GenMyModel online App www.genmymodel.com/ Cl, Ac, UC, Ob, Seq no Gliffy online App www.gliffy.com/ Ac and Seq no Gmodeller online App www.gskinner.com/gmodeler/ Cl and Pa no FreeCase — http://www.freecase.seul.org/ — — Fujaba — http://www.uni-paderborn.de/cs/fujaba/ — — HAT — http://www.hoora.org/hoora_analysis_tool.htm — — IBM Rational Rhapsody Windows, Linux www.ibm.com/us-en/marketplace/rational-rhapsody UML 2.x no Innovator — http://www.mid.de/en/products/innovator-modeling-platform.html — — iUML — http://www.kc.com/ — — JSUML2 online App www.jrromero.net/tools/jsUML2 UML 2.x yes JVision — http://www.object-insight.com/ — — LucidChart online App www.lucidchart.com/ Dep, Co, Cl, UC, SM, Seq no MagicDraw Windows, Linux, Mac www.nomagic.com/products/magicdraw UML 2.x no Matrix Windows http://analysisdesignmatrix.com/ Pa, Cl, SM, Ac no-free MetaEdit+ Windows, Linux, Mac www.metacase.com/ UML 2.x no Metamill — http://www.metamill.com/ — — MetaUML used with Latex metauml.sourceforge.net/ Cl, Pa, Ac, SM, UC, Co no –free ModelMaker — http://www.modelmakertools.com/ — — NClass Windows http://nclass.sourceforge.net/ Cl yes ObjectDomain — http://www.objectdomain.com/ — — Objectif — https://www.microtool.de/en/products/objectif/ — — OEW — http://www.isg.de/ — — Object Technology Workbench — http://www.otwsoftware.com/ — — Open ModelSphere Windows www.modelsphere.com/ UML 1.x no OracleJDeveloper Windows, Linux, and Generic Jar www.oracle.com/technetwork\\/developer-tools/jdev Cl, Ac, UC, Seq no Pacestar Software Windows www.pacestar.com/ UML 2.x no Papyrus Plugin for Eclipse https://www.eclipse.org/papyrus/ UML 2.x yes UML tools Supported platforms Website UML Diagrams Open Src PlantUML — http://plantuml.com/ — — Populo Plugin for Eclipse http://caosd.lcc.uma.es/Populo/ UML 2.x yes Poseidon — https://www.gentleware.com/new-poseidon-for-uml-8-0.htm — — Power Designer Windows https://www.sap.com/products/powerdesigner-data-modeling-tools.html UML 2.x no Prosa Modeller — http://www.insoft.fi/ — — Proxy Designer — http://www.proxysource.com/Products/ProxyDesigner.html — — QM Windows, Linux, Mac http://www.state-machine.com/qm/ Cl, SA no-free Reactive Blocks plugin for Eclipse http://www.bitreactive.com/reactive-blocks/ Ac no-free Seq. Diagram Editor Windows www.Seqdiagrameditor.com/ Seq no Select Component Architect — http://www.selectbs.com/products/products/component_architect.htm — — Sequence Sketcher — http://www.lindesay.co.nz/ — — Slime UML — http://www.slimeuml.de/ — — Software Ideas Windows https://www.softwareideas.net/ UML 2.x no SmartDraw online App https://www.smartdraw.com/ UML 2.x no Star UML Windows, Linux, Mac http://staruml.io/ UML 2.x no Topcased — https://www.polarsys.org/topcased — — Umbrello Windows and Mac umbrello.kde.org/ UML 2.x yes UML Almighty Windows https://umlalmighty.wordpress.com/ Cl yes UML Sculptor Windows umlsculptor.sourceforge.net/ Cl yes UML/INTERLIS Java file www.umleditor.org/ Cl no -free UMLLab — https://www.uml-lab.com/en/uml-lab/ — — UMLet Plugin for Eclipse www.umlet.com/ UML 2.x yes UMLStudio Windows www.pragsoft.com/prod_umls.html Cl, UC, Seq, Col, SM, Ac no Umple online App, Eclipse Plugin, Generic Jar cruise.eecs.uottawa.ca/umple Cl, SM, CompSt yes UMT-QVT Java file umt-qvt.sourceforge.net/ UML 1.x yes UniMod Java file unimod.sourceforge.net/ Cl and SM yes UC Maker Java file UC-maker.sourceforge.net/ UC no -free USE Jar file http://useocl.sourceforge.net/w/index.php/Main_Page Cl no -free Violet Plugin for Eclipse alexdp.free.fr/violetumleditor Cl, Seq, SM, Ob, UC no Visual Paradigm Windows, Linux, Mac www.visual-paradigm.com/ UML 2.x no VisualUML — http://visualobject.com/ — — WinA&D — http://www.excelsoftware.com/wina&dproducts.html — — WithClass — http://www.microgold.com/home.html — — YeD Windows, Linux, Mac, Generic Jar, Online App www.yworks.com/products/yed# Cl and UC no -free CI: Class Diagram, UC: Use Case, Ob: Object Diagram, Seq: Sequence Diagram, Ac. Activity Diagram, CpS: Composite Structure Diagram, Pa: Package Diagram, SM: State Machine, Dep: Deployment Diagram, Co: Collaboration Diagram, In: Interaction Diagram. 2.2 Identifying the tool requirements To identify the requirements for which the 58 UML modelling tools given in Table 2 are to be analysed, the feedback received from the previous study [7] has been focussed on essentially. Note again that the initial work herein provides a first step towards understanding 11 UML Tools' support for a small set of requirements that are believed to be important for practitioners. So, the reviewers' suggestions on the requirements to be addressed and the ideas that the conference participants shared once the initial results have been presented were so helpful in extending the requirements and their sub-requirements. Moreover, the author got highly inspired from Lago et al.'s framework of the language requirements [8], which is based on a comprehensive survey on the needs of practitioners from the software modelling languages [3]. Lago et al.'s language requirement framework categorises a set of requirements as the language definition, language features, and tool support. Indeed, many important requirements in this study have been determined from Lago et al.'s requirements, including the multiple viewpoints support for the language feature and the large viewpoint management, model analysis, collaborative modelling, and knowledge management for the tool support. So, the following set of requirements are considered to be used in this study: (v) multiple viewpoints modelling and large viewpoint management, (vi) the model analysis, (vii) scripting, (viii) model transformation and export, (ix) collaborative modelling, (x) external tool integration, (xi) project management, and (xii) knowledge management. Some of those requirements are further considered in terms of a cohesive sub-set of requirements. In the rest of this section, the requirements and their sub-requirements (if any) are explained. 2.2.1 Modelling viewpoints Modelling viewpoints are concerned with separating software models into different parts that are each associated with a particular viewpoint and focuses on the concerns about that viewpoint. By doing so, software models can be specified in a modular manner, which enhances their understandability and analysability. The notion of modelling viewpoints has first been proposed by Kruchten in the 1990s, who separates the software architecture models into the logical, process, development, and physical views and promotes the modular and cohesive modelling of software architectures [9]. Later on, many works have been conducted on the software viewpoints [10-12] that introduce new viewpoints which address several different concerns of the systems to be developed (e.g. operational, functional, information, execution, and component & connector). IEEE has also recognised the notion of software viewpoints in its standard specifications for the software architecture description [13]. So, UML modelling tools are aimed to be analysed to understand whether they support the separation of UML models into viewpoints and, if so, which viewpoints are supported and whether the users are allowed to create their own viewpoints. Besides the support for different viewpoints, the UML tools are also aimed to be analysed for their support for the management of large software viewpoint models. Indeed, real systems may essentially be really large and complex, which consist of a huge number of components that interact with each other under complex interaction protocols (e.g. proxy, distributor, and adaptor). Therefore, it is important for the UML tools to provide some way(s) of modelling large software systems and easily managing their models (e.g. sub-diagramming and filtering). 2.2.2 Model analysis Analysing software models is so crucial for checking the UML models before proceeding with implementing the software system from the UML models. By doing so, any design errors may be detected and corrected early on. To this end, the UML tools are evaluated for (i) thewell-formedness rule checking, (ii) simulation, and (iii) formal verification. The well-formedness rules are concerned with the semantics of UML and define the constraints to be satisfied by the UML models so as to be well-formed and semantically correct. The well-formedness rules can be provided by the UML tools (i.e. pre-defined), or, the UML tools may provide practitioners with the option of defining their own rules. The UML tools are then expected to check the UML models for these rules and warn practitioners against any semantics errors. The model simulation is essentially concerned with the execution of the software behaviour models and observing the flow of activities performed. Lastly, formal verification is concerned with the use of formal methods for the exhaustive checking of UML models that consider every single state of the system behaviours. Formal verification can prove the UML models for the properties of interest such as deadlock and race condition by checking all possible system paths. UML tools can enable formal verification by translating the UML models in some formal verification languages (e.g. ProMeLa [14], Alloy [15], UPPAAL's language [16]) and running their supporting model checkers on the resulting formal models. 2.2.3 Model transformation and export Once a UML model is specified, analysed, and corrected, the next thing to do is probably to transform the UML models into a software implementation that reflect the design decisions specified in the UML model. The UML modelling tools may support one or multiple programming languages and enable the transformation of the UML models into the software code in the supported languages. To keep the model and implementation consistent, a UML modelling tool needs to support the round-trip engineering too and receive any code that it generated for reverting it back to the UML model. Besides, the UML tools are also expected to export the UML models in some useful formats and produce some useful data that practitioners may use for documentation, communication, or some other purposes such as data interchange between different platforms. Therefore, in this study, the UML tools are analysed for the HTML support for documentation purposes. The UML tools are also analysed for the XML/XMI support, which enable the UML models to be transformed between different modelling platforms. Lastly, the UML tools are analysed for the image generations from the UML models for documentation and communication purposes. 2.2.4 Collaborative modelling Collaborative modelling is concerned with enabling the UML models to be specified by multiple users together in a collaborative manner. The UML tools' support for collaboration is analysed in terms of a set of requirements: (i) tracking changes, (ii) real-time simultaneous access, (iii) working offline, (iv) security, (v) online access, and (vi) repository. Tracking changes is concerned with keeping and reviewing the changes made by the users on the UML models, comparing them, and reverting them back (if necessary) in a user-friendly way. The real-time simultaneous access is concerned with the ability of multiple users working on the same UML model at the same time without causing any loss of data or inconsistencies. Working offline is concerned with the ability to keep resuming their modelling work in the absence of the internet connection. When the internet connection is provided, the offline changes can be reflected in the UML models. Security is concerned with the user access rights, locking the UML models for users or group of users, and secure communications. Online access is concerned with the availability of a web-based application for the stakeholders to view and edit (if needed) the UML models without having to install the UML modelling tool. Lastly, repository is concerned with the availability for the cloud-based or server-based repositories for storing and accessing different versions of the UML models. 2.2.5 External tool integration External tool integration for a UML modelling tool is concerned with the ability to get integrated with other tools and utilising from their useful features such as code generation, formal verification, collaboration etc. The external tool integration is analysed in terms of the support for (i) plug-in tool development, (ii) IDE tool integration, and (iii) pre-built tool integrations. The plug-in tool development is concerned with the UML tool's support for developing a new extension tool(s) that can be plugged into the UML tool. The IDE tool integration is concerned with the ability to work together with the well-known integrated development environments such as Eclipse and Visual Studio. By doing so, the UML model and software implementation can be edited together and even kept synchronised. Lastly, the UML tools may offer a set of pre-built tools that practitioners may wish to use for extending the UML tools depending on their needs. 2.2.6 Scripting Scripting is the ability to edit the UML models using some scripting languages (e.g. JavaScript, JScript, VBScript). Indeed, in the case of repetitive modelling tasks, the UML modelling tools' GUI may take a considerable amount of time. Therefore, writing a little script that can automatically perform such repetitive tasks can save so much time. So, in this study, the UML modelling tools are analysed to understand whether the tools enable the use of any scripting languages over the UML models specified or not. 2.2.7 Project management Project management is the ability to manage the UML-based software projects. This includes the activities such as defining the resources (i.e. the project staffs), assigning the requirements or tasks to the project resources, specifying other details about the tasks (e.g. the start and end data, the percentage completed etc.), scheduling the tasks via some Gantt chart drawing tool. 2.2.8 Knowledge management Knowledge management is concerned with managing and sharing the knowledge about the UML tools so as to promote the practitioners to easily learn and use the UML tools. To this end, the UML tools can be supplemented with some resource materials, which may include user manuals, tutorials, and examples. Moreover, the UML tools may provide some other facilities for promoting the interactive guidance to the users, such as discussion forums, online chat platforms, technical support desk, and training sessions. 2.3 Analysing the UML tools After determining the UML modelling tools to be analysed and fixing the set of requirements, the last step is to analyse the UML modelling tools for the set of requirements. So, firstly, the excel sheet created in the previous stages has been updated with the columns that correspond to