Skip to main content
Log in

Building measure-based prediction models for UML class diagram maintainability

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

Abstract

The usefulness of measures for the analysis and design of object oriented (OO) software is increasingly being recognized in the field of software engineering research. In particular, recognition of the need for early indicators of external quality attributes is increasing. We investigate through experimentation whether a collection of UML class diagram measures could be good predictors of two main subcharacteristics of the maintainability of class diagrams: understandability and modifiability. Results obtained from a controlled experiment and a replica support the idea that useful prediction models for class diagrams understandability and modifiability can be built on the basis of early measures, in particular, measures that capture structural complexity through associations and generalizations. Moreover, these measures seem to be correlated with the subjective perception of the subjects about the complexity of the diagrams. This fact shows, to some extent, that the objective measures capture the same aspects as the subjective ones. However, despite our encouraging findings, further empirical studies, especially using data taken from real projects performed in industrial settings, are needed. Such further study will yield a comprehensive body of knowledge and experience about building prediction models for understandability and modifiability.

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

Similar content being viewed by others

Notes

  1. Even though we began our research with UML 1.4 (OMG 2001), when UML 2.0 appeared we studied it carefully. However, we did not find differences related to the elements we considered in class diagrams.

  2. These measures have been defined in a methodological way following a method proposed by Calero et al. (2001), which consists of three main tasks: metric definition, theoretical and empirical validation. However, in this paper, we focus only on empirical validation. Work related to the definition of measures and to theoretical validation can be found in Genero (2002).

  3. Even though understandability was not considered as a subcharacteristic of maintainability by ISO 9126 (2001), we included it because there exists a lot of work related to software measurement that considers understandability as a factor that influences maintainability (Briand et al. 2001; Fenton and Pfleeger 1997; Harrison et al. 2000).

  4. We considered the time spent analysing what modifications had to be made and the time needed to perform them together, because it is difficult to separate both times in a reliable way.

  5. For carrying out the data analysis, we assigned numbers to each linguistic level as follows: “Very simple” corresponded to 1 and “Very complex” corresponded to 5.

  6. Most of the diagrams were assigned to four subjects, but diagrams E3 and M3 were assigned to five subjects because there were 38 subjects and nine diagrams. The subjects were our students and we could not exclude two of them solely on the basis of design considerations.

  7. All the data analysis was carried out using SPSS 12.0 (SPSS 2002) and SAS 8.0 (SAS 1999).

  8. In this kind of test, is usual to select a significance level greater than 0.10 to reduce the Beta error (i.e. the, the probability of accepting the variable as having a Normal distribution when the distribution is actually not Normal) (Snedecor and Cochran 1989).

References

  • Atkinson C, Kühne T (2003) Model-driven development: a metamodeling foundation. IEEE Softw 20(5):36–41

    Article  Google Scholar 

  • Bansiya J, Davis C (2002) A hierarchical model for object-oriented design quality assessment. IEEE Trans Softw Eng 28(1):4–17

    Article  Google Scholar 

  • Basili V, Rombach H (1988) The TAME project: towards improvement-oriented software environments. IEEE Trans Softw Eng 14(6):728–738

    Article  Google Scholar 

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

    Article  Google Scholar 

  • Basili V, Shull F, Lanubile F (1999) Building knowledge through families of experiments. IEEE Trans Softw Eng 25(4):435–437

    Article  Google Scholar 

  • Briand L, Wüst J (2001) Modeling development effort in object-oriented systems using design properties. IEEE Trans Software Eng 27(11):963–986

    Article  Google Scholar 

  • Briand L, Wüst J (2002) Empirical studies of quality models in object-oriented systems. In: Zelkowitz (ed) Advances in computers, vol 59. Academic, pp 97–166

  • Briand L, Devanbu W, Melo W (1997) An investigation into coupling measures for C++. In: 19th International Conference on Software Engineering (ICSE 97), Boston, USA, pp 412–421

  • Briand L, Wüst J, Lounis H (1998) Investigating quality factors in object-oriented designs: an industrial case study. Technical report ISERN 98-29 (version 2)

  • Briand L, Wüst J, Lounis H (1999) A comprehensive investigation of quality factors in object-oriented designs: an industrial case study. In: 21st International Conference on Software Engineering, Los Angeles, pp 345–354

  • Briand L, Arisholm S, Counsell F, Houdek F, Thévenod-Fosse P (2000) Empirical studies of object-oriented artefacts, methods and processes: state of the art and future directions. Emp Softw Eng 4(4):387–404

    Article  Google Scholar 

  • Briand L, Bunse C, Daly J (2001) A controlled experiment for evaluating quality guidelines on the maintainability of object-oriented designs. IEEE Trans Softw Eng 27(6):513–530

    Article  Google Scholar 

  • Brito e Abreu F, Carapuça R (1994) Object-oriented software engineering: measuring and controlling the development process. In: Proceedings of 4th International Conference on Software Quality, Mc Lean, VA, USA, 3–5 October

  • Brooks A, Daly J, Miller J, Roper M, Wood M (1996) Replication of experimental results in software engineering. Technical report ISERN-96-10. International Software Engineering Research Network

  • Calero C, Piattini M, Genero M (2001) Method for obtaining correct metrics. In: International Conference on Enterprise and Information Systems (ICEIS‘2001), pp 779–784

  • Cantone G, Donzelli P (2000) Production and maintenance of software measurement models. J Softw Eng, Knowl Eng 5:605–626

    Google Scholar 

  • Card C, El-Emam K, Scalzo B (2001) Measurement of object-oriented software development projects. In: Software Productivity Consortium NFP

  • Chapin N, Hale J, Khan K, Ramil J, Tan W (2001) Types of software evolution and software maintenance. J Softw Maint Evol: Res Prac 13:3–30

    Article  MATH  Google Scholar 

  • Chidamber S, Kemerer C (1994) A metrics suite for object oriented design. IEEE Trans Softw Eng 20(6):476–493

    Article  Google Scholar 

  • Cook T, Campbell D (1979) Quasi-experimentation: design and analysis issues for field settings. Boston, Houghton Mifflin

    Google Scholar 

  • Davis C (2002) Statistical methods for the analysis of repeated measurements, Springer

  • Erickson J, Siau K (2004) Theoretical and practical complexity of UML. In: 10th Americas Conference on Information Systems, New York, USA, pp 1669–1674

  • Hardin JW, Hilbe JM (2002) Generalized estimating equations. Chapman & Hall, London

    Google Scholar 

  • El-Emam K (1999) The prediction of faulty classes using object-oriented design metrics, NRC/ERB1064. National Research Council Canada

  • El-Emam K (2001) Object-oriented metrics: a review on theory and practice, NRC/ERB 1085. National Research Council Canada

  • Fenton N, Pfleeger S (1997) Software metrics: a rigorous approach, 2nd edn. Chapman & Hall, London

    Google Scholar 

  • Fioravanti F, Nesi P (2001) Estimation and prediction metrics for adaptive maintenance effort of object-oriented systems. IEEE Trans Software Eng 27(12):1062–1083

    Article  Google Scholar 

  • García F, Ruiz F, Cruz JA, Piattini M (2003) Integrated measurement for the evaluation and improvement of software processes. In: 9th European Workshop on Software Process Technology (EWSPT’9), Helsinki, Finland. Lecture notes in computer science, vol 2786. pp 129–145

  • Genero M (2002) Defining and validating metrics for conceptual models, Ph.D. thesis, University of Castilla-La Mancha, Spain

  • Genero M, Jiménez L, Piattini M (2002) A controlled experiment for validating class diagram structural complexity metrics. In: Bellahsene Z, Patel D, Rolland C (eds) The 8th International Conference on Object-oriented Information Systems (OOIS’2002), Lecture notes in computer science, vol 2425. Springer, Berlin Heidelberg New York, pp 372–383

    Google Scholar 

  • Genero M, Piattini M, Calero C (2000) Early measures for UML class diagrams. L’Objet. 6(4), Hermes Science Publications, pp 489–515

    Google Scholar 

  • Genero M, Olivas J, Piattini M, Romero F (2001) Using metrics to predict OO information systems maintainability. In: CAISE 2001, Lecture notes in computer science, vol 2068. Interlaken, Switzerland, pp 388–401

  • Genero M, Manso MaE, Piattini M, Cantone G (2003a) Building UML class diagram maintainability prediction models based on early metrics. In: 9th International Symposium on Software Metrics (METRICS 2003), IEEE Computer Society, pp 263–275

  • Genero M, Olivas J, Piattini M, Romero F (2003b) Assessing object oriented conceptual models maintainability. In: Poels G et al (eds) International Workshop on Conceptual Modeling Quality (IWCMQ’02), Tampere, Finland. Lecture notes in computer science, vol 2784. Springer, Berlin Heidelberg New York, pp 288–299

    Google Scholar 

  • Genero, M., Piattini M., and Calero, C. 2005. Metrics for high-level design UML class diagrams: an exploratory analysis. Journal of Object Technology, 4(9). Available at http://www.jot.fm

  • Harrison R, Counsell S, Nithi R (1998) An investigation into the applicability and validity of object-oriented design metrics. Emp Softw Eng 3:255–273

    Article  Google Scholar 

  • Harrison R, Counsell S, Nithi R (2000) Experimental assessment of the effect of inheritance on the maintainability of object-oriented systems. J Syst Softw 52:173–179

    Article  Google Scholar 

  • Henderson-Sellers B (1996) Object-oriented metrics—measures of complexity. Prentice-Hall, Upper Saddle River, NJ, pp 489–515

    Google Scholar 

  • ISO/IEC 9126-1.2 (2001) Information technology—software product quality—part 1: quality model

  • Johnson DE (1998) Applied multivariate methods for data analyst. Duxbury Press, Brooks/Cole Publishing Company

  • Juristo N, Moreno AMa (2001) Basics of software engineering experimentation. Kluwer

  • Kiewkanya M, Muenchaisiri P (2004) Predicting modifiability of UML class and sequence diagrams. In: The Second Workshop on Software Quality (26th International Conference on Software Engineering (ICSE 2004)), pp 53–57

  • Kiewkanya M, Jindasawat N, Muenchaisiri P (2004) A methodology for constructing maintainability model of object-oriented design. In: Fourth International Conference on Quality Software (QSIC’ 04), pp 206–213

  • Kim H, Boldyreff C (2002) Developing software metrics applicable to UML Models. In: Proceedings of the 6th ECOOP Workshop on Quantitative Approaches in Object-Oriented Software Engineering, (QAOOSE 2002)

  • Kitchenham B, Pfleeger S, Fenton N (1995) Towards a framework for software measurement validation. IEEE Trans Softw Eng 21(12):929–943

    Article  Google Scholar 

  • Kitchenham B, Pfleeger S, Pickard L, Jones P, Hoaglin D, El Emam K, Rosenberg J (2002) Preliminary guidelines for empirical research in software engineering. IEEE Trans Softw Eng 28(8):721–734

    Article  Google Scholar 

  • Kleinbaum D, Kupper L, Muller K (1987) Applied regression analysis and other multivariate methods, 2nd edn. Duxbury

  • Li W, Henry S (1993) Object-oriented metrics that predict maintainability. J Syst Softw 23(2)

  • Lorenz M, Kidd J (1994) Object-oriented software metrics: a practical guide. Englewood

  • Manso, MaE, Genero M, Piattini M (2003) No-redundant metrics for UML class diagrams structural complexity. In: Eder JY, Missikoff M (eds) CAISE 2003, Lecture notes in computer science, vol 2681. Springer, Berlin Heidelberg New York, pp 127–142

  • Marchesi M (1998) OOA Metrics for the unified modeling language. In Proceedings of the 2nd Euromicro Conference on Software Maintenance and Reengineering, Florence, Italy, pp 67–73

  • Mendes E, Watson I, Mosley N, Counsell S (2002) A comparison of development effort estimation techniques for web hypermedia applications. In: 8th IEEE Symposium on Software Metrics (METRICS‘02), pp 21–30

  • Miller J (2000) Applying meta-analytical procedures to software engineering experiments. J Syst Softw 54:29–39

    Article  Google Scholar 

  • OMG (2001) Unified Modeling Language (UML) Specification, Version 1.4. Object Management Group (OMG)

  • OMG (2005) Object Management Group. UML 2.0, OMG Document. Available at http://www.omg.org

  • Poels G, Dedene G (2000) Distance-based software measurement: necessary and sufficient properties for software measures. Inf Softw Technol 42(1):5–46

    Article  Google Scholar 

  • SAS Institute (1999) SAS/STAT Users Guide, Version 8. SAS Institute, Cary, NC

  • Schneidewind N (1992) Methodology for validating software metrics. IEEE Trans Softw Eng 18(5):410–422

    Article  Google Scholar 

  • Schneidewind N (2002) Body of knowledge for software quality measurement. IEEE Computer 35(2):77–83

    Google Scholar 

  • Selic B (2003) The pragmatics of model-driven development. IEEE Software 20(5):19–25

    Article  Google Scholar 

  • Shapiro SS, Wilk MB (1965) An analysis of variance test for normality. Biometrika 52:591–611

    MATH  MathSciNet  Google Scholar 

  • Si-Said C, Akoka J, Comyn-Wattiau I (2002) Conceptual modelling quality—from EER to UML Schemas Evaluation. In: Spaccapietra S, March, S, Kambayashi Y (eds) 21st International Conference on Conceptual Modeling (ER 2002), Tampere, Finland. LNCS, vol 2503.d pp 499–512

  • Snedecor GW, Cochran WG (1989) Statistical methods, 8th edn. Iowa State University Press

  • SPSS (2002) SPSS 11.5. Syntax Reference Guide. Chicago. SPSS Inc

  • Van Solingen R, Berghout E (1999) The goal/question/metric method: a practical guide for quality improvement of software development. McGraw-Hill, New York

    Google Scholar 

  • Vokác M, Tichy W, Sjoberg DI, Arisholm E, Aldrin M (2004) A controlled experiment comparing the maintainability of programs designed with and without design patterns—a replication in a real programming environment. Emp Softw Eng 9:149–195

    Article  Google Scholar 

  • Wohlin C, Runeson P, Höst M, Ohlson M, Regnell B, Wesslén A (2000) Experimentation in software engineering: an introduction. Kluwer

Download references

Acknowledgements

This research is part of the MECENAS project (PBI06-0024) financed by “Consejería de Ciencia y Tecnología de la Junta de Comunidades de Castilla-La Mancha” and the following projects supported by the “Ministerio de Educación y Ciencia (Spain) and FEDER”: TIN2006-15175-C05-05, TIN2004-03145 and TIN2004-06689.

We thank Macario Polo, Félix García and Crescencio Bravo from the University of Castilla-La Mancha for having allowed us to perform the experiment with their students.

The authors are grateful to the anonymous reviewers for insight and feedback to several key issues covered in this research. Thanks to Chris Wright for proofreading the paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marcela Genero.

Appendix A

Appendix A

Here we show, as an example, the UML class diagram D3 and its understandability, modifiability and rating tasks.

1.1 Diagram D3

Given the UML class diagram shown below related to the “Management of a Bank” you should perform the following tasks:

Tasks:

  1. 1.

    Answer the following questions:

    Write down the start time (indicating hh:mm:ss): _____________

    1. 1.

      Is it possible to distinguish between individual and company clients?

    2. 2.

      Is it possible to know when an employee began to work in a branch office?

    3. 3.

      Can an employee belong to more than one branch office?

    4. 4.

      Can the employees be clients of the bank?

    Write down the end time (indicating hh:mm:ss): _____________

  2. 2.

    Carry out the modifications necessary to satisfy the following requirements:

    Write down the start time (indicating hh:mm:ss): _____________

    1. 1.

      We would like to distinguish between permanent and temporary employees. For temporary employees we would also like to know their start date and the duration of their contracts.

    2. 2.

      We would like to register the transactions of an account, indicating the transaction date, type (deposit withdrawal) and the amount of the transaction. We know that a transaction can only belong to one account and one account can experience many transactions.

    3. 3.

      Can there be employees that are clients of the bank?

    4. 4.

      We would like to identify the manager of every bank and also the employees of each bank.

    Write down the end time (indicating hh:mm:ss): _____________

  3. 3.

    According to your criterion, evaluate the COMPLEXITY of this class diagram (mark with a cross).

    Very simple

    Relatively simple

    Average

    Slightly complex

    Very complex

Rights and permissions

Reprints and permissions

About this article

Cite this article

Genero, M., Manso, E., Visaggio, A. et al. Building measure-based prediction models for UML class diagram maintainability. Empir Software Eng 12, 517–549 (2007). https://doi.org/10.1007/s10664-007-9038-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10664-007-9038-4

Keywords

Navigation