摘要

在软件开发过程中,软件的质量是一个重要的因素,而软件体系结构在整个过程中显得尤为重要。软件的质量需求是在开发初期的非功能性需求,对软件的体系结构影响很大。但是并不意味着一味的追求质量,必须在效率和质量之间寻求一个平衡点。

为了实现高的软件质量,软件体系结构必须具有良好地可移植性,可靠性,可维护性,适应性,互用性,组件复用和实时性等方面的要求。

《ISO/IEC 9126-1 :软件产品评估—质量特性及其使用指南纲要》,在此标准中,定义了六种质量特性,并且描述了软件产品评估过程的模型。该技术将质量这一大的特性细化到属性级别或可测项。这样,就可以通过比较这些属性、可测项从一系列候选体系结构中选择出一个合适的来开发软件。

在此标准中,定义了六种质量特性,27个子特性,并且描述了软件产品评估过程的模型。

l 功能性

是指当软件在指定条件下使用,软件产品满足明确和隐含要求功能的能力,即适合性

并且能够得到正确或相符的结果或效果,即准确性

拥有能够和其他指定系统进行交互的能力,即互用性

防止对程序或数据的未经授权访问的能力,即安全性

l 可靠性

在指定条件下使用时,软件产品维持规定的性能水平的能力。

其中包括成熟性,指软件产品避免因软件中错误发生而导致失效的能力;

容错性:是指在软件发生故障或违反指定接口的情况下,软件产品维持规定的性能水平的能力;

易恢复性:是指在失效发生的情况下,软件产品重建规定的性能水平并恢复受直接影响的数据的能力。

l 易用性

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

l 效率

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

其中,时间特性:是指在规定条件下,软件产品执行其功能时,提供适当的响应时间和处理时间以及吞吐率的能力;

除此之外,资源利用性:是指在规定条件下,软件产品执行其功能时,所使用的资源数量及其使用时间。

l 可维护性

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

l 可移植性

是指软件产品从一种环境迁移到另一种环境的能力。

以上六个均要符合依从性即遵循有关标准、约定、法规或类似规定。

适合性:软件产品为指定的任务和用户目标提供一组合适功能的能力。

如:

软件提供了用户所需要的功能;

软件提供的功能是用户所需要的;

准确性:软件提供给用户功能的精确度是否符合目标。

如:

运算结果的准确,数字发生偏差,多个0或少个0

互操作性:软件与其它系统进行交互的能力。

如:

PC机中WORD和打印机完成打印互通;

保密安全性:软件保护信息和数据的安全能力。(主要是权限和密码)

功能性的依从性:遵循相关标准(国际标准、国内标准、行业标准、企业内部规范)

成熟性:软件产品为避免软件内部的错误扩散而导至系统失效的能力(主要是对内错误的隔离)

容错性:软件防止外部接口错误扩散而导致系统失效的能力(主要是对外错误的隔离)

易恢复性:系统失效后,重新恢复原有的功能和性能的能力。

可靠性的依从性:遵循相关标准。

易理解性:软件交互给用户的信息时,要清晰,准确,且要易懂,使用户能够快速理解软件。

易学性:软件使用户能学习其应用的能力。

易操作性:软件产品使用户能易于操作和控制它的能力。

易用性的依从性:遵循一定的标准。

时间特性:软件处理特定的业务请求所需要的响应时间。

资源利用性:软件处理特定的业务请求所消耗的系统资源。

效率依从性:遵循一定的标准。

易分析性:软件提供辅助手段帮助开发人员定位缺陷产生的原因,判断出修改的地方。

易改变性:软件产品使得指定的修改容易实现的能力。(降低修复问题的成本)

稳定性:软件产品避免由于软件修改而造成意外结果的能力。

易测试性:软件提供辅助性手段帮助测试人员实玩其测试意图。

维护性的依从性:遵循相关标准。

适应性:软件产品无需作相应变动就能适应不同环境的能力。

易安装性:尽可能少的提供选择,方便用户直接安装。

共存性:软件产品在公共环境中与其它软件分享公共资源共存的软件。

易替换性:软件产品在同样的环境下,替代另一个相同用途的软件产品的能力。

可移植性的依从性:遵循相关的标准。

之后可根据不同项目要求基于ISO9126-1标准,选择不同的结构来作为基础进行开发。结合具体的系统质量需求的优先级和质量目标,建立表格进行分析比较,选出最适合的一个。

软件质量质量评估已经成为了一门技术,ISO/IEC 9126-1标准用来定义软件体系结构质量模型,这是对软件质量的又一进步,使得软件体系结构的设计过程得以改善,对软件质量的保证有着不可磨灭的贡献。

ISO-9126 软件质量模型的更多相关文章

  1. ISO9126软件质量模型

    ISO9126软件质量模型,是评价软件质量的国际标准.6个特性27个子特性组成. ISO/IEC9126软件质量模型是一种评价软件质量的通用模型,包括3个层次: 1.质量特性 2.质量子特性 3.度量 ...

  2. ISO七层模型详解

    ISO七层模型详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在我刚刚接触运维这个行业的时候,去面试时总是会做一些面试题,笔试题就是看一个运维工程师的专业技能的掌握情况,这个很 ...

  3. 软件测试基础Ⅲ(osi7层协议,测试模型,LoadRunner组件,软件质量模型)

    osi7层开放式系统互连网络模型 1.物理层:主要定义物理设备标准,如网线的接口类型.光纤的接口类型.各种传输介质的传输速率等.它的主要作用是传输比特流(就是由1.0转化为电流强弱来进行传输,到达目的 ...

  4. TCP/IP四层协议模型与ISO七层模型

    TCP/IP四层协议模型与ISO七层模型 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣经中上帝打乱了各地人的口音,让他 ...

  5. McCall的软件质量模型

    McCall等认为,特性是软件质量的反映,软件属性可用做评价准则,定量化地度量软件属性可知软件质量的优劣 McCall认为软件的质量模型应该包括 产品的修正.产品的转移,产品的运行 而产品的修正又包括 ...

  6. 网络知识_01:ISO七层模型

    一 IOS七层模型 1.1OSI的概念 Open System Interconnect开放系统互连参考模型,是由ISO(国际标准化组织)定义的.它是个灵活的.稳健的和可互操作的模型. 1.2OSI模 ...

  7. 我对ISO 七层模型的理解

    应用层: 负责native格式的请求配置,请求发起.关闭等功能: 负责应用数据请求可直接调用的api的支持. 使用表示层和会话层包装而成的便捷工具(API):Alamofire 表示层: 将应用层配置 ...

  8. 软件测试价值提升之路- 第三章"拦截缺陷 "读书笔记

    作为一个测试团队,基本的职责是:测试产品,发现缺陷,报告结果,使每个版本的测试水准稳步提升.这些价值是作为一个测试所必须具备的,发挥这些价值能够让测试获得研发团队的基本信任.这类价值分为3部分: 1) ...

  9. 软件质量特征 ISO9126

    ISO/IEC9126软件质量模型是一种评价软件质量的通用模型,包括3个层次: 1.质量特性 2.质量子特性 3.度量指标 其中各六个质量特性与二十七个质量子特性的关系如下表: 1.功能性 是指当软件 ...

随机推荐

  1. iOS类别(category)不能添加成员变量但是可以添加属性的问题

    类别不需要介绍了把,网上一大堆(利用Objective-C的动态运行时分配机制,可以为现有的类添加新方法,这种为现有的类添加新方法的方式称为类别catagory,他可以为任何类添加新的方法,包括那些没 ...

  2. linux-统计行数

    wc -l ls |wc -l 查看文件夹下的行数 cat/less/more  +文件名|wc -l

  3. Python基础复习_Unit one

    一. 编译&&安装Python2.7     1.安装python第三方模块管理工具 easy_install --->> easy_install-2.7 pip Ipy ...

  4. [转]Oracle 多行的数据合并

    本文转自:http://www.2cto.com/database/201203/125287.html Oracle合并行范例   现有如下数据 id name 1 a1 2 a2 3 a3 1 b ...

  5. MySQL--INFORMATION_SCHEMA COLUMNS表

    在程序中,若想要动态地得到某一个表的具体信息,就使用到了MySQL 中的 INFORMATION_SCHEMA 信息数据库,而它又包含很多表,见下: INFORMATION_SCHEMA SCHEMA ...

  6. poj 3352 边连通分量

    思路与poj3177一模一样. #include<iostream> #include<cstdio> #include<cstring> #include< ...

  7. hdu1565 网络流或状态压缩DP

    对于网络流有一个定理: 最小点权覆盖集=最大网络流: 最大点权独立集=总权值-最小点权覆盖集: 网络流解法代码如下: #include<cstdio> #include<iostre ...

  8. java之enum枚举(2015年05月28日)

    背景: 今天启动了一个新的项目,由于要从之前的旧项目中拿过来一些代码,所以就看了下公司之前项目代码,发现有定义的常量类,也有枚举类,然后就在想着两者的功能差不多,那他们之间到底有什么区别呢,所以就决定 ...

  9. 前端开发中的一些chrome插件推荐

    这篇博客推荐的都是谷歌chrome浏览器插件,理论上,与之相同内核的浏览器都能使用.由于是谷歌插件,所以在天朝的网络,你懂的! 红杏 专为 学者 .程序员.外贸工作者 打造的上网加速器.我们相信,上网 ...

  10. Java Concurrency - Callable & Future

    One of the advantages of the Executor framework is that you can run concurrent tasks that return a r ...