Advertisement

Empirical Software Engineering

, Volume 23, Issue 6, pp 3281–3345 | Cite as

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

  • Ana M. Fernández-SáezEmail author
  • Michel R. V. Chaudron
  • Marcela Genero
Article

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.

Keywords

UML Software maintenance Modelling languages Industrial case study 

Notes

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.

References

  1. 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–581CrossRefGoogle Scholar
  2. 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–381CrossRefGoogle Scholar
  3. 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–1488Google Scholar
  4. Basili V, Weiss D (1984) A methodology for collecting valid software engineering data. IEEE Trans Softw Eng 10:728–738CrossRefGoogle Scholar
  5. Blaha MR, Rumbaugh JR (2004) Object-oriented modeling and design with UML, 2nd edn. Pearson, Upper Saddle RiverGoogle Scholar
  6. Bruegge B, Dutoit AH (2010) Object-oriented software engineering: using UML, patterns, and Java. Prentice Hall, BostonGoogle Scholar
  7. Burge JE, Carroll JM, McCall R, Mistrík I (2008) Rationale-based software engineering, 1st edn. Springer-Verlag, BerlinCrossRefGoogle Scholar
  8. 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–16Google Scholar
  9. Cook TD, Shadish WR Jr, Campbell DT (2001) Experimental and quasi-experimental designs for generalized causal inference, international edition. Cengage Learning, Inc, BostonGoogle Scholar
  10. 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–346Google Scholar
  11. 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–75Google Scholar
  12. 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–280Google Scholar
  13. Dobing B, Parsons J (2006) How UML is used? Commun ACM 49:109–113CrossRefGoogle Scholar
  14. 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–432CrossRefGoogle Scholar
  15. 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–1142CrossRefGoogle Scholar
  16. 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–48Google Scholar
  17. 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–301Google Scholar
  18. 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–663CrossRefGoogle Scholar
  19. 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–33Google Scholar
  20. 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–35Google Scholar
  21. 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–682CrossRefGoogle Scholar
  22. Glaser BG, Strauss AL (1967) The discovery of grounded theory: strategies for qualitative research, 8th edn. Transaction Publishers, ChicagoGoogle Scholar
  23. 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–481Google Scholar
  24. 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–161CrossRefGoogle Scholar
  25. ISO/IEC (1999) ISO/IEC 14764-1999: Software Engineering MaintenanceGoogle Scholar
  26. Jacobson I, Booch G, Rumbaugh J (1999) The unified software development process. Addison-Wesley Longman Publishing Co., Inc., BostonGoogle Scholar
  27. Johnson P, Ekstedt M, Jacobson I (2012) Where’s the theory for software engineering? IEEE Softw 29:96–96CrossRefGoogle Scholar
  28. Kruchten P, Capilla R, Dueñas JC (2009) The decision view’s role in software architecture practice. IEEE Softw 26:36–42CrossRefGoogle Scholar
  29. 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–431Google Scholar
  30. 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–113CrossRefGoogle Scholar
  31. Locke K (2001) Grounded theory in management research, 1st edn. SAGE Publications Ltd, LondonGoogle Scholar
  32. Lutters WG, Seaman CB (2007) Revealing actual documentation usage in software maintenance through war stories. Inf Softw Technol Qual Softw Eng Res 49:576–587CrossRefGoogle Scholar
  33. McNamara C (1999) General guidelines for conducting interviews (Technical report). Authenticity Consulting, LLC, MinneapolisGoogle Scholar
  34. 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–252Google Scholar
  35. 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–99Google Scholar
  36. Petre M (2013) UML in practice. Presented at the 2013 International Conference on Software Engineering (ICSE’2013), San Francisco, CA, USA, pp 722–731Google Scholar
  37. Petre M, Blackwell AF (1999) Mental imagery in program design and visual programming. Int J Human-Comput Stud 51:7–30CrossRefGoogle Scholar
  38. 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-15Google Scholar
  39. Pressman RS (2005) Software engineering: a practitioners approach, 7th edn. McGraw HillGoogle Scholar
  40. Punch KF (2005) Introduction to social research, second edition: quantitative and qualitative approaches, 2nd edn. SAGE Publications Ltd, LondonGoogle Scholar
  41. 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–83Google Scholar
  42. Richards L (1999) Using NVIVO in qualitative research. SAGE Publications Ltd, LondonGoogle Scholar
  43. Robson C (2011) Real world research, 3rd Revised edition. Wiley, OxfordGoogle Scholar
  44. Runeson P, Höst M (2009) Guidelines for conducting and reporting case study research in software engineering. Empir Softw Eng 14:131–164CrossRefGoogle Scholar
  45. Runeson P, Höst M, Rainer A, Regnell B (2012) Case study research in software engineering: guidelines and examples. Wiley Publishing, HobokenCrossRefGoogle Scholar
  46. 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–148Google Scholar
  47. 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)Google Scholar
  48. 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–26CrossRefGoogle Scholar
  49. Seaman CB (1999) Qualitative methods in empirical studies of software engineering. IEEE Trans Softw Eng 25:557–572CrossRefGoogle Scholar
  50. 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–336CrossRefGoogle Scholar
  51. 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
  52. Strauss AC, Corbin J (1990) Basics of qualitative research: grounded theory procedures and techniques, 2nd edn. SAGE Publications, Inc., Thousand OaksGoogle Scholar
  53. 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–497Google Scholar
  54. 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–2126CrossRefGoogle Scholar
  55. 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–17Google Scholar
  56. Wieringa R, Daneva M (2015) Six strategies for generalizing software engineering theories. Sci Comput Program 101:136–152CrossRefGoogle Scholar
  57. Wohlin C, Runeson P, Host M, Ohlsson MC, Regnell B, Wesslen A (1999) Experimentation in software engineering: an introduction. Kluwer Academic Publishers, BostonzbMATHGoogle Scholar
  58. 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–315Google Scholar
  59. Yin RK (2002) Case study research: design and methods, 3rd edn. SAGE Publications, Inc., Thousand OaksGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.ALARCOS Research Group, Instituto de Tecnologías y Sistemas de InformaciónUniversity of Castilla-La ManchaCiudad RealSpain
  2. 2.Joint Computer Science and Engineering DepartmentChalmers University of Technology & University of GothenburgGothenburgSweden

Personalised recommendations