Mesure de logiciel

Le cadre de la mesure logicielle repose sur trois principes -

  • Classer les entités à examiner
  • Déterminer les objectifs de mesure pertinents
  • Identifier le niveau de maturité atteint par l'organisation

Classement des entités à examiner

En génie logiciel, il existe principalement trois classes d'entités. Ils sont -

  • Processes
  • Products
  • Resources

Toutes ces entités ont des entités internes et externes.

  • Internal attributessont ceux qui peuvent être mesurés uniquement en termes de processus, de produit ou de ressources lui-même. Par exemple: taille, complexité, dépendance entre les modules.

  • External attributessont celles qui ne peuvent être mesurées que par rapport à sa relation avec l'environnement. Par exemple: le nombre total de pannes subies par un utilisateur, le temps nécessaire pour rechercher dans la base de données et récupérer des informations.

Les différents attributs qui peuvent être mesurés pour chacune des entités sont les suivants -

Processus

Les processus sont des ensembles d'activités liées aux logiciels. Voici quelques-uns des attributs internes qui peuvent être mesurés directement pour un processus -

  • La durée du processus ou l'une de ses activités

  • L'effort associé au processus ou à l'une de ses activités

  • Le nombre d'incidents d'un type spécifié survenant au cours du processus ou de l'une de ses activités

Les différents attributs externes d'un processus sont le coût, la contrôlabilité, l'efficacité, la qualité et la stabilité.

Des produits

Les produits ne sont pas seulement les éléments que la direction s'engage à fournir, mais également tout artefact ou document produit au cours du cycle de vie du logiciel.

Les différents attributs internes du produit sont la taille, l'effort, le coût, les spécifications, la longueur, la fonctionnalité, la modularité, la réutilisation, la redondance et l'exactitude syntaxique. Parmi ces dimensions, l'effort et le coût sont relativement faciles à mesurer que les autres.

Les différents attributs externes du produit sont la convivialité, l'intégrité, l'efficacité, la testabilité, la réutilisabilité, la portabilité et l'interopérabilité. Ces attributs décrivent non seulement le code mais également les autres documents qui soutiennent l'effort de développement.

Ressources

Ce sont des entités requises par une activité de processus. Il peut s'agir de n'importe quelle entrée pour la production de logiciels. Cela comprend le personnel, le matériel, les outils et les méthodes.

Les différents attributs internes des ressources sont l'âge, le prix, la taille, la vitesse, la taille de la mémoire, la température, etc. Les différents attributs externes sont la productivité, l'expérience, la qualité, la convivialité, la fiabilité, le confort, etc.

Déterminer les objectifs de mesure pertinents

Une mesure particulière ne sera utile que si elle permet de comprendre le processus ou l'un de ses produits résultants. L'amélioration du processus ou des produits ne peut être effectuée que lorsque le projet a des objectifs clairement définis pour les processus et les produits. Une compréhension claire des objectifs peut être utilisée pour générer des mesures suggérées pour un projet donné dans le contexte d'un cadre de maturité de processus.

Le paradigme objectif-question-métrique (GQM)

L'approche GQM fournit un cadre comprenant les trois étapes suivantes -

  • Liste des objectifs majeurs du projet de développement ou de maintenance

  • Dériver les questions de chaque objectif auquel il faut répondre pour déterminer si les objectifs sont atteints

  • Décidez de ce qui doit être mesuré pour pouvoir répondre adéquatement aux questions

Pour utiliser le paradigme GQM, nous exprimons d'abord les objectifs généraux de l'organisation. Ensuite, nous générons les questions de telle sorte que les réponses soient connues afin de pouvoir déterminer si les objectifs sont atteints. Plus tard, analysez chaque question en fonction de la mesure dont nous avons besoin pour répondre à chaque question.

Les objectifs typiques sont exprimés en termes de productivité, de qualité, de risque, de satisfaction client, etc. Les objectifs et les questions doivent être construits en fonction de leur audience.

Pour aider à générer les objectifs, les questions et les mesures, Basili & Rombach a fourni une série de modèles.

  • Purpose - Pour (caractériser, évaluer, prédire, motiver, etc.) le (processus, produit, modèle, métrique, etc.) afin de comprendre, évaluer, gérer, ingénieur, apprendre, améliorer, etc. Example: Caractériser le produit pour l'apprendre.

  • Perspective - Examiner le (coût, efficacité, exactitude, défauts, changements, mesures du produit, etc.) du point de vue du développeur, du gestionnaire, du client, etc. Example: Examiner les défauts du point de vue du client.

  • Environment - L'environnement se compose des éléments suivants: facteurs de processus, facteurs de personnes, facteurs de problème, méthodes, outils, contraintes, etc. Example: Les clients de ce logiciel sont ceux qui n'ont aucune connaissance des outils.

Amélioration des mesures et des processus

Normalement, la mesure est utile pour -

  • Comprendre le processus et les produits
  • Établir une base de référence
  • Accéder et prédire le résultat

Selon le niveau de maturité du processus donné par SEI, le type de mesure et le programme de mesure seront différents. Voici les différents programmes de mesure qui peuvent être appliqués à chacun des niveaux de maturité.

Level 1: Ad hoc

À ce niveau, les intrants sont mal définis, alors que les extrants sont attendus. La transition de l'entrée à la sortie est indéfinie et incontrôlée. Pour ce niveau de maturité des processus, des mesures de base sont nécessaires pour fournir un point de départ pour la mesure.

Level 2: Repeatable

À ce niveau, les intrants et extrants du processus, les contraintes et les ressources sont identifiables. Un processus répétable peut être décrit par le diagramme suivant.

Les mesures d'entrée peuvent être la taille et la volatilité des exigences. Le résultat peut être mesuré en termes de taille du système, les ressources en termes d'effort de personnel et les contraintes en termes de coût et de calendrier.

Level 3: Defined

À ce niveau, les activités intermédiaires sont définies et leurs intrants et extrants sont connus et compris. Un exemple simple du processus défini est décrit dans la figure suivante.

Les intrants et les extrants des activités intermédiaires peuvent être examinés, mesurés et évalués.

Level 4: Managed

À ce niveau, le retour d'information des premières activités du projet peut être utilisé pour fixer des priorités pour les activités en cours et plus tard pour les activités du projet. Nous pouvons mesurer l'efficacité des activités du processus. La mesure reflète les caractéristiques du processus global et de l'interaction entre et entre les activités principales.

Level 5: Optimizing

À ce niveau, les mesures des activités sont utilisées pour améliorer le processus en supprimant et en ajoutant des activités de processus et en modifiant la structure du processus de manière dynamique en réponse au retour d'information des mesures. Ainsi, le changement de processus peut affecter l'organisation et le projet ainsi que le processus. Le processus agira comme des capteurs et des moniteurs, et nous pouvons changer le processus de manière significative en réponse aux signes avant-coureurs.

À un niveau de maturité donné, nous pouvons collecter les mesures pour ce niveau et tous les niveaux inférieurs.

Identifier le niveau de maturité

La maturité du processus suggère de ne mesurer que ce qui est visible. Ainsi, la combinaison de la maturité des processus avec GQM fournira les mesures les plus utiles.

  • À level 1, le projet est susceptible d'avoir des exigences mal définies. A ce niveau, la mesure des caractéristiques des besoins est difficile.

  • À level 2, les exigences sont bien définies et les informations supplémentaires telles que le type de chaque exigence et le nombre de modifications apportées à chaque type peuvent être collectées.

  • À level 3, les activités intermédiaires sont définies avec des critères d'entrée et de sortie pour chaque activité

L'analyse des objectifs et des questions sera la même, mais la métrique variera avec la maturité. Plus le processus est mature, plus les mesures seront riches. Le paradigme GQM, de concert avec la maturité du processus, a été utilisé comme base pour plusieurs outils qui aident les gestionnaires à concevoir des programmes de mesure.

GQM aide à comprendre la nécessité de mesurer l'attribut, et la maturité du processus indique si nous sommes capables de le mesurer de manière significative. Ensemble, ils fournissent un contexte de mesure.