Grupo Alarcos · Journal article · 2018
An industrial case study on the use of UML in software maintenance and its perceived benefits and hurdles
Ana María Fernández Sáez, Michel R. V. Chaudron, Marcela Genero Bocco
UML is a commonly-used graphical language for the modelling of software. Works regarding UML’s effectiveness have studied projects that develop software systems from scratch. Yet the maintenance of software consumes a large share of the overall time and effort required to develop software systems. This study, therefore, focuses on the use of UML in software maintenance. We wish to elicit the practices of the software modelling used during maintenance in industry and understand what are perceived as hurdles and benefits when using modelling. In order to achieve a high level of realism, we performed a case study in a multinational company’s ICT department. The analysis is based on 31 interviews with employees who work on software maintenance projects. The interviewees played different roles and provided complementary views about the use, hurdles and benefits of software modelling and the use of UML. Our study uncovered a broad range of modelling-related practices, which are presented in a theoretical framework that illustrates how these practices are linked to the specific goals and context of software engineering projects. We present a list of recommended practices that contribute to the increased effectiveness of software modelling. The use of software modelling notations (like UML) is considered beneficial for software maintenance, but needs to be tailored to its context. Various practices that contribute to the effective use of modelling are commonly overlooked, suggesting that a more conscious holistic approach with which to integrate modelling practices into the overall software engineering approach is required.
On the same topic
- 2015 On the use of UML documentation in software maintenance: Results from a survey in industry
- 2013 Empirical studies concerning the maintenance of UML diagrams and their use in the maintenance of code: A syste
- 2016 Does the level of detail of UML diagrams affect the maintainability of source code?: a family of experiments
- 2015 Are forward designed or reverse-engineered UML diagrams more helpful for code maintenance?: A family of experi