需求验证过程与工程实践
验证活动描述了被验证项(如需求、功能、接口、系统元素、系统等) 需要被验证的内容(如一个需求、一个特性或一个性质),描述其预期结果、验证方法(审查、分析、证明和测试)及其在系统中所处的层级。
对于一个工程项(利益攸关者需求、系统需求、功能、接口、系统元素、程序和文档等)开展验证活动,应包括定义该项应在什么环境下进行验证活动、预期结果的参考内容、合适的验证方法等。所交付的产品经过验证后,应与预期结果进行对比,对比结果可以决定该项的正确性。
验证流程的目的是提供证据表明实现的系统或系统元素满足其具体的需求和特征,包括:
- 证实所期望的功能已经被正确地实施
- 证实需求已经得到满足(我们是否正确地制造了飞机?)
- 确保对于所实施的系统,安全性分析仍然保持正确
一、 需求验证模型
根据ARP4754A中的定义,需求验证流程基本模型如图所示,主要包含3个要素组成:
- 验证计划:包括了所需要的资源、活动的顺序、将产生的资料、对需要信息的核对、具体活动和评估标准的选择、产生与特定硬件或者软件有关的验证等
- 验证方法:包含进行的活动以及活动采用的验证方法
- 验证数据:包括流程中已产生的结果的证据
为了保证需求验证的追溯性,需要建立需求验证活动追溯矩阵。该模型中的初始矩阵和验证矩阵都表明了需求和验证活动、验证方法、验证数据、验证结果、验证步骤间的追溯关系。
在验证所期望的功能的过程中,发现的任何异常情况(如:一个不希望的功能或者错误的性能)都应进行报告,以便对其进行审查和纠错。通过检查验证流程,设计实施流程和需求定义流程来定位问题的根源。需要提及的是:由于研制流程具有反复迭代的特性,那么验证流程在设计过程中也需要反复迭代。
二、 需求验证方法
根据ARP4754A中的定义,可用于飞机级、系统级和设备级需求验证活动的基本验证方法如下:
- 检查或审查(Inspection or Review)
检查或者审查方法通过对流程文件、图纸、硬件和软件一致性的直观检查来验证其满足需求。通常采用清单检查(Checklist)或类似的方法,检查系统或设备是否满足已经建立的物理实现或工艺,就是一个典型的审查或检查过程。评审流程也被认为是一种检查的形式。
- 分析(Analysis)
分析是通过对系统或设备进行详细的检查 (例如:功能性、性能性、安全性),从而提供符合证据,该分析过程需要对系统或设备在正常条件下或非正常条件下运行的预期过程进行评估。
该验证方法是基于分析获取的证据。在一定条件下,分析方法通过数学上或概率上的技术、逻辑上的解析、建模、仿真来表明验证产品的符合性。分析的验证方法主要用于还没达到进行测试的条件或是成本不充足的情况下采用的。
- 建模(Modeling)
建模可以分为功能建模、性能建模、几何建模等,通过对模型的仿真预测系统特性,用虚拟的手段对需求进行验证。
- 测试或证明(Test or Demonstration)
该验证方法通过在可控的条件下,对实物产品的功能、性能、特性、运行场景等进行定量或定性的验证,通常使用特殊的测试设备或是仪器来获取精确的定量数据用于分析。测试的验证方法是通过运行系统或设备来不断地提供正确的证据验证其符合需求的定义。
- 运行经验(Service Experience)
验证的可信度可能源自于对设计和安装的评估,以及在其他飞机上使用相同的系统或具有相似关联属性的系统已被认可运行经验的数据。该方法应该结合工程和操作的判断,记录的文件可以表明该系统没有重大的未被解决的失效问题。
三、 推荐的验证方法
在进行计划时,根据DAL选取合适的需求验证方法,可参照下表,该表的定义符合ARP4754A的要求。
备注: R-推荐用于合格审定, A-协商的用于合格审定, N-合格审定未要求的。
四、 验证数据
验证数据的目的在于提供证据,表明已经开展了验证流程。这些证据需要根据研制保证等级提供符合的验证数据和采用符合的验证方法。
五、 验证计划
验证计划建立了如何表明飞机和系统的实施是符合其对应需求的策略。典型的验证计划应包含以下内容:
- 与开展验证活动相关的职责和责任
- 对设计和验证活动的独立程度的描述
- 验证方法的应用
- 验证数据的产生
- 有依赖关系的活动的顺序
- 关键验证活动的计划安排
- 从设备(硬件或软件) 验证活动中获取的表明系统验证可信的证明
六、 验证矩阵
应该建立验证矩阵或者等效的追溯文件以追踪验证流程的状态。此矩阵的详细程度取决于被验证的系统或者设备的研制保证等级。验证矩阵中应包括如下信息:
- 需求
- 相关联的功能
- 所采用的验证方法
- 验证步骤和结果参考
- 验证的结论 (即通过或者未通过,验证的覆盖程度总结等)
七、 验证总结
验证总结是飞机、系统或设备的实施满足其对应需求的证据。验证总结应包括:
- 所参考的验证计划和描述对计划的任何重大偏离
- 被分配的研制保证等级
- 验证矩阵
- 描述所有未关闭的问题报告和对安全性有影响的评估
- 识别用来支撑的数据和数据来源
- 验证覆盖度总结
八、需求验证流程活动工程实践
此部分依托工程项目的实施状况,来确定需求验证流程的活动内容和输入、输出、责任人。需求验证活动可以依托不同的工具来实现流程落地执行,以下将以工具DOORS、Change来实现。
以下的示例中,简单介绍了验证流程的工程实践活动图、流程任务步骤图、以及需求验证的输入、输出和相关责任人等。验证过程的输入、输出、活动:
★ 需求验证流程活动
- 任务1 创建初始矩阵
- 任务2 制定验证计划
- 任务3 准备执行验证
- 任务4 执行验证活动
- 任务5 分析验证结果
- 任务6 确定验证矩阵
- 任务7 完成验证报告
- 任务8 验证审核
- 任务9 评审、会签
- 任务10 审核、批准
★ 输入
- 待验证的产品
- 带有基线的需求模块
- 验证活动中的使能产品
- 验证计划模板
- 验证报告模板
★ 输出
- 问题报告(可选)
- 需求变更单(可选)
- 已验证的产品
- 验证计划
- 验证总结
★ 责任人
- 需求主任师
- 需求验证工程师
- 需求开发工程师