Está en la página 1de 6

ASEGURAMIENTO DE LA CALIDAD DE SOFTWARE

INGENIERÍA EN SOFTWARE
CABRERA CEDEÑO MATEO JAVIER
CÁLCULO DE MÉTRICAS DE VISUALIZACIÓN

RESUMEN DE LO REALIZADO
En este trabajo se utilizó el material en el sitio web Kaggle sobre Software Quality
Attributes Data Sheets, sobre el cual se realizó un análisis en cuanto a lo que
promulga la ISO 25000, por lo que promedio de comparación se extrajo aquellos
campos que efectivamente están desacuerdo con estas normas y posteriormente se
les realizó un estudio por el cual obtengamos conclusiones sobre estos datos y ver lo
que aportan sobre la calidad del software.
Este estudio se realizó usando las herramientas de Google Sheets para su análisis y
graficaron.

DESARROLLO
En primer lugar, vamos a definir ciertos conceptos que nos deja la ISO 25000 para
entender qué es lo que estamos buscados en estos sets de datos para poderlos
estudiar, recordemos que la norma ISO/IEC 25000 es parte de la serie de normas que
se centra en la calidad del software y los sistemas. Donde se define un conjunto de
modelos de calidad que ayudan a evaluar y medir la calidad del software

Características Primarias:
1. Funcionalidad: relacionadas con la adecuación funcional del software,
como la completitud, exactitud e interoperabilidad.
2. Fiabilidad: relacionadas con la capacidad del software para mantener el
rendimiento bajo condiciones específicas durante un periodo de tiempo
determinado.
3. Usabilidad: evalúan la facilidad de uso y comprensión del software por parte
de los usuarios.
4. Eficiencia: miden el rendimiento en términos de recursos utilizados por el
software, como tiempo de respuesta y uso de memoria.
5. Mantenibilidad: relacionadas con la facilidad para modificar, corregir o
mejorar el software, como la modularidad, la capacidad de análisis y la facilidad
de prueba.
Sub características Asociadas:
● Completitud funcional
● Corrección
● Robustez
● Facilidad de aprendizaje
● Comprensibilidad
● Operabilidad
● Comportamiento en el tiempo
● Uso de recursos
● Adaptabilidad
● Capacidad de análisis
● Capacidad de modificación
● Estabilidad

Estas subcaracterísticas son utilizadas para medir las características principales y


proporcionar un marco de referencia para evaluar la calidad del software desde
diferentes perspectivas de la ISO 25000. Al analizar un conjunto de datos,
intentaremos identificar métricas cuáles podrían asociarse con estas características y
subcaracterísticas para evaluar la calidad del software con base en los estándares de
la ISO 25000.

- Datasheet: Version
En cuanto a la alineación con las categorías y subcategorías de ISO 25000, las
métricas como la cantidad de líneas de código, clases, commits y problemas
identificados podrían relacionarse con características de calidad como
mantenibilidad, eficiencia y fiabilidad.
- Datasheet: Repositories
Estas métricas principalmente reflejan la actividad y la participación en el
desarrollo y la popularidad de un repositorio, pero no están directamente
alineadas con las métricas de calidad del software según la ISO 25000. Sin
embargo, algunos elementos como el número de commits, ramas, releases y
contributors podrían indicar ciertas prácticas de desarrollo que podrían influir
indirectamente en la calidad del software.
- Datasheet: Attribute-details
Esta hoja de datos proporciona información descriptiva y categorización de
atributos relacionados con el software, lo cual es útil para comprender y
clasificar los aspectos que podrían influir en la calidad del software, pero no
contiene métricas cuantitativas específicas sobre la calidad del software según
la ISO 25000.
Ahora que comprendemos como cada Datasheet se alinea o no con lo que dice la ISO
25000, procederemos a extraer aquellas métricas que consideramos si están
alienadas con estas normas de calidad.

Variable Descripción Alineación con la ISO 25000


Relacionado con mantenibilidad y
Número de cambios registrados en
Commits fiabilidad si se refiere a mejoras y
el repositorio
correcciones constantes
Cantidad de líneas de código en el Puede estar asociado con la
Lines of code
software complejidad y mantenibilidad
Number of Relacionado con la modularidad y
Número de clases en el software
classes mantenibilidad
Number of Relacionado con la modularidad y
Número de paquetes en el software
packages mantenibilidad
Puede estar relacionado con la
Number of Cantidad de versiones liberadas del
estabilidad y el ciclo de vida del
releases software
producto
Puede indicar una comunidad
Número de personas que
Contributors activa que mejora la fiabilidad y
contribuyen al repositorio
usabilidad
Number of
Número de clases con problemas Relacionado con la corrección y
problematic
identificados robustez del software
classes
Number of highly
Número de clases con problemas Relacionado con la corrección y
problematic
graves identificados robustez del software
classes

Ahora, para profundizar en ciertas de estas métricas, haremos un estudio por medio
de gráficos que utilizan estas métricas para que así podamos corroborar esta
correlación con las normas que estipula la ISO 25000.
TABLA 1. NUMBER PROBLEMATICS CLASSES VS. LINES OF CODE

En la tabla anterior, que también puede ser relacionada con la métrica de, “Number of
highly problematic classes” dado que dan un resultado similar, como podemos apreciar
que entre los rangos más altos de líneas de código es donde más problemas podemos
encontrar, por lo que podemos aseverar que soluciones simples para nuestros
problemas con la menor cantidad de líneas de código, o sea código eficiente es uno de
los atributos que reflejan la calidad del software.

TABLA 2. RELEASES VS. COMMITS


TABLA 3. WATCHES VS. COMMITS

En las dos tablas anteriores podemos ver como ser relación los Commits o entregas
con la puesta a producción y con encontrar los errores, con esto podemos contar los
cambios que se hacen al código fuente, lo ideal sería no entregar muchos Commits de
un solo código, ya que este revela que se han tenido que hacer cambios. Pero lo que
también refleja es que es un código revisado, por lo que nos da confianza de que
efectivamente por medio de las revisiones se ha llegado a lo esperado en cuanto a
funcionalidad y por ende también calidad.

CONCLUSIONES
1. La relación entre la cantidad de líneas de código y la cantidad de clases
problemáticas sugiere una asociación entre la complejidad del código y la
presencia de problemas. Esto resalta la importancia de mantener un código
más conciso y eficiente para reducir la probabilidad de errores.

2. La relación entre los commits y las releases muestra cómo la actividad de


desarrollo se correlaciona con el proceso de puesta en producción. Un mayor
número de commits puede reflejar iteraciones y revisiones constantes, pero
también puede indicar una revisión exhaustiva del código, lo que podría
mejorar la fiabilidad y la funcionalidad del software.

3. La popularidad del repositorio, medida por los "Watches" y los "Commits",


puede no estar directamente alineada con las métricas de calidad del software
según la ISO 25000, pero refleja el interés y la actividad en torno al proyecto.
Aunque esto no indica directamente la calidad, una comunidad activa puede
contribuir a encontrar errores y mejorar el software a largo plazo.

RECOMENDACIONES

1. Dado que la cantidad de líneas de código está correlacionada con la presencia


de problemas, se recomienda fomentar el desarrollo de código más conciso y
modular. Esto podría lograrse mediante prácticas como la reutilización de
código, la refactorización y la adopción de patrones de diseño sólidos. Además,
la creación de documentación clara y la segmentación adecuada del código en
clases y paquetes pueden contribuir a una mayor mantenibilidad y reducir la
presencia de problemas.

2. La relación entre commits y releases destaca la importancia de revisiones y


entregas iterativas. Se recomienda seguir una estrategia de desarrollo ágil que
permita revisiones frecuentes del código y entregas incrementales. Estas
revisiones pueden ayudar a identificar y corregir errores temprano en el
proceso de desarrollo, mejorando así la fiabilidad y funcionalidad del software.
Además, establecer criterios claros para las releases podría asegurar que cada
versión lanzada cumpla con estándares de calidad definidos.

ENLACE A MATERIAL CONSULTADO


\/. (2023, June 16). YouTube. Retrieved December 2, 2023, from

https://www.kaggle.com/datasets/sayedmohsin/sqa-dataset/

NORMAS ISO 25000. (n.d.). ISO/IEC 25000. Retrieved December 2, 2023, from

https://iso25000.com/index.php/normas-iso-25000

También podría gustarte