工程师|如何写好硬件产品的需求文档?( 三 )


需求必须遵循一些规则和结构:
1. 独特的需求是其本身的实体,不能是两个或多个需求的组合。
2. 明确的需求的所有读者应该对需求的内容有相同的理解,只能有一种解释。
3. 可验证的如果不能正确验证需求,那么工程师将如何确定他们已满足需求呢?
通常,你将进行内部验证,测试工程师会进行测量以检查硬件是否正常运行并符合其设计规格和要求。
然后进行设计验证,在该测试中,将对产品的外壳,不同温度和湿度条件下进行更严格的测试,该验证阶段还包括 EMC 测试。
最后,该产品将在实际操作条件下进行现场测试,或者将其集成到更大的系统中,或者使其与其他设备进行交互。
4. 属性应该给需求赋予属性以支持前面提到的规则要求:

  • 标题:需求的描述性标题;
  • ID:不能重复的唯一标识;
  • 与安全相关:在某些安全性很重要的产品中,将需求分类为与安全相关是一种良好做法;
  • 优先级:在某些情况下,无法实现所有需求,因为它们会相互冲突。分配优先级可为设计人员提供信息,以选择最相关的需求;
  • 来源:这是指需求的来源,是客户,承包商还是外部的;
  • 理由/目的:对需求及其存在原因的简短描述;
  • 验证方法:该需求将如何验证、测试和分析;
  • 跟踪信息:需求必须是可追溯的。
通常情况下,在产品需求完成之前可能会修改原产品需求的 50% 以上的内容,例如,可能会突然出现需要结合新技术或者新法规的情况,这会迫使你更改设计。
需求变更需要由需求工程师,系统工程师或项目经理解决和管理,一般情况下,工程师可以使用工具或软件来寻求帮助。
需求工具可以自动化并保留可追溯性和历史更改的记录,同时支持需求验证结果的记录。
管理新出现的需求也很重要,这些需求仅在系统组合在一起时出现,很难预见,必须在其它需求的基础背景下分配它们,以避免孤立需求。
5. 电子产品的需求文档电子产品的需求文档没有单一的格式,每个设备都有其自己的规格和特殊性,当然,大多数电子产品可以遵循以下需求类别:
  • 产品说明:产品的一般高级描述,最好附有系统级框图;
  • 设计要求:产品在组件和设计方面需要具备的功能;
  • 功能要求:产品要执行的功能;
  • 环境和功能性环境要求:与对环境的影响及其在何处执行功能有关;
  • 机械要求:外壳相关要求;
  • 使用寿命要求:工作时间和工作温度;
  • 测试要求:产品需要通过的相关测试。
四、如何写出好的需求?产品需求既能成就产品,也能毁掉产品。那么你如何才能写出好的需求呢?
1. 产品需求是设计的约束一方面,产品需求是技术人员要实现的目标;另一方面,它也是设计的约束条件,因为它排除了产品的其他呈现方式。
例如,你喜欢在设备中使用可更换电池,比如,5 号电池。
它们个头小,价格低,又能提供足够的电能。与那些采用可充电电池供电的设备相比,如果可更换电池设备的电量用尽,可以轻松更换新电池,让设备立即运行,而不必找插座去充电。
你可以买很多 5 号电池备用,着急的时候,你可以去任何一家超市或便利店买一次性电池来用。
如果要你为一款便携式产品写需求,你可能加上这样一条需求,“必须使用可更换的 5 号电池供电”。
但是,这个看似简单的需求会给设计带来如下诸多影响,这个需求限定了产品的最小尺寸,产品必须装得下电池,产品外壳必须设计有电池仓盖,电池仓内部要有相应装置供电池装载,这些都会增加设计时间。