Pourquoi et comment assurer la traçabilité de vos exigences ?

< Retour à la newsletter
La traçabilité des exigences est une démarche indispensable à tout processus de gestion des exigences et à la maitrise d’un cycle de vie produit. Dans le cadre d’une démarche de cybersécurité, qui doit être pensée dès les étapes initiales d’un projet comme l’indique l’ANSSI dans son document « La cybersécurité des systèmes industriels », elle est tout autant essentielle, permettant de s’assurer que les contraintes cybersécurité ont été envisagées dès la spécification et conception du système industriel, mais aussi qu’elles n’ont pas été traitées de manière isolée au reste du projet, donc qu’elles sont intégrées dans le projet comme un métier, au même titre que l’électronique, le logiciel, la mécanique, ...

Cependant, tracer les exigences s’avère souvent difficile au sein de projets industriels complexes. Existe-t-il des moyens de la faciliter, ou de l’automatiser ?

Qu’est-ce que la traçabilité des exigences ?

La traçabilité des exigences permet à tout instant de connaitre facilement les liens entre exigences utilisateurs, exigences de spécification, de conception, la réalisation et les tests associés. Elle permet donc de répondre aux questions suivantes :
  • Comment a-t-on implémenté, dans notre produit, cette exigence de notre client ?
  • A-t-on oublié une demande client, dans notre développement produit ?
  • Quels tests permettent de montrer que cette demande client est couverte ?
  • Quel impact aurait une modification de cette exigence, sur le reste du cycle de vie produit ?
La traçabilité des exigences permet donc non seulement de ne pas oublier une demande client dans la réalisation de son produit, mais aussi et surtout de détecter des incompatibilités entre demandes clients, normes, contraintes techniques, moyens disponibles… Elle nécessite la mise en place préalable d’une démarche de gestion des exigences, c’est-à-dire de :
  • Décrire un système en fragmentant sa complexité en portions de dimensions réduites, idéalement unitaires (une seule idée par exigence), plus faciles à maîtriser humainement (comprendre, discuter, vérifier, tester) ;
  • Créer un identifiant unique pour chaque exigence, permettant de les distinguer sans erreur.
La traçabilité des exigences est un concept clé en gestion des exigences, ainsi qu’en analyse d’impact. Elle est donc essentielle à tout projet incorporant des contraintes de sûreté et de sécurité.

Assurer la traçabilité des exigences : un tableur suffit… jusqu’à un certain point !

Assurer la traçabilité des exigences, c’est donc lier une exigence avec une autre de plus « haut » niveau, c’est-à-dire de l’étape précédente dans le cycle de vie produit. On dit que les exigences en « aval » couvrent les exigences en « amont ». Le but est donc de vérifier à chaque étape du cycle de vie, qu’aucune exigence de l’étape précédente n’a été oubliée.

On parle de « traçabilité bidirectionnelle » car on doit pouvoir tracer une exigence en sens inverse, notamment depuis son plus haut niveau jusqu’au niveau le plus bas : il s’agit d’une analyse d’impact.

Effectuer cette tâche peut donc être effectué au travers d’un tableau Excel®, voire sur une simple feuille… Il s’agit concrètement d’indiquer qu’une exigence A couvre une exigence B, A et B étant des identifiants uniques. Ce tableau est appelé « matrice de traçabilité », et liste l’ensemble des liens entre exigences.

La complexité provient lorsque le nombre d’exigences explose, comme cela est le cas pour tout projet industriel mettant en place un cycle de développement clarifié et rigoureux. La matrice de traçabilité devient très volumineuse, un temps de plus en plus important est consommé à la mettre à jour, et le taux d’erreur devient important :
  • On oublie de mettre à jour la matrice (il suffit d’une seule fois !) ;
  • On se trompe dans l’identifiant utilisé ;
  • Les documents Word® ou Excel® n’étant pas initialement conçus pour être partagés, un temps important est consommé à s’envoyer la « dernière version » du document, voire à effectuer des fusions entre versions différentes d’un même document ;
  • Les documents ne sont pas accessibles pour tout le monde en même temps : cette limitation devient contraignante lorsque l’équipe projet commence à s’étoffer (4-5 personnes) ;
  • Comparer deux versions d’une même matrice de traçabilité est très difficile, ou nécessite de sauvegarder chaque état d’un document : cela revient à effectuer soi-même une gestion documentaire.
L’approche « manuelle » devient vite pénalisante pour le bon suivi du projet.

Automatiser la traçabilité des exigences : deux approches

TBmanager_LDRA
Vous utilisez la suite LDRA pour vos analyses statiques et dynamiques de code ? Alors TBmanager, outil de traçabilité des exigences de la suite LDRA, est fait pour vous !

LDRA TBmanager permet :
  • D’assurer la traçabilité et le suivi des exigences sur tout le cycle de vie logiciel ;
  • De suivre les objectifs des normes de Sûreté de Fonctionnement Logiciel (DO-178, DO-278, IEC 61508, IEC 62304, ISO 26262, EN 50128, …) ;
  • De lier automatiquement les exigences avec les tests effectués avec le reste de la suite LDRA (vérification de règles de codage et de métriques qualité logiciel, couverture de code, tests unitaires et d’intégration) permettant de les vérifier.
TBmanager_LDRA
Les exigences sont associées à des tests effectués par le reste de la suite LDRA.

exigence_bas_niveau
Les exigences bas niveau sont associées à des fonctions de code, ainsi qu’à des tests effectués par le reste de la suite LDRA : les exigences en vert sont vérifiées (les résultats des tests associés à ces exigences sont cohérents)

taux_couverture
Affichage du taux de couverture des exigences.

La gestion des exigences grâce à Visure Requirements

Vous cherchez à non seulement assurer la traçabilité de vos exigences, mais aussi à les gérer sur l’ensemble du cycle de vie produit ?

Ou alors vous cherchez, comme le suggère l’ANSSI, à traiter les contraintes cybersécurité de votre projet comme un métier à part entière, au même titre que l’électronique, le logiciel, la mécanique, ..., à gérer les exigences de chaque métier, d’associer les liens et dépendances entre elles ?

Alors adoptez l’outil de gestion des exigences Visure Requirements !
VISURE
Visure Requirements permet :
  • De sauvegarder l’ensemble des exigences, informations, dans une base de données centralisée (installée chez le client) ;
  • D’assurer une traçabilité complète entre demandes clients, exigences, tests, gestion des risques, exigences normatives, …
  • D’intégrer votre cycle de vie produit et projet, de créer des rôles (ingénieur système, concepteur, ingénieur qualité, responsable projet, testeur, …) et de les associer à des tâches de vérification à chaque étape ;
  • De segmenter les informations et de créer des vues spécifiques pour chaque rôle ;
  • De comparer facilement des versions d’une même exigence, de créer des baselines ;
  • De créer un workflow personnalisé de validation d’exigences, d’associer des relecteurs ;
  • D’importer et d’exporter des exigences contenues dans des documents Word® ou Excel® : lors d’une réunion client, exportez vos exigences dans un document Word® ou Excel®, notez les modifications, puis réimportez-les dans la base de données en un clic !
tracabilite_VISURE
Traçabilité des exigences entre risques, mesures de maitrise du risque et exigences électroniques.
ProcessusCycle_VISURE
Dans Visure, modélisez votre processus de cycle de vie produit, et associez les tâches de rédaction d’exigences, de vérification et de relecture par rôle !

Micael MARTINS - Responsable Assurance Qualité Logiciel – mmartins@isit.fr