• 当前位置:创业找项目 > 范文大全 > 软件质量模型
  • 软件质量模型

  • 来源:创业找项目
  • 时间:2018-05-06
  • 移动端:软件质量模型
  • 篇一:软件过程模型的优缺点对比

    软件过程模型的比较

    瀑布模型

    瀑布模型(经典生命周期)提出了软件开发的系统化的、顺序的方法。其流 程从用户需求规格说明开始,通过策划、建模、构建和部署的过程,最终提供一 个完整的软件并提供持续的技术支持。

    优点:

    1. 强调开发的阶段性,各阶段具有顺序性和依赖性

    2. 强调早期调研和需求分析,推迟编码实现的观点

    3. 提供了一个摸板,这个摸板使得分析、设计、编码、测试和支持的方法可以 在该摸板下有一个共同的指导

    缺点:

    1. 文档驱动,用户无法及时了解产品的情况

    2. 依赖早期调研和需求分析,很难适应在许多项目开始阶段必然存在的不确定 性。

    3. 流程单一,必须要完成前一阶段的任务,才能进行下一阶段,开发过程中的 成功经验无法用于本产品。

    4. 测试在后期引入,对于系统存在的重大缺陷,如果在可执行程序评审之前没 有被发现,将可能造成重大损失。

    5. 组织庞大,人员闲置。

    适用范围:需求确定,工作能够采用线性的方式完成的软件。

    增量过程模型

    增量过程模型包括增量模型、RAD 模型。

    (一)增量模型 增量过程模型以迭代的方式运用瀑布模型,把软件产品作为一系列的增量构

    件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够 完成特定的功能。使用增量模型时,第一个增量往往是核心功能。

    优点:

    1.能在较短的时间内向用户提交可完成部分工作的产品。

    2.逐步增加产品功能可以使用户有充裕的时间学习和适应新产品,从而减少一个 全新的软件可能给客户组织带来的冲击。

    3. 规避技术风险

    4. 可并行开发构件,加快开发的进度

    缺点:

    1. 没有考虑软件的整体质量和长期的可维护性。

    2. 大部分情况是不合适的操作算法被采用目的为了演示功能,不合适的开发工 具被采用仅仅为了它的方便,还有不合适的操作系统被选择等等。

    3. 由于达不到质量要求产品可能被抛弃,而采用新的模型重新设计

    适用范围:项目在既定的商业要求期限之前不可能找到足够的开发人员;

    (二)RAD 模型

    RAD 模型是一种侧重于短暂的开发周期的增量软件过程模型,它是瀑布模 型的“高速”变体,通过基于构建的构建方法实现快速开发。开发团队能够在非 常短的时间内创造出“全功能系统”

    优点:

    1.开发速度快,质量有保证。

    2.对信息系统特别有效。

    缺点:

    1. 对于大型的可伸缩的项目,RAD 需要大量的人力资源来创建多个相对的独立 的 RAD 团队

    2. 如果开发者和用户没有为短时间内急速完成整个系统做好准备,RAD 项目将 会失败。

    3. 如果一个系统不能合理的模块化,RAD 构件建立会有很多问题。

    4. 如果系统需求是高性能,并且需要通过调整构件接口的方式来提高性能,不 能采用 RAD 模型

    5. 技术风险很高的情况下

    适用范围:1、 不适合技术风险很高的开发,不适合系统需求是高性能,并且需

    要通过调整构件接口的方式来提高性能的产品开发。

    2、 适用于工期紧张,又可细分功能,还要有合适的构件

    演化过程模型

    演化过程模型包括原型开发,螺旋模型,协同开发模型。

    (一)原型开发 从需求收集开始,开发者和客户在一起定义软件的总体目标,

    标识已知的需

    求并且规划出需要进一步定义的区域。然后是“快速设计”,它集中于软件中那些 对客户可见的部分的表示,这将导致原型的创建,并由客户评估并进一步精化待 开发软件的需求。逐步调整原型使其满足客户的需求,这个过程是迭代的。其流 程从听取客户意见开始、随后是建造/修改原型、客户测试运行原型、然后回头 往复循环直到客户对原型满意为止。由于这种模型可以让客户快速的感受到实际 的系统(虽然这个系统不带有任何质量的保证),所以客户和开发者都比较喜欢 这种过程模型(对于那些仅仅用来演示软件功能的公司而言或从来不考虑软件质

    量和不害怕长期维护的公司而言)。

    优点:

    1、能让人(开发者或客户)很快见到产品,有成就感。

    2、能渐进地启发客户提出新的要求或任务。

    缺点:

    1、 没有考虑软件的整体质量和长期的可维护性。

    2、 大部分情况是不合适的操作算法被采用目的为了演示功能,不合适的开发工 具被采用仅仅为了它的方便,还有不合适的操作系统被选择等等。

    3、 由于达不到质量要求产品可能被抛弃,而采用新的模型重新设计。

    (二)螺旋模型 螺旋模型是一种演进式软件过程模型,结合了原型的迭代性质

    和瀑布模型的

    系统性和可控性的特点,具有快速开发越来越完善软件版本的潜力。 开发步骤:

    沿螺线自内向外,每旋转一圈便开发出更为完善的一个新的软件

    版本。例如,在第一圈,确定了初步的目标、方案和限制条件以后,转入右上象 限,对风险进行识别和分析。如果风险分析表明,需求有不确定性,那么在右下 的工程象限内,所建的原型会帮助开发人员和客户,考虑其它开发模型,并对需 求做进一步修正。客户对工程成果做出评价之后,给出修正建议。在此基础上需 再次计划,并进行风险分析。在每一圈螺线上,风险分析的终点做出是否继续下 去的判断。假如风险过大,开发者和用户无法承受,项目有可能终止。多数情况 下沿螺线的活动会继续下去,自内向外,逐步延伸,最终得到所期望的系统。

    优点:

    1. 强调风险

    2. 强调阶段质量

    3. 提供纠错的机会

    缺点:

    1. 每个阶段都要提出被选方案,进行风险分析,研发周期长,效率低

    2. 必须要转业的风险分析人员的参与

    适用范围:大型项目

    (三)协同开发模型 协同开发模型(协同工程),可以表示唯一系列的框架活动、软件工程动作和任务 以及相应的状态。

    适用范围:所有类型的软件开发

    专用过程模型

    包括基于构件的开发、形式化方法模型、面向方面的软件开发。 (一)基于构件的开发

    基于构件的开发模型具有许多螺旋模型的特点,本质上是演化模型,需要以 迭代方式构建软件。不同之处在于,基于构件开发模型采用预先打包的软件构件 开发程序。

    开发过程:对所需构件进行评估 → 考虑构件的集成 → 设计系统的软件框 架→将构件放入框架→进行测试

    优点:

    1. 构件可复用。提高了开发效率。

    2. 采用了面向对象的技术

    3. 能够使软件复用

    缺点:过分依赖于构件,构件库的质量影响着产品质量。

    (二)形式化方法模型 形式化方法模型包含了一组活动,他们导致了计算机软

    件的数学规约。形式

    化方法使得软件工程师们能够通过应用一个严格的数学符号体系来规约、开发、 和验证基于计算机的系统。 这种方法的一个变种,称为净室软件工程,已经被 一些组织所采用。在开发中使用形式化方法时,它们提供了一种机制,能够消除 使用其它软件过程模型难以克服的很多问题。二义性、不完整性、不一致性能被 更容易地发现和纠正,而不是通过专门的评审,是通过对应用的数学分析。 形 式化方法提供了可以产生无缺陷软件的承诺。

    优点:

    1、形式化规约可直接作为程序验证的基础,可以尽早的发现和纠正错误(包括 那些其它情况下不能发现的错误)。

    2、开发出来的软件具有很高的安全性和健壮性,特别适合安全部门或者软件错 误会造成经济损失的开发者。

    3、能够开发出无缺陷软件。

    缺点:

    1、 开发费用昂贵,而且需要的时间较长。

    2、 需要大量的培训。

    3、 不能将这种模型作为对客户通信的机制,因为客户对这些数学语言一无所 知。

    适用范围:不适用于技术水平不高的客户。

    (三)面向方面的软件开发 将系统分成若干相对较独立的组成部分,这些部分称为方面。

    优点:超越了子程序和继承的方法。 缺点:技术还不成

    统一过程模型

    统一过程模型是一种“用例驱动、以体系结构为核心、迭代及增量”的软件 过程框架,由 UML 方法和工具支持。它是一种增量模型,定义了五个阶段:

    a、起始阶段,包括用户沟通和计划活动,强调定义和细化用例

    b、 细化阶段,包括用户沟通和建模活动,重点是创建分析和设计模型。

    c、构件阶段,细化模型设计,并将设计模型转化为软件构件实现

    d、 转化阶段,将软件从开发人员传递给最终用户,并由用户完成 beta 测试和验 收测试

    e、生产阶段,持续地监控软件的运行,并提供技术支持。

    优点:

    1. 任何功能开发后就进入测试过程,及早进行验证

    2. 早期风险识别,采取预防措施

    缺点:

    1. 需求必须在开始之前完全弄清楚,否怎有可能在架构上出现错误

    2. 必须有严格的过程管理,以免使过程退化为原始的试→错→改模式

    3.如果不加控制的让用户过早接触没有测试完全,版本不稳定的产品可能对用 户和开发团队都带来负面的影响

    篇二:软件质量模型的六大特性27个子特性

    软件质量模型的六大特性27个子特性

    一、功能性:

    1、适合性:提供了相应的功能

    2、准确性:正确(用户需要的)

    3、互操作性:产品与产品之间交互数据的能力

    4、保密安全性:允许经过授权的用户和系统能够正常的访问相应的数据和信息,禁止未授权的用户访问.......

    5、功能性的依从性:国际/国家/行业/企业 标准规范一致性

    二、可靠性:产品在规定的条件下,在规定的时间内完成规定功能的能力

    1、成熟性:防止内部错误导致软件失效的能力

    2、容错性:软件出现故障,自我处理能力

    3、易恢复性:失效情况下的恢复能力

    4、可靠性的依从性

    三、易用性:在指定使用条件下,产品被理解、 学习、使用和吸引用户的能力

    1、易理解性:

    2、易学性:

    3、易操作性:

    4、吸引性:

    5、易用性的依从性:

    四、效率性:在规定台条件下,相对于所用资源的数量,软件产品可提供适当性能的能力

    1、时间特性:平均事务响应时间,吞吐率,TPS(每秒事务数)

    2、资源利用性:CPU 内存 磁盘 IO 网络带宽 队列 共享内存

    3、效率依从性:

    五、软件维护性:"四规", 在规定条件下,规定的时间内,使用规定的工具或方法修复规定功能的能力

    1、易分析性:分析定位问题的难易程度

    2、易改变性:软件产品使指定的修改可以被实现的能力

    3、稳定性:防止意外修改导致程序失效

    4、易 测试性:使已修改软件能被确认的能力

    5、维护性的依从性

    六、软件可移植性:从一种环境迁移到另一种环境的能力

    1、适应性:适应不同平台

    2、易安装性:被安装的能力

    3、共存性:

    4、易替换性

    5、可移植性的依从性:

    本文来自CSDN博客,转载请

    http://blog.csdn.net/moluowangzi/archive/2009/09/27/4601084.aspx 标明处出:

    篇三:软件测试之软件质量模型及评价体系

    软件质量评价

    目录

    1、制定质量模型 .................................................................................................................... 1 2、选择度量 ............................................................................................................................ 4 3、建立度量评定等级 ............................................................................................................ 5

    软件质量评价说明

    软件的质量可以理解为软件满足明确的和隐含的要求的能力。

    GB/T 18905—2002(ISO 14598—1999)《软件工程 产品评价》中概述了软件产品评价的过程,提供了评价需求和指南。其中软件产品通用的评价过程中进行软件质量评价主要的准备工作包括:制定质量模型,选择度量,建立度量评定等级。

    1、制定质量模型

    软件质量评价所用的质量模型通常代表软件质量属性的总体,这些质量属性用特性和子特性的分层树结构进行分类。该结构的最高级由质量特性构成,最低级由软件质量属性构成。

    我国2003年颁布的GB/T 16260—2003(ISO 9126—2001)《软件工程 产品质量》提供了一个通用模型它定义了6种软件质量特性,见下图,包括功能性、可靠性、易用性、效率、维护性和可移植性。这些特性还能进一步被分解为具有

    可测量属性的子特性。在特定使用环境下,质量特性的组合效应被定义为使用质量。

    软件的每个质量特性和子特性都有定义。对于每个特性和子特性,软件的能力由可测量的一组内部属性决定。

    1、 功能性:是指当软件在执行条件下使用时,软件产品满足明确和隐含要求功能的能力。

    1.1、 合适性:是指软件产品为指定的任务和用户目标提供一组合适的

    功能的能力。

    1.2、 准确性:是指软件产品具有所需精确度的正确或者相符的结果及

    效果的能力。

    1.3、 互操作性时指软件产品与一个或更多的规定系统进行交互的能力。 1.4、 功能性依从性: 2、

    可靠性:是指在指定的条件下使用时,软件产品维持规定的性能级别的能力。

    2.1、成熟性:是指软件产品避免因软件中错误的发生而导致失效的能力。

    2.2、容错性:是指软件发生故障的情况下,软件产品维持应有的性能的能力。

    2.3、易恢复性:是指在失效发生的情况下,恢复正常的能力。 2.4、可靠性依从性:

    3、

    易用性: 是指在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。

    3.1、易理解性:是指软件产品使用户能理解软件是否合适以及如何能将软件用于特定的任务和使用环境的能力。

    3.2、易学性:是指软件产品使用户能学习它的能力。

    3.3、易操作性:是指软件产品是用户能操作和控制它的能力。 3.4、吸引性:是指软件产品新用户的能力。 3.5、易用性依从性: 4、

    效率:是指在规定条件下,相对于所用资源的数量,软件产品可提供适当的性能的能力。

    4.1、时间特性:指在规定条件下,软件产品执行其功能时,挺浓适当的响应和处理时间的能力。

    4.2、资源利用性:指在规定条件下,软件产品执行其功能时,使用合适的数量和类型的资源能力。 5、

    维护性:是指软件产品可被修改的能力。修改可能包括修正、改进或软件适应环境、需求和功能说明中的变化。 6、

    可移植性:是指软件从一种环境迁移到另一种环境的能力。 6.1、易安装性:是指软件产品在指定环境中被安装的能力。

    2、选择度量

    在测试中测试对象不同注重的测试特性也不同。理想情况下在进行评测时需要先选择测试特性。

    但是实际工作中如果严格按标准进行操作起来比较繁琐,由于项目需求变化也比较频繁,每次测量时都按照步骤进行比较繁琐有时也是没有太大意义的。

    在软件产品的6个质量特性中前三个(即功能性、可靠性、易用性)是对实际使用影响较大质量特性,也是每次测试的重点;后三个质量特性在目前的实际

    的测试中涉及的不太多(效率在目前的测试中涉及的不太多,维护性和可移植性在设计阶段一般会考虑)。因此软件评价的特性我们可选择:功能性、可靠性、易用性这三个作为软件测评的必备项。

    3、建立度量评定等级

    以上我们选择了功能性、可靠性、易用性作为软件通用的评测特性。测试中对每个质量特性进行定量的测评,结果也是这些标度的集合。

    测试结果反应到确立的某一个标度上。将标度可以分成两类:满意和不满意。其中不满意即不可接受,其中满意会较常用,满意可以细分为A,B,C三个层级见下图:

    综上所述,软件质量等级可分为以下等级(同时也可设臵对应的分值,但是这个分值的绝对值的大小不能完全代表好坏,需要结合质量特性结果来分析):


    软件质量模型》由:创业找项目整理
    链接地址:http://www.gjknj.com/duwu/2933.html
    转载请保留,谢谢!
  • 下一篇:软件质量评价标准
  • 猜你喜欢