编写要求时应使用和必须使用的最佳实践


22

我之前发送了一封电子邮件,提醒我们的开发人员,在派生的需求中使用“应”一词不应追随您的功能需求。在编写功能需求时,单词“必须”用于描述派生的需求必须执行的功能。
派生=系统应为
功能正常=系统必须执行要求

它是由我们的一位前辈寄回的,这是错误的,应该在所有要求中使用。

我在这里错了吗?应该在所有要求中使用Shall。我还找不到任何东西可以支持它。


我们在所有强制性要求中均使用“应”。但是“必须”和“必须”或多或少意味着同一件事。另请参见tynerblain.com/blog/2009/04/22/dont-use-shall
罗伯特·哈维

4
您是否正在考虑RFC中的MUSTvs SHOULDietf.org/rfc/rfc2119.txt
2013年


恩,不是当傻子,但当每个人在正确的情况下使用正确的单词时,您会赢得什么?
彼得,

Answers:


43

RFC 2119 “在RFC中用于指示需求级别的关键词”详细介绍了需求中不同词语的含义。

本文档中的关键词“必须”,“不得”,“必须”,“应”,“应禁止”,“应”,“不应”,“推荐”,“可以”和“可选”是按照RFC 2119中的描述进行解释。

从此文档:

  • MUST等价REQUIREDSHALL表明该定义是绝对必要。
  • MUST NOT等同于SHALL NOT并表示这是对规范的绝对禁止。
  • SHOULD等同于RECOMMENDED意味着有正当理由忽略特定要求,但需要权衡其含义。
  • SHOULD NOT并且NOT RECOMMENDED意味着某种特定行为可能是可接受的或有用的,但同样,需要权衡这些含义。
  • MAY意味着OPTIONAL需求确实是可选的。必须与可能实现或可能不实现可选要求的不同系统实现互操作性。

遵循此RFC SHOULD可以帮助确保内部文档与整个标准世界之间通信的一致性。


1
可靠的答案;RFC的道具

1
我知道了@ GlenH7(我喜欢阅读4月1日的RFC,有些幽默是在“应该”和“必须”中出现的,在Wikipedia页面上甚至是2119 )我搜索了它,找到了它,然后阅读了我将要发表的评论-以上两个是RFC。因此,并非完全是用于挖掘的巨大道具。

我的想法是,Must需求/功能要求必须要求将存在的派生对象具有所有功能。但是给定了必须和必须的定义以及其他人如何使用它们,我只是错了
Tim Lieberman 2013年

6

不知道您得出的结论是,shall并且must属于不同的文档级别。这是一个相当随意的区别,我所知道的任何来源都没有支持。

Shall并且must在词汇上是等效的。这是必需的操作。

是否使用shall还是must真的取决于要编写的文档的其余部分以及该特定句子的语法意义。

所以是的,你错了。但您始终使用shall而不是也是错误的must。它们代表相同程度的义务。


3
Shouldmay不太相同的。它们都表示可选功能,但是should与不同may,它们意味着您需要有充分的理由不执行它。我同意你shallmust,不过。
基思·汤普森

@KeithThompson-很好,您是对的。我从答案中拔出那条线。

1
我的想法成为功能需求应该使用必须,因为,如果派生对象将存在,则其所有功能都必须起作用。
蒂姆·利伯曼

我想在某个时候我必须作为新对象嵌入我的脑海,并且必须作为功能。
蒂姆·利伯曼

@TimLieberman-这不是看问题的好方法,特别是因为它链接了规范的两层。实际上,这很有用,因为有些人的确对术语的语义感到困惑。特别是因为我已经修复了流程文档,其中“应该”经常被用作“应该”的替代品。但是,将其作为特定标准并不够有用。

2

如果你碰巧的框架内工作DO-178DO-254的指导方针,这些都有自己的定义,要求,一般和衍生的要求。但是,这些准则未指定使用哪个词(例如应,必须必须)来指定要求。

如果您的需求管理工具不会自动指出你派生需求,通过使用的使这些不同的功能要求必须的,而不是 是有益的,例如证明派生需求核查目标也已达到。这可能是看似随意的文档要求的可能原因。

请注意,在DO-178和DO-254 衍生的要求实际上意味着已要求没有得到来自上级的要求的。因此,派生的需求本质上启动了新的可追溯性链。

DO-178和DO-254都是用于航空电子软件和电子设备开发的商业指南文件,只能从www.rtca.org上付费获得。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.