Skip to main content
Log in

An industrial case study on the use of UML in software maintenance and its perceived benefits and hurdles

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15

Similar content being viewed by others

Notes

  1. BPMN stands for Business Process Model and Notation

References

  • Anda B, Hansen K, Gullesen I, Thorsen HK (2006) Experiences from introducing UML-based development in a large safety-critical project. Empir Softw Eng 11:555–581

    Article  Google Scholar 

  • Arisholm E, Briand LC, Hove SE, Labiche Y (2006) The impact of UML documentation on software maintenance: an experimental evaluation. IEEE Trans Softw Eng 32:365–381

    Article  Google Scholar 

  • Aseniero BA, Wun T, Ledo D, Ruhe G, Tang A, Carpendale S (2015) STRATOS: using visualization to support decisions in strategic software release planning. Presented at the 33rd Annual ACM Conference on Human Factors in Computing Systems (CHI’2015). ACM, New York, NY, USA, pp 1479–1488

  • Basili V, Weiss D (1984) A methodology for collecting valid software engineering data. IEEE Trans Softw Eng 10:728–738

    Article  Google Scholar 

  • Blaha MR, Rumbaugh JR (2004) Object-oriented modeling and design with UML, 2nd edn. Pearson, Upper Saddle River

    Google Scholar 

  • Bruegge B, Dutoit AH (2010) Object-oriented software engineering: using UML, patterns, and Java. Prentice Hall, Boston

    Google Scholar 

  • Burge JE, Carroll JM, McCall R, Mistrík I (2008) Rationale-based software engineering, 1st edn. Springer-Verlag, Berlin

    Book  Google Scholar 

  • Chaudron M, Jolak R (2015) A vision on a new generation of software design environments. In: Chalmers Publication Library (CPL). Presented at the First International Workshop on Human Factors in Modeling (HuFaMo’15). CEUR-WS, pp 11–16

  • Cook TD, Shadish WR Jr, Campbell DT (2001) Experimental and quasi-experimental designs for generalized causal inference, international edition. Cengage Learning, Inc, Boston

    Google Scholar 

  • Cruzes DS, Dyba T, Runeson P, Host M (2011) Case studies synthesis: brief experience and challenges for the future. Presented at the 2011 International Symposium on Empirical Software Engineering and Measurement (ESEM’11), pp. 343–346

  • de Souza SCB, Anquetil N, de Oliveira KM (2005) A study of the documentation essential to software maintenance. Presented at the 23rd Annual International Conference on Design of Communication: Documenting & Designing for Pervasive Information (SIGDOC’05). ACM, New York, NY, USA, pp 68–75

  • Dekel U, Herbsleb JD (2007) Notation And Representation In Collaborative Object-Oriented Design: An Observational Study. Presented at the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems and Applications (OOPSLA’07). ACM, New York, NY, USA, pp 261–280

  • Dobing B, Parsons J (2006) How UML is used? Commun ACM 49:109–113

    Article  Google Scholar 

  • Dzidek WJ, Arisholm E, Briand LC (2008) A realistic empirical evaluation of the costs and benefits of UML in software maintenance. IEEE Trans Softw Eng 34:407–432

    Article  Google Scholar 

  • Fernández-Sáez AM, Genero M, Chaudron MRV (2013) Empirical studies concerning the maintenance of UML diagrams and their use in the maintenance of code: a systematic mapping study. Inf Softw Technol 55:1119–1142

    Article  Google Scholar 

  • Fernández-Sáez A, Genero M, Caivano D, Chaudron MV (2014) Does the level of detail of UML diagrams affect the maintainability of source code?: a family of experiments. Empir Softw Eng 12:1–48

    Google Scholar 

  • Fernández-Sáez AM, Caivano D, Genero M, Chaudron MRV (2015a) On the use of UML documentation in software maintenance: Results from a survey in industry. Presented at the 18th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MODELS’15), Ottawa, ON, Canada, pp 292–301

  • Fernández-Sáez AM, Genero M, Chaudron MRV, Caivano D, Ramos I (2015b) Are forward designed or reverse-engineered UML diagrams more helpful for code maintenance?: a family of experiments. Inf Softw Technol 57:644–663

    Article  Google Scholar 

  • Forward A, Lethbridge TC (2002) The relevance of software documentation, tools and technologies: a survey. Presented at the 2002 ACM Symposium on Document Engineering (DocEng’02). ACM, New York, NY, USA, pp 26–33

  • Garousi G, Garousi V, Moussavi M, Ruhe G, Smith B (2013) Evaluating usage and quality of technical software documentation: an empirical study. Presented at the 17th International Conference on Evaluation and Assessment in Software Engineering (EASE’13), ACM, pp 24–35

  • Garousi G, Garousi-Yusifoğlu V, Ruhe G, Zhi J, Moussavi M, Smith B (2015) Usage and usefulness of technical software documentation: an industrial case study. Inf Softw Technol 57:664–682

    Article  Google Scholar 

  • Glaser BG, Strauss AL (1967) The discovery of grounded theory: strategies for qualitative research, 8th edn. Transaction Publishers, Chicago

    Google Scholar 

  • Host M, Runeson P (2007) Checklists for software engineering case study research. Presented at the First International Symposium on Empirical Software Engineering and Measurement (ESEM’07), pp 479–481

  • Hutchinson J, Whittle J, Rouncefield M (2014) Model-driven engineering practices in industry: social, organizational and managerial factors that lead to success or failure. Sci Comput Program 89:144–161

    Article  Google Scholar 

  • ISO/IEC (1999) ISO/IEC 14764-1999: Software Engineering Maintenance

  • Jacobson I, Booch G, Rumbaugh J (1999) The unified software development process. Addison-Wesley Longman Publishing Co., Inc., Boston

    Google Scholar 

  • Johnson P, Ekstedt M, Jacobson I (2012) Where’s the theory for software engineering? IEEE Softw 29:96–96

    Article  Google Scholar 

  • Kruchten P, Capilla R, Dueñas JC (2009) The decision view’s role in software architecture practice. IEEE Softw 26:36–42

    Article  Google Scholar 

  • Leotta M, Ricca F, Antoniol G, Garousi V, Zhi J, Ruhe G (2013) A pilot experiment to quantify the effect of documentation accuracy on maintenance tasks. Presented at the 29th IEEE International Conference on Software Maintenance (ICSM’13), pp 428–431

  • Liebel G, Marko N, Tichy M, Leitner A, Hansson J (2018) Model-based engineering in the embedded systems domain: an industrial survey on the state-of-practice. Softw Syst Model 17(1):91–113

    Article  Google Scholar 

  • Locke K (2001) Grounded theory in management research, 1st edn. SAGE Publications Ltd, London

    Google Scholar 

  • Lutters WG, Seaman CB (2007) Revealing actual documentation usage in software maintenance through war stories. Inf Softw Technol Qual Softw Eng Res 49:576–587

    Article  Google Scholar 

  • McNamara C (1999) General guidelines for conducting interviews (Technical report). Authenticity Consulting, LLC, Minneapolis

    Google Scholar 

  • Mellegård N, Staron M (2010) Characterizing model usage in embedded software engineering: a case study. Presented at the Fourth European Conference on Software Architecture: Companion Volume (ECSA’10). ACM, New York, NY, USA, pp 245–252

  • Nugroho A, Chaudron MRV (2008) A survey into the rigor of UML use and its perceived impact on quality and productivity. Presented at the Second ACM-IEEE international symposium on Empirical software engineering and measurement (ESEM’08), ACM, pp 90–99

  • Petre M (2013) UML in practice. Presented at the 2013 International Conference on Software Engineering (ICSE’2013), San Francisco, CA, USA, pp 722–731

  • Petre M, Blackwell AF (1999) Mental imagery in program design and visual programming. Int J Human-Comput Stud 51:7–30

    Article  Google Scholar 

  • Pigoski TM (2001) Chapter 6: software maintenance. In: SWEBOK: A Project of the Software Engineering Coordination Committee (Trial Version 1.00). IEEE Computer Society Press, Los Alamitos, pp 6-1-6-15

  • Pressman RS (2005) Software engineering: a practitioners approach, 7th edn. McGraw Hill

  • Punch KF (2005) Introduction to social research, second edition: quantitative and qualitative approaches, 2nd edn. SAGE Publications Ltd, London

    Google Scholar 

  • Ricca F, Leotta M, Reggio G, Tiso A, Guerrini G, Torchiano M (2012) Using UniMod for maintenance tasks: an experimental assessment in the context of model driven development. Presented at the 4th International Workshop on Modeling in Software Engineering (MiSE’12), pp 77–83

  • Richards L (1999) Using NVIVO in qualitative research. SAGE Publications Ltd, London

    Google Scholar 

  • Robson C (2011) Real world research, 3rd Revised edition. Wiley, Oxford

    Google Scholar 

  • Runeson P, Höst M (2009) Guidelines for conducting and reporting case study research in software engineering. Empir Softw Eng 14:131–164

    Article  Google Scholar 

  • Runeson P, Höst M, Rainer A, Regnell B (2012) Case study research in software engineering: guidelines and examples. Wiley Publishing, Hoboken

    Book  Google Scholar 

  • Scanniello G, Gravino C, Tortora G (2010) Investigating the role of UML in the software modeling and maintenance - a preliminary industrial survey. Presented at the 12th International Conference on Enterprise Information Systems (ICEIS’10), Funchal, Madeira, Portugal, pp 141–148

  • Scanniello G, Gravino C, Tortora G (2012) Does the combined use of class and sequence diagrams improve the source code comprehension? Results from a Controlled Experiment. Presented at the 2nd Experiences and Empirical Studies in Software Modelling Workshop (EESSMoD’12)

  • Scanniello G, Gravino C, Genero M, Cruz-Lemus JA, Tortora G (2014) On the impact of UML analysis models on source-code comprehensibility and modifiability. ACM Trans Softw Eng Methodol 23:1–26

    Article  Google Scholar 

  • Seaman CB (1999) Qualitative methods in empirical studies of software engineering. IEEE Trans Softw Eng 25:557–572

    Article  Google Scholar 

  • Sjøberg DIK, Dybå T, Anda BCD, Hannay JE (2008) Building theories in software engineering, in: guide to advanced empirical software engineering. Springer, London, pp 312–336

    Book  Google Scholar 

  • Sony (2010) Sony® Digital Voice Editor Version 3.3.01 [WWW Document]. URL http://esupport.sony.com/perl/swu-download.pl?SMB=YES&region_id=2&template_id=2&upd_id=5529. Accessed 5 Apr 2013

  • Strauss AC, Corbin J (1990) Basics of qualitative research: grounded theory procedures and techniques, 2nd edn. SAGE Publications, Inc., Thousand Oaks

    Google Scholar 

  • Swanson EB (1976) The dimensions of maintenance. Presented at the 2nd international conference on Software engineering (ICSE’76), IEEE Computer Society Press, San Francisco, California, United States, pp 492–497

  • Torchiano M, Tomassetti F, Ricca F, Tiso A, Reggio G (2013) Relevance, benefits, and problems of software modelling and model driven techniques—A survey in the Italian industry. J Syst Softw 86:2110–2126

    Article  Google Scholar 

  • Whittle J, Hutchinson J, Rouncefield M, Burden H, Heldal R (2013) Industrial Adoption of Model-Driven Engineering: Are the Tools Really the Problem? In: Moreira A, Schätz B, Gray J, Vallecillo A, Clarke P (eds) Model-driven engineering languages and systems, lecture notes in computer science. Springer, Berlin, pp 1–17

    Google Scholar 

  • Wieringa R, Daneva M (2015) Six strategies for generalizing software engineering theories. Sci Comput Program 101:136–152

    Article  Google Scholar 

  • Wohlin C, Runeson P, Host M, Ohlsson MC, Regnell B, Wesslen A (1999) Experimentation in software engineering: an introduction. Kluwer Academic Publishers, Boston

    MATH  Google Scholar 

  • Yamashita A, Moonen L (2012) Do code smells reflect important maintainability aspects?. Presented at the 2012 28th IEEE International Conference on Software Maintenance (ICSM’12), pp 306–315

  • Yin RK (2002) Case study research: design and methods, 3rd edn. SAGE Publications, Inc., Thousand Oaks

    Google Scholar 

Download references

Acknowledgements

We are very grateful to the company for dedicating time to us and opening up to us in interviews.

This research has been funded by the SEQUOIA project (Ministerio de Economía y Competitividad), and by the Fondo Europeo de Desarrollo Regional FEDER, TIN2012-37493-C03-01.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ana M. Fernández-Sáez.

Additional information

Communicated by: Tao Yue

Appendices

Appendix 1

The following lines present the questionnaire used to carry out the interviews. The questionnaire is divided into 3 blocks:

  • Common questions for all the interviewees

  1. 1.

    What is your background and your experience?

  2. 2.

    What is your role, and what are your responsibilities within the project?

  3. 3.

    Which kind of documentation do you use to perform maintenance tasks: diagrams, code, textual information, etc.?

  4. 4.

    How do you use documentation/diagrams?

  5. 5.

    How often do you use the documentation?

  • Block of questions for those interviewees who use UML diagrams

  1. 6.

    Why do you use UML diagrams? (Give reasons) / For what purpose is UML modelling used?

  2. 7.

    For maintenance, do you manage (look up/ create/ modify) diagrams in a modelling tool (i.e. Enterprise Architect, Visio, etc.)? Or do you look them up in the documentation (i.e. word documents, pictures, etc.)? Did you receive any training about the tool?

  3. 8.

    Which diagrams do you consider to be most frequently used to perform the maintenance tasks? Which diagrams do you consider to be the most useful for performing the maintenance tasks?

  4. 9.

    Do diagrams help in solving defects?

    IF the answer is YES

    1. 9.1.

      How do they do so?

  5. 10.

    When you maintain the code, do you also maintain the diagrams?

    IF the answer is YES

    1. 10.1.

      How much time does it take?

    2. 10.2.

      Who maintains the diagrams? (The same person who maintains the code or a different one?)

    IF the answer is NO

    1. 10.3.

      Why do you not maintain the diagrams? Are the diagrams correct but not the code? Or is there another reason?

  6. 11.

    Do you like UML?

  7. 12.

    Do you think using UML has an impact on the time of the project? Do you think using UML has an impact on the quality of the final product? How?

  8. 13.

    What cost factors are related to using UML modelling in your work (training, tooling, etc.)?

  9. 14.

    Do you think there is another way in which to improve your work other than UML (i.e. another kind of diagram, etc.)?

  10. 15.

    Did you receive any training about UML at the Company? And before coming to the Company?

  11. 16.

    Do you think that the use of modelling allows errors to become incorporated?

  12. 17.

    Where does the diagram originate from and go to? (chain of use)

  13. 18.

    Do you reuse documentation from previous projects?

  • Block of questions for those interviewees who do not use UML diagrams

  1. 19.

    Do you use any kind of diagram to maintain the system and to communicate between team members?

  2. 20.

    Would you like UML diagrams to be available?

    If the answer is YES

    1. 20.1.

      How do you think UML would help you to maintain the system?

    2. 20.2.

      What benefits do you think UML diagrams could contribute to your work?

    3. 20.3.

      Do you think UML helps to improve the quality of the final product? How?

    4. 20.4.

      What cost factors are related to using UML modelling in a project?

    5. 20.5.

      Do you think the size of the system influences the way in which UML is used (or not used) on a project?

    6. 20.6.

      Do you think the size of the team influences the way in which UML is used (or not used) on a project?

Appendix 2

Interviewee

ICT experience

Context

Educational field

Educational level

Gender

Role

[Int1]

very high

common project

n.a.

school

male

project architect

[Int2]

medium

n.a.

computer sciences

master’s degree

male

project manager

[Int3]

very high

n.a.

electronics and mathematics

bachelor’s degree

male

project architect

[Int4]

n.a.

n.a.

computer sciences

bachelor’s degree

male

project architect

[Int5]

medium

n.a.

computer sciences

bachelor’s degree

male

information analyst

[Int6]

low

n.a.

n.a.

n.a.

male

technical lead

[Int8]

very high

n.a.

navy

n.a.

male

test engineer

[Int9]

high

outsourcing

n.a.

n.a.

male

delivery lead

[Int10]

very high

Embedded real-time programming

n.a.

n.a.

male

programmer / application developer

[Int11]

very high

n.a.

computer sciences

bachelor’s degree

female

programmer / application developer

[Int12]

low

migration

art

high school

male

test coordinator

[Int13]

very high

n.a.

n.a.

school

male

technical lead

[Int14]

high

n.a.

computer sciences

n.a.

male

information analyst

[Int16]

n.a.

web/mobile projects (SCRUM)

electronics

n.a.

male

SCRUM master

[Int18]

very high

n.a.

chemistry and physics

bachelor’s degree

male

system analyst

[Int19]

high

common project

computer sciences

master’s degree

female

programmer / application developer

[Int20]

very high

n.a.

Business and Finances

bachelor’s degree

male

programmer / application developer

[Int21]

n.a.

n.a.

computer sciences

master’s degree

male

analyst developer

[Int23]

very high

n.a.

n.a.

high school

female

analyst developer

[Int24]

very high

web/mobile projects (SCRUM)

n.a.

n.a.

male

project architect

[Int25]

very high

n.a.

n.a.

bachelor’s degree

male

programmer / application developer

[Int26]

very high

common project

computer sciences

master’s degree

male

project architect

[Int27]

very high

mainframe

n.a.

HBO

male

programmer / application developer

[Int28]

very high

old legacy system

psychology

HBO

male

programmer / application developer

[Int29]

very high

n.a.

n.a.

n.a.

male

team leader

[Int31]

high

common project

computer sciences

bachelor’s degree

male

deployer

[Int32]

very high

common project

computer sciences

HBO

male

programmer / application developer

[Int33]

very high

web and mobile projects (SCRUM)

n.a.

n.a.

male

programmer / application developer

[Int35]

very high

change from mainframe to agile

n.a.

n.a.

male

information analyst

[Int36]

very high

old legacy system

computer sciences

n.a.

male

program analyst

[Int37]

high

outsourcing

n.a.

n.a.

male

project manager

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Fernández-Sáez, A.M., Chaudron, M.R.V. & Genero, M. An industrial case study on the use of UML in software maintenance and its perceived benefits and hurdles. Empir Software Eng 23, 3281–3345 (2018). https://doi.org/10.1007/s10664-018-9599-4

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10664-018-9599-4

Keywords

Navigation