P arler de qualité est le plus souvent trop abstrait. Il semble plus facile d’abor-
der la question de la qualité par la non-qualité. Chacun a pu voir dans la vie
de tous les jours ou dans le milieu professionnel, les effets de la non-qualité. Les
conséquences sont aussi bien au niveau des coûts, des délais que des personnes
et des biens.
Comme exemple grand public, le logiciel Socrate de la SNCF, dont la mise en
œuvre a été laborieuse, a beaucoup compliqué la vie des utilisateurs et des usa-
gers, et a profondément nui à l’image de l’entreprise. L’exemple du premier tir
d’Ariane 5 vient également à l’esprit. Ces deux faits sont connus de tous, en rai-
son de leur importante couverture médiatique, mais de nombreux autres exem-
ples se rencontrent tous les jours et par tout un chacun.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Mesures et Contrôle R 8 080 − 1
QUALITÉ DES LOGICIELS INDUSTRIELS _____________________________________________________________________________________________________
Un état d’esprit encore assez répandu dans le domaine du logiciel laisse enten-
dre que la qualité coûte trop cher, retarde le développement, ... et la décision de
réaliser en premier le produit (exécutable) et ensuite le reste (documentation,
tests, etc.) en fonction du temps restant est encore très souvent d’actualité.
En fait, la qualité n’est pas une entité précise et délimitée à un instant du déve-
loppement mais doit faire partie intégrante de la manière d’être, et se faire tout
au long du cycle de vie d’un produit.
Il semble intéressant de préciser que des secteurs industriels, développant des
logiciels sécuritaires comme l’aéronautique par exemple, ont depuis longtemps
mis en place des méthodes répondant à des besoins de rigueur et donc de qua-
lité. L’apparition de standards a permis de quantifier les besoins et les attentes
de chacun et servent de référence au moment des phases d’acceptation.
Depuis quelques années, le concept de qualité totale est apparu sur le marché.
Les entreprises voulant rattraper leur retard se sont lancées dans des recherches
d’amélioration à travers l’ISO 9000, CMM, SPICE, etc. Ces démarches sont loin
d’être négatives, les apports sont plus que positifs. Il faut cependant signaler des
échecs cuisants, induits le plus souvent par une non-communication interne à
l’entreprise. Faire avancer à marche forcée tout le personnel, sans explication et
sans tenir compte de leur point de vue, est la garantie d’un échec. La mise en
place d’un système qualité propre à une entreprise, ou à un secteur déterminé,
s’il est bien compris et approprié, ne peut être que positive.
Pour faciliter l’approche, et dans un souci de normalisation, il paraît plus sim-
ple de prendre le cycle de vie du logiciel et de passer en revue tous les processus
le constituant pour en faire ressortir les points qualité. La norme internationale
ISO 12207 « Processus du cycle de vie du logiciel » peut servir de trame dans la
suite de la présentation. Cette norme regroupe les activités qui doivent être
mises en œuvre pendant le cycle de vie, en cinq processus de base, huit proces-
sus de support et quatre processus organisationnels.
L’avantage de cette norme est de ne pas se limiter au développement pur du
logiciel, mais de le mettre dans le contexte de l’entreprise. Un autre avantage, qui
peut être déstabilisant au premier abord, est de ne proposer aucun modèle de
cycle de vie, laissant à l’utilisateur la liberté de choix en fonction de son besoin.
1. Processus de base C’est également pendant cette phase que les exigences qualité
(relatives au produit ou à la prestation, au suivi ou à l’acceptation)
envers le fournisseur sont à définir de la façon la plus exhaustive
possible.
1.1 Processus d’acquisition Pour les entreprises mettant en place un système qualité
conforme à l’ISO 9000, cette étape doit être complètement décrite
Sous cette appellation est rassemblé l’ensemble des activités à dans une procédure, qui doit ensuite être appliquée.
réaliser par l’acquéreur. Il faut noter que leur présence comme pro-
cessus à part entière du cycle de vie est relativement récente. Néan- ■ Le suivi
moins, ces activités existaient au sein de l’entreprise. Ce nouvel La seconde phase est le suivi du fournisseur. Cette activité qui doit
éclairage ne doit que les formaliser davantage. courir tout au long du développement est parfois laissée en som-
Ce processus comprend trois grandes phases. meil, le plus souvent par manque de temps ou par excès de
confiance.
■ La contractualisation
L’intervention de l’acquéreur sous la forme de la participation à
Il s’agit de l’initialisation, l’appel d’offres et le contrat. C’est-à-dire des réunions d’avancement régulières, même espacées dans le
de toutes les activités menant à la signature du contrat. temps peut suffire à éviter un écart final que ce soit au niveau du
Cette phase est très importante dans la mesure où elle est la produit ou de sa date effective de livraison.
pierre angulaire de la réussite du futur projet. La qualité ici intervient
à travers le sérieux des études préalables, les critères de choix du Exemple : la spécification du produit demandait : « la possibilité
fournisseur et les décisions prises, la documentation et les comptes d’écrire sur deux écrans de format différent ». Le fournisseur a prévu
rendus de réunions, l’appel à des experts pour des points nouveaux deux configurations différentes, et l’acquéreur de son côté pensait
ou très particuliers. « en simultané ». La reprise finale est très importante, puisqu’elle
demande au minimum une reprise profonde de l’interface utilisateur.
Exemple : si le contrat doit être fait avec une entreprise étrangère, Cette incompréhension aurait rapidement été détectée au cours d’une
il peut être important de contacter un juriste pour connaître les parti- réunion d’avancement ou lors de la relecture des documents techni-
cularités à spécifier dans le contrat. ques.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
R 8 080 − 2 © Techniques de l’Ingénieur, traité Mesures et Contrôle
_____________________________________________________________________________________________________ QUALITÉ DES LOGICIELS INDUSTRIELS
Pour éviter tout litige, la demande de l’acquéreur d’avoir une vue ■ La seconde phase, qui suit le développement du projet, commence
sur le développement doit être spécifiée dans le contrat. par l’élaboration des plans du projet, que ce soit au niveau des
méthodes de développement (choix du cycle de vie, méthode de tra-
■ La réception vail structurée ou à objets), au niveau de la gestion (avec la gestion de
La dernière phase comprend l’acceptation et l’achèvement du projet ou de configuration...), ou au niveau qualité, avec la descrip-
processus. Si l’acceptation est assez classique et régulièrement réa- tion des directives à respecter pour assurer la qualité du projet. Tous
lisée car liée le plus souvent à une clé de paiement, l’achèvement ces plans sont vitaux, ils doivent être relus et validés avant le démar-
pour sa part est plus rare. Il doit être vu comme la conclusion du pro- rage du développement et suivant les clauses du contrat, ils peuvent
jet. Cette étape doit permettre de tirer les enseignements du projet être soumis pour approbation au client ou à un service officiel.
qui se termine. Il y a quelques années de nombreuses entreprises
Exemple : pour les projets aéronautiques, le standard DO-178B est
ont cherché des outils capables de les aider dans les démarrages de
imposé et la fourniture des plans en début de projet, en vue d’une cer-
nouvelles affaires pour diminuer les risques. Ces outils fonctionnent
tification des équipements, est demandée.
tous à partir d’une base de connaissance. Le principal point blo-
quant fut le manque d’informations pour l’enrichir. D’autre part, ces Il est très important de réaliser un planning précis de l’affaire.
outils demandent le réglage de nombreux paramètres avant de four- L’expérience préconise de signaler que la montée de charge sur un
nir un résultat fiable. projet n’est jamais à coût nul. La prise en compte de ce phénomène,
Le côté positif de ces essais est la prise de conscience du risque ainsi que les vacances, les réunions extérieures et les formations
inhérent au démarrage de tout projet et de l’importance de garder la envisageables permettront la construction d’un planning réaliste. Le
trace de l’antécédent. raisonnement voulant qu’une personne soit productive sur un projet
huit heures par jour, cinq jours par semaine, cinquante-deux semai-
Exemple : sans aller si loin, l’idée la plus simple est la mise à jour nes par an, peut entraîner des dérives importantes par rapport au
de la liste des fournisseurs. C’est également la décision de ne plus planning initial. Pour ce processus, le niveau de granularité des
sous-traiter, ou alors dans des conditions très particulières, certains tâches reste encore assez faible, le but recherché étant l’évaluation
types de projets. des différentes enveloppes. Les activités doivent toutes être listées
Quels qu’ils soient, ces enseignements sont toujours enrichis- et placées dans le temps. Un affinage est à mener par le processus
sants pour le futur et la pérennité de l’entreprise. de management.
Cette phase couvre l’exécution et la maîtrise des activités du four-
nisseur. Le point le plus important est la notion de maîtrise. Le four-
1.2 Processus de fourniture nisseur ne doit jamais se laisser porter par l’avancement du projet,
mais à partir du planning initial, des revues et des évaluations
menées régulièrement, produire un nouveau planning, mais surtout
Ce processus est le pendant exact du processus d’acquisition. Il comprendre et, si possible, corriger les dérives.
regroupe les activités du fournisseur.
Exemple : les retards sont dus à :
Il peut également être découpé en trois phases.
— une épidémie de grippe (30 % des effectifs atteints pendant
■ La première doit contenir l’initialisation, la réponse à l’appel 15 jours) (c’est une cause non prévisible) ;
d’offres et se poursuivre jusqu’à la signature du contrat. Cette étape — un produit non disponible dans les temps (c’est une cause exté-
est vitale pour la suite du projet et même dans certains cas pour la rieure prévisible) ;
survie de l’entreprise. Le premier point est la décision de répondre, — un manque de rigueur dans les développements (c’est une cause
qui ne doit jamais se faire à la légère. Comme contre-exemple par- intérieure).
fait, il est facile d’imaginer un ordre qui arrive de la direction et qui
balaie toutes les contradictions. Autre cas de figure, pour la survie Quelle que soit la cause, il est important de la déterminer et de la
de l’entreprise, il faut prendre ce contrat et le mener à son terme corriger et même si possible de l’éviter.
contre vents et marées, si nécessaire. Il est important de signaler Exemple : la livraison est prévue le 15 mars. Le 15 février, il reste
que même dans ces cas extrêmes, les études doivent être menées « si tout se passe bien » 40 jours de travail non parallélisables. Les
avec le plus grand soin. Comme dans le cas de l’acquéreur, la signa- miracles étant fort rares dans une entreprise, il convient peut-être de
ture du contrat portant des clauses particulières ou avec des clients songer à prévenir le futur acquéreur ou, tout au moins, de décider la
nouveaux peut demander l’aide d’experts. politique à suivre.
Exemple : 1. Il est important de signaler que la propriété des con- Pour des raisons politiques ou financières (une clé de paiement), il
naissances et du savoir-faire n’est pas régie de façon identique dans peut être décidé de ne pas immédiatement prévenir l’acquéreur du
tous les pays. retard. C’est une arme à double tranchant dont il faut savoir se servir.
2. Au moment de la réponse à l’appel d’offres, il arrive souvent que
■ La dernière phase de ce processus, est la livraison du produit, la
la demande ressemble beaucoup à une autre affaire terminée ou en
fourniture. Il est très important de s’assurer que tout est conforme et
cours de réalisation. Il suffit alors de présenter la même proposition.
complet avant de le livrer. Dans le cas contraire, le flou peut être vu
Il convient quand même de se méfier de plusieurs points : par l’acquéreur comme un manque de savoir-faire et donc comme
— l’ensemble des petits détails formant le delta entre les deux affai- une non-qualité.
res crée des différences importantes ;
— le contrat initial de la précédente affaire a pu être renégocié pour Exemple : il faut éviter de livrer au client, un produit comprenant
rendre le projet réalisable (solution technique non viable, ...) ; plusieurs logiciels dans des versions incompatibles ou avec une do-
— les dépassements de budget sont importants. cumentation périmée.
Ces points n’étant pas toujours présentés sous leur vrai jour, une Le fait qu’à la mise sous tension du système, rien ne se passe, est
attention particulière est de mise lors de la reprise de travaux antérieurs. du plus mauvais effet et correspond à une absence de contrôle de
sortie et toujours à de la non-qualité.
La réutilisabilité, très à la mode actuellement avec le développe-
ment des méthodes à objets, est à prendre en considération dans ce Exemple : à la mise sous tension d’un oscilloscope électronique,
processus. La décision de faire un logiciel, une bibliothèque ou l’écran reste muet. Le dévissage de la face arrière met en évidence
même un composant réutilisable n’est pas neutre. Il est admis que l’absence de circuit de traitement des signaux. L’acquéreur vient
les coûts du premier développement sont plus élevés. Il convient d’acheter à prix d’or une boîte vide. La suite est facilement envisagea-
d’en tenir compte au moment du choix. ble et surtout compréhensible.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Mesures et Contrôle R 8 080 − 3
QUALITÉ DES LOGICIELS INDUSTRIELS _____________________________________________________________________________________________________
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
R 8 080 − 4 © Techniques de l’Ingénieur, traité Mesures et Contrôle
_____________________________________________________________________________________________________ QUALITÉ DES LOGICIELS INDUSTRIELS
que celui du développement. Il semble quand même intéressant de dans le même état d’esprit, mais par grandes fonctionnalités du
rappeler que la mise à jour de la documentation et la mise en place projet.
de tests de non-régression font partie intégrante de cette activité.
Exemple : le document de spécification est en attente de précision
Le reste de l’activité, plus spécifique à cette étape, est le plus sou- du client sur des points particuliers d’un des sous-systèmes du projet.
vent négligée. Il couvre les migrations possibles et le retrait des logi- Si d’autres sous-systèmes ont une spécification complète, relue et
ciels. validée, rien ne doit s’opposer au lancement de la conception de ces
Une gestion rigoureuse est nécessaire pour maîtriser ces deux sous-systèmes.
activités. Cette maîtrise passe par la connaissance de tout ce qui a Cette façon de travailler permet une montée en charge progres-
été fourni à un client, avec la version, la quantité, les conditions de sive des équipes et un lissage de la charge à chaque phase de réali-
maintenance... Pour de nombreux logiciels, il arrive très souvent de sation. Quelle qu’elle soit, la méthode de travail doit être décrite
livrer des versions en BetaTest, ou même des versions intermédiai- dans les plans.
res « par avance » pour débloquer un utilisateur. Toutes ces infor-
mations doivent être connues et suivies. Pour faciliter le travail des équipes et également dans un souci
d’homogénéité, il convient de définir au préalable, un certain nom-
Il est du plus mauvais effet que la version officielle et estampillée bre de contraintes :
ne contiennent pas les fonctionnalités des « patchs » fournis par
— lister les documents et la personne qui en sera responsable ;
avance au client. Mais il est tout à fait concevable de lui livrer la ver-
sion officielle avec un nouveau « patch » spécifique à son problème, — pour chaque document, décrire son contenu et, si possible,
il pourra de ce fait profiter des nouveautés sans subir de régression. fournir un plan type ;
Traiter les livraisons au client de cette façon, démontre une parfaite — donner des règles et des recommandations de présentation
maîtrise de son processus de maintenance. (saut de page, taille et police,...) et d’écriture (emploi de mots,
d’expressions,...).
La migration peut être une demande de l’utilisateur, ou une
Il n’est pas nécessaire de réinventer le monde. Il existe des nor-
contrainte du fournisseur.
mes et des standards définissant déjà les documents et parfois leur
Exemple : la maintenance n’est assurée que pour les versions plan type. Il est toujours possible de les prendre comme référence
supérieures à n – 2 du produit. Soit l’utilisateur migre (« upgrade »), ou de les utiliser comme base d’inspiration. Il faut noter que certai-
soit il rompt son contrat de maintenance. Les grandes sociétés de nes entreprises ont résolu le problème en se créant un référentiel de
matériels informatiques imposent souvent ce genre de chose pour travail contenant, entre autre, toutes les informations nécessaires à
rationaliser la gestion du parc. la rédaction des documents.
Un point souvent négligé est la sauvegarde du contexte toujours À partir des directives, ou de leur absence, la documentation doit
plus ou moins particulier de l’utilisateur avant la nouvelle installa- être produite, puis vérifiée. Il convient de rappeler qu’une vérifica-
tion, pour permettre un retour en arrière le plus rapide possible, en tion n’est possible que si des exigences prédéfinies dans les plans
cas de problème. existent au préalable. Dans le cas contraire, elle ne peut être que
subjective et donc sujette à caution.
Exemple : problème de gestion du disque lors de la création d’un La suite des activités à réaliser dans le cadre du processus de
nombre très important de petits fichiers. Le disque n’est pas plein, documentation est le plus souvent oubliée. Il s’agit de la mainte-
mais la table de vecteur est en débordement. Ce problème survenu à nance et par là même de la gestion des évolutions. Pendant la vie du
la nouvelle version d’un OS créait des pannes aléatoires et des incohé- produit, le document satisfaisant à l’origine devient de plus en plus
rences majeures dans les bases de données. Avant de faire la moindre périmé.
analyse pour trouver la cause, le retour à la version précédente s’impo-
sait. Exemple : après une première livraison du produit et de sa do-
cumentation associée, le fournisseur accepte successivement de réali-
Pour l’exemple ci-dessus, le souvenir du peu de compréhension ser une suite de petites modifications ayant des impacts mineurs sur la
du fournisseur et même de son agressivité face à la mise en cause documentation. Il est vrai que ces évolutions prises séparément n’im-
de son produit est encore vivace. C’est l’utilisateur qui a prouvé la posent pas une remise à niveau immédiate de la documentation, mais
défaillance. l’ensemble donne un document largement périmé.
Le retrait, pour le domaine du logiciel, est vu comme un arrêt de Il convient également de gérer les diffusions, les archivages et
la maintenance. Avant toute action, une procédure doit être mise en surtout les désarchivages, quand prendre la décision de détruire un
place et toujours respecter les besoins de l’utilisateur. document ?
Pour les diffusions, le problème est la suppression des périmés
« dans la nature ». Le fait de considérer que les personnes présentes
sur la liste de diffusion aient reçu un avis, ou une nouvelle version,
2. Processus de support est notoirement insuffisant. Les photocopies libres rendent ce pro-
cédé caduque.
Il y a plusieurs moyens de contourner le problème, ils dépendent
surtout de la taille du projet et des méthodes de travail. Il est possi-
2.1 Processus de documentation ble de considérer que seules des versions diffusées en couleur origi-
nale aux personnes citées dans la liste de diffusion sont valides, les
autres copies étant par définition, périmées. Dans ce cas, ces per-
Il peut sembler inutile de préciser l’importance de la documenta- sonnes détiennent les « bonnes » versions et sont sensées les gérer.
tion sur un projet, ne serait-ce que pour perpétuer le savoir-faire. Il est également possible de considérer que seule la version élec-
Malheureusement, à l’heure actuelle, l’idée de faire le logiciel, et de tronique fait foi. Tout papier est forcément périmé. Cette option
voir après si il reste du temps pour la réalisation de la documenta- paraît plus simple, mais impose que chaque utilisateur potentiel ait
tion, est encore très répandue. accès à l’information. Les coûts non nuls de l’opération font encore
La théorie la plus simpliste voudrait que l’on ne commence un reculer beaucoup d’entreprises.
document qu’en possession de tous les documents amont nécessai- Il existe d’autres moyens ni plus ni moins bons que les autres, leur
res figés et complets. Cette vision ne correspond que très rarement mise en œuvre et leur réussite dépend surtout de la structure de
à une réalité économique. Une façon plus réaliste est de travailler l’entreprise et des habitudes de travail.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Mesures et Contrôle R 8 080 − 5
QUALITÉ DES LOGICIELS INDUSTRIELS _____________________________________________________________________________________________________
Il convient surtout de définir les responsabilités au niveau de la Il convient de tout mettre en œuvre pour réaliser :
gestion de la documentation. — l’assurance du produit ;
En ce qui concerne le désarchivage, le problème n’est pas trivial. — l’assurance du processus ;
Il peut être décidé de tout garder. Sur un petit projet, dans une entre- — l’assurance des systèmes qualité (action ISO 9001).
prise ayant de l’espace, cette solution est viable. Dans le cas Pendant longtemps, l’activité qualité sur un projet est restée au
contraire, la définition de règles est très importante, en particulier niveau du produit. C’est ce qui est couramment appelé le contrôle
vis-à-vis de l’acquéreur. qualité.
Exemple : il arrive à un fournisseur de signer un contrat avec archi- Cette activité revient à évaluer le produit c’est-à-dire :
vage des documents de développement pendant 30 ans... Quand le — le logiciel ;
prix du mètre cube chez LocArchive est intégré aux coûts de dévelop- — sa documentation ;
pement brut, la facture peut faire frémir. — mais également les logiciels non développés mais livrables ;
La solution de considérer qu’il suffit de garder les versions n – 1 — les logiciels non livrables ;
ou n – 2 est le plus souvent un peu simpliste. Il faut réfléchir au — la fourniture autre que le logiciel.
besoin réel de l’acquéreur et du fournisseur lui-même. Depuis quelques années, l’évaluation des processus du cycle de
Il est vrai que lorsque l’on évoque l’archivage, il vient surtout à vie prend une place de plus en plus importante. Si le développement
l’esprit la notion de papier, de boîtes rangées sur des étagères. Il faut a été effectué comme prévu dans les plans, cela permet d’assurer
également penser à l’archivage électronique. Les supports magnéti- que le produit fonctionne, et qu’il continuera à fonctionner et de
ques ont une durée de vie limitée, et même s’ils sont toujours vali- prouver ce fait.
des, a-t-on conservé l’outil qui permet de les relire ? Ces activités sont menées par le biais d’inspection (§ 2.4), de
revues (§ 2.6) et d’audits (§ 2.7). Comme pour les autres processus,
un plan doit les décrire.
2.2 Processus de gestion de configuration Pour suivre l’avancement de ce processus, il convient de faire
régulièrement un bilan qualité contenant :
L’écriture d’un plan de gestion de configuration doit permettre, — les généralités sur le projet, avec en particulier les exigences
d’une part, de savoir ce qui doit être géré en configuration et, d’autre qualité requises ;
part, de savoir comment le faire. — les actions déjà réalisées, avec leurs conclusions ;
Une configuration est composée d’un ensemble d’articles de — les actions à venir, avec leur planification et les responsabilités
configuration. Un article doit être identifiable et pouvoir évoluer de associées.
façon maîtrisée. Un article peut être une partie de code, de do- Au niveau des systèmes qualité, l’assurance consiste à vérifier la
cumentation, un outil, un compilateur, mais également un local, une définition et la mise en œuvre des dispositions applicables au
personne (au sens de la compétence plutôt que de l’individu). moyen de revues et d’audits, et de prévenir les non-conformités.
Cette gestion doit permettre à tout moment de fournir un état de
configuration, de connaître les évolutions entre deux états d’une
même configuration. 2.4 Processus de vérification
Exemple : cet état de configuration doit permettre de recréer une
ancienne version pour pouvoir démarrer un développement en parallèle. Ce processus peut paraître très lourd dans la mesure où, en pre-
mière lecture, il peut sembler que tout doit être vérifié.
La configuration sert lors de la mise en place des référentiels aux La méthode de vérification est l’inspection ou la relecture d’un
étapes clés du projet. La vérification du respect des directives du document, d’un code, d’un test à l’aide d’une check-list fournissant
plan de gestion de configuration se fait par l’intermédiaire d’audits des critères d’évaluation. Il est rappelé qu’une vérification n’est pos-
de configuration. sible que dans la mesure où les règles préalables ont été définies.
Le piège, lors de la mise en place de ce processus, est de se créer Pour un document, les critères les plus courants sont :
une machinerie beaucoup trop lourde en comparaison de l’impor-
tance du projet. Ce phénomène induit tôt ou tard de la non-qualité, — la cohérence interne ;
des actions étant mal faites, ou carrément abandonnées, par man- — la compréhensibilité ;
que de temps au fur et à mesure de l’avancement du projet. — la traçabilité avec le document amont ;
— l’adéquation des techniques mises en œuvre ;
Il existe dans le commerce des outils d’aide à la gestion de confi- — l’adéquation des ressources employées.
guration. Ces outils très en vogue, il y a quelques années, ont subi
de plein fouet la crise du début des années 1990. À l’heure actuelle, Il est possible d’aller beaucoup plus loin avec des critères
ils font leur retour de façon plus discrète, mais sont toujours pré- comme :
sents puisque le besoin existe. — l’adéquation des facteurs qualité ;
— la testabilité des exigences (au niveau de la spécification) ;
Au moment de choisir un outil pour mettre en œuvre la méthode de
gestion préconisée, il est très important de trouver l’adéquation entre — la conformité à un plan-type, etc.
l’outil et la méthode, qui peut être légèrement modifiée si nécessaire. Pour le code, il est possible de travailler à partir du même type de
critères, mais il est également possible d’utiliser la qualimétrie (§ 6).
Exemple : l’outil ne sait gérer que les agrégats de composants, La norme ISO 9126 présente de façon détaillée la démarche à suivre
alors que la méthode demande une gestion par composant. Il revient à pour la mettre en œuvre.
dire que la partie fine de la gestion devra être manuelle et que l’outil
n’apporte pas vraiment une aide efficace. Cette norme fournit les caractéristiques intéressantes à évaluer
sur un logiciel, mais ne donne pas le « comment », c’est-à-dire les
métriques permettant le mesurage qualimétrie (§ 6). Il existe une
importante littérature autour des travaux de MacCall, Halstead,
2.3 Processus d’assurance de la qualité MacCabe, Mohanty, etc., qui propose des métriques. Il existe
aujourd’hui des outils utilisant ces théories et fournissant des résul-
Ce processus vise à garantir que les processus et le logiciel asso- tats de mesure. La difficulté est toujours là : il faut évaluer ce résul-
ciés au cycle de vie du projet sont conformes aux exigences requi- tat. L’outil donne un nombre, c’est à l’utilisateur de savoir à partir de
ses et respectent les plans préétablis. cette information, si son logiciel est satisfaisant ou non.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
R 8 080 − 6 © Techniques de l’Ingénieur, traité Mesures et Contrôle
_____________________________________________________________________________________________________ QUALITÉ DES LOGICIELS INDUSTRIELS
Suivant les méthodes de travail, ce processus peut comprendre Très souvent couplé à la gestion de configuration, ce processus
les tests de plus haut niveau ou alors être considéré comme une doit être basé sur une procédure décrivant les activités à réaliser
recette à jouer à la livraison pour prouver la conformité aux exigen- quel que soit le type de problème rencontré. Le plus souvent cette
ces de l’acquéreur. La seconde partie étant le plus souvent un extrait procédure se limite à expliquer la gestion des évolutions et des
de la première. modifications lors du développement initial. Cette procédure doit
Quel que soit son but, la validation doit être menée avec les couvrir tous les processus du cycle de vie.
mêmes méthodes de travail que le développement lui-même. Écri- Exemple : Prise en compte d’une nouvelle version de compilateur.
ture d’un plan de validation, réalisation des tests et vérification du Ajout d’un test de robustesse sur la variable SPEED2 en cas de divi-
bon déroulement du processus et des résultats sont les activités sion par zéro.
classiques à réaliser (§ 4).
La gestion de configuration doit pouvoir fournir tous les articles
qui ont évolué depuis un état précédent, ce processus doit être capa-
ble de dire pourquoi ils ont évolué.
2.6 Processus de revues
Il peut paraître relativement simple de mettre en œuvre un suivi
de modification. Il convient cependant de noter que ce suivi doit être
Les revues ont pour objectifs de vérifier que les actions requises en adéquation avec l’environnement de développement.
ont été effectuées, que les remarques ont été traitées, que les solu- La procédure de suivi peut être écrite, ou récupérée du référentiel
tions proposées sont satisfaisantes. (sans aucun souci du « comment »). Cette procédure doit définir
Elles peuvent être de deux types : sous quelle forme se présente une demande d’évolution ou une
demande de modification.
— les revues documentaires : elles servent à lever les points blo-
quants suite à la relecture d’un document. Elles ont une grande Les points importants sont de savoir :
importance lors de la rédaction des plans ou des documents de haut — comment est-elle gérée ?
niveau (spécification) ; — qui doit la rédiger ? la valider ? y répondre ?
— les revues de fin de phase : elles doivent s’assurer que les four- — qui doit la suivre ? la diffuser ? effectuer une relance si
nitures de la phase sont suffisantes pour passer à la phase suivante nécessaire ?
et que l’environnement nécessaire à la réalisation de la phase sui- — qui doit la prendre en compte et enfin la clore ?
vante est en place.
Il convient de souligner que suivant son niveau d’applicabilité (sur
Une revue est une procédure formelle dont le déroulement est le la spécification, sur le code, ...), les personnes concernées sont diffé-
suivant : rentes. Le passage de l’information d’une personne à une autre est
— la planification, qui comprend la convocation à la réunion, la également à préciser.
diffusion des documents nécessaires ; Ces demandes se présentent le plus souvent sous la forme de for-
— la préparation, qui correspond à l’étude de ces documents ; mulaires qui seront complétés à chaque étape par la personne
— la réunion, avec la prise de décision sur les points bloquants et concernée. Pour une gestion souple mais maîtrisée, il convient qu’il
les conclusions (accepté, accepté avec réserve, refusé) ; y ait une responsabilité unique, mais des accès multiples.
— la rédaction du rapport ;
De nombreuses entreprises se sont développé un outil de gestion
— le suivi de la revue, c’est-à-dire suivi de la prise en compte des
des problèmes autour d’une base de données du commerce. Pour
actions.
un petit projet, un classeur avec des feuilles papier et une numéro-
tation manuelle n’est pas systématiquement à rejeter. Il est rappelé
de toujours chercher l’adéquation entre l’environnement de travail
2.7 Processus d’audits et le besoin réel.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Mesures et Contrôle R 8 080 − 7
QUALITÉ DES LOGICIELS INDUSTRIELS _____________________________________________________________________________________________________
À partir de tout ce qui a été défini au niveau des exigences, des rencé dans le bilan produit par le management, ou être directement
plans, il convient en début de ce processus de définir complètement inclus dans le même document.
le domaine du projet, son environnement de travail, et de planifier
toutes les activités, de construire un calendrier, de détailler les char- Exemple : le banc de tests prend du retard en fabrication, le projet
ges, les risques et les ressources nécessaires. Cette mise en place n’est pas encore dans cette phase donc pas encore directement
semble une évidence, mais la pression des réalités réduit trop sou- concerné. Il convient cependant de le signaler.
vent ces activités. Le calendrier est vague, la qualité viendra après, les Ce document sert de base de travail au responsable du manage-
ressources ne sont pas détaillées, l’étude des risques est inexistante. ment. Il est également utile à la direction pour évaluer l’avancement
Exemple : la phrase suivante est édifiante de la part d’un chef de effectif du projet.
projet, mais cependant véridique : « Pourquoi parler des risques, pour Ce document peut être très complet et faire appel à des indica-
l’instant il n’y a pas de problème. » teurs (tableau 1). Il est cependant rappelé que la charge de cette acti-
vité doit rester en proportion avec la taille du projet.
Il faut signaler qu’un risque est l’éventuelle apparition d’un pro-
Au premier abord, ce bilan semble vraiment lourd à mettre en
blème pouvant entraîner un échec.
œuvre. Il faut souligner que le bilan présenté en encadré est un
Le suivi du management peut se faire par la fourniture régulière exemple, et que ce document n’étant pas écrit en fin de projet mais
d’un bilan décrivant les points remarquables de la vie du projet, son enrichi au fur et à mesure du développement, la charge de travail est
avancement actuel, avec la mise en évidence des dérives ou de pro- plus progressive. D’autre part, les informations ne sont pas forcé-
blèmes connus, et les prévisions. Le bilan qualité, directement ment à dupliquer dans ce bilan. Si elles existent déjà de façon claire
rattaché à l’avancement des activités induites par le processus dans un document projet, une référence documentaire précise peut
d’assurance de la qualité, peut être un document spécifique réfé- être suffisante.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
R 8 080 − 8 © Techniques de l’Ingénieur, traité Mesures et Contrôle
_____________________________________________________________________________________________________ QUALITÉ DES LOGICIELS INDUSTRIELS
Pour jouer pleinement son rôle, le bilan doit vivre et être rensei- 3.3 Processus d’amélioration
gné avec précision, objectivité, ... Il est rappelé que ce bilan peut être
limité à un usage interne. Il est toujours possible de présenter à
l’extérieur une version expurgée. Ce processus couvre la directive principale de l’ISO 9000. Un sys-
tème qualité doit être vivant.
Comme pour les autres processus, il existe dans le commerce des
outils permettant la gestion de projet. Comme dans les autres cas, il La remise en cause des choix, des directives doit être faite réguliè-
convient de correctement définir son besoin qui peut se limiter à un rement. Mais attention de ne pas confondre évolution et instabilité.
tableur si nécessaire. Le temps de réactivité des personnes n’est jamais nul.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Mesures et Contrôle R 8 080 − 9
QUALITÉ DES LOGICIELS INDUSTRIELS _____________________________________________________________________________________________________
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
R 8 080 − 10 © Techniques de l’Ingénieur, traité Mesures et Contrôle
_____________________________________________________________________________________________________ QUALITÉ DES LOGICIELS INDUSTRIELS
des valeurs égales, juste inférieures, puis juste supérieures aux On remarquera que la dernière phrase de l’exemple n’implique
valeurs limites. pas que cette technique soit à rejeter de prime abord. Il convient de
Avec cette technique, on attache autant d’importance à l’espace parfaitement définir son besoin avant de se lancer dans une coû-
des valeurs de sortie qu’à celui des valeurs d’entrée. teuse campagne de tests.
L’expérience montre que l’analyse des valeurs limites est la plu-
part du temps intéressante. Ces points particuliers étant les lieux
des défauts les plus probables. 5.3.6 Couverture de décision
Exemple : si on reprend l’exemple précédent ; les limites sont –5
et 5. Il convient de tester des valeurs comme 5.1, 4.9, etc. Cette technique consiste à construire des jeux d’essais permettant
de passer au moins une fois par chaque point d’entrée et de sortie
du logiciel, et chaque décision du logiciel doit avoir pris toutes les
5.3.3 Graphe de causes à effets valeurs possibles au moins une fois.
5.3.4 Recherche intuitive d’erreurs Cette technique consiste à construire des jeux d’essais permettant
à chaque condition et à chaque décision d’avoir pris toutes les
Cette technique repose entièrement sur l’intuition de la personne valeurs possibles au moins une fois.
construisant les jeux d’essais. Cette personne doit « sentir » les
problèmes potentiels. Exemple :
Cette technique, bien que non scientifique et ne permettant if CondA then
d’apporter aucune preuve de bon fonctionnement, se révèle le plus if CondB then
souvent efficace lors d’un premier contact avec le composant à tester. traitement
endif
5.3.5 Couverture d’instruction endif
Si On teste :
Cette technique consiste à construire des jeux d’essais permettant CondA = Vrai et CondB = Vrai,
de passer au moins une fois par chaque instruction du logiciel.
CondA = Faux et CondB = Faux
Exemple :
if CondA and CondB then le taux de couverture de condition/décision est de 100 %, mais
« else » de « if CondB » n’est pas testée.
traitement
endif
Si On teste : 5.3.9 Couverture de condition/décision modifiée
CondA = Vrai et CondB = Vrai,
le taux de couverture d’instruction est de 100 %, mais la partie « else » Cette technique consiste à construire des jeux d’essais permettant
n’est pas testée. de passer au moins une fois par chaque point d’entrée et de sortie
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Mesures et Contrôle R 8 080 − 11
QUALITÉ DES LOGICIELS INDUSTRIELS _____________________________________________________________________________________________________
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
R 8 080 − 12 © Techniques de l’Ingénieur, traité Mesures et Contrôle
_____________________________________________________________________________________________________ QUALITÉ DES LOGICIELS INDUSTRIELS
6. Annexe B. —
—
la capacité fonctionnelle ;
la fiabilité ;
Les normes, les standards, —
—
la facilité d’utilisation ;
le rendement (au sens de l’efficience) ;
les référentiels — la maintenabilité ;
— la portabilité.
Ces caractéristiques sont représentatives de la qualité du logiciel.
Il suffit dans un premier temps de choisir la ou les caractéristiques
6.1 DO-178B/ED-12B qui seront représentatives de son logiciel. La charge de travail per-
mettant de prouver que l’on satisfait une caractéristique pouvant
être importante, il est souhaitable de faire un choix judicieux.
Considérations sur le logiciel en vue de la certification des
systèmes et équipements de bord Comme on le voit, ces caractéristiques ne sont pas directement
mesurables. Il convient donc de se définir des métriques représenta-
Édition de décembre 1992. tives de chaque caractéristique.
But : ce document fournit à la communauté aéronautique des Pour aider à cette définition, la norme propose, à titre informatif,
directives pour déterminer, de manière cohérente et avec un degré une liste de sous-caractéristiques permettant une première appro-
acceptable de confiance, si les aspects relatifs aux logiciels des systè- che. Ce ne sont pas des métriques mais des attributs.
mes et équipements de bord satisfont les exigences de navigabilité.
Par exemple pour la fiabilité, ce sera :
Ce document, se basant sur les règlements de l’aviation, définit
— la maturité ;
des catégories de panne :
— la tolérance aux fautes ;
— catastrophique (risque sur la sécurité du vol et de l’atterris- — la possibilité de récupération.
sage) ;
— dangereuse (réduction importante des capacités de l’aéronef) ; Pour la maintenabilité, ce sera :
— majeure (réduction significative des capacités de l’aéronef) ; — la facilité d’analyse ;
— mineure (réduction non significative des capacités de l’aéro- — la facilité de modification ;
nef) ; — la stabilité ;
— sans effet. — la facilité de test.
Le niveau du logiciel est basé sur la faculté de celui-ci à rencontrer À partir de ce découpage, il est plus facile d’appréhender ce qui
certaines catégories de panne. Ce niveau implique l’effort néces- doit être mesuré. D’où la mise en place de métrique.
saire à fournir pour pallier le risque de survenue de ces pannes. Une métrique doit avoir les attributs suivants. Elle doit être :
Il existe 5 niveaux de A à E, correspondant aux 5 catégories. On — simple ;
parle du niveau de criticité du logiciel. Pour chacun de ces niveaux, — caractéristique ;
ce document définit les exigences à respecter. — non contraignante ;
Ce document demande de prouver que l’environnement de déve- — permanente ;
loppement, dans la mesure où il allège le travail, ne peut introduire — suivie ;
des erreurs dans le logiciel. — non contestable ;
— facilement interprétable ;
— ni trop stable, ni trop dynamique ;
— anticipative, si possible.
6.2 DoD-STD-2167
Le présent document ne cherche pas à faire une liste exhaustive
des métriques existants. Pour la théorie, il existe les travaux de
Defence system software development McCall, Halstead, McCabe, Mohanty.
Ce document du Department of Defence américain décrit l’ensem- Dans la pratique, il existe des outils de mesure et d’aide à l’inter-
ble des activités à réaliser pour être conforme à ce standard. prétation. On peut citer par exemple, LOGISCOPE de Vérilog (un
Il est annexé à ce document un ensemble de plans-type très direc- des plus anciens présent sur le marché français), ou Visual Quality
tifs décrivant les documents à fournir pour être conforme. ToolSet de McCabe & Associates suivant les métriques de McCabe.
À l’heure actuelle, ce document est en révision, les plans-type ne Ces outils ne sont pas les seuls, ils sont relativement complets
font plus partie du standard pour permettre de s’adapter plus facile- mais ne couvrent pas l’ensemble des métriques possibles. Il con-
ment aux nouvelles méthodes de travail, comme les méthodes à vient donc de bien réfléchir à son besoin avant d’en choisir un, si
objets par exemple. nécessaire.
Il est quand même intéressant de regarder ces plans-type car ils Il existe des outils du type de XRAY, qui travaillent uniquement sur
sont assez complets et peuvent servir de base de départ lors de la la couverture d’instructions. Si le besoin du projet est couvert, pour-
mise en place d’un nouvel environnement de travail. quoi aller plus loin.
Exemple de métriques :
— le nombre d’opérateurs distincts (n1) ;
— le nombre d’opérandes distincts (n2) ;
7. Annexe C. — le nombre d’occurrences d’opérateurs (N1) ;
— le nombre d’occurrences d’opérandes (N2) ;
La qualimétrie — la longueur du programme (N = N1 + N2) ;
— le volume du programme (V = N × log(n)) ;
— le nombre d’arc (e) ;
La norme ISO 9126 présente les activités nécessaires à la mise en — le nombre de nœud (n) ;
place de la qualimétrie. Elles sont résumées dans le schéma de la — le nombre de composants connectés (p) ;
figure 2. — le nombre cyclomatique (V(G) = e – n + 2p).
Cette norme définit six caractéristiques qui décrivent la qualité du Cette dernière métrique sert à évaluer la complexité du composant
logiciel. Ce sont : et, par la même, la difficulté qu’il y aura à le tester.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Mesures et Contrôle R 8 080 − 13
QUALITÉ DES LOGICIELS INDUSTRIELS _____________________________________________________________________________________________________
Spécification
Définition d'exigences qualité
d'exigences
qualité
Produits finis
ou en états
intermédiaires
Réalisation
du logiciel
Valeur
mesurée
Mesurage Évaluation
Niveau
de classement
Classement
Résultat
Évaluation (acceptable ou
non acceptable)
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
R 8 080 − 14 © Techniques de l’Ingénieur, traité Mesures et Contrôle
P
O
U
Qualité des logiciels industriels R
E
par Élisabeth WALTI N
Consultant en qualité des logiciels
Responsable de secteur à la Société Qualience
S
Normes et directives
A
FD Z 67900 4-96 Technologies de l’information – Évaluation des
processus du logiciel. Modèle pour le manage-
NF ISO/CEI 12207 11-95 Ingénierie du logiciel, Processus du cycle de vie
du logiciel.
V
FD Z 67901 4-96
ment du processus.