要求和规格之间有什么区别?[关闭]


122

我的任务是为我们小组正在开始的项目制定要求和规范。

我意识到我不知道有什么区别。Google搜索让我更加困惑-似乎有人说规范必要条件,但水平较低。


我同意高票答案,但我也认为规范一词有时在软件行业中用作更通用的术语,指的是描述系统或软件的任何文档。作为证明-谷歌“需求规范”。以这种方式使用它时,它表示指定某些内容的文档-即:指定对某个软件的要求。我不会判断这是否是该词的正确用法,我只是想指出,规范并不总是对每个人都意味着相同的意思。
Shane Wealti 2011年

1
是的,这就是为什么人们应该说“业务需求”和“设计规范” /“技术规范”之类的原因。这些词本身很模糊。
2011年

这样思考(粗略地说):需求=需求文档和规范=用例/设计文档
博士

4
您为什么不问您要为这些人服务的人?只有他们可以回答您的具体情况所需的内容。
Jaap

本文提供了完整的答案:ece.cmu.edu/~koopman/des_s99/requirements_specs
Julien-L

Answers:


129

正确的答案是,要求是程序应该做的事情,规范是您打算如何做。

从另一角度来看,需求是从用户或整个企业的角度代表应用程序的。该规范从技术团队的角度代表了应用程序。规格和要求大致传达相同的信息,但传达给两个完全不同的受众。


4
什么/如何健全咬是正确的,排序的; 但令人困惑,因为你也可以看看规范的程序作为描述什么是应该做的,而设计是怎么也应该这样做。另一个是声明性pl(例如prolog和SQL),在其中声明内容而不是方式。一种解决方案是它们是抽象的层次结构,父级说明什么,子级说明如何(外部与内部)。我更喜欢你的第二个观点,这是更接近“什么是 ”与“什么 ”,即效益与功能。
13人

我通常会同意您的意见,但这只是“另一种”意见,而不是正确的答案。例如,在Wiki页面上查看需求(en.wikipedia.org/wiki/Requirement)。存在非功能性需求,顾名思义,这是针对技术团队的。还是建筑和约束要求,同样是技术要求,但他们没有将其称为“规范”。我认为没有正确的答案,这将永远是公司与公司之间以及开发商与开发商之间的“模糊”。
2011年

1
看一下“亚当·乌尔”的答案,我认为这是对已发布问题的最准确陈述。
2011年

1
@Jeach:“贝洛” [原文如此]是相对的。它可能会在当前位置下方,但可能会移至上方,使您的评论更难以理解
Bryan Oakley

1
另一个角度。Wikipedia将规范定义为“一组要求”。这意味着一个规范只能是1个要求,即s:= {r1}。口语化的“需求”似乎更多是“高级”要求,而“技术规格”则是低级要求,这是LOD的事情。
兰斯·波拉德

38

需求记录了所需的内容-他们不应该指定方法,而应指定内容。

规格说明如何达到要求-应该说明如何。

这些文件在许多地方不是分开的,而是可以互换使用的。


2
在我公司,我们通常将术语“需求规范”用于内容(您指定,写下详细信息,内容什么),而将“设计规范”用于方式(您指定,写下详细信息,如何编写内容)计划实施)。
乔治

16

我是航空航天领域的系统工程师,在这两个领域中,这两个术语被广泛使用。区别很明显,并不像其他人那样复杂。

一个规范是一个文档,指定系统或产品,例如用于F-14的黄金项目开发规范。规范中有很多部分/内容:需求,定义,参考文档,术语表,验证信息等。

一个要求是什么产品或系统必须做一个单独的语句。一个规范可能有数百个要求。老派的方法学说,需求陈述必须使用“必须”一词,以将需求与事实陈述或定义分开。(不确定那些刚开始训练的敏捷孩子是否遵守所有这些原则;挑剔的用法虽然有用,但有时有点挑剔。)

因此,规范是一个充满要求的文档,外加一些其他支持和辅助信息。


4
就像我在另一条评论中所说的那样,这对每个人都是非常模糊的,而且可能永远都是这样。但是基于我对这个确切主题的非常广泛的研究,我想说您的答案对我自己的发现/结论是最准确的。
2011年

2
始终对获得真正工程师的意见很有帮助。谢谢!
LeWoody 2015年

另外,规范中可能有0个要求。对于一个非常特定的航空工程学科,您的示例是一个非常好的例子。我不确定它是否普遍适用于软件开发/编程领域。当大多数软件由业务需求驱动时,在评估技术约束和设计解决方案之前,先从详细的业务需求文档入手是有意义的。技术规范将遵循BRD,记录约束条件,并提供详细和特定的方法来满足BRD中的业务要求。
Bryan'BJ'Hoffpauir Jr.

1
@ Bryan'BJ'Hoffpauir我敢肯定,在某些情况下,文档被标记为规范并且没有任何要求,但是我认为这是对术语的滥用。规范是需求文档-故事的结尾。它是航空航天和国防领域更多领域中广为接受的艺术术语,并且在系统工程学中无懈可击,系统工程学是负责需求和验证的学科。即使在您描述该术语适用的情况下:BRD是一种规范,技术规范听起来也很像,只是具有不同类型的要求。
亚当·伍尔

13

要求:

考虑到各个利益相关者可能相互矛盾的需求,确定满足新产品或变更产品的需求或条件。

规格:

他们提供了要解决的问题的精确思路,因此他们可以有效地设计系统并估算设计替代方案的成本。它们为测试人员提供指导,以验证(鉴定)每个技术要求。

引用来自“系统工程基础知识* ”。

需求基于利益相关者的需求,规范更多是内部详细的技术文档。他们是不同的,但他们谈论的是同一件事。

*国防采购大学出版社,2001年。PDF文本版本


我认为,您的定义必须说明规范定义了问题,这一点很重要。这样,就需要一个问题规范。解决方案或设计规范是设计的一部分。
LeWoody 2015年

6

要求是用户对成品在他们眼中应该做什么的描述。

规范通常是解决方案的技术描述,涵盖要求以及更多内容,例如成本,技术性,问题等。

因此,主要要点之一是,在编写规范之前,必须首先满足要求。

(请注意术语- 产品解决方案 -同一件事,但从不同角度看...)


1
我将交换“产品”和“解决方案”这两个术语,因为解决方案通常是针对客户的问题,而产品通常是针对卖方(即技术实施者)的。相似的对比是利益/功能,利益来自客户(对他们有什么用),功能取决于实现(实际上什么,所以我们可以做到)。
11ren

1
我明白你的意思,但我认为任何一个角度都足以说明情况。我认为客户会购买产品-就像去商店时一样。然后,软件供应商将提供其针对根本问题的解决方案。如果我要外出购物以解决问题,我可能会想:“我需要一种能解决xyz问题的产品”,而不是“我需要解决abc问题的解决方案”。我认为这只是一个偏好问题。
Arj 2011年

有趣。建立产品类别后,我可以看到客户“正在寻找产品”。但是他们之所以寻求该产品,是因为他们已经解决了该问题,即他们寻求该产品不是为了自己,而是作为解决方案。确实,供应商确实将他们的产品作为“解决方案”进行营销-但这是因为他们正试图与客户(他们寻求解决问题的方法)进行沟通,并构建所需的产品。实际构建产品(即事物本身及其功能与需要它们的原因无关)
13ren 2011年

在建立了既定的产品类别后,我可以看到客户“在寻找产品”-但是他们寻求将其作为解决问题/需求的解决方案。供应商确实将其产品作为“解决方案”进行营销-因为他们正在与客户(需要解决方案的问题)进行沟通。在构建产品时(事物本身及其功能,而不是为什么要构建它们)。一个论点是,一个问题可以有非常不同的解决方案-但是产品是一件事。
2011年

[解释为什么有两个评论]:这样的评论太痛苦了-点击“返回”将提交评论,即使它是多行文本区域。而且,如果过了5分钟以上,它就不会接受修改。因此,您必须提交它作为第二条评论。我只是为了使其适合长度而进行编辑。感叹。下次,我将首先发表两个评论……[无论如何,我同意观点-买方/卖方-是主要区别。我为您的用语感到困扰,但我想加深我的理解,以阐明原因。]
11ren

4

需求-系统或子系统应该(必须)做什么。

规范-组件,子系统或系统是什么。

这对于医疗器械制造业至关重要,因为您必须根据要求(输入)进行验证以证明您具有有效的规格(输出)。该行业的典型陷阱是:(1)公司忘记定义需求(因为他们不了解需求与规格之间的区别);(2)仅根据规格进行验证,并且(3)不要确保将要求准确地转换为组件和零件规格。

完成所有步骤后,您将需要验证是否满足产品的用户要求。


3

也许混淆之处在于我听说过规范参考了业务需求规范文档或IEEE标准SRS(软件需求规范)文档。

IEEE标准SRS模板示例

我还听说规范一词更非正式地指的是技术规范,它解释了设计决策和实施计划。

编辑:我只是注意到链接不正确...我将很快发布一个正确的链接。


1
SRS条款的重点!
LeWoody 2015年

2
现在,链接已完全断开。我不确定它指向什么,也不知道应该指向什么材料。

3

规范是通过可行性并且可以实施的要求。这项要求已经发展到设计阶段。

换一种说法:

  • 要求是“按计划”或“按预期”的行为(或非行为)
  • 规范是“将要构建”或“已构建”的行为(或非行为)

例:

  • 要求:1.用户按“确定”按钮2.系统打印发票
  • 规格:1.用户按“确定”按钮2.系统打印发票

如您所见,两者的内容可以相同。区别在于需求是分析工件。该规范是设计工件。

在最终的最终文档中,由于需求已转换为规格,因此通常会找到“规格”一词,而不是“需求”。

备注:由于设计约束,上面的示例包含设计元素。


0

需求是应用程序要做的

规范是应用程序如何执行其操作。

它们必须正交!

产品经理写需求,总工程师写规格。


2
至少在实践中,我不确定它们是否完全正交。不幸的是有很多灰色。
LeWoody 2015年

仅当您不使用修饰符时它们才是灰色的-业务需求,功能需求,非功能需求是指系统的功能(它的作用)。技术规范与业务需求(如何执行)正交。
Bryan'BJ'Hoffpauir Jr.

0

一种查看它的方法,也许不是正确的方法:

需求是可以为用户带来价值的事物(能力,功能,行为等)。不关心内部;这里只有盒子的输入和输出(可能还有大小,形状和颜色)很重要。

规范是使用户实现该价值的事物(功能,功能,行为等)。在此,盒子内部非常重要,因为它们与上面提到的外部接口和特性一起定义了整个系统。


这只是您的意见,还是可以通过某种方式进行备份?
t 2014年

2
@gnat,我认为这是在开始行解决的吗?当然,这是从经验中得出的,我没有提出任何其他要求-从我收集的信息来看,这是一个在相当主观的论坛上有点主观的问题,这篇文章建议问题应该尽可能客观,但很少提及答案。但是我有一个名字,你还有很多,所以我很愿意接受教育:-)
berad 2014年

0

在我的研究中,我发现规范可用于专利和房屋建设(作为合同的一部分)。

韦伯斯特无删节词典(第三版新国际版)的要求定义为:

a)需要或需要的东西:必要性b)需要或需要的东西:必要或必要条件:所需的质量,课程或种类的培训

我认为以上说明它们明显不同。我猜您可以称呼规范的较低级别的需求,但我认为这是对术语需求imho的一种歪曲。


0

在先前创建商业产品的公司中,我们有以下区别:

要求是系统必须执行的操作。它们可以是较低级别的详细要求,并且可以起作用或不起作用。

规格是指系统实际完成的工作。例如,您可能要求说系统在–10°C下应具有X行为。系统的实际规格可能是系统在–5°C下执行X;这将在发送给潜在客户想要购买该系统的工作表中。

注意,在这种情况下,规格不符合要求。


-1

想一想,您将在土地上建造一幢高层建筑。

现在,您需要在开始之前考虑需求,例如:

  1. 建筑或设计工程师
  2. 土壤测试工程师
  3. 风压测试组
  4. 拆毁者
  5. 挖掘机
  6. 人力
  7. 给水
  8. 工人居住/休息区
  9. 足够的资金
  10. 项目管理
  11. 质量管理
  12. 安防控制

等等。

现在,以上内容已成为建造高层建筑的要求的一部分。从以上团队中,您将获得技术成果,这些成果是他们职业的一部分。

这就是软件行业中正在发生的事情,一群专业人士参与其中以提供知识以建立技术规范,例如从事UI设计,OO设计,数据库设计,图形设计,测试用例设计,编码,集成的人员,部署团队等。

上面的段落将成为手册的一部分,您可以将其称为技术规范。


1
我认为您在资源方面混淆了需求(en.wikipedia.org/wiki/Resource_%28project_management%29)。
杰伊·埃尔斯顿,2012年
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.