Búsqueda avanzada

An industrial case study on the use of UML in software maintenance and its perceived benefits and hurdles (RELEVANTE YA PUBLICADO)

UML is a commonly-used graphical language for the modelling ofsoftware. Works regarding UML’s effectiveness have studied projects thatdevelop software systems from scratch. Yet the maintenance of softwareconsumes a large share of the overall time and effort required to develop softwaresystems. This study, therefore, focuses on the use of UML in softwaremaintenance. We wish to elicit the practices of the software modelling usedduring maintenance in industry and understand what are perceived as hurdles andbenefits when using modelling. In order to achieve a high level of realism, weperformed a case study in a multinational company’s ICT department. Theanalysis is based on 31 interviews with employees who work on softwaremaintenance projects. The interviewees played different roles and providedcomplementary views about the use, hurdles and benefits of software modellingand the use of UML. Our study uncovered a broad range of modelling-relatedpractices, which are presented in a theoretical framework that illustrates howthese practices are linked to the specific goals and context of softwareengineering projects. We present a list of recommended practices that contributeto the increased effectiveness of software modelling. The use of softwaremodelling notations (like UML) is considered beneficial for softwaremaintenance but needs to be tailored to its context. Various practices thatcontribute to the effective use of modelling are commonly overlooked,suggesting that a more conscious holistic approach with which to integratemodelling practices into the overall software engineering approach is required.

Does the level of detail of UML diagrams affect the maintainability of source code?: a family of experiments

Although the UML is considered to be the de facto standard notation with which to model software, there is still resistance to model-based development. UML modeling is perceived to be expensive and not necessarily cost-effective. It is therefore important to collect empirical evidence concerning the conditions under which the use of UML makes a practical difference. The focus of this paper is to investigate whether and how the Level of Detail (LoD) of UML diagrams impacts on the performance of maintenance tasks in a model-centric approach. A family of experiments consisting of one controlled experiment and three replications has therefore been carried out with 81 students with different abilities and levels of experience from 3 countries (The Netherlands, Spain, and Italy). The analysis of the results of the experiments indicates that there isno strong statistical evidence as to the influence of different LoDs. The analysis suggests a slight tendency toward better results when using low LoD UML diagrams, especially if used for the modification of the source code, while a high LoD would appear to be helpful in understanding the system. The participants in our study also favored low LoD diagrams because they were perceived as easier to read. Although the participants expressed a preference for low LoD diagrams, no statistically significant conclusions can be drawn from the set of experiments. One important finding attained from this family of experiments was that the participants minimized or avoided the use of UML diagrams, regardless of their LoD. This effect was probably the result of using small software systems from well-known domains as experimental materials.

On the use of developers context for automatic refactoring of software anti-patterns

Publication: Journal of Systems and Software Number: Available On-line Month and Year: May 2016 DOI: 10.1016/j.jss.2016.05.042 Quality indicators of the journal: ISI JCR IF=1.424 (Q1 in CS/SE, Q2 in CS/TM), 5-year IF=1.767, SNIP=2.415, SJR=0.897, CiteScore=2.93 Citations (according to Google Scholar): 4