zoukankan      html  css  js  c++  java
  • 软件质量管理

    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)分析或验证上述冗余结构的容错效果。如果效果没有达到预期的程度,则应重新进行冗余结构设计。如此反复,直到有一个满意的结果为止。
  • 相关阅读:
    设计模式开篇——7大设计原则
    MySQL MVCC专题
    Spring常考的面试题
    HashMap常考面试题
    Equals和==的比较
    高并发编程
    一文读懂JVM
    scala实现定时任务的方法
    PLAY2.6-SCALA(十二) 表单的处理
    PLAY2.6-SCALA(十一) 模板常用场景
  • 原文地址:https://www.cnblogs.com/SeekHit/p/5396257.html
Copyright © 2011-2022 走看看