我之前发送了一封电子邮件,提醒我们的开发人员,在派生的需求中使用“应”一词不应追随您的功能需求。在编写功能需求时,单词“必须”用于描述派生的需求必须执行的功能。
派生=系统应为
功能正常=系统必须执行要求
它是由我们的一位前辈寄回的,这是错误的,应该在所有要求中使用。
我在这里错了吗?应该在所有要求中使用Shall。我还找不到任何东西可以支持它。
我之前发送了一封电子邮件,提醒我们的开发人员,在派生的需求中使用“应”一词不应追随您的功能需求。在编写功能需求时,单词“必须”用于描述派生的需求必须执行的功能。
派生=系统应为
功能正常=系统必须执行要求
它是由我们的一位前辈寄回的,这是错误的,应该在所有要求中使用。
我在这里错了吗?应该在所有要求中使用Shall。我还找不到任何东西可以支持它。
Answers:
RFC 2119 “在RFC中用于指示需求级别的关键词”详细介绍了需求中不同词语的含义。
本文档中的关键词“必须”,“不得”,“必须”,“应”,“应禁止”,“应”,“不应”,“推荐”,“可以”和“可选”是按照RFC 2119中的描述进行解释。
从此文档:
MUST
等价REQUIRED
并SHALL
表明该定义是绝对必要。MUST NOT
等同于SHALL NOT
并表示这是对规范的绝对禁止。SHOULD
等同于RECOMMENDED
意味着有正当理由忽略特定要求,但需要权衡其含义。SHOULD NOT
并且NOT RECOMMENDED
意味着某种特定行为可能是可接受的或有用的,但同样,需要权衡这些含义。MAY
意味着OPTIONAL
需求确实是可选的。必须与可能实现或可能不实现可选要求的不同系统实现互操作性。遵循此RFC SHOULD
可以帮助确保内部文档与整个标准世界之间通信的一致性。
不知道您得出的结论是,shall
并且must
属于不同的文档级别。这是一个相当随意的区别,我所知道的任何来源都没有支持。
Shall
并且must
在词汇上是等效的。这是必需的操作。
是否使用shall
还是must
真的取决于要编写的文档的其余部分以及该特定句子的语法意义。
所以是的,你错了。但您始终使用shall
而不是也是错误的must
。它们代表相同程度的义务。
Should
并may
不太相同的。它们都表示可选功能,但是should
与不同may
,它们意味着您需要有充分的理由不执行它。我同意你shall
对must
,不过。
如果你碰巧的框架内工作DO-178或DO-254的指导方针,这些都有自己的定义,要求,一般和衍生的要求。但是,这些准则未指定应使用哪个词(例如应,必须,必须)来指定要求。
如果您的需求管理工具不会自动指出你派生需求,通过使用的使这些不同的功能要求必须的,而不是应 是有益的,例如证明派生需求核查目标也已达到。这可能是看似随意的文档要求的可能原因。
请注意,在DO-178和DO-254 衍生的要求实际上意味着已要求没有得到来自上级的要求的。因此,派生的需求本质上启动了新的可追溯性链。
DO-178和DO-254都是用于航空电子软件和电子设备开发的商业指南文件,只能从www.rtca.org上付费获得。