SQALE ( Evaluación de la calidad del software basada en las expectativas del ciclo de vida ) es un método para evaluar el código fuente de una aplicación de software . Se basa en el concepto de deuda técnica . Es un método genérico, independiente de idiomas , independiente de herramientas de análisis de código y publicado bajo la licencia Creative Commons BY-NC-ND. Los editores pueden implementar libremente el método en el código de sus herramientas de análisis automático.
El método SQALE fue desarrollado por la empresa inspearit France. Se utiliza en aplicaciones de todo tipo y tamaño para monitorear la calidad del software y administrar la deuda técnica. Varias herramientas de análisis de código estático lo implementan y producen los índices e indicadores definidos por el método.
El método SQALE se desarrolló para satisfacer una necesidad general relacionada con la evaluación del código fuente de una aplicación. De hecho, hasta la fecha no ha surgido ningún método estándar para responder preguntas fundamentales como:
Los estándares como ISO 9126 solo brindan respuestas sin detalles sobre cómo construir una solución completa al problema planteado. Para poder evaluar la calidad de un código fuente, la comunidad de desarrolladores necesita un método genérico con las siguientes propiedades:
El método SQALE tiende a cubrir estas necesidades basándose en el análisis sistemático de los métodos de consolidación en cuanto a los tipos de escala y la cláusula de representación.
La primera versión del método (versión 0.8) se publicó en 2010. Desde entonces, se ha completado el método para apoyar el análisis de la deuda técnica según la perspectiva empresarial y proponer un nuevo indicador: mapa de deuda que permite elegir la estrategia de reembolso de la deuda técnica según el contexto. La versión 1.0 fue lanzada enenero 2012.
El método se basa en nueve principios fundamentales:
El método consta de cuatro conceptos principales:
El modelo de calidad SQALE se utiliza para formular y organizar requisitos no funcionales para la calidad del código. Está organizado en 3 niveles jerárquicos. El primer nivel se compone de características, el segundo nivel de subcaracterísticas. El tercer nivel es un nivel compuesto por requisitos que se relacionan con atributos internos del código fuente. Estos requisitos pueden depender del contexto del software y su idioma. Los requisitos del modelo de calidad SQALE se utilizan como referencia para estimar la deuda técnica. Cualquier incumplimiento de uno de los requisitos del modelo genera una deuda técnica.
El modelo de análisis SQALE contiene, por un lado, las reglas que se utilizan para estandarizar las medidas y controles relacionados con el código, por otro lado, las reglas para agregar los valores normalizados en índices. El método SQALE estandariza los hallazgos de las herramientas de análisis de código fuente transformándolos en índices que representan cargas. Para hacer esto, se utilizan funciones de remediación (ver estimación ) y de no remediación. En el método SQALE, los índices se agregan por adición. Ya sea en el árbol del modelo de calidad o en el árbol de jerarquía de artefactos del código fuente.
Todos los índices SQALE representan cargos. Estos cargos pueden expresarse en unidad de trabajo, en duración (por ejemplo, en horas) o en costo (por ejemplo, en €). En todos los casos, los índices tienen valores en una escala de tipo ratio. Por tanto, pueden manejarse con todas las operaciones autorizadas para este tipo de básculas. Para cualquier elemento de la jerarquía de artefactos patrimoniales del código fuente, la carga de remediación relacionada con una característica dada puede estimarse sumando todos los costos de remediación observados con respecto a los requisitos de la característica. Los índices característicos de SQALE son los siguientes:
El método también define un índice global: para cualquier elemento de la jerarquía de artefactos del patrimonio del código fuente, podemos estimar la carga de remediación relacionada con todas las características del modelo de calidad agregando todos los costos de remediación relacionados con todos los requisitos del modelo de calidad. Esta métrica derivada se llama: índice de calidad SQALE (SQI)
Para proyectos ágiles, el SQI representa lo que comúnmente se conoce como la deuda del proyecto técnico .
El método también define las densidades del índice (por ejemplo, la densidad del índice de calidad SQALE: SQID), lo que permite comparar la calidad de productos de diferentes tamaños.
El método SQALE define cuatro indicadores sintéticos. Cada usuario puede definir a otros según sus necesidades de información.
Los dos más importantes son: la pirámide SQALE y el mapa de deuda SQALE , que se utilizan para establecer estrategias técnicas de pago de la deuda.
El concepto de deuda técnica fue inventado por Ward Cunningham para monitorear la calidad del código de proyectos ágiles.
El método SQALE es especialmente adecuado para la gestión de la deuda técnica. Ella permite :
En los requisitos relacionados con el código (el modelo de calidad SQALE), el método permite incluir un umbral mínimo a alcanzar con las pruebas unitarias. Si no se alcanza este umbral, esto modificará el índice de confiabilidad de la aplicación.