Towards an Integrated Quality Assessment and Improvement Approach for UML Models

  • Akhtar Ali Jalbani
  • Jens Grabowski
  • Helmut Neukirchen
  • Benjamin Zeiss
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5719)


Models defined using the Unified Modeling Language (UML) are nowadays common parts of software documentations, specifications and sometimes even implementations. However, there is a broad variety of how UML is used. Reasons can be found, for example, in the lack of generally accepted modeling norms and guidelines, the semi-formal semantics of UML, or the complexity of the language. In practice, these factors inevitably lead to quality problems in UML models that need to be addressed.We investigate and discuss existing work in the field of quality assessment and improvement of UML models and present how we envision an integrated approach to quality assessment and improvement of UML models. We assess a model with a Factor-Criteria-Metrics (FCM) based quality model, detect issues by finding smells and violated metric thresholds in UML models, and improve UML models by applying refactorings using model-to-model transformations.


Class Diagram Object Constraint Language Graph Transformation Object Management Group Graphical Notation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Neukirchen, H., Zeiss, B., Grabowski, J.: An Approach to Quality Engineering of TTCN-3 Test Specifications. International Journal on Software Tools for Technology Transfer (STTT) 10(4), 309–326 (2008)CrossRefGoogle Scholar
  2. 2.
    Neukirchen, H., Zeiss, B., Grabowski, J., Baker, P., Evans, D.: Quality Assurance for TTCN-3 Test Specifications. Software Testing, Verification and Reliability (STVR) 18(2) (2008)Google Scholar
  3. 3.
    Object Management Group (OMG): Meta Object Facility (MOF) Core Specification, Vers. 2.0,
  4. 4.
    Object Management Group (OMG): UML Infrastructure Specification, Vers. 2.2,
  5. 5.
    Object Management Group (OMG): UML Superstructure Specification, Vers. 2.2,
  6. 6.
    Abstratt Technologies: TextUML Toolkit,
  7. 7.
    Object Management Group (OMG): MOF 2.0/XMI Mapping, Vers. 2.1.1,
  8. 8.
    Object Management Group (OMG): OCL Core Specification Vers. 2.0,
  9. 9.
    Fenton, N., Pfleeger, S.: Software Metrics: A Rigorous and Practical Approach. PWS Publishing, Boston (1997)Google Scholar
  10. 10.
    McCall, J., Richards, P., Walters, G.: Factors in Software Quality. Technical Report RADC TR-77-369, US Rome Air Development Center (1977)Google Scholar
  11. 11.
    International Organization for Standardization (ISO) / International Electrotechnical Commission (IEC): ISO/IEC Standard No. 9126. Software Engineering- Product Quality; Part 1-4 (2001-2004)Google Scholar
  12. 12.
    Basili, V.R., Weiss, D.M.: A Methodology for Collecting Valid Software Engineering Data. IEEE Transactions on Software Engineering 10(6), 728–738 (1984)CrossRefGoogle Scholar
  13. 13.
    Fowler, M.: Refactoring – Improving the Design of Existing Code. Addison-Wesley, Reading (1999)zbMATHGoogle Scholar
  14. 14.
    van Emden, E., Moonen, L.: Java Quality Assurance by Detecting Code Smells. In: Proceedings 9th Working Conference on Reverse Engineering (WCRE 2002), pp. 97–106. IEEE, Los Alamitos (2002)CrossRefGoogle Scholar
  15. 15.
    Parnas, D.: Software Aging. In: Proceedings of the 16th International Conference on Software Engineering (ICSE), pp. 279–287. IEEE Computer Society Press, Los Alamitos (1994)CrossRefGoogle Scholar
  16. 16.
    Lange, C.: Assessing and Improving the Quality of Modeling. PhD thesis, Technische Universiteit Eindhoven, Netherland (2007)Google Scholar
  17. 17.
    Lange, C., Chaudron, R.: Managing Model Quality in UML-Based Software Development. In: Proceedings of the 13th IEEE International Workshop on Software Technology and Engineering in Practice (STEP 2005), pp. 7–16. IEEE Computer Society, Washington (2005)CrossRefGoogle Scholar
  18. 18.
    Mohagheghi, P., Aagedal, J.: Evaluating Quality in Model-Driven Engineering. In: Proceedings of the International Workshop on Modeling in Software Engineering (MISE 2007), p. 6. IEEE Computer Society Press, Washington, DC (2007)CrossRefGoogle Scholar
  19. 19.
    Pareto, L., Boquist, U.: A Quality Model for Design Documentation in Model-Centric Projects. In: Proceedings of the 3rd International Workshop on Software Quality Assurance (SOQUA 2006), pp. 30–37. ACM Press, New York (2006)CrossRefGoogle Scholar
  20. 20.
    Lange, C.: Improving the Quality of UML Models in Practice. In: Proceedings of 28th International Conference on Software Engineering (ICSE 2006), pp. 993–996. ACM, New York (2006)Google Scholar
  21. 21.
    Chidamber, S.R., Kemerer, C.: A Metric Suite for Object-Oriented Design. IEEE Transactions on Software Engineering 20(6), 476–493 (1994)CrossRefGoogle Scholar
  22. 22.
    Kim, H., Boldyreff, C.: Developing Software Metrics Applicable to UML Models. In: Proceedings of the 6th ECOOP Workshop on Quantitative Approaches in Object-Oriented Engineering (2002)Google Scholar
  23. 23.
    Baroni, A., Braz, S., Abreu, F.B.: Using OCL to Formalize Object-Oriented Design Metrics Definitions. In: Proceedings of the 6th ECOOP Workshop on Quantitative Approaches in Object-Oriented Software Engineering (2002)Google Scholar
  24. 24.
    McQuillan, J., Power, J.: A Metamodel for the Measurement of Object-Oriented Systems: An Analysis using Alloy. In: Proceedings of the 2008 international Conference on Software Testing, Verification (ICST), pp. 228–297. IEEE Computer Society Press, Washington (2008)Google Scholar
  25. 25.
    El-Wakil, M., El-Bastawisi, A., Riad, M.B., Fahmy, A.A.: A Novel Approach to Formalize Object-Oriented Design Metrics. In: Proceedings of the 9th International Conference on Empirical Assessment in Software Engineering (2005)Google Scholar
  26. 26.
    Kiewkanya, M., Muenchaisri, P.: Measuring Maintainability in Early Phase using Aesthetic Metrics. In: Dosch, W., Freund, R., Mastorakis, N. (eds.) SEPADS 2005, pp. 1–6. WSEAS, Stevens Point, Wisconsin (2005)Google Scholar
  27. 27.
    Purchase, H., Allder, J.-a., Carrington, D.: Graph Layout Aesthetics in UML Diagrams: User Preferences. Journal of Graph Algorithms and Applications 6(3), 255–279 (2002)MathSciNetCrossRefzbMATHGoogle Scholar
  28. 28.
    Eichelberger, H., von Gudenberg, J.W.: UML Class Diagrams - State of the Art in Layout Techniques. In: Proceedings of the International Workshop on Visualizing Software for Understanding and Analysis, Amsterdam (2003)Google Scholar
  29. 29.
    Gronback, R.: Model Validation: Applying Audits and Metrics to UML Models (2004),
  30. 30.
    Ambler, S.: The Elements of UML 2.0 Style. Cambridge University Press, Cambridge (2005)CrossRefGoogle Scholar
  31. 31.
    Astels, D.: Refactoring with UML. In: Proceedings of the 3rd International Conference on eXtreme Programming and Flexible Processes in Software Engineering, XP 2002 (2002)Google Scholar
  32. 32.
    Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Reading (1999)zbMATHGoogle Scholar
  33. 33.
    France, R., Bieman, J.: Multi-View Software Evolution — A UML-based Framework for Evolving Object-Oriented Software. In: Proceedings of 17th IEEE International Conference on Software Maintenance (ICSM 2001). IEEE Computer Society Press, Los Alamitos (2001)Google Scholar
  34. 34.
    Sunyé, G., Pollet, D., Traon, Y., Jézéquel, J.: Refactoring UML Models. In: Gogolla, M., Kobryn, C. (eds.) UML 2001. LNCS, vol. 2185, pp. 134–148. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  35. 35.
    Porres, I.: Model Refactorings as Rule-Based Update Transformations. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 159–174. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  36. 36.
    Dobrzański, L.: UML Model Refactoring- Support for Maintenance of Executable UML Models. Master’s thesis, Blekinge Institute of Technology, School of Engineering, Ronneby, Sweden (2005)Google Scholar
  37. 37.
    Mellor, S., Balcer, M.: Executable UML: A Foundation for Model-Driven Architecture. Addison-Wesley, Reading (2002)Google Scholar
  38. 38.
    Biermann, E., Ermel, C., Taentzer, G.: Precise Semantics of EMF Model Transformations by Graph Transformation. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 53–67. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  39. 39.
    Folli, A., Mens, T.: Refactoring of UML models using AGG. In: Proceedings of the 3rd International ERCIM Symposium on Software Evolution (2007)Google Scholar
  40. 40.
    Taentzer, G.: A Graph Transformation Environment for Modeling and Validation of Software. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds.) AGTIVE 2003. LNCS, vol. 3062, pp. 446–453. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  41. 41.
    Battista, G.D., Eades, P., Tamassia, R., Tollis, I.G.: Graph Drawing - Algorithms for the Visualization of Graphs. Prentice-Hall, Englewood Cliffs (1998)zbMATHGoogle Scholar
  42. 42.
    Castello, R., Mili, R., Tollis, I.: Automatic Layout of Statecharts. Software Practice & Experience 32(1), 25–55 (2002)CrossRefzbMATHGoogle Scholar
  43. 43.
    SDMetrics: The Software Design Metrics tool for the UML,
  44. 44.
  45. 45.
  46. 46.
    ArgoUML Project: ArgoUML,
  47. 47.
    Lange, C., Chaudron, R.: Empanada: Empirical analysis of architecture and design quality,
  48. 48.
    Boger, M., Sturm, T., Fragemann, P.: Refactoring Browser for UML. In: Aksit, M., Mezini, M., Unland, R. (eds.) NODe 2002. LNCS, vol. 2591, pp. 366–377. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  49. 49.
    Gorp, P., Stenten, H., Mens, T., Demeyer, S.: Towards Automating Source-Consistent UML Refactorings. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 144–158. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  50. 50.
    Seuring, P.: Design and Implementation of a UML Model Refactoring Tool. Master’s thesis, Hasso-Plattner-Institute for Software Systems Engineering at the University of Potsdam (2005)Google Scholar
  51. 51.
    Zeiss, B., Vega, D., Schieferdecker, I., Neukirchen, H., Grabowski, J.: Applying the ISO 9126 Quality Model to Test Specifications – Exemplified for TTCN-3 Test Specifications. In: Proceedings of Software Engineering 2007 (SE 2007). Lecture Notes in Informatics (LNI), vol. 105, Köllen Verlag (2007)Google Scholar
  52. 52.
    Object Management Group (OMG): Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification,
  53. 53. openArchitectureWare (oAW),
  54. 54.
    Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I., Valduriez, P.: ATL: A QVT-Like Transformation Language. In: Companion to the 21st ACM SIGPLAN Symposium on Object-Oriented Programming Systems, Languages, and Applications. ACM Press, New York (2006)Google Scholar
  55. 55.
    Eclipse Foundation: Eclipse Model Development Tools (MDT) OCL,

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Akhtar Ali Jalbani
    • 1
  • Jens Grabowski
    • 1
  • Helmut Neukirchen
    • 2
  • Benjamin Zeiss
    • 1
  1. 1.Institute for Computer ScienceUniversity of GöttingenGöttingenGermany
  2. 2.Faculty of Industrial Engineering, Mechanical Engineering and Computer ScienceUniversity of IcelandReykjavíkIceland

Personalised recommendations