You are on page 1of 5

(publi dans la Revue Canadienne IEEE, Automne 2005 : http://ieee.ca/canrev/cr51/cr51.

pdf)

INGNIERIE DES EXIGENCES


Loutil de support GenSpec
par Ren Bujold, ing.
Hydro-Qubec

1.0 INTRODUCTION
RSUM
Cet article en complmente un autre publi lautomne 2004 [1]. Il
prsente GenSpec , loutil de support lingnierie des exigences
dvelopp Hydro-Qubec. Il prsente plus prcisment :
1) le domaine de lingnierie des exigences (2.0) ;
2) les problmes les plus souvent rencontrs dans ce domaine
(3.0) ;
3) une solution ces problmes : GenSpec (4.0) ;
4) les avantages de cette solution (5.0).
Cet article sadresse toute personne concerne par la dfinition des
exigences dun produit ou service. Par produit, on entend tout systme ou sous-systme tel quune installation, un quipement, un
appareil, un composant matriel ou un composant logiciel.

2.0 DOMAINE
Cette section prsente le domaine de lingnierie des exigences :
1) Contexte
2) Contenu
3) Importance
2.1 Contexte
Lingnierie des exigences est une activit du processus de fourniture
et dacquisition. Elle fait le lien entre le client et le fournisseur. Ses
intrants sont les besoins ou exigences brutes spcifis par le client.
Ses extrants sont les documents dexigences : norme, appel doffres,
contrat, devis, cahier des charges, spcification, etc.
2.2 Contenu
Lingnierie des exigences inclut :
a) la collecte, lanalyse, la filtration, la complmentation, la caractrisation, la structuration, la liaison et la documentation
des exigences ;
b) la ngociation des exigences avec le client et le fournisseur ;
c) limplantation et le suivi de la traabilit des exigences ;
d) la gestion des modifications dexigences.
2.3 Importance
Lingnierie des exigences est une activit trs importante du processus de fourniture et dacquisition. tel point que, si elle est nglige,
plusieurs besoins du client ne sont jamais compris par le fournisseur
ou ne le sont quaprs ou peu avant la livraison. Il en dcoule les
problmes majeurs suivants :
a) Augmentation des cots et dlais de ralisation : la comprhension dun besoin aprs ou peu avant la livraison implique
souvent de recommencer la ralisation, au moins en partie.
b) Diminution de la qualit : lincomprhension dun besoin implique que le produit ne rpondra pas ce besoin ; et la comprhension dun besoin aprs ou peu avant la livraison
implique souvent que le produit ne rpondra pas ce besoin
ou ne sera que sommairement corrig pour y rpondre le
mieux possible.

2005-11-16 07:26

Faisant le lien entre le client et le fournisseur, lingnierie des exigences est une activit trs importante du processus de fourniture et
dacquisition. Or, elle est souvent nglige, laccent tant mis sur la
ralisation. De ce fait, plusieurs besoins du client ne sont jamais
compris par le fournisseur ou ne le sont quaprs ou peu avant la
livraison. Il en dcoule des problmes majeurs de cots et de qualit
de produit (ou service). Pour rsoudre ces problmes, HydroQubec a dvelopp un outil en 2001 : GenSpec. Ce dernier permet
lentre des exigences dans une base de donnes, quelques vrifications automatiques de ces exigences et la gnration de documents
dexigences. Rigoureusement bas sur des normes internationales,
GenSpec vise (1) rduire le cot de lingnierie des exigences, (2)
faciliter la comprhension des exigences et (3) spcifier des
exigences correctes, savoir exactes, compltes, cohrentes et
validables. Pour les intresss, une version gratuite et complte,
mais non supporte, de loutil est disponible sur demande.

Lingnierie des exigences est une activit non seulement importante


mais aussi essentielle la fourniture et lacquisition. En effet, les
exigences sont la base de lentente client-fournisseur. De surcrot,
elles sont la base de la fourniture et de lacquisition : base de ralisation ; base de validation et dacceptation par le client ; base de documentation.

3.0 PROBLMES
Cette section prsente les problmes les plus souvent rencontrs en
ingnierie des exigences :
1) Exigences coteuses
2) Exigences difficiles comprendre
3) Exigences incorrectes
3.1 Exigences coteuses
Lingnierie des exigences est une activit souvent coteuse, pour les
raisons suivantes :
1)
2)
3)
4)

Exigences incluant moyens de ralisation


Exigences mal structures
Formatage manuel non normalis
Exigences difficiles comprendre ou incorrectes

3.1.1 Exigences incluant moyens de ralisation : les exigences ne


font pas abstraction des moyens de ralisation. Lorsque survient un
changement de ces moyens, lingnierie des exigences doit tre recommence. Cela occasionne des cots supplmentaires importants,
en particulier lors dun changement de technologie.
EXEMPLE En 1990, un systme est dvelopp et lingnierie des
exigences ne fait pas abstraction des moyens de ralisation. En 2000,
les technologies utilises sont obsoltes. Pour pallier ce problme, un
nouveau systme rpondant aux mmes besoins est dvelopp : nouvelles technologies, nouvelle architecture. Lingnierie des exigences
est alors recommence, une charge de travail de plusieurs personnesannes ; pourtant, les besoins nont pas chang, sauf exceptions.

page 1

(publi dans la Revue Canadienne IEEE, Automne 2005 : http://ieee.ca/canrev/cr51/cr51.pdf)


NOTE Le Tableau 1, prsent la fin de cet article, relie les problmes avec la solution GenSpec.

laquelle elles dcoulent, en particulier lorsque cette exigence source


est spcifie dans un autre document.

3.1.2 Exigences mal structures : les exigences ne sont pas bien


structures. Lorsque survient le moment de modifier une exigence,
cela a des rpercussions sur plusieurs autres exigences non clairement
identifies. Cela exige de revoir lensemble des exigences.

3.3 Exigences incorrectes

3.1.3 Formatage manuel non normalis : le format de prsentation de


chacune des exigences nest pas automatique ou formellement normalis. Lorsque survient une modification de format dune exigence, il
faut revoir le format des autres, afin dassurer luniformit et ainsi
faciliter la lecture.
3.1.4 Exigences difficiles comprendre ou incorrectes : les exigences sont difficiles comprendre ou incorrectes du point de vue du
client ou du fournisseur. Cela exige de revoir les exigences plusieurs reprises, constituant en effet une autre raison pour laquelle
lingnierie des exigences est une activit souvent coteuse.
3.2 Exigences difficiles comprendre
Les exigences sont souvent difficiles comprendre, pour les raisons
suivantes :
1) Exigences mal structures
2) Exigences ambigus
3) Exigences difficilement retraables
3.2.1 Exigences mal structures :
a) Mal regroupes : certaines exigences semblent regroupes de
faon arbitraire.
b) Non graduelles : plusieurs exigences ne sont pas prsentes
de faon graduelle, de la vue densemble la vue dtaille.
c) Caches : plusieurs exigences
sont caches dans un
mme paragraphe, parmi
dautres informations complmentaires. En effet, elles
ne sont pas clairement identifies par un code, un numro
ou lutilisation dun verbe
dexigence tel devoir .
Consquemment, des exigences sont escamotes lors de la
ralisation ou de la validation.

Les exigences sont souvent incorrectes, pour les raisons suivantes :


1)
2)
3)
4)

Exigences inexactes
Exigences incompltes
Exigences incohrentes
Exigences invalidables

3.3.1 Exigences inexactes : le produit na pas rpondre ces exigences du point de vue du client ou du fournisseur. Elles proviennent
gnralement dune incomprhension du besoin ou dun problme de
gestion des modifications dexigences.
3.3.2 Exigences incompltes : elles ne couvrent pas tous les intrants
et extrants requis, toutes les fonctions requises ou toutes autres caractristiques telles les performances requises ; ou elles ne sont pas
priorises, ne fournissement pas toutes les informations ncessaires
leur comprhension ou comportent lexpression dterminer .
3.3.3 Exigences incohrentes : elles se contredisent ou utilisent des
mots diffrents pour traiter des mmes sujets.
3.3.4 Exigences invalidables : il nexiste aucune procdure acceptable permettant de les valider. Ces exigences utilisent souvent des
intrants ou extrants internes ou des mots imprcis tels que habituel , rapide ou convivial .
EXEMPLE Lexigence suivante Le systme doit faire la somme
des puissances consommes nest pas validable si son extrant, cette
somme, nest pas disponible sur une interface externe tel un cran.

3.2.2 Exigences ambigus : elles ont


plusieurs interprtations possibles.
Elles peuvent tre claires pour le
client mais ambigus pour le fournisseur, ou inversement, le contexte du
client tant diffrent de celui du
fournisseur.
EXEMPLE Le
systme
doit
permettre la tlcommande Pour le
client Hydro-Qubec, dans le
contexte dun poste lectrique, tlcommande dsigne une tlcommande dun appareil du poste
effectue de lextrieur du poste. Pour
le fournisseur, cela peut dsigner en
plus une tlcommande de cet appareil effectue de lintrieur du poste.
3.2.3 Exigences difficilement retraables : il est difficile voire impossible de trouver lexigence source de
2005-11-16 07:26

Figure 1 Outil GenSpec


page 2

(publi dans la Revue Canadienne IEEE, Automne 2005 : http://ieee.ca/canrev/cr51/cr51.pdf)

4.0 GENSPEC
Cette section prsente la solution, loutil GenSpec :
1) Description gnrale
2) Fonctions principales
3) Fonctions secondaires
4.1 Description gnral
Pour rsoudre ces problmes, Hydro-Qubec a dvelopp un outil en
2001 : GenSpec. Ce dernier permet lentre des exigences dans une
base de donnes, quelques vrifications automatiques de ces exigences et la gnration de documents dexigences. La Figure 1 prsente
son interface personne-machine : droite apparat larbre
dexigences ; gauche, le formulaire dentre de lexigence slectionne.
GenSpec a t dvelopp notamment partir de normes internationales [2][3][4][5] et de documents de la NASA [6][7] et de la Dfense
des tats-Unis dAmrique [8] :
a) exigences hirarchises,
b) une seule exigence par paragraphe,
c) un numro de rfrence unique par exigence,
d) etc.
En particulier, la norme 12207 de ISO/CEI/IEEE [5], un document de
trs haute qualit, a t utilise comme modle de document
dexigences.
4.2 Fonctions principales
Les fonctions principales de GenSpec sont les suivantes :
1)
2)
3)
4)

Dfinition des exigences


Caractrisation des exigences
Structuration et liaison des exigences
valuation de conformit aux exigences

4.2.1 Dfinition des exigences : cette fonction permet plusieurs


utilisateurs en mme temps (multi-utilisateur) dentrer ou de modifier
des exigences ; elle supporte notamment les commandes Chercher et
Remplacer (voir Figure 2). De plus, elle permet de gnrer les documents dexigences : spcification, arbre dexigences, etc (voir
Figure 3).

Figure 3 Gnration des documents


4.2.2 Caractrisation des exigences : par exigence, cette fonction
gnre un numro de rfrence unique et permet dentrer
lidentification de la source (rfrence un paragraphe dun autre
document), la priorit, une note, un commentaire et un fichier joint,
tous pouvant tre gnrs dans le document dexigences (voir
Figure 4).
NOTE la demande, les exigences commentes apparaissent en
vert dans larbre dexigences.

Figure 4 Donnes complmentaires


4.2.3 Structuration et liaison des exigences : cette fonction permet de
structurer et de lier les exigences (renvois) par de simples commandes
clic et glisse. De plus, elle offre des facilits de navigation telle une
commande daller-retour rapide entre lorigine et la destination dun
lien.
NOTE la demande, les exigences relies apparaissent en bleu
dans larbre dexigences.

Figure 2 Recherche / Remplacement


2005-11-16 07:26

4.2.4 valuation de conformit aux exigences : par exigence, cette


fonction permet dentrer des procdures dvaluation de conformit,
et le rsultat de cette valuation (voir Figure 5). De plus, elle permet
page 3

(publi dans la Revue Canadienne IEEE, Automne 2005 : http://ieee.ca/canrev/cr51/cr51.pdf)


de gnrer un rapport dvaluation contenant les exigences, leurs
procdures dvaluation et les rsultats de cette valuation.

5.1 Rduction des cots


GenSpec rduit les cots de lingnierie des exigences :
a) Concentre les efforts sur les exigences plutt que sur le formatage, les documents tant gnrs automatiquement.
b) Permet de structurer facilement les exigences.
c) Permet de gnrer automatiquement des textes de dbut
dexigence, aidant, de surcrot, la normalisation.
d) Facilite la liaison des exigences.
e) Gnre automatiquement le rapport dvaluation.
f) Facilite la lecture (5.2), rduit la quantit derreurs (5.3) et
respecte des normes internationales (5.4).

NOTE En double-cliquant dans Procdure , lutilisateur a accs


une plus grande zone ddition.
Figure 5 Procdures dessais
4.3 Fonctions secondaires
Les fonctions secondaires de GenSpec sont les suivantes :
1)
2)
3)
4)

Contrle et analyse des exigences


Normalisation des exigences
Configuration des documents dexigences
Gestion de lhistorique des exigences

4.3.1 Contrle et analyse des exigences : cette fonction empche


dintroduire des incohrences de hirarchie ou de liaison dexigences
rgles de hirarchie et de liaison paramtrables et, en particulier,
de supprimer une exigence laquelle dautres renvoient. De plus, elle
offre un vrificateur dexigences (voir Figure 6), y compris un vrificateur dorthographe et de grammaire. De surcrot, elle permet de
gnrer un tableau Sources Vs Exigences, facilitant la vrification de
lexactitude des exigences.
NOTE la demande, les exigences en erreur apparaissent en rouge
dans larbre dexigences.
4.3.2 Normalisation des exigences : cette fonction permet de gnrer
automatiquement des textes de dbut dexigence selon le type
dexigence texte et type paramtrables. De plus, elle permet de
dfinir et dutiliser des variables dans les textes dexigences.

5.2 Facilitation de la lecture


GenSpec facilite la lecture des exigences :
a) Oriente bien structurer les exigences, un paragraphe par
exigence, graduellement, de la vue densemble la vue dtaille, bas sur une notion darbre dexigences : exigences parents sous lesquelles se retrouvent des exigences enfants, les
exigences parents tant la synthse (vue densemble) de leurs
enfants.
b) Permet de lier chacune des exigences aux besoins du client ou
exigences sources.
c) Offre une grande quantit doptions de formatage des documents gnrs.
d) Uniformise les documents dexigences, parce que gnrs automatiquement.
e) Rduit la quantit derreurs (5.3) et respecte des normes internationales (5.4).
5.3 Rduction de la quantit derreurs
GenSpec rduit la quantit derreurs dexigences :
a) Gnre un tableau de vrification : Sources Vs Exigences.
b) Facilite la couverture de lensemble des exigences : dfinition
de tous les intrants et extrants sur les interfaces externes et
liaison de chacun deux aux fonctions, et inversement.
c) Empche dintroduire des incohrences de hirarchie ou de

4.3.3 Configuration des documents dexigences : cette fonction


offre une grande quantit doptions de formatage des documents
gnrs ; elle permet notamment den exclure des exigences et
den inclure dautres avec la mention Non applicable .
4.3.4 Gestion de lhistorique des exigences : cette fonction
permet dentrer et de visualiser la raison de modification dune
exigence par rapport la version antrieure, et denregistrer une
version formelle de lensemble des exigences. De plus, elle
permet de comparer la version actuelle avec une version antrieure, et de ramener une ou toutes les exigences telles quelles
taient une version antrieure. Enfin, elle permet de gnrer un
tableau Historique des modifications dexigence. En complment, elle permet denregistrer de simples copies de scurit des
exigences.

5.0 AVANTAGES
Cette section prsente les avantages de GenSpec par rapport
un logiciel de traitement de texte :
1)
2)
3)
4)

Rduction des cots


Facilitation de la lecture
Rduction de la quantit derreurs
Respect des normes internationales

2005-11-16 07:26

Figure 6 Vrification des exigences

page 4

(publi dans la Revue Canadienne IEEE, Automne 2005 : http://ieee.ca/canrev/cr51/cr51.pdf)


liaison dexigences.
d) Simplifie les corrections et mises jour des exigences et des
procdures dvaluation, ces procdures tant dfinies avec
les exigences.
e) Offre un vrificateur dexigences (voir Figure 6).
f) Permet dutiliser des variables dans les textes dexigences.
g) Gre un historique des modifications dexigence.
h) Facilite la lecture (5.2) et respecte des normes internationales
(5.4).
5.4 Respect des normes internationales
GenSpec respecte des normes internationales, dont les normes pertinentes de IEEE [2][3] et de ISO/CEI [4]. En effet, en plus des avantages ci-dessus, GenSpec :
a) Fixe un numro de rfrence unique par exigence.
b) Oriente noncer des exigences validables, faisant abstraction des moyens de ralisation, les intrants et extrants
dexigences ne pouvant tre que ceux des interfaces externes.
c) Facilite la modification des exigences, tant bien structures
et les liens entre exigences tant clairement dfinis : liens parent-enfant, liens intrant-extrant-fonction et autres liens (renvois).
d) Dfinit la priorit de chacune des exigences.

6.0 CONCLUSION
Plusieurs problmes importants sont rencontrs en ingnierie des
exigences : prs dune douzaine identifie 3.0. Compte tenu de
limportance de cette activit, de ses impacts majeurs sur les cots et
la qualit des produits (ou services), il est hautement souhaitable que
ces problmes soient rsolus.
GenSpec apporte une solution, tel que montr par le Tableau 1. Assurment, il impose la rigueur ncessaire cette ingnierie et augmente
la qualit des documents dexigences.
Pour ces raisons, depuis 2002, il est formellement convenu la direction Expertise dHydro-Qubec quipement dutiliser cet outil pour
lingnierie des exigences de tous ses automatismes.
GenSpec est toujours en cours dvolution. Pour les intresss, il
nest pas prvu de le commercialiser, mme long terme, ntant pas
dans la mission dHydro-Qubec de dvelopper et commercialiser un
tel outil. Cependant, une version gratuite et complte, mais non supporte, de GenSpec est disponible sur demande. cet gard, plusieurs se sont dj montrs intresss : Universits (Paris, Ottawa,
etc), Centres de recherche (CNRS, ONERA, etc), Entreprises publiques ou prives (Ministre de la Dfense de France, Desjardins, etc)
et Associations professionnelles (IEEE Internationale, AFIS, etc).

7.0 DOCUMENTS DE RFRENCE


[1] Ingnierie des exigences, Une mthode simple et systmatique,
Revue Canadienne IEEE, Automne 2004.
(http://ieee.ca/canrev/cr48/cr48.pdf )
[2] IEEE Std 1233-1998, IEEE Guide for Developing System Requirements Specifications, 1998.
[3] IEEE Std 830-1998, IEEE Recommended Practice for Software
Requirements Specifications, 1998.
[4] Directives ISO/CEI, Partie 2, Rgles de structure et de rdaction
des Normes internationales, 2001.
(http://www.iec.ch/tiss/iec/Directives-Partie2-Ed4.pdf)
[5] ISO/CEI/IEEE 12207, Traitement de linformation, Ingnierie
du logiciel, Processus du cycle de vie du logiciel, 1995.
[6] Writing Effective Requirements Specifications, NASA, 1997.
(http://satc.gsfc.nasa.gov/support/STC_APR97/write/writert.htm
)
[7] Wide - Field Infrared Explorer (WIRE), Command & Data
Handling, Flight SRS, Draft, NASA, 1996.
(http://sunland.gsfc.nasa.gov/smex/wire/mission/cdhsw/wirrqtop
.htm)
[8] Writing Effective Natural Language Requirements Specifications, Crosstalk, The journal of Defense Software Engineering,
1999. (http://www.stsc.hill.af.mil/crosstalk/1999/02/wilson.pdf)

8.0 REMERCIEMENTS
Andr Lemire, Van Thich Nguyen, Michel Ouellet, Pierre-N. Robillard, Michel Vincelette.

PROPOS DE LAUTEUR
Ren Bujold est ingnieur la direction Expertise dHydro-Qubec quipement. Diplm de
lcole de technologie suprieure en 1988, Membre de lOrdre des ingnieurs du Qubec, il a
oeuvr dans tous les aspects du dveloppement
de systme : tude davant-projet, ingnierie des
exigences, conception matrielle et logicielle,
implmentation, vrification et validation, etc.
Au cours de ces annes, il a dvelopp un intrt
particulier pour lactivit fondamentale et la plus problmatique du
processus de dveloppement : lingnierie des exigences. Il est
lorigine et le responsable du dveloppement de loutil GenSpec.

Tableau 1 Liens problme-solution


Problme
3.1.1
3.1.2
3.1.3
3.1.4
3.2.1
3.2.2
3.2.3
3.3.1
3.3.2
3.3.3
3.3.4

Solution
5.1f) [5.4b)]
5.1b) ; 5.1d) ; 5.1f) [5.2a)]
5.1a) ; 5.1c)
Solutions aux problmes 3.2.1 3.3.4
5.2a)
5.2b) ; 5.2c) ; 5.2d)
5.2a) ; 5.2b)
5.3a) ; 5.3b) ; 5.3c) ; 5.3d) ; 5.3e) ; 5.3g) ; 5.3h) [5.2b)]
5.3a) ; 5.3b) ; 5.3c) ; 5.3d) ; 5.3e) ; 5.3g) ; 5.3h) [5.4a) ;
5.4d)]
5.3c) ; 5.3f) ; 5.3h) [5.1c)]
5.3e) ; 5.3h) [5.4b)]

2005-11-16 07:26

page 5

You might also like