嵌入式系统非功能需求全解析
1. 非功能需求概述
在系统开发中,需求往往侧重于系统的功能实现。然而,要使产品取得成功,还需要涵盖系统的所有方面,这些方面通常被称为非功能需求,也被称作质量属性或额外功能特性。
非功能需求并非直接可在软件或硬件中实现的明显行为,主要分为两种类型。一种是涌现属性,它是系统整体所具有的特性,难以归因于系统的某一个部分。例如,系统处理速度通常是整个系统的属性,要了解运行所有软件时的总 CPU 负载,就必须知道系统中每个软件部分的执行时间,并没有一个单一的子程序能让系统更快地满足其处理期限。另一种是非功能需求是约束条件,即在创建系统时必须遵循的规则。这些规则可能是“必须在 Linux 上运行”或“必须符合 UL 安全标准”等。约束条件本身并无好坏之分,它们只是开发过程中必须考虑的现实因素,而且在大多数情况下,无法通过查看代码中的某一处来确定约束条件是否完全满足。
1.1 满足非功能需求的重要性
如果系统未能正确实现其非功能需求,那么它就和遗漏了重要功能一样存在缺陷。例如,每分钟崩溃一次的软件很可能是有问题的。每周只崩溃一次的软件是否算成功,取决于应用环境。但无论如何,软件不应该有专门负责导致崩溃的特定模块。软件是否崩溃与系统中各个模块的交互有关,而缺乏频繁崩溃是软件成功的一个重要标准。如果需求文档中没有提及所需的软件稳定性水平,就无法确保获得足够稳定的软件。因此,需求文档应涵盖系统成功所需的所有方面,仅仅列出系统的功能是不够的,还必须包含非功能需求。
1.2 可能出现的症状
许多需求不完整的症状在产品接近发货时才会显现出来,因为在项目早期,开发人员往往专注于实现功能,而不是非功能问题。需要注
超级会员免费看
订阅专栏 解锁全文
2235

被折叠的 条评论
为什么被折叠?



