•
Castaño-Henríquez & Castillo / J. Comput. Electron. Sci.: Theory Appl., vol. 2 no. 2 pp. 21-26. July - December, 2021
Universidad de la Costa. Barranquilla (Colombia)
ejemplo@email.com
Institución educativa Técnica Agropecuaria de Villa Rosa. Villa Rosa (Colombia)
wadithjunior@hotmail.com
.
How to cite this article:
J. Castaño-Henríquez & W. J. Castillo, “Métricas en la evaluación de la calidad del software: una revisión conceptual”, J. Comput. Electron. Sci.: Theory Appl., vol. 2, no. 2, pp. 21–26, 2021. https://doi.org/10.17981/cesta.02.02.2021.03
.
Resumen
Introducción— La calidad del software hace referencia a cada uno de los atributos que lo hacen llamativo al comprador y operador, lo cual resulta muchas veces ser intangible, en función de su utilidad, reutilización, interoperabilidad, entre otros. Hace varias décadas se han ido introduciendo en el contexto de la calidad un sin número de características intrínsecas y extrínsecas, teniendo en cuenta que hablamos de algo más que el precio. Por esta razón se hace necesario cumplir con los estándares mínimos de calidad y es aquí donde aparece el término métricas, como aquellos instrumentos que nos permiten medir la utilidad y todos aquellos atributos de interés del software.
Objetivo— Identificar las aproximaciones teóricas sobre la calidad del software y el uso de las métricas.
Metodología— Para la realización de la presente revisión conceptual se utilizaron varias fuentes documentales, la búsqueda bibliográfica se realizó utilizando los descriptores: software y calidad del software. Combinando las palabras claves se obtuvieron un aproximado de 15 registros bibliográficos, y también se realizó búsqueda en internet a través de Google académico y Scopus. Se seleccionaron los documentos que informaban de forma útil y relevante sobre los aspectos de nuestro interés y además su publicación no fuera mayor a 5 años.
Conclusiones— Los modelos de calidad de software en su mayoría han sido aportados por las mismas empresas que desarrollan los softwares, con la intención de medir los diferentes atributos que posee. Estos atributos se agrupan en criterios que son medibles a través de las métricas, las cuales a su vez deben poder verificarse de forma empírica y teórica. De esta manera deben irse actualizando y mejorando en pro de su eficiencia y de acuerdo con los cambios que sufra el software.
Palabras clave— Software; calidad del software; métricas; modelos de calidad; atributos
Abstract
Introduction— The quality of the software refers to each of the attributes that make it attractive to the buyer and operator, which are often intangible, depending on its usefulness, reuse, interoperability, among others. For several decades, a number of intrinsic and extrinsic characteristics have been introduced in the context of quality, taking into account that we are talking about something more than price. For this reason, it is necessary to comply with the minimum quality standards and this is where the term metrics appears, such as those instruments that allow us to measure the utility and all those attributes of interest of the software.
Objective— Identify theoretical approaches to software quality and the use of metrics.
Methodology— To carry out the present bibliographic review, several documentary sources were used, the bibliographic search was carried out using the descriptors: software, software quality, combining the keywords, an approximate of 15 bibliographic records were obtained, an internet search was also carried out through from google academic and Scopus. Documents were selected that would inform in a useful and relevant way about the aspects that are of interest to us and that, in addition, their publication was not longer than 5 years.
Conclusions— Most of the software quality models have been provided by the same companies that develop the software, with the intention of measuring the different attributes of the software, which are grouped into criteria that are measurable through metrics, which at in turn, they must be able to be verified empirically and theoretically. In this way, they must be updated and improved in favor of their efficiency and according to the changes that the software undergoes.
Keywords— Software; software quality; metrics; quality models; attributes
I. Introduccion
Cuando hablamos de datos, programas informáticos o grupos de estos, estamos haciendo alusión a un software, teniendo en cuenta que en el medio informático se utiliza para realizar diferentes tipos de tareas [1].
Comúnmente este término hace referencia a un programa que forma un dispositivo informático, sin embargo, el vocablo software va más allá de las generalidades del programa e incluye todas sus características intangibles [1].
De esta manera debe contar con unas características intrínsecas y extrínsecas que lo hagan llamativo al usuario y por tanto tenga éxito en el mercado, estas características pueden denominarse operativas. Siendo aquellas que aluden a los factores de funcionalidad, es decir, la parte externa, dentro de las cuales podemos mencionar la corrección, la usabilidad, la integralidad, la fiabilidad, la eficiencia y la seguridad. Por otro lado se le atribuyen las características de transición vinculadas con la escalabilidad o la interconexión con otro software, como lo son la interoperabilidad y la reutilización. Finalmente encontramos las características de revisión, entre las cuales encontramos la capacidad de mantenimiento, flexibilidad, escalabilidad, capacidad de prueba y modularidad [2] (Fig. 1).
Según ciertos autores [3], el concepto de calidad del software está relacionado con “la coherencia de los estándares de desarrollo y los requisitos de funcionamiento y rendimiento establecidos, e incluye las características que debe poseer un software desarrollado por recurso humano profesional y capacitado en el tema” [3, p. 1].
El termino calidad cada vez es más exigente, incluye no solo términos de precio sino también es importante que ofrezca funciones que ayuden a la confiabilidad del producto Software y el Servicio postventa. La realización del modelo o los estándares de calidad implican costos, tiempo y recursos utilizados. Sin embargo, utilizar el modelo correcto de calidad permite superar el esfuerzo inicial para generar productos y servicios de software y posicionamiento para la empresa, lo cual se convierte en un valor agregado dentro de un mercado competitivo, puesto que favorece la productividad, el aumento de la eficiencia, reducción de costos y garantiza que los clientes internos y externos queden satisfechos.
Del lado opuesto, si se selecciona de manera incorrecta el estándar de calidad a utilizar, puede dejar como resultados efectos contrarios a los mencionados, como lo son la insatisfacción del cliente, pérdida de posición de la empresa, aumento de costos y disminución de la productividad.
Para que las empresas generadoras de productos software se aseguren de una selección adecuada del modelo de calidad a seguir, se debe realizar un estudio, en el cual se verifica que el estándar tenga coherencia con el objetivo y con las necesidades del negocio. Con el pasar de los años se han generado diversos modelos y estándares de calidad (Definición de Métricas de Calidad para Productos de Software) [4]. La publicación del ISO (International Organization for Standardization) 9126 ocurrida en el año 1991, representa un hito en la forma en la que se definen los estándares de la calidad del software.
Seguido a este evento, en el año 2001, se reemplaza este estándar por el ISO/IEC 9126, el cual habla de forma específica de las características del producto software y las métricas de calidad de este y el estándar ISO/IEC 14598, el cual presenta una definición de cómo debe llevarse a cabo el proceso de evaluar los productos software. Si bien la calidad es algo subjetivo, en la actualidad los estándares y modelos nos permiten hacerla tangible, algo más concreto y objetivo, de esta manera la calidad puede ser medida, planificada y más aún definida.
Ciertos autores mencionan que deben medirse los procesos, software, insumos o productos con los siguientes fines [5]:
De la misma manera, se afirma que la medición es una actividad que forma parte de un proceso (Fig. 2), el cual consiste en asociar valores numéricos a atributos de productos o procesos de software [6].
II. Metodología de Desarrollo
Para la construcción de la revisión conceptual se realizó una búsqueda de las diferentes definiciones relacionadas con calidad de software y su medición. De igual forma, se revisaron trabajos recientes donde se aplican las diferentes métricas de evaluación de calidad de software. Se incluyen también los modelos de calidad de software que han utilizado diferentes autores. En la documentación final se incluyen las principales definiciones desde lo teórico y lo práctico.
En esta revisión conceptual se utilizaron varias fuentes documentales, la búsqueda bibliográfica se realizó utilizando los descriptores: software y calidad del software. Combinando las palabras claves se obtuvieron un aproximado de 15 registros bibliográficos, también se realizó búsqueda en internet a través de Google académico y Scopus. se seleccionaron los documentos que informaron de forma útil y relevante sobre los aspectos que son de nuestro interés y que además su publicación no fuera mayor a 5 años.
III. Revisión De Modelos y Métricas de Calidad de Software
A continuación, se presentan los principales conceptos relacionados con las métricas de evaluación de la calidad de software, así como algunas aplicaciones.
A. Calidad del Software
Autores españoles y colombianos [7] afirman que el software debe contar con algunas características que le aseguren al consumidor el estar obteniendo un producto seguro y confiable en relación con la funcionalidad y eficiencia, estas características le otorgan un mejor desempeño durante su ciclo de vida, las sumas de estos atributos se conocen como calidad del software.
La calidad del software se debe garantizar a través de la utilización de un modelo de calidad, el cual debe aplicarse durante todo el proceso de construcción del software, gestione sus características, y establezca coherencia entre su construcción y los requerimientos iniciales [7].
B. Modelos de Calidad Propios del Software
Podemos definir el modelo de la calidad del software como la suma de los atributos deseados del producto y las buenas prácticas durante toda la existencia y utilización de este, teniendo en cuenta desde su elaboración la gestión de procesos estandarizados, que nos indican la forma adecuada de hacerlo [8].
Si nos referimos a la calidad del software, el modelo debe enfocarse en monitorear y evaluar cada fase del proceso del constructo del producto de software. De esta misma manera, se define los modelos de calidad como el conjunto de documentos que incluyen en su mayoría las buenas prácticas, plantean asuntos de administración que debe tener en cuenta las organizaciones generadoras de estos productos y hacen hincapié en los mismos para obtener como resultados procesos con calidad y efectividad [9] .
En el estudio de investigación “Herramientas y buenas prácticas para el aseguramiento de calidad de software con metodologías ágiles” [10], cuya realización requirió la selección de artículos que cumplieran los criterios de inclusión, pudieron concluir que, a pesar de la existencia de múltiples herramientas encaminadas a asegurar la calidad del software, aún es necesario realizar mejoras y aumentar los esfuerzos que conlleven a la mejora del proceso; si bien las herramientas agiles son una estrategia, a ella se deben agregar buenas prácticas de uso las frameworks, utilizadas en el sistema de aseguramiento de la calidad se aplican en los proyectos tradicionales, mostrando resultados positivos. Aun así, el origen de esas herramientas no tenía orientación hacia este fin, por lo cual su aplicabilidad no se extiende a la totalidad de los proyectos. Su utilidad se ha ido adaptando a métodos tradicionales o a proyectos en particular.
En cuanto a las prácticas adecuadas, estos cambios son significativos, no se encontraron ITIL (Information Technology Infrastructure Library), ni la creación de estándares que ayuden a su generalización, lo cual se ha podido evidenciar en las búsquedas bibliográficas. Diversos autores han consultado al respecto, encontrando que solo un 20% de los estudios apuntan a un control de calidad de integración continua; todo esto dependerá de la buena estructura del proceso y la creación de producto [10].
C. Metricas de Calidad para Productos de Software
De acuerdo con el Institute of Electrical and Electronics Engineers (IEEE), una métrica de calidad de software es “una función cuyas entradas son datos de software y cuya salida es un solo valor numérico que puede ser interpretado como el grado en que el software posee un atributo dado que afecta su calidad” [11, p. 1]. Esta definición puede extenderse tanto a productos como a servicios de software e infraestructura. Si se utilizan las métricas adecuadas, el objeto de evaluación, que en este caso es el software, podrá llegar a tener un menor número de fallas en su funcionamiento.
Las principales categorías de medición de la calidad de software se reúnen en tres grupos principales: Métricas de proyectos, Métricas de procesos y Métricas de productos. De estos grupos, las métricas de productos son las más generalizadas en los procesos de evaluación de software. Estas métricas consideran el desarrollo del producto en sí mismo, por lo cual son utilizadas en la fase final del proceso, es decir, cuando el producto está listo para su uso.
Algunos autores [5], [12], entre otros, definen las características de las métricas como:
Entendiendo la importancia de realizar una medición de la calidad del software, el sistema de medición deberá ser seleccionado teniendo en cuenta estándares, tales como: la teoría de la medición, la cual tiene por objeto que la medición arroje resultados que puedan ser verificables, reales y no subjetivos, posean exactitud, seguridad y significancia [4].
Los modelos de calidad de software siguen una estructura [9], [13], la cual se observa en la Fig. 3. En esos modelos encontramos diversos atributos de calidad, del cual se desprenden criterios que pueden ser evaluados a través de métricas, cuyo objetivo es evaluar desde lo más complejo a lo más particular, De esta manera se favorece que sea una evaluación más objetiva, cuando se asigne un valor, bien sea de tipo cualitativo o cuantitativo.
Las métricas de calidad para productos software incluyen el tamaño del software (medido por las métricas de Halstead [14]), la complejidad del programa (medido por métricas de complejidad ciclomática [15]), el rendimiento del programa, métricas de accesibilidad y seguridad, métricas con respecto al proceso de la prueba en sí: esfuerzo de prueba, eficiencia de la prueba, entre otras [16].
IV. Conclusiones
Durante mucho tiempo han aparecido diversos modelos de calidad de software clásicos, los cuales han ido sufriendo transformaciones hasta llegar a los más actuales, teniendo en cuenta las actualizaciones del software y las necesidades de los usuarios, convirtiéndose en los más completos. Aún así, es indispensable que cada empresa productora de software esté certificada bajo un estándar o norma, esto brinda a la empresa, posicionamiento y demanda en el mercado.
Estos modelos de calidad de software han sido aportados por las mismas empresas que desarrollan los softwares, teniendo en cuenta las encuestas de satisfacción del cliente, donde se puede medir sus diferentes atributos del software, tales como la seguridad, alta disponibilidad, la escalabilidad, versatilidad, integrable, sencillez, multidispositivo, 100% web, multilingüe, entre otros. Esto atributos se agrupan en criterios que son medibles a través de las métricas de calidad, las cuales a su vez deben poder verificarse de forma empírica y teórica, deben ser exactas, seguras, explicativas y significativas, de tal manera que nos permitan medir, caracterizar, predecir y mejorar. De esta manera y posterior a las revisiones bibliográficas e investigaciones de diversos autores, deben irse actualizando y mejorando en pro de su eficiencia y de acuerdo con los cambios que sufra el software.
Referencias
[1] “Software”, Significados.com. Consultado en Nov. 2, 2021. [Online]. Disponible en https://www.significados.com/software/
[2] R. José, “Software | Qué es, ejemplos y características”, 247tecno, Jul. 3, 2019. Disponible en https://247tecno.com/software-tipos-ejemplos-caracteristicas/
[3] R. Pressman, Ingeniería del Software: un enfoque práctico, 7 ed. CDMX, MX: McGrawHill, 2010.
[4] A. V. López, A. Sánchez y G. A. Montejano, “Definición de Métricas de Calidad para Productos de Software”, presentado al XVIII Workshop de Investigadores en Ciencias de la Computación, WICC 2016, Entre Ríos, ARG, 14-15 Abr. 2016. Disponible en http://sedici.unlp.edu.ar/handle/10915/53444
[5] N. E. Fenton & M. Neil, “A critique of software defect prediction models,” IEEE Trans Softw Eng, vol. 25, no. 5, pp. 667–689, 1999. https://doi.org/10.1109/32.815326
[6] I. Sommerville, Ingeniería del software. 7 ed, MD, ES: Pearson Education, 2005.
[7] M. Callejas-Cuervo, A. C. Alarcón-Aldana y A. M. Álvarez-Carreño, “Modelos de calidad del software, un estado del arte”, Entramado, vol. 13, no. 1, pp. 236–250, 2017. http://dx.doi.org/10.18041/entramado.2017v13n1.25125
[8] “Modelo de calidad”, EcuRed. Consultado en Nov. 2, 2021. [Online]. Disponible en: https://www.ecured.cu/Modelo_de_calidad
[9] F. Scalone, “Estudio comparativo de los modelos y estándares de calidad del software”, Tesis Ingeniería, FAC ING, UTN BA, BA, ARG, 2006. Recuperado de http://laboratorios.fi.uba.ar/lsi/scalone-tesis-maestria-ingenieria-en-calidad.pdf
[10] V. H. Mercado-Ramos, J. Zapata y Y. F. Ceballos, “Herramientas y buenas prácticas para el aseguramiento de calidad de software con metodologías ágiles”, RIDI, vol. 6, no. 1, pp. 73–83, 2015. https://doi.org/10.19053/20278306.3277
[11] IEEE Standard for a Software Quality Metrics Methodology, IEEE Std 1061-1998, Institute of Electrical and Electronics Engineers, IEEE, NJ, USA, 1992. https://doi.org/10.1109/IEEESTD.1993.115124
[12] M. Piattini, F. García & I. Caballero, Calidad de los Sistemas Informáticos. México, D.F., MX: Alfa Omega. 2007.
[13] L. Bautista, A. Chaico, L. Gavilan, M. Guillen, A. Mandujano y M. Marca, “Modelos de Calidad de Software”, tesis curso, UNICA, ICA, PE, 2012. Disponible en https://pdfcoffee.com/modelos-de-calidad-de-software-4-pdf-free.html
[14] T. Hariprasad, G. Vidhyagaran, K. Seenu & C. Thirumalai, “Software complexity analysis using halstead metrics,” presented at 2017 International Conference on Trends in Electronics and Informatics, ICEI, TIRR, IN, 11-12 May. 2017, pp. 1109–1113. https://doi.org/10.1109/ICOEI.2017.8300883
[15] H. Liu, X. Gong, L. Liao & B. Li, “Evaluate How Cyclomatic Complexity Changes in the Context of Software Evolution,” presented at 42nd Annual Computer Software and Applications Conference, COMPSAC, TKY, JP, 23-27 Jul. 2018, pp. 756–761. https://doi.org/10.1109/COMPSAC.2018.10332
[16] T. Mladenova, “Software Quality Metrics – Research, Analysis and Recommendation,” presented at 2020 International Conference Automatics and Informatics, ICAI, VAR, BULG, 1-3 Oct. 2020, pp. 1–5. https://doi.org/10.1109/ICAI50593.2020.9311361
Jhon Castaño Henríquez. Recibió especialización en métodos numéricos aplicados de la Universidad del Atlántico (Colombia). Docente medio tiempo de la Universidad de la Costa-CUC (Colombia) y laboró de igual manera en educación en el colegio San Antonio de Padua de Soledad (Colombia) desempeñándose como profesor del magisterio. https://orcid.org/0000-0001-7758-7522
Wadith Junior Castillo. Ingeniero de Sistemas Especialista en Auditoria de Sistemas de Información con conocimientos en plataforma blackboard, docencia enfocada a las TICs. Experiencia en asesoramiento en proceso de auditoria informática, acompañamiento en reuniones con diferentes gerencias, evaluación y seguimiento a indicadores de alto impacto y riesgo inherente, manejo de documentos y bases de datos, elaboración y presentación de informes a gerencia y consultoría en soporte técnico. https://orcid.org/0000-0002-6952-844X