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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Sentences taken from: https://www.omg.org/mda/.
- 2.
http://www.github.com/mauricioaniche/springlint (accessed on June 20, 2020).
- 3.
- 4.
References
Maciaszek, L.A.: Requirements Analysis and System Design, 3rd edn. Addison Wesley, Harlow (2007)
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
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
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
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
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)
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)
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)
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
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)
Weyuker, E.: Evaluating software complexity measures. IEEE Trans. Softw. Eng. 14, 1357–1365 (1988)
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
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
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
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
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
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
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
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
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
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
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
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
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)