摘要

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

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

《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. ipad mini2 ios7 磁盘分析文件夹大小

    如果没越狱可以通过, 设置->通用->用量   来查看磁盘占用 越狱之后, 莫名其妙地 "其他" 占了两三个G.. windows下有个好用的工具folder size ...

  2. jQuery的动画效果

    jQuery 是一个 JavaScript 库.jQuery 库可以通过一行简单的标记被添加到网页中. <script type="text/javascript" src= ...

  3. Android 高级UI设计笔记07:RecyclerView 的详解

    1. 使用RecyclerView       在 Android 应用程序中列表是一个非常重要的控件,适用场合非常多,如新闻列表.应用列表.消息列表等等,但是从Android 一出生到现在并没有非常 ...

  4. 浅谈JS执行环境及作用域

     今天刚刚开通博客,也是第一次写博文,略感紧张.作为一个表达能力弱弱的人来说,自己花三分钟理解一个知识点,当别人问起时,也许需要30分钟才只是让别人知道自己在说什么,一点也不夸张,希望在博客上可以练习 ...

  5. [课程相关]homework-07

    我读的博客: C++11中值得关注的几大变化 C++11 中的线程.锁和条件变量 C++开发者都应该使用的10个C++11特性 开始使用C++11的9个理由 我的问题: 1.有一句话:“C++像难懂的 ...

  6. oracle锁

    1.概念 数据库中有两种基本的锁类型:排它锁(Exclusive Locks,即X锁)和共享锁(Share Locks,即S锁). 当数据对象被加上排它锁时,其他的事务不能对它读取和修改:加了共享锁的 ...

  7. 机器学习之SVM(支持向量机)

    支持向量机(SVM)是当前非常流行的监督学习方法,其核心主要有两个: 构造一个极大边距分离器--与样例点具有最大可能距离的决策边界: 将在原输入空间中线性不可分的样例映射到高维空间中,从而进行线性分离 ...

  8. Android中定义接口的方法

    1.接口方法用于回调(这里定义接口是为了使用其接口方法): public interface ICallback { public void func(); } public class Caller ...

  9. bash下自动重新运行git/curl等工具

    在使用诸如git/curl等工具的时候,如果网络状况不佳,经常会产生出错中断的情况,于是我们就会发现晚上挂机的下载一些代码和工具包,早上再看已经中断. 为应对这种情况我们需要判断下载工具的运行结果,如 ...

  10. Commons Math - Primes

    org.apache.commons.math3.primes.Primes 是关于质数操作的工具类. 1. public static boolean isPrime(int n) 判断 n 是否为 ...