Qu'est-ce que l'ingénierie des exigences?

Les gros systèmes matériels ou logiciels, tels que les engins spatiaux, ont des exigences complexes. Les exigences sont une spécification de ce qui doit être construit, de la manière dont le système doit se comporter ou des contraintes imposées au processus de construction du système. L'ingénierie des exigences consiste à utiliser de bonnes pratiques d'ingénierie pour comprendre les exigences avant la construction d'un système. Cela revêt une importance particulière parce que les parties prenantes du système ne sont pas elles-mêmes claires quant à leurs besoins et ont des besoins divergents.

Un système complexe peut avoir de nombreuses parties prenantes telles que les personnes qui le mettent en service, les utilisateurs qui utilisent un ou plusieurs aspects du système et les personnes qui en bénéficient. Il est également possible que les parties prenantes incluent des membres du public affectés par certaines particularités du système. Les parties prenantes ont leurs propres besoins. D'autre part, les personnes qui développent le système peuvent être techniquement capables, mais peuvent ne pas comprendre complètement le point de vue des parties prenantes. L'ingénierie des exigences est la capacité essentielle qui relie ces côtés.

Formellement, l'activité d'ingénierie des exigences est divisée en développement des exigences et gestion des exigences. Le développement des exigences comprend l’élicitation, l’analyse, la spécification et la vérification. La gestion des exigences consiste à contrôler l'intégralité du processus des exigences, en particulier à gérer tout changement dans les exigences. Certains praticiens, au contraire, appellent simplement toute l'activité une analyse des besoins.

Il est nécessaire de préciser les exigences des parties prenantes car celles-ci ne précisent souvent pas complètement leurs besoins et ne comprennent pas les implications du nouveau système. Les parties prenantes peuvent ne pas s'ouvrir, car elles pourraient craindre les conséquences pour leurs emplois actuels. L’élicitation est donc un processus prudent, voire long, où l’empathie et une psychologie subtile sont nécessaires. Il faut veiller à ce que les différences culturelles entre les différentes parties prenantes ainsi que les développeurs soient comblées.

Plusieurs techniques sont utilisées pour déterminer les besoins. Les besoins pourraient être déterminés par des entretiens individuels, des réunions de groupe et l'observation des personnes dans leurs tâches. Les techniques pouvant générer des besoins incluent les groupes de discussion, la création de listes hiérarchisées, le prototypage et la comparaison avec d’autres systèmes en fonctionnement. Les exigences à obtenir incluent les besoins opérationnels du système, les processus opérationnels des utilisateurs lorsqu’ils utilisent le système et les fonctionnalités de ce dernier. En outre, les exigences non fonctionnelles telles que le temps de réponse, la disponibilité du système et la facilité d'utilisation doivent être identifiées.

L'étape d'analyse de l'ingénierie des exigences permet de définir des exigences de bas niveau qui satisferont les exigences de haut niveau d'origine. Cela inclut la création de modèles conceptuels et de prototypes pour vérifier que les exigences sont complètes. Les conflits entre les besoins des différentes parties prenantes sont plus souvent décelés par les modèles et les prototypes que par une simple liste d'exigences. Des caractéristiques souhaitables du système, telles que la sécurité, la flexibilité et la facilité de maintenance, doivent être ajoutées aux exigences des analystes.

Les exigences sont spécifiées dans un document pour faciliter la compréhension de toutes les parties prenantes. Dans le domaine du logiciel, le document est appelé SRS, qui signifie Spécification des exigences logicielles. Les exigences sont vérifiées par les principaux intervenants. C’est principalement via les présentations et le cahier des charges, mais aussi parfois avec des cas de tests correspondant aux besoins.

L'ingénierie des exigences est avant tout une communication, une activité plutôt qu'une technique. Il faut des compétences multidisciplinaires. L'ingénierie des exigences aide les parties prenantes et les développeurs à résoudre les conflits et les unit dans leurs objectifs. Cela conduit à un système robuste.

DANS D'AUTRES LANGUES

Cet article vous a‑t‑il été utile ? Merci pour les commentaires Merci pour les commentaires

Comment pouvons nous aider? Comment pouvons nous aider?