SQALESQALE (Software Quality Assessment based on Lifecycle Expectations) est une méthode d'évaluation du code source d'une application logicielle. Elle repose sur le concept de dette technique. C'est une méthode générique, indépendante des langages, indépendante des outils d'analyse de code et publiée sous la licence Creative Commons BY-NC-ND. Les éditeurs sont autorisés librement à implémenter la méthode dans leurs outils d'analyse automatique de code. La méthode SQALE a été développée par la société inspearit France. Elle est utilisée sur des applications de tout type et de toute taille[réf. nécessaire] pour suivre la qualité logicielle et gérer la dette technique. Plusieurs outils d'analyse statique de code l'implémentent et produisent les index et les indicateurs définis par la méthode. HistoriqueLa méthode SQALE[1] a été développée pour combler un besoin général relatif à l'évaluation du code source d'une application. En effet à ce jour aucune méthode standard ne s'est imposée pour répondre aux questions fondamentales telles que :
Les standards tels que l'ISO 9126 n'apportent que des éléments de réponse sans précisions sur la manière de construire une solution complète à la problématique posée. Pour pouvoir évaluer la qualité d'un code source, la communauté des développeurs a besoin d'une méthode générique possédant les propriétés suivantes :
La méthode SQALE tend à répondre à ces besoins en se basant sur l'analyse systématique[2] des méthodes de consolidation en regard des types d'échelle et de la clause de représentation. La première version de la méthode (version 0.8) a été publiée en 2010. Depuis, la méthode a été complétée pour supporter l'analyse de la dette technique selon la business perspective et proposer un nouvel indicateur : debt map permettant de choisir la stratégie de remboursement de la dette technique en fonction du contexte. La version 1.0 a été publiée en . Principes fondamentauxLa méthode[1] repose sur neuf principes fondamentaux :
Détails sur la méthodeLa méthode est constituée de quatre concepts principaux [1]:
Modèle qualitéLe modèle qualité SQALE[1] sert à formuler et à organiser les exigences non fonctionnelles relatives à la qualité du code. Il est organisé en 3 niveaux hiérarchisés. Le premier niveau est composé de caractéristiques, le deuxième niveau de sous-caractéristiques. Le troisième niveau est un niveau composé d'exigences qui portent sur des attributs internes au code source. Ces exigences peuvent dépendre du contexte du logiciel et de son langage. Les exigences du modèle qualité SQALE servent de référence pour l'estimation de la dette technique. Toute violation d'une des exigences du modèle induit de la dette technique. Modèle d'analyseLe modèle d'analyse SQALE contient d'une part les règles qui servent à normaliser les mesures et contrôles relatifs au code, d'autre part les règles pour agréger les valeurs normalisées en indices. La méthode SQALE normalise les constats issus des outils d'analyse de code source en les transformant en indices représentant des charges. Pour ce faire on utilise des fonctions de remédiation (voir estimation) et de non remédiation. Dans la méthode SQALE l'agrégation des indices se fait par addition. Que ce soit dans l'arborescence du modèle qualité, ou dans l'arborescence de la hiérarchie des artefacts du code source.[pas clair] IndicesTous les indices SQALE représentent des charges. Ces charges peuvent être exprimées en unité d'œuvre, en durée (par exemple en heure) ou en coût (par exemple en €). Dans tous les cas, les indices ont des valeurs sur une échelle de type ratio. Ils peuvent donc être manipulés avec toutes les opérations autorisées pour ce type d'échelle. Pour tout élément de la hiérarchie des artifacts du patrimoine de code source, on peut estimer la charge de remédiation relative à une caractéristique donnée en additionnant l'ensemble des charges de remédiation constatées en regard des exigences de la caractéristique. Les indices de caractéristiques SQALE sont les suivants :
La méthode définit aussi un indice global : pour tout élément de la hiérarchie des artifacts du patrimoine de code source, on peut estimer la charge de remédiation relative à l'ensemble des caractéristiques du modèle qualité en additionnant l'ensemble des charges de remédiation liées à toutes les exigences du modèle qualité. Cette mesure dérivée s'appelle : SQALE quality index (SQI) Pour les projets agiles, le SQI représente ce qui est couramment appelé la dette technique du projet. La méthode définit aussi des densités d'indice (par exemple le SQALE quality index density : SQID) permettant de comparer la qualité de produits de taille différente. IndicateursLa méthode SQALE définit quatre indicateurs synthétiques. Chaque utilisateur peut en définir d'autres en fonction de ses besoins d'informations. Les deux plus importants sont : la pyramide SQALE et la debt map SQALE qui servent à établir des stratégies de remboursement de la dette technique. SQALE et les projets agilesLe concept de dette technique a été inventé par Ward Cunningham afin de suivre la qualité du code des projets agiles. La méthode SQALE est particulièrement appropriée à la gestion de la dette technique. Elle permet :
Dans les exigences relatives au code (le modèle qualité SQALE[1]), la méthode permet d'inclure un seuil minimum à atteindre avec les tests unitaires. Dans le cas où ce seuil ne serait pas atteint, cela modifiera l'index de fiabilité de l'application. Notes et référencesVoir aussiArticles connexesLien externe |