• 软件质量管理


    1McCall的软件质量模型

    McCall等认为,特性是软件质量的反映,软件属性可用做评价准则,定量化地度量软件属性可知软件质量的优劣

    McCall的软件质量模型
    McCall认为软件的质量模型应该包括 产品的修正、产品的转移,产品的运行
    产品的修正又包括 可维护性、可测试性、灵活性等子特点。
    产品的转移包括 可移植性、可复用性、互连性等。
    产品的运行包括 正确性、可靠性、效率、可使用性和完整性

    McCall的软件质量模型
     
    2 软件容错技术
        提高软件质量和可靠性的技术大致分为两类,一类是避开错误(fault-avoidance)技术,即在开发的过程中不让差错潜入软件的技术;另一类是容错(fault-tolerance)技术,即对某些无法避开的差错,使其影响减少至最小的技术。
    2.1 容错软件定义
       归纳容错软件的定义,有以下四种:
      (1)规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件为具有容错功能的软件,即容错软件。
      (2)规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称之为容错软件。
      (3)规定功能的软件,在因错误而发生错误时,仍然能在一定程度上完成预期的功能,则把该软件称为容错软件。
      (4)规定功能的软件,在一定程度上具有容错能力,则称之为容错软件。
    2.2 容错的一般方法
       1、结构冗余
      (1)静态冗余。常用的有:三模冗余TMR(Triple Moduler Redundancy)和多模冗余。
      (2)动态冗余。动态冗余的主要方式是多重模块待机储备,当系统检测到某工作模块出现错误时,就用一个备用的模块来顶替它并重新运行。
      (3)混合冗余。它兼有静态冗余和动态冗余的长处。
       2、信息冗余
       为检测或纠正信息在运算或传输中的错误须外加一部分信息,这种现象称为信息冗余。
       3、时间冗余
       时间冗余是指以重复执行指令(指令复执)或程序(程序复算)来消除瞬时错误带来的影响。
       4、冗余附加技术
       冗余附加技术是指实现上述冗余技术所需的资源和技术。
    2.3 容错软件的设计过程

        容错系统的设计过程包括以下设计步骤:
       (1)按设计任务要求进行常规设计,尽量保证设计的正确。
        按常规设计得到非容错结构,它是容错系统构成的基础。在结构冗余中,不论是主模块还是备用模块的设计和实现,都要在费用许可的 条件下,用调试的方法尽可能提高可靠性。
       (2)对可能出现的错误分类,确定实现容错的范围。
        对可能发生的错误进行正确的判断和分类,例如,对于硬件的瞬时错误,可以采用指令复执和程序复算;对于永久错误,则需要采用备份替换或者系统重构。对于软件来说,只有最大限度地弄清错误和暴露的规律,才能正确地判断和分类,实现成功的容错。
       (3)按照“成本——效率”最优原则,选用某种冗余手段(结构、信息、时间)来实现对各类错误的屏蔽。
       (4)分析或验证上述冗余结构的容错效果。如果效果没有达到预期的程度,则应重新进行冗余结构设计。如此反复,直到有一个满意的结果为止。
  • 相关阅读:
    property补充
    利用描述符自定制property
    类的装饰器
    上下文协议管理
    描述符
    迭代器协议
    doc属性__module__属性__del__(垃圾回收)__call__方法
    【移动支付】.NET支付宝App支付接入
    【WPF】PopupColorEdit 的使用
    【MVVM Dev】PART_Editor的使用
  • 原文地址:https://www.cnblogs.com/SeekHit/p/5396257.html
Copyright © 2020-2023  润新知