软件需求验证与测试可追溯性深度解析
1. 应对难以衡量的需求
在软件开发过程中,我们常常会遇到一些难以衡量的需求。有两种主要的方法可以应对这种情况,分别是依赖开发过程和采用形式化方法。
1.1 依赖开发过程
在某些情况下,在开发期间甚至初始系统部署时,我们实际上无法确定是否能满足特定的需求目标。基于过程的方法试图利用高质量的软件设计过程来降低系统中出现缺陷的可能性。对于高度关键的系统,这种方法尤为常见,例如那些要求每十亿(1,000,000,000)运行小时仅出现一次灾难性故障的系统。人们相信遵循严格的设计方法会提高软件质量。
虽然更好的软件开发方法(即更好的软件过程)确实有助于提高软件质量,但良好的过程并不能完全替代对结果的实际衡量。我们可以在项目计划中纳入一些轻量级的方法。例如,如果担心软件崩溃,可以设定这样一个折中的需求:“在系统集成测试期间发现的所有软件崩溃源都应追溯到根本原因并消除”。这不是对系统本身的要求,而是对开发方法的要求。它虽不能让你确信能达到特定的软件可靠性目标,但能有效消除至少部分软件崩溃源。
我们应该用方法学要求来补充测量,特别是对于系统中难以衡量的方面。
1.2 形式化方法
形式化方法是用于证明系统属性为真的数学技术。常见的形式化方法是模型检查,它涉及创建系统的抽象(模型),并使用复杂的程序来分析该模型以确定你所关心的特定属性。例如,你可以尝试证明某个系统永远不会同时向电机发出停止和启动信号。
这些方法非常强大,但以这种方式开发系统需要特殊技能,并且在扩展到大型、复杂的软件系统时会遇到困难。更重要的是,创建模型需要进行假设和简化。即使证明了模型是完
超级会员免费看
订阅专栏 解锁全文
2478

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



