itgle.com

● 采用软件冗余的方法提高系统的可靠性,需要设计 N 个相同功能的程序模块,这些模块必须 (18) 。(18)A. 由同一组程序员按照相同的规格说明进行编写B. 由同一组程序员按照不同的规格说明进行编写C. 由不同的程序员按照相同的规格说明进行编写D. 由不同的程序员按照不同的规格说明进行编写

题目

● 采用软件冗余的方法提高系统的可靠性,需要设计 N 个相同功能的程序模块,这些模块必须 (18) 。

(18)

A. 由同一组程序员按照相同的规格说明进行编写

B. 由同一组程序员按照不同的规格说明进行编写

C. 由不同的程序员按照相同的规格说明进行编写

D. 由不同的程序员按照不同的规格说明进行编写


相似考题
更多“● 采用软件冗余的方法提高系统的可靠性,需要设计 N 个相同功能的程序模块,这些模块必须 (18) 。 ( ”相关问题
  • 第1题:

    在容错计算机中采用冗余技术来提高系统的可靠性和可用性,这些冗余技术不包括______。

    A.硬件冗余

    B.信息冗余

    C.时间冗余

    D.人员冗余


    正确答案:D
    解析:作为容错技术,主要考虑4种冗余:①硬件冗余、②软件冗余、③信息冗余和④时间冗余,但作为一个具体软件系统,往往会采用多种技术去实现。例如,在硬件冗余的基础上实现软件的冷备份、温备份、热备份;软件冗余采用N版本技术(包括多种语言、多种编译器、背对背开发等);信息冗余采用数据检错码(例如CRC码等)、纠错码(例如海明码等)技术;时间冗余通常采用多次运行同一个程序(或Ⅳ个版本的程序),对结果进行冗余比较。

  • 第2题:

    容错计算机中采用冗余技术来提高系统的可靠性和可用性。这些冗余技术不包括(74)。

    A.硬件冗余

    B.信息冗余

    C.时间冗余

    D.人员冗余


    正确答案:D
    解析:实现容错技术的主要手段是冗余。冗余是指实现系统规定功能是多余的那部分资源,包括硬件(结构)、软件(冗余附加)、信息和时间。(1)结构冗余。结构冗余是通常用的冗余技术,按其工作方式,可分为静态冗余、动态冗余和混合冗余3种。.静态冗余。常用的有三模冗余和多模冗余。静态冗余通过表决和比较来屏蔽系统中出现的错误。例如,三模冗余是对三个功能相同但由不同的人采用不同的方法开发出的模块的运行结果进行表决,以多数结果作为系统的最终结果。即如果模块中有一个出错,这个错误能够被其他模块的正确结果“屏蔽”。由于无需对错误进行特别的测试,也不必进行模块的切换就能实现容错,故称为静态冗余。.动态冗余。动态冗余的主要方式是多重模块待机储备,当系统检测到某工作模块出现错误时,就用一个备用的模块来顶替它并重新运行。这里须有检测、切换和恢复过程,故称其为动态冗余。每当一个出错模块被其备用模块顶替后,冗余系统相当于进行了一次重构。各备用模块在其待机时,可与主模块一样工作,也可不工作。前者叫做热备份系统,后者叫做冷备份系统。在热备份系统中备用模块在待机过程中的失效率为0。.混合冗余。它兼有静态冗余和动态冗余的长处。(2)信息冗余。为检查或纠正信息在运算或传输中的错误,须外加一部分信息,这种现象称为信息冗余。(3)时间冗余。指以重复执行指令(指令复执)或程序(程序复算)来消除瞬时错误带来的影响。(4)冗余附加技术。指为实现上述冗余技术所需的资源和技术,包括程序、指令、数据、存放和调动它们的空间和通道等。

  • 第3题:

    阅读以下关于嵌入式系统可靠性设计方面的描述,回答下列问题。
    【说明】某宇航公司长期从事宇航装备的研制工作,嵌入式系统的可靠性分析与设计已成为该公司产品研制中的核心工作,随着宇航装备的综合化技术发展,嵌入式软件规模发生了巨大变化,代码规模已从原来的几十万扩展到上百万,从而带来了由于软件失效而引起系统可靠性降低的隐患。公司领导非常重视软件可靠性工作,决定抽调王工程师等5人组建可靠性研究团队,专门研究提高本公司宇航装备的系统可靠性和软件可靠性问题,并要求在三个月内,给出本公司在系统和软件设计方面如何考虑可靠性设计的方法和规范。可靠性研究团队很快拿出了系统及硬件的可靠性提高方案,但对于软件可靠性问题始终没有研究出一种普遍认同的方法。
    【问题1】请用200字以内文字说明系统可靠性的定义及包含的4个子特性,并简要指出提高系统可靠性一般采用哪些技术?
    【问题2】王工带领的可靠性研究团队之所以没能快速取得软件可靠性问题的技术突破,其核心原因是他们没有搞懂高可靠性软件应具备的特点。软件可靠性一般致力于系统性地减少和消除对软件程序性能有不利影响的系统故障。除非被修改,否则软件系统不会随着时间的推移而发生退化。请根据你对软件可靠性的理解,给出下表所列出的硬件可靠性特征与其对应的软件可靠性特征之间的差异或相似之处,将答案写在答题纸上。
    【问题3】王工带领的可靠性研究团队在分析了大量相关资料基础上,提出软件的质量和可靠性必须在开发过程构建到软件中,也就是说,为了提高软件的可靠性,必须在需求分析、设计阶段开展软件可靠性筹划和设计。研究团队针对本公司承担的飞行控制系统制定出了一套飞控软件的可靠性设计要求。飞行控制系统是一种双余度同构型系统,输入采用了独立的两路数据通道,在系统内完成输入数据的交叉对比、表决、制导率计算,输出数据的交叉对比、表决、输出等功能,系统的监控模块实现对系统失效或失步的检测与定位。其软件的可靠性设计包括恢复块方法和N版本程序设计方法。请根据恢复块方法工作原理完成下图,在(1)~(4)中填入恰当的内容。并比较恢复块方法与N版本程序设计方法,将比较结果(5)~(8)填入下表中。



    答案:
    解析:
    问题1:
    系统可靠性定义:系统在规定的时间内及规定的环境条件下,完成规定功能的能力,就是系统无故障运行的概率。
    根据国家标准《软件工程产品质量 第1部分:质量模型》(GB/T 16260.1—2006)的规定,系统可靠性包括:成熟性、容错性、易恢复性和可靠性的依从性4个子特性。
    提高系统可靠性一般采用以下4类技术: (1)冗余技术; (2)软件容错技术; (3)双机容错技术; (4)集群技术。
    问题2:
    (1)从硬件角度分析,由于硬件一旦生产完成,其可靠性指标将会随着使用时间延长而逐步老化,从而带来可靠性降低,即呈现失效率服从浴缸曲线;而软件不存在随时间延长而老化的现象,因此,在不考虑软件演化的情况下,失效率在统计上是非增的。
    (2)由于硬件是由多种电子器件组成,即使不使用,材料劣化也会导致失效;而软件就不同了,软件一旦调试完成,固化到设备中,在不考虑存储介质的老化因素的前提下,即使不使用该软件,软件也永远不会发生失效。
    (3)由于硬件存在可更换性,其硬件通过维修,可恢复原始状态;而对于软件而言,一旦需要维护,必然是存在需求更改、程序存在bug等现象,其维护必然会创建新的软件代码。
    (4)一般而言,硬件失效存在一个发展过程,在发生故障之前必然会有报警现象出现,而软件失效之前很少会有警告。
    问题3:
    1.恢复块方法: (1)主块 (2)验证测试 (3)输出正确结果 (4)异常处理
    2.恢复块方法与N版本程序设计的比较 (5)表决 (6)反向恢复 (7)差 (8)好

  • 第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


    正确答案:C

  • 第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分)

    请给出检错技术的优缺点,并说明检测技术常见的实现方式和处理方式。


    正确答案:
    试题五分析本题考查信息系统中可靠性的设计,是比较传统的题目,要求考生细心分析题目中所描述的内容。【问题1】本问题考查信息系统可靠性的两个基本概念:可靠度和失效率。可靠性是指产品在规定的条件下和规定的时间内完成规定功能的能力。考虑到软件本身的复杂性,软件可靠性的定义是:在规定的条件下,在规定的时间内,软件不引起系统失效的概率。在软件可靠性的定量描述中,软件可靠性可以基于使用条件、规定时间、系统输入、系统使用和软件缺陷等变量构建数学表达式,来对软件可靠性进行定量描述。相关概念有规定时间、失效概率、可靠度、失效强度、失效率、平均无失效时间等。其中可靠度是表示可靠性最直接的方式,是软件系统在规定的条件下、规定的实践内不发生失效的概率。而失效率又称风险函数,也可以称为条件失效强度,是指运行至此刻系统未出现失效的情况下,单位时间系统出现失效的概率。【问题2】本问题考查在常规的软件设计中,应用各种方法和技术,使程序设计在兼顾用户功能和性能需求的同时,全面满足软件的可靠性要求。常见的软件可靠性技术主要有容错设计、检错设计和降低复杂度设计等技术。其中,容错设计技术主要有恢复快设计、N版本程序设计和冗余设计三种方法。N版本程序设计是一种静态的故障屏蔽技术,其设计思想是用N个具有相同功能的程序同时执行一项计算,结果通过多数表决来选择。其中N个版本的程序必须由不同的人独立设计,使用不同的方法、设计语言、开发环境和工具来实现,目的是减少N个版本的程序在表决点上相关错误的概率。动态冗余又称为主动冗余,它是通过故障检测、故障定位及故障恢复等手段达到容错的目的。其主要方式是多重模块待机储备,当系统检测到某工作模块出现错误时,就用一个备用的模块来替代它并重新运行。各备用模块在其待机时,可与主模块一样工作,也可以不工作。前者叫热备份系统(双重系统),后者叫冷备份系统(双工系统、双份系统)。计算机系统是一个复杂系统,影像其可靠性的因素很多,很难直接进行可靠性分析,往往需要建立对应的数学模型。组合模型是分析系统可靠性的一种常用方法。组合模型下可靠度的计算方法为:串联系统:R=R1×R2×……×Rn;并联系统:R=1-(1-R1)×(1-R2)×……×(1-Rn);串联和并联混合系统则根据实际情况,灵活运用上述两个计算公式。M2采用动态冗余后,成为并联系统,则其可靠度为:R=1-(1-0.99)3=0.999999。李工给出的方案同时采用了串联和并联方式,其计算方法为首先计算出中间M2和M3两个并联系统的可靠度,再按照串联系统的计算方法计算出整个系统的可靠度。R=0.99*0.999999*0.999999*0.99=0.98【问题3】本问题考查软件可靠性设计中的检错技术。检错技术常见的实现方式有多种,最直接的一种实现方式是判断返回结果,如果返回结果超出正常范围,则进行异常处理;计算运行时间也是一种常用技术,如果某个模块或函数运行时间超过预期时间,可以判断出现故障;还有置状态标志位等多种方法,自检的实现方式需要根据实际情况来选用。检错技术的处理方式也有多种,大多数都采用“查处故障-停止软件运行-报警”的处理方式。但根据故障的不同情况,也有采用不停止或部分停止软件系统运行的情况,这一般由故障是否需要实时处理来决定。检错技术实现的代价一般低于容错技术和冗余技术,但有一个明显的缺点,就是不能自动解决故障,出现故障后如果不进行人工干预,将最终导致软件系统不能正常运行。解答要点【问题1】可靠度就是系统在规定的条件下、规定的时间内不发生失效的概率。失效率又称风险函数,也可以称为条件失效强度,是指运行至此刻系统未出现失效的情况下,单位时间系统出现失效的概率。【问题2】动态冗余又称为主动冗余,它是通过故障检测、故障定位及故障恢复等手段达到容错的目的。其主要方式是多重模块待机储备,当系统检测到某工作模块出现错误时,就用一个备用的模块来替代它并重新运行。各备用模块在其待机时,可与主模块一样工作,也可以不工作。前者叫热备份系统(双重系统),后者叫冷备份系统(双工系统、双份系统)。N版本程序设计是一种静态的故障屏蔽技术,其设计思想是用N个具有相同功能的程序同时执行一项计算,结果通过多数表决来选择。其中N个版本的程序必须由不同的人独立设计,使用不同的方法、设计语言、开发环境和工具来实现,目的是减少N个版本的程序在表决点上相关错误的概率。M2采用动态冗余后的可靠度为:R=1-(1-0.99)3=0.999999李工给出的方案同时采用了串联和并联方式,其计算方法为首先计算出中间M2和M3两个并联系统的可靠度,再按照串联系统的计算方法计算出整个系统的可靠度。R=0.99*0.999999*0.999999*0.99=0.98【问题3】检错技术实现的代价一般低于容错技术和冗余技术,但有一个明显的缺点,就是不能自动解决故障,出现故障后如果不进行人工干预,将最终导致软件系统不能正常运行。检错技术常见的实现方式:最直接的一种实现方式是判断返回结果,如果返回结果超出正常范围,则进行异常处理;计算运行时间也是一种常用技术,如果某个模块或函数运行时间超过预期时间,可以判断出现故障;还有置状态标志位等多种方法,自检的实现方式需要根据实际情况来选用。检错技术的处理方式,大多数都采用“查处故障-停止软件运行-报警”的处理方式。但根据故障的不同情况,也有采用不停止或部分停止软件系统运行的情况,这一般由故障是否需要实时处理来决定。