摘要

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

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

《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. python 实现接口测试

    接口的类型有很多,但是我们经常遇见经常用的就get和post两种.这两种有什么区别呢?个人理解主要是表现在安全性方面. Python代码POST任意的HTTP数据以及使用Cookie的方法,有需要的朋 ...

  2. 小白日记29:kali渗透测试之Web渗透-扫描工具-Vega

    WEB扫描工具-Vega 纯图形化界面,Java编写的开源web扫描器.两种工作模式:扫描模式和代理模式[主流扫描功能].用于爬站.处理表单,注入测试等.支持SSL:http://vega/ca.cr ...

  3. html禁止清除input文本输入缓存

    多数浏览器默认会缓存input的值,只有使用ctl+F5强制刷新的才可以清除缓存记录. 如果不想让浏览器缓存input的值,有2种方法: 方法一: 在不想使用缓存的input中添加 autocompl ...

  4. ArcGIS: version not specified. You must call RuntimeManager.Bind before creat

    打开program.cs把ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);这句放到Applicatio ...

  5. ceph运维命令合集

    一.集群 1.启动一个ceph进程 启动mon进程 [root@ceph-adm ~]#203.109 service ceph start mon.ceph-mon1 启动msd进程 [root@c ...

  6. make clean 和make distclean的区别

    make clean 和make distclean的区别:make clean仅仅是清除之前编译的可执行文件及配置文件.而make distclean要清除所有生成的文件make distclean ...

  7. [未完成]关于Java网络编程总结

    网络的七层结构: 第一层:物理层,网线. 第二层: 数据链路层,交换机.交换机有IP地址.这一层的数据叫做帧 第三层:网络层,数据包方向的定义,路由器.现在也有具有路由功能的交换机.主要将从下层接收到 ...

  8. Angular 2.0 从0到1 (七)

    第一节:Angular 2.0 从0到1 (一)第二节:Angular 2.0 从0到1 (二)第三节:Angular 2.0 从0到1 (三)第四节:Angular 2.0 从0到1 (四)第五节: ...

  9. AIDL进程间调用与Binder的简单介绍

    Binder是安卓中特有的一种进程间通信(IPC)方式,从Unix发展而来的手段,通信双方必须处理线程同步.内存管理等复杂问题,传统的Socket.匿名通道(Pipe).匿名管道(FIFO).信号量( ...

  10. 【Cocos2d入门教程六】Cocos2d-x事件篇之触摸

    Cocos游戏当中产生一个事件时,可以有多个对象在监听该事件,所以有优先级(Priority).优先级越高(Priority值越小),事件响应越靠前. 关系图: 新 事件分发机制:在2.x 版本事件处 ...