Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Un conjunto de atributos relacionados con la capacidad del software de mantener su nivel de prestación bajo
condiciones establecidas durante un período establecido.
· Madurez - atributos del software que se relacionan con la frecuencia de falla por fallas en el software.
· Recuperabilidad - atributos del software que se relacionan con la capacidad para restablecer su nivel de
desempeño y recuperar los datos directamente afectos en caso de falla y en el tiempo y esfuerzo relacionado
para ello.
· Tolerancia a fallos - atributos del software que se relacionan con su habilidad para mantener un nivel
especificado de desempeño en casos de fallas de software o de una infracción a su interfaz especificada.
· Cumplimiento de fiabilidad - la capacidad del producto software para adherirse a normas, convenciones o
legislación relacionadas con la fiabilidad.
USABILIDAD
Conjunto de atributos relacionados con la aceptación por parte del usuario final y seguridad.
· Eficacia - atributos relacionados con la eficacia del software cuando el usuario final realiza los procesos.
· Productividad - atributos relacionados con el rendimiento en las tareas cotidiana realizadas por el
usuario final.
Existen diferentes herramientas que nos ayudan en la tarea de mejorar el desarrollo de
nuestras aplicaciones. en ruby, rubocop, rubicritic, bullet, algunas de las principales métricas
utilizadas por estas herramientas para determinar la calidad del código producido.
ACOPLAMIENTO (COUPLING) Se refiere al nivel de «conectividad» de un módulo con otros módulos,
datos globales y entorno exterior. Un objetivo es mantener una baja dependencia o acoplamiento, esto
quiere decir que, un módulo debe ser capaz de interactuar con otro a través de una interfaz estable y sin
depender de otros, para su correcta implementación.
COHESIÓN (COHESION) define el grado de relación que existe entre los elementos de un módulo.
un módulo que siga el principio de responsabilidad única o srp por sus siglas en ingles debe realizar
una única cosa. es muy habitual, si no prestamos atención a esto, que acabemos teniendo clases que tienen
varias responsabilidades lógicas a la vez.
COMPLEJIDAD una de las métricas más importantes con la que contamos en el desarrollo es la
complejidad ciclomática, que puede ser usada en las fases de desarrollo o mantenimiento entre otras.
esta métrica, propuesta por thomas mccabe en 1976, se basa en el diagrama de flujo determinado por las
estructuras de control de un determinado código. del análisis de esta estructura se obtendrán las
medidas cuantitativas que nos facilitarán la comprensión y mejora de las mismas.
CODE CHURN esta métrica presenta una relación directa con código defectuoso. esto quiere decir, mientras
más modificaciones sufra un código, mayor es la posibilidad de introducir un bug.
esta métrica es fácil de calcular usando un sistema de control de versiones (git, mercurial). basta
contabilizar el numero de commits que modificaron uN DATO, FICHERO, O TODA UNA CLASE.
CODE COVERAGE Mide el porcentaje de código que se encuentra testeado. tener test de calidad en nuestro
proyecto,ayudará a incrementar el valor de esta métrica y, a su vez, será menos probable que el
código contenga bugs.
UNA ORGANIZACIÓN QUE APLICA MÉTRICAS EN SUS PROCESOS BUSCA INCREMENTAR EL RETORNO
DE LA INVERSIÓN, IDENTIFICAR LAS ÁREAS A MEJORAR, OPTIMIZAR EL TIEMPO INVERTIDO EN EL PROCESO,
Y REDUCIR LOS COSTOS DE OPERACIÓN.
AL APLICAR ESTAS MÉTRICAS, MEJORAREMOS LA COMUNICACIÓN, YA QUE SABREMOS EL REAL
ESTADO DE NUESTROS PROYECTOS, AYUDÁNDONOS A MEJORAR LA ESTIMACIÓN DE TIEMPOS DE
DESARROLLO, PREVENIR POSIBLES FALLOS, REDUCIR COSTOS Y MEJORAR EL MANEJO DEL PROCESO
PRIORIZANDO LOS PUNTOS REALMENTE IMPORTANTES.