论软件可靠性设计与应用 目前在企业中,以软件为核心的产品得到了广泛的应用。随着系统中软件部分比例的不断增加,使得系统对软件的依赖性越来越强,对软件的可靠性要求也越来越高。软件可靠性与其他质量属性一样,是衡量软件架构的重要指标 软件工程中已有很多比较成熟的设计技术,如结构化设计、模块化设计、自顶向下设计等,这些技术为保障软件的整体质量发挥了重要作用。在此基础上,为了进一步提高软件的可靠性,通常会采用一些特殊的设计技术,即软件可靠性设计技术。 在软件可靠性工程体系中,包含有可靠性模型与预测、可靠性设计和可靠

题目

论软件可靠性设计与应用 目前在企业中,以软件为核心的产品得到了广泛的应用。随着系统中软件部分比例的不断增加,使得系统对软件的依赖性越来越强,对软件的可靠性要求也越来越高。软件可靠性与其他质量属性一样,是衡量软件架构的重要指标 软件工程中已有很多比较成熟的设计技术,如结构化设计、模块化设计、自顶向下设计等,这些技术为保障软件的整体质量发挥了重要作用。在此基础上,为了进一步提高软件的可靠性,通常会采用一些特殊的设计技术,即软件可靠性设计技术。 在软件可靠性工程体系中,包含有可靠性模型与预测、可靠性设计和可靠性测试方法等。实践证明,保障软件可靠性最有效、最经济、最重要的手段是在软件设计阶段采取措施进行可靠性控制。 请围绕"软件可靠性设计与应用"论题,依次从以下3个方面进行论述。 ①概要叙述你参与实施的软件开发项目及你所承担的主要工作。 ②简要叙述影响软件可靠性的因素有哪些。 ③阐述常用的软件可靠性设计技术及你如何应用到实际项目中,效果如何。


相似考题
参考答案和解析
正确答案: 这是一道关于软件可靠性设计的试题,主要考查影响软件可靠性的因素及软件可靠性设计技术和应用。本题需要特别注意的一点是:文章不能以"系统可靠性设计与应用"为主线组织内容。"系统可靠性设计"与"软件可靠性设计"的区别在于:系统可靠性包括了系统硬件的可靠性和系统软件的可靠性。
软件的可靠性设计技术主要有:恢复块方法、N版本程序设计、防卫式程序设计。
更多“论软件可靠性设计与应用 目前在企业中,以软件为核心的产品得到了广泛的应用。随着系统中软件部分比例的不断增加,使得系统对软件的依赖性越来越强,对软件的可靠性要求也越来越高。软件可靠性与其他质量属性一样,是衡量软件架构的重要指标 软件工程中已有很多比较成熟的设计技术,如结构化设计、模块化设计、自顶向下设计等,这些技术为保障软件的整体质量发挥了重要作用。在此基础上,为了进一步提高软件的可靠性,通常会采用一些特殊的设计技术,即软件可靠性设计技术。 在软件可靠性工程体系中,包含有可靠性模型与预测、可靠性设计和可靠性”相关问题
  • 第1题:

    软件可靠性测试过程的正确顺序为______。

    A) 定义软件运行剖面、设计测试用例、确定可靠性目标、实施可靠性测试、分析测试结果

    B) 确定可靠性目标、定义软件运行剖面、设计测试用例、实施可靠性测试、分析测试结果

    C) 设计测试用例、定义软件运行剖面、确定可靠性目标、实施可靠性测试、分析测试结果

    D) 确定可靠性目标、设计测试用例、定义软件运行剖面、实施可靠性测试、分析测试结果

    A.

    B.

    C.

    D.


    正确答案:B

  • 第2题:

    论高可靠性系统中软件容错技术的应用

    容错技术是当前计算机领域研究的热点之一,是提高整个系统可靠性的有效途径,许多重要行业(如航空、航天、电力、银行等)对计算机系统提出了高可靠、高可用、高安全的要求,用于保障系统的连续工作,当硬件或软件发生故障后,计算机系统能快速完成故障的定位与处理,确保系统正常工作。

    对于可靠性要求高的系统,在系统设计中应充分考虑系统的容错能力,通常,在硬件配置上,采用了冗余备份的方法,以便在资源上保证系统的可靠性。在软件设计上,主要考虑对错误(故障)的过滤、定位和处理,软件的容错算法是软件系统需要解决的关键技术,也是充分发挥硬件资源效率,提高系统可靠性的关键。

    请围绕“高可靠性系统中软件容错技术的应用”论题,依次从以下三个方面进行论述。

    简述你参与设计和开发的、与容错相关的软件项目以及你所承担的主要工作。


    正确答案:[写作要点] 通过自己所从事的具有容错能力的软件课题应说明以下几点: . 项目的概述包括软件项目的功能与性能要求、软件整体结构、硬件环境描述; . 在项目中对容错的具体要求; . 所承担的工作内容。
    [写作要点] 通过自己所从事的具有容错能力的软件课题,应说明以下几点: . 项目的概述包括软件项目的功能与性能要求、软件整体结构、硬件环境描述; . 在项目中对容错的具体要求; . 所承担的工作内容。

  • 第3题:

    在软件评审中,设计质量是指设计的规格说明书符合用户的要求。设计质量的评审内容不包括(32)。

    A.软件可靠性

    B.软件的可测试性

    C.软件性能实现情况

    D.模块层次


    正确答案:D
    设计质量评审的内容主要有:软件需求规格说明、软件可靠性、软件是否具有可修改性、可扩充性、可互换性、可移植性、可测试行和可重用性及软性性能的实现情况等。

  • 第4题:

    论软件的可靠性设计

    现代军事和商用系统中,随着系统中软件成分的不断增加,系统对软件的依赖性越来越强。软件可靠性已成为软件设计过程中不可或缺的重要组成部分。实践证明,保障软件可靠性最有效、最经济、最重要的手段是在软件设计阶段采取措施进行可靠性控制,由此提出了可靠性设计的概念。可靠性设计就是在常规的软件设计中,应用各种方法和技术,使程序设计在兼顾用户的功能和性能需求的同时,全面满足软件的可靠性要求。

    请以“软件的可靠性设计”为题,依次从以下三个方面进行论述。 1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。 2.简要说明目前比较主流的软件可靠性设计技术,结合项目实际情况,阐述所选择的可靠性设计技术及其原因。 3.结合你具体参与管理和开发的实际项目,举例说明所选取的软件可靠性技术的具体实施过程,并详细分析实施效果。


    正确答案:
    可靠性设计是架构考试中反复考查的一个知识点。
    本文第一部分应花400-600字的篇幅进行项目简介,涉及项目背景、规模、人员、作者的角色,开发的系统有什么样的一些功能,大体的设计。
    接下来介绍主流的软件可靠性设计技术,常见的可靠性设计技术有容错设计、检错设计、降低复杂度设计等技术。
    容错设计技术:对于软件失效后果特别严重的场合,如飞机的飞行控制系统、空中交通管制系统等,采用容错设计技术。常见的容错设计技术有三种:恢复块设计、N版本程序设计和冗余设计。
    恢复块设计:选择一组软件操作作为容错设计单元,把普通的程序块变成恢复块。一个恢复块包含有若千个功能相同、设计差异的程序块文本,一个运行文本,多个备份文本,构成“动态冗余”,一旦运行文本出现故障,则用备份文本替换。软件容错的恢复块方法就是使软件包含有一系列恢复块。
    N版本程序设计:N版本程序的核心是通过设计出多个模块或不同版本,对于相同初始条件和相同输入的操作结果,实现多数表决,防止其中某一软件模块/版本的故障提供错误的服务,以实现软件容错。
    冗余设计:在一套完整的软件系统之外,设计一种不同路径、不同算法或不同实现方法的模块或系统作为备份,在出现故障时可以使用冗余的部分进行替换,从而维持软件系统的正常运行。缺点是费用和资源的消耗会有所增加。
    检错技术:在软件系统中,无需在线容错的地方,或不能采用冗余设计技术的部分,如果对可靠性要求较高,故障有可能导致严重的后果时,一般采用检错技术,在软件出现故障后能及时发现并报警,其缺点是不能自动解决故障。
    降低复杂度设计:软件复杂性与软件可靠性有着密切的关系,是产生软件缺陷的重要根源。在设计时考虑降低软件的复杂性,是提高软件可靠性的有效方法。降低复杂度设计的思想是在保证实现软件功能的基础上,简化软件结构,缩短程序代码,优化软件数据流向,降低软件复杂度,从而提高软件可靠性。
    注意在结合项目进行论述时,只要论述其中的2-3个方面即可。

  • 第5题:

    关于软件可靠性测试,说法不正确的是______。

    A.若对软件可靠性要求很高,那么必须执行软件可靠性测试

    B.软件可靠性测试的目标是预测软件在正式运行中的可靠性

    C.由于软件可靠性的预测依赖于出错数据的统计,软件在可靠性测试中的运行情况必须完全符合软件的实际运行情况

    D.在实施可靠性测试之前必须保证软件已经进行严格的测试


    正确答案:A

  • 第6题:

    软件可靠性管理把软件可靠性活动贯穿于软件开发的全过程,成为软件工程管理的一部分。确定软件可靠性度量活动属于( )阶段。

    A.需求分析
    B.概要设计
    C.详细设计
    D.测试阶段

    答案:B
    解析:
    本题考查软件可靠性概念。对于软件可靠性度量活动的确定是概要设计阶段的工作。

  • 第7题:

    在软件评审中.设计质量是指设计的规格说明书符合用户的要求,设计质量的评审内容不包括( )。

    A.软件可靠性
    B.软件可测试性
    C.软件性能实现情况
    D.软件模块层次

    答案:D
    解析:

  • 第8题:

    软件可靠性管理把软件可靠性活动贯穿于软件开发的全过程,成为软件工程管理的一部分。确定软件的可靠性目标在( )阶段。

    A.需求分析
    B.概要设计
    C.详细设计
    D.软件测试

    答案:A
    解析:

  • 第9题:

    论软件的可靠性设计
    现代军事和商用系统中,随着系统中软件成分的不断增加,系统对软件的依赖性越来越强。软件可靠性已成为软件设计过程中不可或缺的重要组成部分。实践证明,保障软件可靠性最有效、最经济、最重要的手段是在软件设计阶段采取措施进行可靠性控制,由此提出了可靠性设计的概念。可靠性设计就是在常规的软件设计中,应用各种方法和技术,使程序设计在兼顾用户的功能和性能需求的同时,全面满足软件的可靠性要求。 请围绕“软件的可靠性设计”论题,依次从以下三个方面进行论述。 1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。 2.简要说明目前比较主流的软件可靠性设计技术,结合项目实际情况,阐述所选择的可靠性设计技术及其原因。 3.结合你具体参与管理和开发的实际项目,举例说明所选取的软件可靠性技术的具体实施过程,并详细分析实施效果。


    答案:
    解析:
    无解析

  • 第10题:

    在软件评审中,设计质量是指设计的规格说明书符合用户的要求。设计质量的评审内容不包括()

    • A、软件可靠性
    • B、软件的可测试性
    • C、软件性能实现情况
    • D、模块层次

    正确答案:D

  • 第11题:

    什么是软件设计中的可靠性设计和安全设计?


    正确答案: 可靠性设计:应根据系统的可靠性要求,按照可靠性设计准则开展设计工作,并在必要时,进行容错、避错等专门的可靠性设计工作。要特别注意对软件出错处理的设计工作,不仅要设计对硬件等软件外系统出错时的处理,而且还要在假定最终软件产品必定还会有错的情况下,进行软件出错的处理设计。
    安全设计:在体系结构设计中应充分考虑系统对软件的安全性需求,进行安全性分析,确定安全性关键的软件部件,采取相应的安全性设计措施。

  • 第12题:

    问答题
    什么是软件设计中的可靠性设计和安全设计?

    正确答案: 可靠性设计:应根据系统的可靠性要求,按照可靠性设计准则开展设计工作,并在必要时,进行容错、避错等专门的可靠性设计工作。要特别注意对软件出错处理的设计工作,不仅要设计对硬件等软件外系统出错时的处理,而且还要在假定最终软件产品必定还会有错的情况下,进行软件出错的处理设计。
    安全设计:在体系结构设计中应充分考虑系统对软件的安全性需求,进行安全性分析,确定安全性关键的软件部件,采取相应的安全性设计措施。
    解析: 暂无解析

  • 第13题:

    论软件可靠性设计技术的应用

    随着软件的日益普及,系统中软件成分不断增加,使得系统对软件的依赖越来越强。

    软件的可靠性对系统可靠性的影响越来越大。而实践证明,保障软件可靠性最有效、最经济、最重要的手段是在软件设计阶段采取措施进行可靠性控制,为此提出了软件可靠性设计的概念。

    软件可靠性设计就是在常规的软件设计中,应用各种方法和技术,使软件设计在兼顾用户功能和性能需求的同时,全面满足软件的可靠性要求。软件可靠性设计应和软件的常规设计紧密结合,贯穿于软件设计过程的始终。

    请围绕“论软件可靠性设计技术的应用”论题,依次从以下三个方面进行论述。

    1.概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。

    2.结合项目实际,论述你在项目开发过程中,进行软件可靠性设计时遵循的基本原则;论述你在该项目中所采用的具体可靠性设计技术。

    3.阐述你在具体的可靠性设计工作中,为了分析影响软件可靠性的主要因素,所采用的可靠性分析方法。

    的多个相关表,业务逻辑层实体数据可以作为业务过程的部分I/O参数传递,业务逻辑层的实体是可序列化的,以保持它们的当前状态。业务逻辑层是实现系统功能的核心组件,采用容器的形式,便于系统功能的开发、代码重用和管理。

    持久层。持久层主要负责数据的持久化存储,主要负责将业务数据存储在文件、数据库等持久化存储介质中。持久层的主要功能是为业务逻辑提供透明的数据访问、持久化、加载等能力。

    三、考生需要结合项目实际情况,举例说明在设计表现层、中间层和持久层时需要考虑的主要问题,例如:在持久层设计时需要考虑MVC模型中的模型、视图和控制器分别对应哪些组件:在中间层设计时需要考虑框架与业务组件之间的关系;在持久层设计时需要考虑如何支持对多种类型数据的透明访问。


    正确答案:

    写作要点

    一、概要论述你参与管理和开发的信息系统项目以及你在其中所承担的主要工作。

    二、结合项目实际,论述你在进行软件可靠性设计时遵循的基本原则,你所采用的具体可靠性设计技术的基本内容。

    可靠性设计需要遵循的原则有:

    1、软件可靠性设计是软件设计的一部分,必须在软件的总体设计框架中使用,并且不能与其他设计原则相冲突。

    2、软件可靠性设计在满足提高软件质量要求的前提下,以提高和保障软件可靠性为最终目标。

    3、软件可靠性设计应确定软件的可靠性目标,不能无限扩大,并且排在功能、用户需求、开发费用之后考虑。

    常见的可靠性设计技术有容错设计、检错设计、降低复杂度设计等技术。

    容错设计技术:对于软件失效后果特别严重的场合,如飞机的飞行控制系统、空中交通管制系统等,采用容错设计技术。常见的容错设计技术有三种:恢复块设计、N版本程序设计和冗余设计。

    恢复块设计:选择一组软件操作作为容错设计单元,把普通的程序块变成恢复块。一个恢复块包含有若千个功能相同、设计差异的程序块文本,一个运行文本,多个备份文本,构成“动态冗余”,一旦运行文本出现故障,则用备份文本替换。软件容错的恢复块方法就是使软件包含有一系列恢复块。

    N版本程序设计:N版本程序的核心是通过设计出多个模块或不同版本,对于相同初始条件和相同输入的操作结果,实现多数表决,防止其中某一软件模块/版本的故障提供错误的服务,以实现软件容错。

    冗余设计:在一套完整的软件系统之外,设计一种不同路径、不同算法或不同实现方法的模块或系统作为备份,在出现故障时可以使用冗余的部分进行替换,从而维持软件系统的正常运行。缺点是费用和资源的消耗会有所增加。

    检错技术:在软件系统中,无需在线容错的地方,或不能采用冗余设计技术的部分,如果对可靠性要求较高,故障有可能导致严重的后果时,一般采用检错技术,在软件出现故障后能及时发现并报警,其缺点是不能自动解决故障。

    降低复杂度设计:软件复杂性与软件可靠性有着密切的关系,是产生软件缺陷的重要根源。在设计时考虑降低软件的复杂性,是提高软件可靠性的有效方法。降低复杂度设计的思想是在保证实现软件功能的基础上,简化软件结构,缩短程序代码,优化软件数据流向,降低软件复杂度,从而提高软件可靠性。

    (结合实际工作,具体解释遵循的原则和采用的一种或多种可靠性设计技术)

    三、阐述你在具体的可靠性设计工作中,为了分析影响软件可靠性的主要因素,所采用的可靠性分析方法。

    在软件可靠性设计之前和软件可靠性设计过程中,都需要采用软件可靠性分析和预|测方法,来确定当前系统中的主要可靠性因素和目标。常见的软件可靠性分析方法包括故障树分析方法、失效模式与效应分析方法等。

    故障树分析方法:一种自顶向下的软件可靠性分析方法,即从软件系统不希望发生的事件(顶事件),特别是对人员和设备的安全及可靠性产生重大影响的事件开始,向下逐步追查导致顶事件发生的原因,直至基本事件(底事件),从而确定软件故障原因的各种可能组合方式和(或)发生概率。基本的步骤是软件故障树的建立、定性分析和定量分析。

    失效模式与效应分析方法:在软件开发阶段的早期,通过识别软件失效模式,分析造成的后果,研究分析各种失效模式产生的原因,寻找消除和减少其有害后果的方法,以便尽早发现潜在的问题,并采取相应的措施,从而提髙软件的可靠性和安全性。SFMEA的分析对象可以是开发早期阶段的高层次的子系统、部件,也可以是详细设计阶段的单元、模块。对于不同的分析对象,其软件失效模式是不同的,采用的SFMEA分析方法也不同,前者采用系统级分析方法(systemFMEA),后者为详细级分析方法(detailedFMEA)。其基本的步骤是系统定义、软件失效模式分析、软件失效原因分析、软件失效影响分析、改进措施分析。

    (结合实际工作,具体阐述自己所采用的一种或多种可靠性分析方法)


  • 第14题:

    ●在软件评审中,设计质量是指设计的规格说明书符合用户的要求。设计质量的评审内容不包括(32)。

    (32)

    A.软件可靠性

    B.软件的可测试性

    C.软件性能实现情况

    D.模块层次


    正确答案:D

  • 第15题:

    阅读以下关于嵌入式系统可靠性设计方面的描述,回答问题1至问题3。 【说明】 某宇航公司长期从事宇航装备的研制工作,嵌入式系统的可靠性分析与设计已成为该公司产品研制中的核心工作,随着宇航装备的综合化技术发展,嵌入式软件规模发生了巨大变化,代码规模已从原来的几十万扩展到上百万,从而带来了由于软件失效而引起系统可靠性降低的隐患。公司领导非常重视软件可靠性工作,决定抽调王工程师等5人组建可靠性研究团队,专门研究提高本公司宇航装备的系统可靠性和软件可靠性问题,并要求在三个月内,给出本公司在系统和软件设计方面如何考虑可靠性设计的方法和规范。可靠性研究团队很快拿出了系统及硬件的可靠性提高方案,但对于软件可靠性问题始终没有研究出一种普遍认同的方法。

    【问题1】(共9分) 请用200字以内文字说明系统可靠性的定义及包含的4个子特性,并简要指出提高系统可靠性一般采用哪些技术? 【问题2】(共8分) 王工带领的可靠性研究团队之所以没能快速取得软件可靠性问题的技术突破,其核心原因是他们没有搞懂高可靠性软件应具备的特点。软件可靠性一般致力于系统性地减少和消除对软件程序性能有不利影响的系统故障。除非祓修改,否则软件系统不会随着时间的推移而发生退化。请根据你对软件可靠性的理解,给出表3-1所列出的硬件可靠性特征对应的软件可靠性特征之间的差异或相似之处,将答案写在答题纸上。【问题3】(共8分) 王工带领的可靠性研究团队在分析了大量相关资料基础上,提出软件的质量和可靠性必须在开发过程构建到软件中,也就是说,为了提高软件的可靠性,必须在需求分析、设计阶段开展软件可靠性筹划和设计。研究团队针对本公司承担的飞行控制系统制定出了一套飞控软件的可靠性设计要求。飞行控制系统是一种双余度同构型系统,输入采用了独立的两路数据通道,在系统内完成输入数据的交叉对比、表决‘制导率计算,输出数据的交叉对比、表决、一输出等功能,系统的监控模块实现对系统失效或失步的检测与宠位。其软件的可靠性设计包括恢复块方法和N版本程序设计方法。请根据恢复块方法工作原理完成图3-1,在(1)~(4)中填入恰当的内容。并比较恢复块方法与N版本程序设计方法,将比较结果(5)~(8)填入表3-2中。图3-1 恢复块方法 表3-2 恢复块方法与N版本程序设计的比较


    正确答案:【问题1】
    可靠性(Reliability)是指产品在规定的条件下和规定的时间内完成规定功能的能力。
    子特性:成熟性,容错性,易恢复性,可靠性的依从性。
    提高可靠性的技术:
    (1)N版本程序设计
    (2) 恢复块方法
    (3) 防卫式程序设计
    (4)双机热备或集群系统
    (5)冗余设计
     【问题2】
    (1) 不考虑软件演化的情况下,失效率在统计上是非增的
    (2) 如果不使用该软件,永远不会发生失效
    (3) 软件维护会创建新的软件代码
    (4) 软件失效之前很少会有报警
     【问题3】
    (1)主块
    (2)验证测试
    (3)输出正确结果
    (4)异常处理
    (5)表决
    (6)后向恢复
    (7)差
    (8)好

  • 第16题:

    以下关于软件可靠性测试的说法中,正确的是______。

    A.定义软件运行剖面是软件可靠性测试的重要步骤

    B.软件可靠性测试使用的测试用例应该满足分支覆盖

    C.软件可靠性测试可以在单元测试中实施

    D.软件可靠性预测模型的作用是指导软件可靠性测试中的测试用例生成


    正确答案:A
    解析:软件可靠性测试过程包括五个步骤:①确定可靠性目标;②定义软件运行剖面;③设计测试用例;④实施可靠性测试;⑤分析测试结果。所以说定义软件运行剖面是软件可靠性测试的重要步骤,故选项A正确。

  • 第17题:

    软件在机载设备中的运用越来越广泛,驻留于机载设备中的嵌入式软件失效会产生灾难性后果,一般要求其具有较高的可靠性,因此,软件可靠性测试对机载软件至关重要。
    对某嵌入式软件,设计要求其可靠度为1000小时无失效概率99.99%。经实测得出其失效概率函数F(1000)=0.0012,问该软件是否符合设计可靠性要求,并说明原因。


    答案:
    解析:
    不符合可靠度要求。
    软件可靠度R(t)和软件失效概率之间的关系为R(t)=1-F(t)。R(1000)=1-F(1000)=1-0.0012=0.9988=99.88%,99.88%<99.99%,因此不符合设计软件可靠度要求。
    【解析】
    本题考查软件可靠性知识与应用。
    软件可靠性(software reliability)是软件产品在规定的条件下和规定的时间区间完成规定功能的能力。规定的条件是指直接与软件运行相关的使用该软件的计算机系统的状态和软件的输入条件,或统称为软件运行时的外部输入条件;规定的时间区间是指软件的实际运行时间区间;规定功能是指为提供给定的服务,软件产品所必须具备的功能。软件可靠性不但与软件存在的缺陷和(或)差错有关,而且与系统输入和系统使用有关。软件可靠性的概率度量称软件可靠度。
    现代软件工程认为,质量形成于过程,过程的因素是影响软件可靠性的主要因素。从软件开发的角度,影响软件可靠性的因素有软件规模、运行剖面、软件内部结构、软件可靠性管理、软件可靠性测试与投入、软件可靠性设计技术、软件开发方法与软件开发环境等。一般地,软件规模越大,其可靠性问题就越多。
    失效概率是软件从运行开始到某一时刻t为止,出现失效的概率;
    可靠度是软件系统在规定的条件下,规定的时间内不发生失效的概率;
    平均无失效时间指软件运行后,到下一次出现失效的平均时间。
    软件可靠度R(t)与软件失效概率之间的关系为R(t)=1-F(t),题目中t=1000,F(t)=0.0012,因此R(t)=1-0.0012=0.9988,显然不符合该嵌入式软件设计要求的0.9999无失效概率。

  • 第18题:

    [说明]现代软件的飞速发展,使得系统对软件的依赖越来越强,对软件可靠性的要求也越来越来高,因此发展以发现软件可靠性缺陷为目的的可靠性测试技术也日益迫切。
    15、[问题1] 一个完整的软件可行性测试如图5-1所示。(5分)



    请写出图中(1)~(5)。
    16、[问题2] 解释说明软件可靠性测试的目的,并说明狭义和广义软件可靠性测试的区别。(5分)
    17、[问题3] 可靠性目标是指客户对软件性能满意程度的期望。通常采用失效严重程度、可靠度、故障强度、平均无故障时间等指标来描述。请分别解释其含义。(2分)


    答案:
    解析:
    15、一个完整的软件可行性测试如图5-2所示。



    (1)确定可靠性目标 (2)可靠性数据 (3)分析可靠性的因素 (4)可靠性模型 (5)可靠性评价
    16、可靠性测试的目的可归纳为以下三个方面:
    ①发现软件系统在需求、设计、编码、测试、实施等方面的各种缺陷。 ②为软件的使用和维护提供可靠性数据。
    ③确认软件是否达到可靠性的定量要求。
    广义的软件可靠性测试是指为了每终评价软件系统的可靠性而运用建模、统计、试验、分析、评价等一系列手段对软件系统实施的一种测试。
    狭义的软件可靠性测试是指为了获取可靠性数据,按预先确定的测试用例,在软件的预期使用环境中,对软件实施的一种测试。狭义的软件可靠性测试也叫“较件可靠性试验(sottwan: reliability test)”,它是面向缺陷的测试,以用户将要使用的方式来测试软件,每一次测试代表用户将要完成的一组操作,使测试成为最终产品使用的预演。这就使得所获得的测试数据与软件的宴际运行数据比较接近,可用于软件可靠性评价。
    17、失效严重程度类就是对用户具有相同程度影响的失效集合。
    可靠度就是软件系统在规定的条件下,规定的时间内不发生失效的概率。
    故障强度是指:以单位运转时间的软件故障停机小时表示停机时间的长短,其表式为:软件故障强度率=100%*软件故障停机小时/软件实际运转时间。
    平均无故障时间(MTTF):全称是Mean Time To Failure,即平均失效时间。系统平均能够正常运行多长时间,才发生一次故障。系统的可靠性越高,平均无故障时间越长。

  • 第19题:

    阅读以下说明,回答下列问题。
    [说明]现代软件的飞速发展,使得系统对软件的依赖越来越强,对软件可靠性的要求也越来越来高,因此发展以发现软件可靠性缺陷为目的的可靠性测试技术也日益迫切。
    问题1:一个完整的软件可行性测试如图5-1所示。



    请写出图中(1)~(5)。
    问题2:解释说明软件可靠性测试的目的,并说明狭义和广义软件可靠性测试的区别。
    问题3:可靠性目标是指客户对软件性能满意程度的期望。通常采用失效严重程度、可靠度、故障强度、平均无故障时间等指标来描述。请分别解释其含义。


    答案:
    解析:
    问题1:一个完整的软件可行性测试如图5-2所示。



    (1)确定可靠性目标 (2)可靠性数据 (3)分析可靠性的因素 (4)可靠性模型 (5)可靠性评价
    问题2:可靠性测试的目的可归纳为以下三个方面:
    ①发现软件系统在需求、设计、编码、测试、实施等方面的各种缺陷。
    ②为软件的使用和维护提供可靠性数据。
    ③确认软件是否达到可靠性的定量要求。
    问题3:
    广义的软件可靠性测试是指为了每终评价软件系统的可靠性而运用建模、统计、试验、分析、评价等一系列手段对软件系统实施的一种测试。
    狭义的软件可靠性测试是指为了获取可靠性数据,按预先确定的测试用例,在软件的预期使用环境中,对软件实施的一种测试。狭义的软件可靠性测试也叫"较件可靠性试验(sottwan: reliability test)",它是面向缺陷的测试,以用户将要使用的方式来测试软件,每一次测试代表用户将要完成的一组操作,使测试成为最终产品使用的预演。这就使得所获得的测试数据与软件的宴际运行数据比较接近,可用于软件可靠性评价。
    失效严重程度类就是对用户具有相同程度影响的失效集合。
    可靠度就是软件系统在规定的条件下,规定的时间内不发生失效的概率。
    故障强度是指:以单位运转时间的软件故障停机小时表示停机时间的长短,其表式为:软件故障强度率=100%*软件故障停机小时/软件实际运转时间。
    平均无故障时间(MTTF):全称是Mean Time To Failure,即平均失效时间。系统平均能够正常运行多长时间,才发生一次故障。系统的可靠性越高,平均无故障时间越长。

  • 第20题:

    阅读以下关于嵌入式系统可靠性设计方面的描述,回答下列问题。
    【说明】某宇航公司长期从事宇航装备的研制工作,嵌入式系统的可靠性分析与设计已成为该公司产品研制中的核心工作,随着宇航装备的综合化技术发展,嵌入式软件规模发生了巨大变化,代码规模已从原来的几十万扩展到上百万,从而带来了由于软件失效而引起系统可靠性降低的隐患。公司领导非常重视软件可靠性工作,决定抽调王工程师等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)好

  • 第21题:

    论高可靠性系统中软件容错技术的应用 容错技术是当前计算机领域研究的热点之一,是提高整个系统可靠性的有效途径,许多重要行业(如航空、航天、电力、银行等)对计算机系统提出了高可靠、高可用、高安全的要求,用于保障系统的连续工作,当硬件或软件发生故障后,计算机系统能快速完成故障的定位与处理,确保系统正常工作。 对于可靠性要求高的系统,在系统设计中应充分考虑系统的容错能力。通常,在硬件配置上采用了冗余备份的方法,以便在资源上保证系统的可靠性。在软件设计上,主要考虑对错误(故障)的过滤、定位和处理,软件的容错算法是软件系统需要解决的关键技术,也是充分发挥硬件资源效率,提高系统可靠性的关键。 请围绕"高可靠性系统中软件容错技术的应用"论题,依次从以下3个方面进行论述: ①简述你参与设计和开发的、与容错相关的软件项目及你所承担的主要工作。 ②具体论述你在设计软件时,如何考虑容错问题,采用了哪几种容错技术和方法。 ③分析你所采用的容错方法是否达到系统的可靠性和实时性要求。


    正确答案: 软件容错的主要目的是提供足够的冗余信息和算法程序,使系统在实际运行时能够及时发现程序设计错误,采取补救措施,以提高软件可靠性,保证整个计算机系统的正常运行。
    软件容错技术主要有恢复块方法和N版本程序设计,另外还有防卫式程序设计等。
    在进行本文的写作时,要注意以下几个方面:
    ①项目的概述,包括软件项目的功能与性能要求、软件整体结构、硬件环境描述:在项目中对容错的具体要求;所承担的工作内容。
    ②作为容错技术,主要考虑4种冗余:硬件冗余、软件冗余、信息冗余和时间冗余。但作为一个具体软件系统,往往会采用多种技术去实现,这里应给出具体实现方法。
    ③对自己采用的容错技术的结果进行系统的可靠性分析。主要说明以下几点:
    通过容错技术实施,系统整个项目达到了几余度(如两余度、四余度、六余度)。
    给出本软件的可靠性指标。
    分析出软件容错的实时性指标,如恢复时间、重组合(或称重构)时间。

  • 第22题:

    可靠性设计的常用方法有();

    • A、提高软件可靠性
    • B、诊断技术
    • C、冗余技术
    • D、反求工程设计

    正确答案:A,B,C

  • 第23题:

    单选题
    在软件评审中,设计质量是指设计的规格说明书符合用户的要求。设计质量的评审内容不包括()
    A

    软件可靠性

    B

    软件的可测试性

    C

    软件性能实现情况

    D

    模块层次


    正确答案: A
    解析: 设计质量的评审内容包括以下几个方面。
    评价软件的规格说明是否合乎用户的要求。
    评审可靠性。
    评审保密措施实现情况。
    评审操作特性实施情况。
    评审性能实现情况。
    评审软件是否具有可修改性、可扩充性、可互换性和可移植性。
    评审软件是否具有可测试性。
    评审软件是否具有复用性。模块层次属于程序质量的评审内容,不属于设计质量的评审内容。

  • 第24题:

    多选题
    可靠性设计的常用方法有();
    A

    提高软件可靠性

    B

    诊断技术

    C

    冗余技术

    D

    反求工程设计


    正确答案: B,C
    解析: 暂无解析