|
|
VALIDATION NUMÉRIQUE - MÉTHODE DE VALIDATION
VALIMODE (FRANÇAIS)
VALIMODE est une méthode de validation du logiciel qui s'est construite à partir de l'utilisation de l'outil logiciel CADNA, outil de validation numérique.
Puis, dans ses dernières versions, VALIMODE a intégré plusieurs principes de la démarche Six Sigma, notamment dans la détermination de la cause profonde pour la démarche de débugging.
Gérer les non conformités logiciels (bugs):
Le produit logiciel (ensemble de codes informatiques)
est la traduction de spécifications pour exécuter des opérations.
La spécification initiale est exprimée en langage naturel et elle
conduit à des transformations successives d’états de codes
informatiques (spécification formelle, pseudo-code, code,
exécutable…) pour aboutir à un exécutable optimisé qui évolue dans
un environnement d’exécution complexe.
|
Notre expérience a montré qu’une source
fréquente de bugs était la traduction incomplète de la
spécification initiale lors de la transformation d’un état du code à
l’autre. De plus, l’introduction progressive des
technologies, au fur et à mesure des transformations
de codes, peuvent introduire des biais qui modifient la spécification
initiale.
|
Ainsi, à chaque étape de transformation du code, on
vérifie le point suivant :
|
Le code transformé
répond-t-il à ce qu’on lui demande de faire ?
|
Application au cas du calcul numérique
:
Cette démarche est totalement formalisée pour les
cas de spécifications faisant appel à des valeurs et des calculs
numériques. Dans ce cas, elle peut faire appel à des outils
d’analyse statique ou dynamique de codes. Elle est
extensible aux spécifications de types plus généraux (ensembliste,
logique, catégorisation…).
Mise en oeuvre de la démarche :
- Établir les étapes significatives de la transformation
de la spécification,
- Pour chaque étape (entre deux transformations), établir
:
- la nature des transformations technologiques,
- le suivi des incidents à la phase de validation
d'étape (statistiques des incidents),
- le suivi des événements (statistiques des
événements),
- Rapprocher les résultats des tests (incidents) et des
opérations (événements) avec la spécification,
- Établir un plan de validation de la spécification (plan
qualité, plan de tests, homologation…)
Principales étapes de la démarche
:
Tableau de suivi de l'élaboration du logiciel
:
|
. |
Spécification analysée
|
|
Etapes
d’élaboration du logiciel |
Transformation |
Gestion des incidents (dpmo) |
Gestion des événements |
|
Expression de
besoins |
|
|
|
|
Spécifications |
|
|
|
|
Conception (choix des
modèles) |
|
|
|
|
Architecture système |
|
|
|
|
Architecture
logiciel |
|
|
|
|
Choix des
algorithmes |
|
|
|
|
Choix des techniques d’implémentation
:
-
Technique de
programmation,
-
Choix du
langage |
|
|
|
|
Choix du compilateur et mise en
oeuvre |
|
|
|
|
Stratégie de tests (pseudo-code, simulé,
exécutable…) |
|
|
|
A chaque étape, on dénombre le nombre de défauts, le nombre
d'événements et l'on recoupe avec le sens de la transformation de l'étape en
question. De cette manière, on rapproche les données statistiques des défauts et
des événements au sens de la transformation, pour déterminer les causes
d'incidents.
Tableau de suivi d'exploitation du logiciel
:
|
Etapes
d’exploitation du logiciel |
Spécification analysée
|
|
|
Transformation |
Gestion des incidents (dpmo) |
Gestion des événements |
|
Tests sur prototype
logiciel |
|
|
|
|
Mise en ligne |
|
|
|
|
Tests de stress |
|
|
|
|
Tests de montée en
charge |
|
|
|
|
Phase d’exploitation
courante |
|
|
|
|
Tests de reprise d’activités
(option) |
|
|
|
|
Tests sur prototype de mise à jour
logiciel |
|
|
|
A chaque étape,on dénombre le nombre de défauts, le nombre
d'événements et l'on recoupe avec les caratéristiques établies à la phase
d'élaboration du logiciel afin d'établir un diagnostic des causes de
panne.
Analyse de la cause profonde :
L'analyse de la cause profonde se conduit en comparant les
statistiques de la phase de développement avec celle de la phase
d'exploitation. L'analyse doit toujours relier les informations apportées par
les statistiques avec le sens de la spécification et de ses transformations
successives.
Benchmark :
Lors de l’étude, les statistiques sur les différentes
étapes seront comparées avec celles de la base de NUMERAL ADVANCE
constituée d’une quinzaine de cas
d’applications de logiciels embarquées.
| Secteurs |
Nombre de
cas |
| Spatial |
3 |
| Aéronautique |
1 |
| Automobile |
3 |
| Télécom |
7 |
Bénéfice de la démarche VALIMODE
:
- Approche de validation liée au sens de la spécification
utilisateur,
- Approche indépendante de la méthode de développement,
de l’arborescence du produit logiciel, du plan qualité ou de
l’organisation de la conduite de projet,
- Utilisation des statistiques internes pour l’analyse de
causes profondes et de la stratégie de résolution,
- Utilisation des statistiques internes pour la
construction du plan de tests,
- Utilisation d’un benchmark de marché pour la
détermination de la meilleure stratégie de tests,
- Compatibilité totale avec la démarche DMAIC ou DFSS du
Lean Sigma.

Informations pratiques
:
|