Présentation
Sans mesure, il ne peut
y avoir de politique de qualité. Cet ouvrage est destiné à donner à tout
informaticien des connaissances pour juger de l'intérêt, des limites et des
exigences des méthodes et techniques de mesure du logiciel. Il s'adresse
aussi à ceux qui souhaitent répondre aux exigences de qualité de leurs
partenaires (certification ISO 9000) ; prévoir des temps, des efforts de
développement, pour minimiser les temps de test et de maintenance ; utiliser
de nouvelles approches de conception et connaître les mesures à appliquer ;
éviter de compiler des ouvrages sur le sujet (souvent uniquement disponibles
en langue anglaise) ; profiter des résultats de divers projets européens ;
ne pas consacrer trop de temps à leur information ; et pour ceux qui sont
particulièrement intéressés par l'analyse de code de logiciel leur
permettant de dégager des indicateurs de qualité et la mesure de conception
selon une méthode orientée objet. Deux annexes complètent cet ouvrage :
l'une, l'outil logiciel Métronome par B. Moreau du C.N.E.T., l'autre, un
exemple de métriques sur une conception utilisant la méthode HOOD™ de
M. Lai, auteur de l'atelier HyperHood.
Vous
pouvez suivre le guide lecture.
Avant-propos
Consciente du retard de l'Europe en
matière de maîtrise du développement du logiciel, l'Union Européenne a
financé plusieurs projets sur le thème de la mesure du logiciel tout au long
du cycle de développement. Mais une enquête nous a montré que ces travaux
sont loin d'être connus par l'ensemble des praticiens. Aujourd'hui, plus que
la mesure, c'est de la qualité dont on parle. Or on ne peut avoir une
politique de qualité sans mesure. Aussi nous avons voulu mettre à la
disposition du plus grand nombre les connaissances que tout informaticien se
doit d'avoir aujourd'hui sur le sujet afin de pouvoir juger de l'intérêt,
des limites, des exigences des méthodes et techniques de mesure du logiciel.
C'est l'objet de ce livre réalisé grâce à l'aide de l'Union Européenne dans
le cadre du programme Comett, via Comett-Ouest, et de la Région des Pays de
la Loire.
·
Vous savez que, de plus en plus, vos partenaires ont des exigences de
qualité (certains exigent ou vont exiger que vous soyez certifiés ISO 9000).
· Vous voulez prévoir des temps,
des efforts de développement, mettre en place des normes de développement
afin de minimiser les temps de test, de maintenance corrective et
perfective.
· Vous utilisez de nouvelles approches de conception et voulez connaître les
mesures à appliquer.
· Vous n'avez pas le temps de rechercher, étudier les ouvrages sur le sujet,
souvent disponibles seulement en langue anglaise.
· Vous voulez profiter des résultats de divers projets européens récents.
· Vous ne pouvez consacrer beaucoup de temps à votre information.
Ce livre est alors fait pour vous.
Vous êtes plus particulièrement intéressé par :
· l'analyse de code de logiciel pour dégager des indicateurs de qualité afin
de pouvoir entre autres choses signaler les modules sujets à erreur,
l'annexe rédigée par Bernard Moreau du CNET doit répondre à votre attente ;
· la mesure de conception selon une méthode orientée objet, l'annexe rédigée
par Michel Lai, auteur de l'atelier HyperHood, doit répondre à votre
attente.
Souvent, lorsqu'on veut reprendre la documentation d'un cours, on découvre
que l'on n'a pas l'information nécessaire pour interpréter les notes de
cours distribuées. On n'a pas alors le temps de courir les bibliothèques ou
les librairies spécialisées.
Aussi, avons-nous préparé un dictionnaire encyclopédique sur le domaine de
la mesure et du génie logiciel, un outil unique qui complète ce cours que
nous avons voulu de taille réduite publié chez Masson).
Cette nouvelle édition est une version corrigée et complétée de la première
édition parue en janvier 1994.
Henri Habrias
L'auteur
Henri HABRIAS, professeur des universités et
enseignant à l'I.R.I.N. (Nantes) est auteur et co-auteur de plusieurs
ouvrages sur le thème.
Guide de lecture
 |
l'estimation de
l'effort de développement : allez chapitres 7, 8, 9, 10, 11 |
 |
le code (mesure sur
le) : allez chapitres 14, 15, 16 |
 |
les tests
(stratégies de) : allez chapitres 15, 16 |
 |
la fonctionnalité
d'une application (mesure de) : allez chapitre 11 |
 |
le nombre de lignes
de code (estimation du) : allez chapitres 11, 14 |
 |
la mise en place de
mesures : allez chapitre 6 |
 |
la répartition des
effectifs au cours du développement : allez chapitre 12 |
 |
la mesure d'une
conception : allez chapitre 13 et annexe 2 |
 |
la complexité du
code : allez chapitres 15, 16 |
 |
la théorie de la
mesure : allez chapitre 5 |
 |
la fiabilité :
allez chapitre 16 |
 |
la mesure d'une
conception objet : allez annexe 2 |
 |
un logiciel de
mesure : allez annexe 1 |
|
Table
des matières
Remerciements
Vous êtes intéressés par
Préface
Chapitre I Points de fonction, complexité cyclomatique,
COCOMO, McCabe, Halstead
Chapitre II Mesurer le logiciel ?
Chapitre III Pourquoi mesurer ?
Chapitre IV Un cadre pour la mesure
1 Définition de la mesure
2 L'estimation
2.1 Les méthodes d'estimation
2.2 Les règles d'estimation de DeMarco
2.3 L'évaluation des estimations
Exercices
Chapitre V Théorie de la mesure
1 Des relations empiriques aux relations numériques
2 La notion d'échelle
3 La notion de signification
4 Agrégation des préférences individuelles
5 Les lignes de code
Exercices
Annexe Énoncés signifiants
Chapitre VI La méthode AMI
Chapitre VII L'homme-mois et les différents types de
modèles d'effort
1 L'homme-mois mythique
2 Différents types de modèles d'effort
2.1 Première classification
2.2 Autre classification
3 Quelques résultats de tests de modèles
4 Des mesures sur des développements avec des spécifications formelles
Chapitre VIII Mesure de l'effort de développement, la
méthode COCOMO
1 L'estimation de l'effort de développement
2 Les trois modèles COCOMO et les modes
3 COCOMO simple
3.1 L'effort en hommes-mois
3.2 Le temps de développement en mois
4 COCOMO intermédiaire
4.1 Les équations
4.2 Le facteur d'ajustement de l'effort
5 Liste détaillée des facteurs de coût utilisés dans COCOMO
intermédiaire
5.1 Les facteurs attributs du produit
5.2 Les facteurs attributs des ressources
6 COCOMO détaillé
7 COCOMO et la maintenance
8 Critiques de COCOMO
Chapitre IX La méthode des paramètres fonctionnels
Chapitre X La méthode MCP
Chapitre XI Les points de fonction
1 La méthode appliquée sur un exemple
2 Des points de fonction au nombre d'instructions sources
3 Les points de fonction pour la maintenance
4 L'utilisation des points de fonction
5 Application des points de fonction à la méthode JSD
6 Critique des points de fonction
Exercices
Chapitre XII Le modèle de Putnam
1 Les équations de Norden
1.1 Équation de la charge cumulée à l'instant t
1.2 Équation de la charge instantanée
2 Les équations de Putnam
2.1 L'effectif à l'instant t
2.2 L'effectif maximum
2.3 La difficulté d'un projet
2.4 Relation entre charge totale, nombre d'instructions et durée de
développement
2.5 Impact d'une compression du délai de développement
2.6 L'accélération de la puissance de travail
2.7 Comparaison avec les équations de COCOMO
Chapitre XIII Mesure sur la conception, la mesure d'Henry
et Kafura
1 Les attributs de la conception
2 Complexité d'une procédure (mesure d'Henry et Kafura)
2.1 Types de flots d'information
Chapitre XIV La " science " du
logiciel d'Halstead
1 Opérateurs, opérandes, vocabulaire, longueur, volume
2 Autres attributs d'un programme
3 Impureté des estimateurs
4 Critique du travail d'Halstead
Chapitre XV Mesure sur le flot de contrôle d'un programme
1 Couverture d'arcs, de nuds, de chemins
1.1 Chemin de programme
1.2 Test de chemin
1.3 Couverture des nuds
1.4 Couverture des arcs
1.5 Le nombre de chemins
2 Décomposition d'un programme en flots de contrôle
2.1 Le séquencement et l'imbrication
2.2 Structures primitives
2.3 Un exemple de décomposition d'un graphe de flot
3 Mesure de couverture de tests
4 Mesure sur le code source analysé en un arbre de primitives
5 Mesure sur une spécification formelle
Chapitre XVI La théorie du nombre cyclomatique de McCabe
1 La définition du nombre cyclomatique
2 Stratégie de test
3 Du code au graphe de contrôle
4 Mesure récursive de la complexité cyclomatique
5 Critique du travail de McCabe
6 Complexité des données
Annexe L'analyse du code faite par le logiciel Métronome
Exercices
Chapitre XVII La fiabilité
1 Quelques définitions
2 Quelle différence y-a-t-il entre la fiabilité du matériel et la
fiabilité du logiciel ?
3 Modèles de fiabilité
Postface
Annexe I L'outil logiciel Métronome
Annexe II Un exemple de métriques sur une conception
utilisant la méthode HOOD
Bibliographie
Index
|