Including modelling as part
of software development appears to have various benefits. Why then is it that
not all companies use software modelling? One of the main reasons is that it
requires up-front investments. From an economic point of view, any type of
investment must be justified in terms of how much payback there will be at a
later stage. This being the case, in the context of software projects,
investment in modelling should be justified by benefits, such as improved
productivity and improved product quality, which can be seen later during
software development or maintenance. When such benefits are not tangible or
foreseeable, modelling becomes a practice without clear added value for the
system being developed.
The problem, therefore, is how we can investigate and prove whether or not
modelling, or some specific characteristics of modelling, provide any benefits
during software development and maintenance. As long as this question remains
unanswered, it will be difficult to motivate and justify modelling activities
in real software projects. This thesis therefore contributes to partially
answering these open questions by focusing the empirical research on the
benefits of using UML modelling during software maintenance.Algorithms and the Foundations of Software technolog