采用软件冗余的方法提高系统的可靠性,需要设计N个相同功能的程序模块,这些模块必须(18)。
A.由同一组程序员按照相同的规格说明进行编写
B.由同一组程序员按照不同的规格说明进行编写
C.由不同的程序员按照相同的规格说明进行编写
D.由不同的程序员按照不同的规格说明进行编写
第1题:
在容错计算机中采用冗余技术来提高系统的可靠性和可用性,这些冗余技术不包括______。
A.硬件冗余
B.信息冗余
C.时间冗余
D.人员冗余
第2题:
容错计算机中采用冗余技术来提高系统的可靠性和可用性。这些冗余技术不包括(74)。
A.硬件冗余
B.信息冗余
C.时间冗余
D.人员冗余
第3题:
在容错计算机中采用冗余技术来提高系统的可靠性和可用性,这些冗余技术不包括(20)。
A.硬件冗余
B.信息冗余
C.时间冗余
D.人员冗余
第4题:
● 某大型软件系统按功能可划分为 2 段 P1 和 P2。为提高系统可靠性,软件应用单位设计了如下图给出的软件冗余容错结构, 其中P1和P2均有一个与其完全相同的冗余备份。若 P1 的可靠度为 0.9,P2 的可靠度为 0.9,则整个系统的可靠度是 (33) 。
(33)
A. 0.6561
B. 0.81
C. 0.9801
D. 0.9
第5题:
试题五(共25分)
阅读以下信息系统可靠性问题的说明,在答题纸上回答问题 1至问题 3。
【说明】
某软件公司开发一项基于数据流的软件,其系统的主要功能是对输入数据进行多次分析、处理和加工,生成需要的输出数据。需求方对该系统的软件可靠性要求很高,要求系统能够长时间无故障运行。该公司将该系统设计交给王工负责。王工给出该系统的模块示意图如图5-1所示。王工解释:只要各个模块的可靠度足够高,失效率足够低,则整个软件系统的可靠性是有保证的。
李工对王工的方案提出了异议。李工认为王工的说法有两个问题:第一,即使每个模块的可靠度足够高,但是整个软件系统模块之间全部采用串联,则整个软件系统的可靠度明显下降。假设各个模块的可靠度均为 0.99,则整个软件系统的可靠度为 0.994≈0.96;第二,软件系统模块全部采用串联结构时,一旦某个模块失效,则意味着整个软件系统失效。
李工认为, 应该在软件系统中采用冗余技术中的动态冗余或者软件容错的N 版本程序设计技术,对容易失效或者非常重要的模块进行冗余设计,将模块之间的串联结构部分变为并联结构,来提高整个软件系统的可靠性。同时,李工给出了采用动态冗余技术后的软件系统模块示意图,如图5-2所示。
刘工建议,李工方案中 M1 和 M4 模块没有采用容错设计,但 M1 和 M4 发生故障有可能导致严重后果。因此,可以在M1和M4模块设计上采用检错技术,在软件出现故障后能及时发现并报警,提醒维护人员进行处理。
注:假设各个模块的可靠度均为0.99。
【问题 1】(4分)
在系统可靠性中,可靠度和失效率是两个非常关键的指标,请分别解释其含义。
【问题 2】(13分)
请解释李工提出的动态冗余和N 版本程序设计技术,给出图 5-1中模块M2采用图5-2 动态冗余技术后的可靠度。
请给出采用李工设计方案后整个系统可靠度的计算方法,并计算结果。
【问题 3】(8分)
请给出检错技术的优缺点,并说明检测技术常见的实现方式和处理方式。