On the Impact of UML Analysis Models on Source-Code Comprehensibility and Modifiability

Author(s): Giuseppe Scanniello, Carmine Gravino, Marcela Genero, Genoveffa Tortora,
Venue: ACM Transactions on Software Engineering and Methodology
Date: March 2014

Type of Experiement: Controlled Experiment
Sample Size: 86
Class/Experience Level: Graduate Student, Professional
Data Collection Method: Observation, Survey

Quality
5

In this article the author explores the effects of UML diagrams created in the requirements elicitation phase of software development on the ability of software teams to understand, modify, and maintain the source code.

The studies conducted analysis on 86 participants, all with varying degrees of exposure to UML on students and professionals from both Italy and Spain. The studies created projects in which the functional requirements were represented by functional models, object models, and dynamic models. The study also used use case diagrams and use cases to represent functional requirements. Class diagrams were used to create abstractions between the problem domain and the actual coded objects. Lastly, sequence diagrams were utilized to model the interactions between the users and the system itself. The author deemed these projects “UML analysis models.”

After conducting the experiment on first/second year master's students in Spain, first year master's students in Italy, and some other practitioners in Spain, the author conducted thorough statistical analysis the data gathered from the experiment. The following list is a summarization of some of his more important findings.

- Using the UML analysis models is useless in the performance of maintenance operations
- UML analysis models distract the participants when they are performing comprehension and modification tasks on the source code
- High-ability participants benefit more from UML analysis models than low-ability ones.
- Comprehensibility and modifiability are not directly related

At the end of the study, the author determines that UML analysis models produced in the requirements elicitation process influence neither the comprehensibility of source code nor its modifiability. They determined that the analysis models, while they did slightly increase the ability of participants to understand the source code, made a negligible difference of about 1%.

0