Comparing Object-Oriented Design between Java and C++ using Chidamber and Kemerer metrics - Urías Morales, Ramón (Universidad Autónoma Metropolitana, 2015)
La calidad del software puede medirse utilizando modelos como los propuestos por McCall, Boehm o ISO. Estos modelos descomponen la calidad en un conjunto de atributos de calidad que son de interés para los usuarios o para los desarrolladores. Entre los atributos de calidad que son de interés para los desarrolladores, encontramos la mantenibilidad, que se entiende en esta tesis como un atributo de calidad que está asociado a hacer cambios en el código fuente de un sistema. La medición de la Mantenibilidad se puede lograr mediante el uso de métricas de calidad de diseño, como el conjunto de métricas de Chidamber y Kemerer. En esta tesis queremos comprender si el uso de diferentes lenguajes orientados a objetos (en nuestro caso, Java y C ++) tiene un impacto en la mantenibilidad. Para responder a esta pregunta, desarrollamos Maya C ++, una herramienta que calcula el conjunto de métricas de Chidamber y Kemerer para los programas en C ++. Con el uso de esta herramienta se obtuvieron datos de dichas métricas sobre una muestra de proyectos C++, posteriormente estos datos se utilizaron como base para la comparación con datos de proyectos Java. Un análisis de los datos revela que no hay una diferencia significativa en el uso de estos lenguajes, aunque estos datos favorecen ligeramente a Java. Palabras clave: Calidad de software, diseño orientado a objetos, métricas de software.; Software quality can be measured using models such as the ones proposed by McCall, Boehm or ISO. These models decompose quality in a set of quality attributes that are of interest to the users or to the developers. Among the quality attributes that are interesting to developers, we find maintainability which is understood in this thesis as a quality attribute that is associated to making changes in the system’s source code. Measuring maintainability can be achieved through the use of design quality metrics such as the Chidamber and Kemerer metrics set. In this thesis we want to understand if the use of different object oriented languages (in our case Java and C++) has an impact on maintainability. To answer this question, we build Maya C++, a tool that calculates Chidamber and Kemerer metrics set for C++ programs. With the use of this tool we obtained metrics data from a project sample and this data was then used as a basis for comparison with data from Java projects. An analysis on the data reveals that there is not a significant difference in the use of the languages even though the data slightly favors Java. . Keywords: Software quality, object-oriented design, software metrics.