软件质量

软件质量

一、  质量

质量:ISO定义质量为一个实体的所有特性,基于这些特性可以满足的明显的或隐含的需求,而质量就是这些特性满足需求的程度。

软件质量的特性是基于软件质量模型,评价的标准是基于需求(显示需求,隐式需求,用户的实际需求)

符合需求:符合开发者的明确定义的目标,可度量的,必须做和必须不做,内部质量,即软件启动到交付用户之间产生的所有中间产品的质量

符合用户显示需求:客户明确说的目标,SRS,验收质量,即用户在验收时品鉴产品的质量

符合用户的实际需求:显示需求&&隐式需求,使用质量,即用户在实际使用的过程中对产品的质量评价。

二、 质量大师

戴明(deming’s 14 point)戴明环

戴明环:PDCA(plan  do check action),将出现的问题投入至戴明环中,结束后若还有问题,则将未解决的问题也投入至戴明环 直至问题全部解决。

主要观点:引起效率低下和不良质量的原因是公司的管理系统

朱兰:质量来源于客户的需求

克劳斯比:‘零缺陷之父’‘世界质量先生’《质量免费》《质量再免费》《质量无泪》

JIT,just in time ,强调一次性将事情做好,不给自己留有弥补的余地

质量四项基本原则:

质量就是满足要求

工作的标准就是零缺陷

产生质量的系统是预防

用不符合要求的代价来衡量质量

费根鲍姆:全面质量控制的创始人,他要求用系统或全面的方法管理质量,在质量过程中要求所有职能部门参与,不局限于生产部门。

石川馨:《质量控制指南》为QC准备的非物质技术分析课本,总结了QC小组的七种常用工具:因果图,控制图,流程图,直方图,帕累托图,趋势图,散点图

田口玄一

项目铁三角:质量,时间,成本

质量铁三角:流程,组织,技术

三、 软件质量管理体系

CMM   ISO  6西格玛

ISO:国际标准组织。是普遍适用的质量管理体系

CMM:能力成熟度模型,过程能力等级分为五级,不同能力等级的过程能力满足的KPA不同(key process area,关键过程域),总计有18个KPA,CMM级别越高,可视度越高。

PSP:个人开发能力,注重个人技能

TSP:团队开发能,注重团队的高效工作和产品交付能力。

CMM:注重组织能力和高质量的产品。

CMMI:能力成熟度模型集成

6西格玛:数据的分散程度,6西格玛表示一百万个产品的不良产品不多于3.4个

实施方法(七步骤法):

找问题:找出需要改善的问题

收集并整理现时的生产数据;

找出原因:找出当时发生错误的原因

计划制定解决方案

检查效果:检查解决方案的效果

将有效方法制度化:将解决方法融入公司的规章制度中

检讨成效并发展新目标

管理原则:

注重客户;注重流程;全员参与;预防为主;事实依据决定;持续和突破性的改进;

四、 软件质量模型

任何一款软件必须遵循的特性,子特性的依存性:隐式需求

以下六个特性可以分为内部质量和外部质量

功能性:可以完成的事情

1、适合性:提供了相应的功能(是否完成需求)

2、准确性:正确(用户需要的,与需求对比)

3、互操作性:产品与产品之间交互数据的能力(与其他的软件硬件的交互能力)

4、保密安全性:允许经过授权的用户和系统能够正常的访问相应的数据和信息,禁止未授权的用户访问.......(物理意义:是否安全;信息方面:信息的保密与安全性,是否可以访问到合法的可以访问到而数据与是否会被非法的访问)【安全性测试】:注册。登录,密码设置,网络是否留痕,配置,权限,跨站点脚本攻击,伪站点请求,数据库注入,协议,防火墙等,

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

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

可靠性的三个指标:平均正常运行时间,平均故障时间,平均无效时间间隔

1、成熟性:防止内部错误导致软件失效的能力(软件系统本身的问题)

2、容错性:软件出现故障,自我处理能力(收到外部攻击是是否可以容忍错误继续保持稳定)

3、易恢复性:失效情况下的恢复能力(发生问题是恢复到正常工作的能力)

4、可靠性的依从性

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

】吞吐量,CPU利用率等

1、易理解性:软件的提示信息,软件的提示按钮等。(尊重标准规范)

2、易学性:软件是否提供了学习使用手册

3、易操作性:

4、吸引性:软件系统吸引人的能力(标题党)

5、易用性的依从性:

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

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

2、资源利用性:CPU 内存 磁盘 IO 网络带宽 队列 共享内存(运行某软件或模块占用的内存)

3、效率依从性:

软件维护性:"四规", 在规定条件下,规定的时间内,使用规定的工具或方法修复规定功能的能力(仅针对内存质量)

1、易分析性:分析定位问题的难易程度(软件出错后是否提供详细的文档,如日志等)

2、易改变性:软件产品使指定的修改可以被实现的能力(结构化强,高内聚,低耦合,全局变量少,软件系统出现问题后,修改对其他部分的影响)

3、稳定性:防止意外修改导致程序失效(问题修复后,系统是否可以平稳的运行)

4、易 测试性:使已修改软件能被确认的能力(专业,能够准确的测量)

5、维护性的依从性

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

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

2、易安装性:被安装的能力(安装过程简单)

3、共存性:(同类软件在同一系统)【兼容性】

4、易替换性(软件升级,打补丁)

5、可移植性的依从性:

软件度量分类:规模(软件工作产品的大小),工作量(完成各项软件工作产品和活动所用人时);进度(各项软件工作产品和活动开始饿结束时间);质量缺陷(在各项软件产品和活动中产生的缺陷数量)

五、  规模度量

EXAMPLE:

时间: 2024-10-10 17:11:28

软件质量的相关文章

软件质量相关

[0] 概括地说,软件质量就是"软件与明确的和隐含的定义的需求相一致的程度". 具体地说,软件质量是软件符合明确叙述的功能和性能需求.文档中明确描述的开发标准.以及所有专业开发的软件都应具有的和隐含特征相一致的程度. [1] 软件开发正在越来越多地根据既定的工程和科学原理完成.为使软件工程真正成为一个科学学科,软件开发过程和所产生的软件产品的量化往往是强制性的. 软件质量保证功能的第一个功能定义了在其组织单元中开发的软件产品的标准.软件质量保证组织的第二个主要功能是指定和实施用于评估软

软件质量与软件测试

1 软件质量质量保证一直是软件产业的重大课题.据IDC预测,世界软件市场将有一个突飞猛进的发展,预计每年以13%左右的比例增长.软件应用领域越来越广泛,其质量的优劣也日益受到人们的重视.质量保证能力的强弱直接影响着软件业的发展与生存.那么,到底什么是软件质量呢?软件质量是与软件产品满足明确或隐含需求的能力有关的特征和特性的总和(ISO 9126).我们可以从以下三个方面把握软件质量的概念: 1.软件需求是衡量软件质量的基础.如果开发出的软件与需求不一致,就谈不上软件的质量.2.规定了

软件质量的定义

http://student.zjzk.cn/course_ware/software/txt/txt/show.asp?filename=11_1.txt 11.1 概述11.1.1 软件质量的定义   软件质量定义为:   (1) 与所确定的功能和性能需求的一致性.   (2) 与所成文的开发标准的一致性.   (3) 与所有专业开发的软件所期望的隐含特性的一致性.11.1.2 软件质量的度量和评价    影响软件质量的因素可以分为两大类:    (1) 可以直接度量的因素,如单位时间内千行

什么是软件质量?试叙述它与软件可靠性的关系。

概括地说,软件质量就是"软件与明确的和隐含的定义的需求相一致的程度".具体地说,软件质量是软件符合明确叙述的功能和性能需求.文档中明确描述的开发标准.以及所有专业开发的软件都应具有的隐含特征的程度. 软件可靠性是软件产品在规定的条件下和规定的时间区间完成规定功能的能力.软件可靠性是关于软件能够满足需求功能的性质,软件不能满足需求是因为软件中的差错引起了软件故障.软件可靠性直接影响着软件质量,如果一个软件的可靠性不高的话,那么说明这个软件产品的质量是有问题的.只有软件可靠性足够高,才能让

软件质量见解

关于“软件测试”,近几年来,业内讨论得比较多.但对于“软件质量”却很少人提及! 软件测试只是软件质量保证的一种手段而已.然而我们往往容易把软件测试做为软件质量保证的唯一手段,甚至只做“功能测试/确认测试”或基于用户场景的测试.这样并不能做到比较好的软件质量保证. 那么什么是软件质量呢?关于软件质量的定义,很多书籍都有定义,但到目前为止,还是没有一个标准的定义.不过,我比较赞同TQM的观点:TQM的核心是把过程质量的责任分配给过程的所有者. 面向消费者(最终用户)的是产品,消费者遇到的任何产品使用

软件质量之道:PCLint之二

圆规为什么可以画圆?因为脚在走,心不变.你为什么不能圆梦?因为心不定,脚不动. 1 灯塔与方向 时间过得可真快,仍记得樱桃红芭蕉绿的时节,转眼已入深秋.我爱大自然,其次就是艺术.高纳德老先生的著作<The Art of Computer Programming>至今仍尘封在书堆之中,实在是没有胆量拿起这份重量. 今天真是美好的一天,不知道是不是已经看到灯塔的光芒了,突然射过来的光芒,好刺眼,好心慌.兴奋的心情难以平复,感觉人生再也不会有如此复杂的心情了,突然看到希望的那一天,真是人生最大的幸福

软件质量模型

目前国际标准 ISO/IEC 25010:2011 中将软件质量分为使用质量和产品质量.在测试工作需要从使用质量和产品质量的相关特性去测试.评价一个软件.这个模型是软件质量标准的核心,对于大部分的软件,都可以考虑从这几个方面 着手进行测评. 一. 产品质量 产品质量是指在特定的使用条件下产品满足明示的和隐含的需求所明确具备能力的全部固有特性(内在特性),体现了产品满足产品要求的程度(外部表现),是产品的质量属性,包括功能适用性.效率.兼容性.易用性.可靠性.安全性.可维护性和可移植性. 功能适应

老李分享:5个衡量软件质量的标准

老李分享:5个衡量软件质量的标准 1. Sourc Lines of Code (SLOC) 统计代码行数可能是最简单的方法.它能体现软件的规模,为项目的发展和计划提供一些数据支撑.例如,我们每个月统计一次代码的行数,我们就能大体知道项目的发展情况.当然,这不是一个值得信赖的标准,因为有重构以及设计的因素. SLOC 最好是统计 Source Logical Line of Code (SLLOC) 以获得更准确的信息.Logical code lines 不包含空行,单个括号行以及注释行.你可

软件质量之道

我曾与一些资历非常高但毫无实际经验的人共事过,也曾与一些只有很少或根本没有资历但才华横溢的工程师一起工作过,我也曾经不得已跟一些并不想用心做事.也对学习新东西丝毫不感兴趣的人共事过.如果说我们这个职业是一张纸,那么这些人就好比纸上的污点.软件开发业的低劣性不能完全怪罪于那些无知的经理.狡猾的市场营销人员以及总是急不可耐的用户,实际上很大程度上要归咎于这个行业的某些从业人员,他们应该去从事一些即使玩忽职守也不会造成像软件业里这样大的危害的行当,而不应该混迹于这个聚集着人类想象力的最复杂的创造性的行