ScholarGate
Assistant

Spécification des exigences

La spécification des exigences est l'activité qui consiste à documenter les exigences recueillies et analysées sous une forme précise, cohérente et vérifiable, servant de base convenue pour la conception, la construction et l'acceptation.

Trouver un sujet avec PaperMindBientôtFind papers & topics
Tools & resources
Télécharger les diapositives
Learn & explore
VidéoBientôt

Definition

La spécification des exigences est la production d'une représentation documentée des exigences du système, rédigée de manière à ce que chaque exigence soit non ambiguë, vérifiable et traçable, et que l'ensemble de la collection soit cohérent et complet.

Scope

Ce sujet couvre la structure et le contenu d'une spécification des exigences logicielles ; les styles allant du langage naturel structuré aux cas d'utilisation, aux récits d'utilisateurs (user stories) et aux modèles formels ; les attributs de qualité des bonnes exigences tels que l'absence d'ambiguïté, l'exhaustivité, la cohérence et la testabilité ; et les normes telles que l'ISO/IEC/IEEE 29148 qui prescrivent le contenu des spécifications.

Core questions

  • Comment les exigences en langage naturel peuvent-elles être rendues non ambiguës et vérifiables ?
  • Quand les spécifications formelles ou basées sur des modèles sont-elles pertinentes ?
  • Quels attributs de qualité caractérisent une bonne spécification ?
  • Comment les exigences fonctionnelles et non fonctionnelles devraient-elles être organisées dans un document ?

Key theories

Attributs de qualité des exigences
Les exigences individuelles devraient être non ambiguës, vérifiables, réalisables et nécessaires, tandis que l'ensemble devrait être complet, cohérent et traçable ; ces attributs fournissent des critères concrets pour l'examen d'une spécification.
Spécification formelle versus informelle
Les spécifications vont du langage naturel structuré et des cas d'utilisation aux notations mathématiques formelles ; la formalité augmente la précision et l'analysabilité au prix de l'effort et de l'accessibilité, de sorte que le niveau est choisi en fonction du risque et du public.

Clinical relevance

Une spécification claire constitue le contrat entre les parties prenantes et les développeurs, ainsi que la référence pour la vérification ; toute ambiguïté ou omission dans la spécification peut se propager en conceptions défectueuses et en litiges concernant ce qui a été promis.

Evidence & guidelines

L'ISO/IEC/IEEE 29148 définit la structure recommandée et les caractéristiques de qualité des spécifications d'exigences et constitue la principale norme régissant leur contenu.

History

Les premières spécifications étaient largement rédigées en prose libre ; la norme IEEE 830 a formalisé la spécification des exigences logicielles dans les années 1990, et des travaux ultérieurs ont introduit les cas d'utilisation, les récits d'utilisateurs (user stories) et les notations basées sur des modèles et formelles, aboutissant à la norme consolidée ISO/IEC/IEEE 29148.

Debates

Documents exhaustifs versus récits d'utilisateurs (user stories) légers
La pratique axée sur la planification privilégie les documents de spécification exhaustifs, tandis que la pratique agile préfère les récits d'utilisateurs (user stories) légers élaborés juste à temps ; le choix arbitre entre l'exhaustivité et la clarté contractuelle d'une part, et l'adaptabilité et la réduction des frais généraux de documentation d'autre part.

Key figures

  • Axel van Lamsweerde
  • Michael Jackson
  • Ian Sommerville

Related topics

Seminal works

  • iso29148
  • vanlamsweerde2009
  • sommerville2015

Frequently asked questions

Qu'est-ce qui rend une exigence testable ?
Une exigence est testable lorsqu'elle est énoncée avec une précision suffisante pour qu'une procédure objective puisse déterminer si le système livré la satisfait ; les termes vagues comme « rapide » ou « convivial » doivent être quantifiés ou se voir attribuer des critères d'acceptation mesurables.
Les récits d'utilisateurs (user stories) remplacent-ils les spécifications d'exigences ?
Les récits d'utilisateurs (user stories) sont un style de spécification léger adapté au développement itératif, mais ils nécessitent toujours des critères d'acceptation et, pour les systèmes complexes ou réglementés, ils sont souvent complétés par une documentation plus détaillée afin d'assurer l'exhaustivité et la traçabilité.

Methods for this concept

Related concepts