在做嵌入式产品、电子产品、软件产品时经常提到需求、功能,需求含功能,同时还包含非功能。非功能最常见的是性能,当然还有可维护、可制造等。这里特别要说一下,我们经常分不清什么是约束,简单可以理解为不是定义功能、不是定义性能的一些规定,所以从这方面来看,也有人把约束归在非功能中,也就是需求包含功能和非功能需求。但是有些约束是比较明显的,如:甲方要求你使用什么物料,给你的安装位置等。有一些是比较模糊的,如:法律法规,对于这类需求,实践中归为非功能,并且专门设立一个需求的小类,如:法规与认证要求。

  关于如何来描述需求、功能,要从系统的角度出发,从系统是什么,系统干什么作为出发点,以过程+操作数 或者 (工具)+动作+对象的形式来描述功能。具体可以参照一下我平时讲课的PPT中的几张内容。

必备:需求与功能的定义