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


规格可以变成需求,需求也可以变成规格。比如,如果之前选用的电池停产了,那么你可能会选其他续航时间不低于 6 小时的电池。
你必须使用技术术语和口语术语,需要尽可能用一句话来描述你的电子产品创意。
举个例子,下面是你与某位对工程学有所了解的朋友的对话:
朋友:“你的产品灵感是什么?”
你:“我喜欢种植自己的辣椒。但是,我经常旅行,所以我不能总是给它们浇水,很多时候也没办法照顾它们。昨晚突发灵感,我可以构建一种可以自动浇水并照顾植物的设备……”
工程师|如何写好硬件产品的需求文档?
文章插图
朋友:“那么你打算如何做呢?”
你:“我将建立一个用于监视关键参数的盒子(例如。土壤湿度、光照和温度),然后根据植物的需要打开灯或给植物浇水,通过将此设备连接到互联网,我可以远程监控这些参数。”
从产品的简单描述中,你已经可以提取一些功能要求,例如,感知土壤湿度、环境光和温度的能力。
需求是描述产品应该做什么,而不是产品如何做的结构化语句。
二、为什么需求有用?需求不仅仅是公司用来确保其设计团队履行设计开发任务的正式文书,而且对于设计工程师和项目经理来说都是非常有用和必要的工作指南,它们可以为你节省金钱和额外的工作。
通过正确分类和定义电子产品的功能、特性、属性和约束,你可以更清晰地了解实际需要设计的内容。
此外,需求还允许你分离和模块化管理产品功能,以便可以让研发设计人员自行研究和实现它们。
在一个有多个人工作的项目中,拥有定义了所有功能,属性和约束的需求文档非常有用,可以清晰定义所需开发的内容。
对于项目经理或团队负责人而言,产品功能和技术需求的结构分解可用于为团队设置任务,或使用甘特图等工具跟踪项目。
一旦成功满足所有产品要求,它也可以充当交付里程碑,以指示该项目已完成。
最后一点,良好的需求计划可以减少产品开发风险,即尽早确定并解决问题,而不是把问题拖到以后再去解决,那样付出的成本就太大了。
来看一个简单但常见的产品开发失败的例子:由于需求缺失导致产品开发失败。
假设销售人员头脑里有了一个想法,他们想把装有嵌入式软件的新产品最先在国内发布,之后在欧洲发布。
但是,他们并没有把这个想法以需求的形式告知软硬件开发者,这会造成什么后果呢?
如果你在产品开发早期忽视了产品的国际化问题,直到产品开发快结束才意识到,就很有可能会出现以下一些不良后果。
1)所选的软件平台,如,操作系统,可能过于精简,以至于无法轻松地通过语言包来更换文字界面。
在根据用户语言更换不同的文本文件时,软件平台也没有提供任何内置方法。在这种情况下,开发者需要为每种语言手动构建新的显示布局,这会大大增加产品开发和测试的工作量。
2)产品可能把一些用户数据通过互联网集中存到了某个中心数据库。
由于不同国家有关数据安全的法律不同,后端数据库可能需要重新设计架构,重新开发,以确保从各国收集的重要个人数据只存储在相应国家的数据中心。
三、需求的类型需求可以通过许多不同的方式进行分类,但是有两种主要类型:

  • 功能需求:系统应该执行或提供的功能;
  • 非功能性需求:指产品必须具备的某些属性或质量要求,即系统必须满足的条件或系统运行的约束。
例如,移动电源具有测量电池温度的功能需求,并且具有能够在 0 到 40 摄氏度的温度范围内工作的非功能需求。