从面向对象到面向目标:安全注入系统需求分析
1. 目标导向概述
目标是系统要达成的声明性意图表述。这里的“系统”涵盖待开发软件及其运行环境。目标通过规定性断言来表述,涉及功能或非功能属性,从高层次的“安全的核电站”到低层次的“当块开关开启且压力低于‘允许’值时,安全注入被覆盖”等。
系统组件包含扮演特定角色的人员、设备和软件。需求是由单个软件组件负责实现的目标,期望则是由单个环境组件负责实现的目标。
对目标进行建模和推理在高保证系统中尤为重要,因为部分系统目标对应着特定应用的安全、安保、容错和生存性属性,需高保证地实现。目标模型可捕捉与其他系统目标的正负交互并妥善管理;能识别可能阻碍关键目标实现的环境异常条件并解决,以生成更健壮的需求;还能精确指定目标并逐步细化为可证明保证高层次目标的操作软件规范。需求实际上如同程序实现设计规范一样“实现”目标。
为说明在高保证系统不同抽象层次上对目标进行显式建模和推理的相关性与益处,我们以安全注入控制系统为例,运用一套全面的面向目标技术来构建和分析其需求。该案例虽规模较小,但源于实际应用,涵盖高保证系统常见问题,常被用于阐释其他方法。
2. 面向目标的需求工程实践:安全注入系统需求细化
我们采用 KAOS 方法(即“保持所有目标满足”),从系统底层目标逐步推导安全注入软件的操作需求。具体步骤如下:
1. 目标细化图构建 :从系统初步描述中识别相关目标,通常通过在自然语言陈述中查找意图关键词,并对这些陈述提出“为什么”和“如何”的问题。
2. 对象建模 :从目标规范中推导概念类、属性和关联
超级会员免费看
订阅专栏 解锁全文
6101

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



