扫一扫二维码
进群一起备考
查看更多
当前 - 选择题 - 系统可靠性困难
单选题
2024年11月第51题
困难
单选题
2024年11月第51题
#第二版教材
#必须掌握
与通常软件开发过程不同的是,N版本程序设计增加了三个新的阶段,分别是(__)。
问题(1)
浓缩知识点
N版本程序设计是一种借助多版本冗余架构提升软件容错性与可靠性的开发范式,相较于常规软件开发流程,它新增了三个关键阶段以保障多版本的有效冗余。首先是相异成分规范评审,安排多个独立开发小组基于同一需求文档分别开展设计工作,通过评审确保各小组的设计方案具备充分相异性,从源头降低多版本同时出现共模故障的风险。其次是相异性确认,在详细设计完成后,通过专业分析或评估验证不同版本的实现机制、技术路径等的差异程度,进一步强化对共模故障的防控能力。最后是背对背测试,采用相同的测试数据集让各版本程序并行执行,通过对比输出结果检测版本间的一致性问题,及时排查潜在软件缺陷,确保多版本协同容错的有效性。这种开发方法常应用于航空航天、工业控制等对系统可靠性要求极高的领域,核心逻辑是通过最大化多版本间的相异度,避免多个版本因同源缺陷同时失效,从而提升整体系统的故障应对能力。
正确答案
C
本题考察的是N版本程序设计(N-Version Programming, NVP)中为实现容错与可靠性所引入的新开发阶段。
与普通软件开发过程相比,N版本设计通过多版本冗余提高容错能力,增加了三个特有阶段:
- 相异成分规范评审:多个开发小组在不了解其他组设计的前提下独立开发,确保设计“相异性”,通过独立理解同一份 SRS,并通过问题单反馈与协调。
- 相异性确认:在详细设计之后,通过分析或评估确保不同版本设计的实现机制、方法等具有相异性,从而降低公共故障的概率。
- 背对背测试(Back-to-Back Testing):对各个版本使用相同的测试数据,并行执行,对比输出结果,检测是否存在一致性问题,从而发现潜在的软件缺陷。
因此,正确答案是:C. 相异成分规范评审、相异性确认和背对背测试。
