web-dev-qa-db-fra.com

Meilleure pratique pour l'utilisation de doit et doit lors de la rédaction des exigences

J'ai envoyé un e-mail plus tôt pour rappeler à nos développeurs que, l'utilisation du mot "Shall" dans vos exigences dérivées ne devrait pas répondre à vos exigences fonctionnelles. Lors de l'écriture des exigences fonctionnelles, le mot "Must" est utilisé pour décrire la fonction qu'une exigence dérivée doit remplir.
Dérivé = Système Doit être exigé
Fonctionnel = Le système doit faire l'exigence

Il a été renvoyé par l'un de nos aînés qui, c'était faux et qui devrait être utilisé dans toutes les exigences.

Ai-je tort ici et doit être utilisé dans toutes les exigences. Je n'ai rien trouvé pour étayer cela.

24
Tim Lieberman

RFC 2119 "Les mots clés à utiliser dans les RFC pour indiquer les niveaux d'exigence" vont dans les détails de ce que signifient les différents mots sur les exigences.

Les mots clés "DOIT", "NE DOIT PAS", "OBLIGATOIRE", "DOIT", "NE DOIT PAS", "DEVRAIT", "NE DEVRAIENT PAS", "RECOMMANDÉ", "MAI" et "FACULTATIF" dans ce document sont à interpréter comme décrit dans la RFC 2119.

De ce document:

  • MUST est équivalent à REQUIRED et SHALL indiquant que la définition est une exigence absolue.
  • MUST NOT est équivalent à SHALL NOT et indique qu'il s'agit d'une interdiction absolue des spécifications.
  • SHOULD est équivalent à RECOMMENDED signifie qu'il existe des raisons valables d'ignorer une exigence particulière, mais les implications doivent être pesées.
  • SHOULD NOT et NOT RECOMMENDED signifie qu'un comportement particulier peut être acceptable ou utile, mais encore une fois, les implications doivent être pesées.
  • MAY signifie OPTIONAL et que l'exigence est vraiment facultative. L'interopérabilité avec différents systèmes qui peuvent ou non implémenter une exigence facultative doit être effectuée.

Suite à ce RFC SHOULD être fait pour aider à assurer la cohérence de la communication entre ses documents internes et le monde des normes dans son ensemble.

45
user40980

Je ne sais pas d'où vous êtes arrivé à la conclusion que shall et must appartiennent à des niveaux de documentation distincts. C'est une distinction assez arbitraire qui n'est appuyée par aucune source que je connaisse.

Shall et must sont lexicalement équivalents. C'est une action qui est requise.

Que vous utilisiez shall ou must dépend vraiment du reste du document dans lequel vous écrivez et de ce qui a un sens grammatical pour cette phrase particulière.

Alors oui, vous vous trompez. Mais vous avez également tort de toujours utiliser shall au lieu de must. Ils représentent le même degré d'obligation.

6
user53019

S'il vous arrive de travailler dans le cadre des directives DO-178 ou DO-254 , celles-ci ont leurs propres définitions des exigences en général et exigences dérivées . Ces directives ne précisent cependant pas quel mot, par exemple doit, doit, doit , doit être utilisé pour spécifier les exigences.

Si vos outils de gestion des exigences ne signalent pas automatiquement les exigences dérivées pour vous, les distinguer des exigences fonctionnelles par l'utilisation d'un doit au lieu de doit peut être bénéfique, par exemple pour démontrer que les objectifs de vérification des exigences dérivées ont également été atteints. Cela pourrait être une raison possible de l'exigence de documentation apparemment arbitraire.

Notez que dans DO-178 et DO-254 , l'exigence dérivée signifie en fait une exigence qui n'a pas dérivé d'une exigence de niveau supérieur. Une exigence dérivée initie donc essentiellement une nouvelle chaîne de traçabilité.

Le DO-178 et le DO-254 sont des documents de référence commerciaux utilisés pour le développement de logiciels et d'électronique avionique, et uniquement disponibles moyennant des frais auprès de www.rtca.org .

2
Schedler