Cela peut être une drôle de réponse, mais... je crois qu'il n'y a pas toute les bonnes pratiques raisons d'utiliser "doit", "devrait", "peut" et d'autres verbes modaux dans les documents de besoins à tous. Tous ces verbes seulement rendre les documents plus difficile à écrire, et surtout beaucoup plus difficile à lire. (Et je suis convaincu que la mauvaise lisibilité est l'une des principales raisons pour lesquelles les exigences en matière de documents, souvent, ne parviennent pas à définir clairement ce que le logiciel système est censé faire pour ses parties prenantes.)
Pourquoi utiliser de "ne" est si commune?
Eh bien, comme il a été mentionné dans d'autres réponses ici, une raison possible est que cette pratique est tout simplement emprunté à partir de documents juridiques. De toute évidence, les exigences ne constituent un contrat avec un client, il peut se sentir naturel pour mot à l'instar des autres documents contractuels - qui est, dans le jargon juridique. Eh bien, nous savons tous combien les gens aiment lire le jargon juridique. :-)
Aussi certaines personnes trouvent utile d'appliquer "doit/doit/peut conventions", défini dans la RFC 2119 aux exigences en matière de logiciel. Pourquoi? Franchement, il me bat. À mon humble avis, c'est un exemple classique d'utilisation abusive une bonne idée. Ces conventions pourrait être utile lors de la définition très technique, les protocoles, interfaces, ou d'autres normes qui permettent aux différents niveaux de conformité. Mais même dans ces cas, je pense qu'il n'est pas le moyen le plus efficace pour atteindre l'objectif. Je suis sûr que ce serait beaucoup plus facile pour tout le monde si, plutôt que de saupoudrer la prose avec tous ceux capitalisés SHALLs, Should, et MAYs, les auteurs sont clairement demarkate chaque exigence et d'approvisionnement avec un OBLIGATOIRE|CONSEILLÉ|attribut FACULTATIF.
Je crois que les logiciels exigences ne doivent pas être écrits dans un jargon juridique (sauf si vous avez un peu bizarre à la clientèle qui exige que). Je crois que de toute obligation de déclaration est plus facile à lire et à écrire (et de maintenir) dans le présent de l'indicatif et à la voix active. Aussi je crois que le "caractère facultatif niveau" n'est pas un bon attribut intrinsèque pour un logiciel exigence. Chaque exigence doit avoir une priorité comme son attribut intrinsèque (qui, par exemple, permettrait de décider si la mise en œuvre d'une exigence est obligatoire, recommandé ou facultatif pour une version donnée).