SQALE

SQALE

SQALE (Software Quality Assessment based on Lifecycle Expectations) est une méthode d'évaluation du code source d'une application logicielle. 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 Creatives Commons « Paternité-Pas d'Utilisation Commerciale-Pas de Modification ». 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é DNV ITGS France. Elle est utilisée par de nombreuses sociétés sur des applications de tout type et de toute taille.[réf. nécessaire] Plusieurs outils d'analyse statique de code l'implémentent et produisent les index et les indicateurs définis par la méthode.

Sommaire

Historique

Cette section ne cite pas suffisamment ses sources. Merci d'ajouter en note des références vérifiables ou le modèle {{Référence souhaitée}}.

La méthode SQALE 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 :

  • Quelle est la qualité du code que les développeurs m'ont livré ?
  • Est-ce que ce code est évolutif, maintenable, portable, réutilisable ?
  • Quelle est la dette technique accumulée par le projet ?

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 :

  • Objective, précise et reproductible
  • Produisant des indices, des synthèses ou/et des indicateurs facilement compréhensibles et aidant à prendre des décisions concernant l'amélioration du code
  • Indépendante des langages
  • Indépendante des outils d'analyse

Les principes fondamentaux

Les principes fondamentaux

  1. La qualité du code source est une exigence non fonctionnelle.
  2. Les exigences relatives à la qualité du code source doivent être formalisées selon les mêmes critères de qualité que toutes les exigences.
  3. Evaluer la qualité d'un code source, c'est évaluer la distance qui le sépare de la conformité à ses exigences.
  4. La méthode SQALE évalue la distance aux exigences en estimant la charge de remédiation nécessaire pour remettre le code en conformité avec celles-ci.
  5. La méthode SQALE respecte la clause de représentation.
  6. La méthode SQALE utilise l'addition pour agréger les charges de remédiation et calculer ses indices qualité.
  7. Le modèle qualité de la méthode SQALE est orthogonal.
  8. Le modèle qualité de la méthode SQALE prend en compte le cycle de vie d'un logiciel.

Détails sur la méthode

La méthode est constituée de 4 concepts principaux :

  1. Le modèle qualité
  2. Le modèle d'analyse
  3. Les indices
  4. Les indicateurs

Le modèle qualité

Le modèle qualité SQALE 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.

Le modèle d'analyse

Le 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 de remédiation. Pour ce faire on utilise une fonction de remédiation (voir estimation). 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 artifacts du code source.

Les indices

Tous 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 : SQALE Testability Index : STI SQALE Reliability Index : SRI SQALE Changeability Index : SCI SQALE Security Index: SSI SQALE Efficiency Index : SEI SQALE Maintainability Index : SMI SQALE Portability Index : SPI SQALE Reusability Index : SRuI

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, cet index 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 SQID : SQALE Quality Index Density) permettant de comparer la qualité de produits de taille différente.

Note : On utilisera les abréviations par commodité, ces abréviations ne se traduisent pas.

Les indicateurs

La méthode SQALE définit trois indicateurs synthétiques. Chaque utilisateur peut en définir d'autres en fonction de ses besoins d'informations.

SQALE et les projets agiles

Le 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 :

  • D'identifier et de définir de façon claire tout ce qui crée de la dette technique
  • D'estimer précisément et objectivement cette dette
  • De décomposer cette dette en différentes parties relatives à la testablité, la fiabilité, l'évolutivité, la maintenabilité... décomposition permettant d'analyser l'impact de la dette sur le projet et d'identifier ainsi les actions de refactoring à lancer en priorité.

Dans les exigences relatives au code (le modèle qualité SQALE), la méthode permet d'inclure un seuil minimum à atteindre avec les tests unitaires. Dans le cas ou ce seuil ne serait pas atteint, cela impactera l'index de fiabilité de l'application.

Notes et références


Voir aussi

Articles connexes

Lien externe


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article SQALE de Wikipédia en français (auteurs)

Игры ⚽ Поможем написать курсовую

Regardez d'autres dictionnaires:

  • Sonar (Qualité logicielle) — Tableau de bord Sonar …   Wikipédia en Français

  • Dette technique — La dette technique est une métaphore du développement logiciel inventée par Ward Cunningham. Il s inspire du concept existant de dette dans le contexte du financement des entreprises et l applique au domaine du développement logiciel. Sommaire 1… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”