Skip to main content

Experiments for Linking the Complexity of the Business UML Class Diagram to the Quality of the Associated Code

  • Conference paper
  • First Online:
Computational Science and Its Applications – ICCSA 2021 (ICCSA 2021)

Abstract

A relevant goal of software engineering is to assure the quality of object oriented software from the conceptual modeling phase. UML Class diagrams constitute a key artifact at that stage. Among existing models for iterative and incremental development of software systems, Model Driven Architecture (MDA) has reached a leadership position. MDA enables model-driven software development which treats models as primary development artifacts. The present empirical study answers the following three research questions: (RQ1) are there available in the literature class complexity metrics that can be adopted at the business level? (RQ2) Is it possible to adopt those metrics (if any) to predict the quality of the code returned by xGenerator? The latter is a Java technology platform for the creation of MVC Web applications, which implements the model-driven approach. (RQ3) Is it possible to identify a threshold for the adopted metrics (if any) that might suggest when a business Class diagram should be refactored?

This research was funded by Software Industriale.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Sentences taken from: https://www.omg.org/mda/.

  2. 2.

    http://www.github.com/mauricioaniche/springlint (accessed on June 20, 2020).

  3. 3.

    https://github.com/julioserafim/MobileMedia.

  4. 4.

    https://github.com/tsantalis/JDeodorant.

References

  1. Maciaszek, L.A.: Requirements Analysis and System Design, 3rd edn. Addison Wesley, Harlow (2007)

    Google Scholar 

  2. Paolone, G., Marinelli, M., Paesani, R., Di Felice, P.: Automatic code generation of MVC web applications. Computers 9(3), 56 (2020). https://doi.org/10.3390/computers9030056

    Article  Google Scholar 

  3. Paolone, G., Paesani, R., Marinelli, M., Di Felice, P.: Empirical assessment of the quality of MVC web applications returned by xGenerator. Computers 10(2), 20 (2021). https://doi.org/10.3390/computers10020020

    Article  Google Scholar 

  4. Aniche, M., Treude, C., Zaidman, A., van Deursen, A., Gerosa, M.A.: SATT: tailoring code metric thresholds for different software architectures. In: IEEE 16th International Working Conference on Source Code Analysis and Manipulation (SCAM), Raleigh, NC, pp. 41–50 (2016). https://doi.org/10.1109/SCAM.2016.19

  5. Misbhauddin, M., Alshayeb, M.: UML model refactoring: a systematic literature review. Empir. Softw. Eng. 20, 206–251 (2015). https://doi.org/10.1007/s10664-013-9283-7

    Article  Google Scholar 

  6. Nikulchev, E., Deryugina, O.: Model and criteria for the automated refactoring of the UML class diagrams. Int. J. Adv. Comput. Sci. Appl. (IJACSA) 7(12), 76–79 (2016)

    Google Scholar 

  7. Deryugina, O., Nikulchev, E., Ryadchikov, I., Sechenev, S., Shmalko, E.: Analysis of the AnyWalker software architecture using the UML refactoring tool. Procedia Comput. Sci. 150, 743–750 (2019). 13th International Symposium “Intelligent Systems’’ (INTELS’18)

    Article  Google Scholar 

  8. Masmali, O., Badreddin, O.: Code complexity metrics derived from software design: a framework and theoretical evaluation. In: Proceedings of the Future Technologies Conference, 5–6 November, Vancouver, Canada (2020)

    Google Scholar 

  9. Masmali, O., Badreddin, O.: Comprehensive model-driven complexity metrics for software systems. In: The 20th IEEE International Conference on Software Quality, Reliability and Security Companion (QRS-C 2020) Macau, China, 11–14 Dic (2020). https://doi.org/10.1109/QRS-C51114.2020.00115

  10. Kaner, C., Bond, W.P.: Software engineering metrics: what do they measure and how do we know?. In: Proceedings of the 10th International Software Metrics Symposium, 11–17 September, Chicago, IL, USA, pp. 1–12 (2004)

    Google Scholar 

  11. Weyuker, E.: Evaluating software complexity measures. IEEE Trans. Softw. Eng. 14, 1357–1365 (1988)

    Article  MathSciNet  Google Scholar 

  12. McQuillan, J.A., Power, J.F.: On the application of software metrics to UML models. In: Kühne, T. (ed.) MODELS 2006. LNCS, vol. 4364, pp. 217–226. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-69489-2_27

    Chapter  Google Scholar 

  13. Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. Softw. Eng. 20(6), 476–493 (1994). https://doi.org/10.1109/32.295895

    Article  Google Scholar 

  14. Aniche, A., Bavota, G., Treude, C., Gerosa, M.A., van Deursen, A.: Code smells for model-view-controller architectures. Empir. Softw. Eng. 23, 2121–2157 (2018). https://doi.org/10.1007/s10664-017-9540-2

    Article  Google Scholar 

  15. Masmali, O., Badreddin, O., Khandoker, R.: Metrics to measure code complexity based on software design: practical evaluation. In: Arai, K. (ed.) FICC 2021. AISC, vol. 1364, pp. 142–157. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-73103-8_9

    Chapter  Google Scholar 

  16. Tsantalis, N., Chaikalis, T., Chatzigeorgiou, A.: JDeodorant: identification and removal of type-checking bad smells. In: 12th European Conference on Software Maintenance and Reengineering, Athens, Greece, pp. 329–331 (2008). https://doi.org/10.1109/CSMR.2008.4493342

  17. Paiva, T., Damasceno, A., Figueiredo, E., Sant Anna, C.: On the evaluation of code smells and detection tools. J. Softw. Eng. Res. Dev. 5, 7 (2017). https://doi.org/10.1186/s40411-017-0041-1

    Article  Google Scholar 

  18. Nyamawe, A.S., Liu, H., Niu, Z., Wang, W., Niu, N.: Recommending refactoring solutions based on traceability and code metrics. IEEE Access 6, 49460–49475 (2018). https://doi.org/10.1109/ACCESS.2018.2868990

    Article  Google Scholar 

  19. Palomba, F., Panichella, A., Zaidman, A., Oliveto, R., De Lucia, A.: The scent of a smell: an extensive comparison between textual and structural smells. IEEE Trans. Softw. Eng. 44(10), 977–1000 (2018). https://doi.org/10.1109/TSE.2017.2752171

    Article  Google Scholar 

  20. Genero, M., Piattini, M., Calero, C.: A survey of metrics for UML class diagrams. J. Object Technol. 4(9), 59–92 (2005). http://www.jot.fm/issues/issue_2005_11/article1

  21. Marchesi, M.: OOA metrics for the unified modeling language. In: Proceedings of the Second Euromicro Conference on Software Maintenance and Reengineering, Florence, Italy (March 8–11, 1998), pp. 67–73 (1998). https://doi.org/10.1109/CSMR.1998.665739

  22. Xu, B., Kang, D., Lu, J.: A structural complexity measure for UML class diagrams. In: Bubak, M., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds.) ICCS 2004, Part I. LNCS, vol. 3036, pp. 421–424. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24685-5_56

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Paolino Di Felice .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Paolone, G., Marinelli, M., Paesani, R., Di Felice, P. (2021). Experiments for Linking the Complexity of the Business UML Class Diagram to the Quality of the Associated Code. In: Gervasi, O., et al. Computational Science and Its Applications – ICCSA 2021. ICCSA 2021. Lecture Notes in Computer Science(), vol 12951. Springer, Cham. https://doi.org/10.1007/978-3-030-86970-0_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-86970-0_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-86969-4

  • Online ISBN: 978-3-030-86970-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics