La gestion des exigences est une approche systématique consistant à chercher, documenter, organiser et contrôler les
exigences changeantes d'un système.
Une exigence est une "condition ou une capacité à laquelle le système doit répondre".
Nous définissons la gestion des exigences de façon formelle comme une approche aux deux éléments suivants :
-
recueillir, organiser et documenter les exigences du système
-
établir et gérer un accord entre le client et l'équipe de projet sur les exigences changeantes du système.
Les clés d'une gestion efficace des exigences consistent à établir un compte-rendu clair des exigences, ainsi que des
attributs et une traçabilité adaptés à d'autres exigences et artefacts de projet.
La collecte des exigences peut paraître une tâche rectiligne. En réalité, cependant, les projets connaissent des
difficultés pour les raisons suivantes :
-
Les exigences ne sont pas toujours évidentes et peuvent provenir de plusieurs sources.
-
Les exigences ne sont pas toujours faciles à exprimer en mots.
-
Il y a différents types d'exigences à différents niveaux de détail.
-
Le nombre d'exigences peut devenir ingérable s'il n'est pas contrôlé.
-
Les exigences se rapportent les unes aux autres ainsi qu'à d'autres livrables du processus de conception du
logiciel.
-
Les exigences ont des propriétés ou des valeurs de propriétés uniques. Par exemple, elles ne sont ni également
importantes ni également faciles à satisfaire.
-
Il y a plusieurs parties intéressées, ce qui signifie que les exigences doivent être gérées par des groupes ou des
personnes inter-fonctionnels.
-
Changement des exigences.
Quel que soit le soin que vous apportez à la définition de vos exigences, il y aura toujours des choses qui changeront.
Ce qui rend l'évolution des exigences complexe à gérer n'est pas seulement le fait qu'un changement d'exigence signifie
plus ou moins de temps passé dans l'implémentation d'une nouvelle fonctionnalité particulière, mais également qu'un
changement d'une exigence peut avoir un impact sur les autres exigences. La gestion des changements comprend des
activités telles que l'établissement d'une version de référence, l'identification des dépendances importantes à tracer,
la définition de la traçabilité entre les éléments associés et le contrôle des changements.
Nous recommandons d'organiser vos exigences fonctionnelles en utilisant les cas d'utilisation. Plutôt que d'établir une
liste non numérotée des exigences, organisez-la de façon à ce qu'elle exprime comment une personne peut utiliser le
système. Cela permet plus d'exhaustivité et de cohérence, ainsi qu'une meilleure compréhension de l'importance d'une
exigence du point de vue de l'utilisateur.
A partir d'un modèle système traditionnel axé sur l'objet, il est souvent difficile d'établir si un système fonctionne
comme il doit le faire. Cette difficulté vient du manque de "fil rouge" à l'intérieur du système lorsqu'il exécute
certaines tâches. Dans le Rational Unified Process (RUP), les cas d'utilisation forment ce fil rouge car ils
définissent le fonctionnement du système. Les cas d'utilisation ne font pas partie d'une orientation traditionnelle
axée sur les objets, mais leur importance est de plus en plus apparente. Ceci est d'autant plus souligné par le fait
que les cas d'utilisation font partie de l'Unified Modeling Language.
Le RUP utilise une approche guidée par les cas d'utilisation, ce qui signifie que les cas d'utilisation définis pour un
système forment la base du processus de développement global.
Les cas d'utilisation jouent un rôle dans plusieurs disciplines.
-
Le concept des cas d'utilisation peut être utilisé pour représenter les processus métier. Cette variante de cas
d'utilisation est appelée un cas d'utilisation métier. Ils sont traités dans la discipline de modélisation métier.
-
Les cas d'utilisation en tant qu'exigences logicielles sont décrits dans la discipline exigences. Les cas
d'utilisation constituent un concept fondamental qui doit être acceptable pour le client, les développeurs et les
testeurs du système.
-
Dans la discipline de gestion de projet, les cas d'utilisation sont utilisés comme base du développement itératif
de la planification.
-
Les cas d'utilisation sont créés dans un modèle de conception comme faisant partie de la discipline d'analyse et de
conception. Les réalisations de cas d'utilisation décrivent comment le cas d'utilisation est pris en charge par la
conception en terme d'interaction des objets dans le modèle de conception.
-
Les cas d'utilisation deviennent au final des scénarios implémentés et susceptibles d'être testés, et sont pour
cette raison un élément important des disciplines de test et d'implémentation. Ils sont utilisés pour extraire des
cas de test et des scripts de test ; la fonctionnalité du système est vérifiée en exécutant des scénarios de test
contrôlant chaque cas d'utilisation.
-
Dans la discipline de déploiement, les cas d'utilisation forment une base pour ce qui est décrit dans les manuels
utilisateur. Les cas d'utilisation peuvent également être utilisés pour définir les unités de commande du produit.
Par exemple, un client peut configurer un système à partir d'un assortiment de cas d'utilisation.
|