Automated quality-assessment for UML models in open source projects
Unified Modelling Language (UML) provides the facility for software engineers to specify, construct, visualize, and document the artifacts of a software system and to facilitate communication of ideas [1, 2]. It is shown in many studies [9, 14, 16] that the quality of UML models has an impact on the quality of software systems. It is not easy, and often a time-consuming task to maintain a good quality of UML models throughout the development process. For that reason, in many projects, UML models are left outdated as the projects go on. This will lead to a gap between the software design (reflected in UML models) and the actual implementation . The goal of this thesis is to automate the process of assessing the quality of UML models in open source projects. We chose the design science research methodology to carry out this thesis to achieve the thesis goal. The result of this thesis is UML-Ninja, which is a web tool that can automatically assess the quality of UML models in open source projects based on metrics and rules. The resulted tool (UML-Ninja) was evaluated based on 15 interviews with researchers, students, and practitioners. Researchers, students, and practitioners found UML-Ninja and the automated approach behind it can help them to obtain a better assessment of UML models quality as well as improving the quality of UML models.