An industrial case study on the use of UML in software maintenance and its perceived benefits and hurdles
Artikel i vetenskaplig tidskrift, 2018

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.

Modelling languages

Software maintenance

Industrial case study



Ana M. Fernández-Sáez

Universidad de Castilla-La Mancha

Michel Chaudron

Göteborgs universitet

Marcela Genero

Universidad de Castilla-La Mancha

Empirical Software Engineering

1382-3256 (ISSN) 1573-7616 (eISSN)

Vol. 23 6 3281-3345




Inbäddad systemteknik



Mer information

Senast uppdaterat