您好,欢迎访问三七文档
软件质量软件质量•软件质量的定义–产品的价值取决于产品的质量,软件质量的特性是多方面的。必须包括:•与明确确定的功能和性能需求的一致性。即软件需求是质量度量的基础,缺少与需求的一致性就无质量可言。•与明确成文的开发标准的一致性。不遵循专门的开发标准,将导致软件质量低劣。•与所有专业开发的软件所期望的隐含的特性的一致性。忽视软件隐含的需求,软件质量将不可信。软件质量•软件质量的因素–直接度量的因素•如单位时间内千行代码中所产生的错误数。–间接度量的因素•如可用性或可维护性软件质量•软件质量的度量模型–1976年,Boehm第一次提出了软件质量度量的层次模型。(图6-1-1)–1978年,Walters和McCall等人提出了从软件质量要素、准则到度量的三个层次式的模型。(图6-1-2)–1985年,ISO建议软件质量模型由三层组成:•高层:软件质量需求评价准则(SQRC)•中层:软件质量设计评价准则(SQDC)•低层:软件质量度量评价准则(SQMC)可跟踪性完备性一致性准确性容错性简单性模块性通用性扩充性工具性自描述性执行效率存储效率存取控制存取复查操作性可训练性通讯性软件系统独立性机器独立性通讯共用性数据共用性简明性正确性可靠性效率安全性可使用性可维护性灵活性连接性使用单位自行制定SQRCSQDCSQMC软件质量度量模型软件质量保证•软件质量保证–质量保证是任何生产部门为他人生产使用产品的一项基本活动。–软件开发质量保证的历史平行于硬件制造质量的历史。•在计算机发展早期,软件质量是程序员个人的职责。•70年代,软件质量保证首先应用于军事软件,后普及到商业软件。软件质量保证•质量保证的策略–质量保证策略主要分三个阶段:•以检测为重:产品制成之后进行检测,只能判断产品质量,不能提高产品质量。•以过程管理为重:把质量的保证工作重点放在过程管理上,对制造过程中的每一道工序都要进行质量控制。•以新产品开发为重:在新产品的开发设计阶段,采取强有力的措施来消灭由于设计原因而产生的质量隐患。软件质量保证–软件质量保证的活动1.技术方法的应用2.正式技术评审的实施3.软件测试4.标准的执行5.修改的控制6.度量7.记录和记录保存软件评审•软件评审–在软件开发的各个阶段,都要采用评审的方法,以便及早发现软件的缺陷。–软件评审的必要性1.从技术角度进行的审查是保证软件质量的重要措施•由于人的认识不可能百分之百地符合客观实际,因此生命周期每个阶段的工作中都可能发生错误。由于前一阶段的成果是后一阶段工作的基础,前一阶段的错误自然会导致后一阶段的工作结果中有相应的错误,而且错误会积累起来,如下图所示。原始要求正确的规格说明错误的规格说明需求分析设计正确的设计错误的设计对错误说明的设计编码正确编码错误编码对错误设计的编码对错误说明的编码测试正确功能可改正的错误不可改正的错误潜伏的错误不完善的软件产品软件评审2.技术审查也是降低成本的一个重要举措•由于再后期改正一个错误比在早期改正同一个错误需要付出的代价高二至三个数量级,所以越在早期发现的错误越容易改正,代价越低。3.在技术审查合格之后,再进行管理复审,可以使管理人员专心从管理角度对开发工作进行审查,而不必顾及技术问题软件评审–软件评审的办法•成立评审小组,组员包括:组长、作者、评审员1.组长•组长是小组的核心,最后由技术水平较高且没有直接参与这项工程的人担任。•组长的任务是组织和领导技术审查的全过程,如安排会议日程,分发必要的文档资料,主持审查会议,确保审查全面、公正。2.作者•作者是被审查文档或程序的编写者。如果开发小组由一个小组集体完成,通常由技术小组负责人代表小组参加审查小组。•作者的责任是回答技术上的问题软件评审3.评审员•评审员也应由技术专家担任。通常一个是前一阶段的技术骨干,另一个是后一阶段的骨干。•评审员的任务是分别从各自的角度,公正客观地评价被审查的软件产品。软件评审–软件评审的步骤1.准备2.简要介绍情况3.阅读被评审的文档(如检查表)4.开评审会5.返工6.复审–软件开发的各个阶段,其检查表的内容不一样。(具体参照P105-108)软件质量度量–每个软件属性都有一套度量方法,选择度量方法时,必须考虑下列因素。1.与软件属性的相关性相关性分为4个等级:•A—度量方法与相应的软件属性始终存在正相关•AA—几乎总是存在正相关•U—经常存在正相关•S—偶尔存在正相关软件质量度量2.度量值的可理解性定量的度量方法所得到的值分为5种情况:•AL—通过一个自动算法很容易理解•UR—不需要受过专门训练的人员•TR—需要受过专门训练的人员•ER—需要专家•EX—需要执行程序软件质量度量3.开发自动工具的容易性开发度量工具的难易程度分为3种情况•E—容易•M—存在困难•D—很困难软件质量度量4.自动工具的完备性所开发的自动工具是否完全等价于度量方法,有2种情况•C—完全等价•P—部分等价5.潜在效益潜在效益分为5个级别:5、4、3、2、1编号一致性的度量方法质量相关性潜在效益度量值的可理解性开发自动工具的容易性自动工具的完备性1变量的类型在使用种是否前后一致A5ALEP2函数使用是否与定义的类型一致A5TR3是否用同一变量名描述同一程序输出A5TR4数组元素是否功能相关A4TR5功能相同的算术表达式是否采用前后一致的结构A1ACEP6程序中同一变量的精度前后一致A5ALTREP7是否用同一变量名表示不同的物理实体A4TR8同一物理实体是否用不同的变量名表示U3TR软件质量度量•两个软件质量度量方法–Halstead的软件科学–McCabe复杂性度量法软件质量度量•Halstead的软件科学–基本思路是根据程序中可执行代码行的操作符和操作数的数量来计算程序的复杂性。–操作符和操作数的量越大,程序结构就越复杂。软件质量度量•McCabe复杂性度量法–程序的复杂性很大程度上取决于程序控制流的复杂性–单一的顺序程序结构最简单,循环和选择所构成的环路越多,程序就越复杂。软件可靠性软件安全性软件质量保证方法
本文标题:软件质量与质量保证
链接地址:https://www.777doc.com/doc-3490687 .html