《软件质量保证》PPT课件.pptx
《《软件质量保证》PPT课件.pptx》由会员分享,可在线阅读,更多相关《《软件质量保证》PPT课件.pptx(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第八章第八章 软件质量保证软件质量保证ITANY22本课程的主要内容l软件质量模型软件质量模型lISO9000和和CMM/CMMIl软件质量铁三角软件质量铁三角l质量保证与质量保证与SQA33本章目标l理解软件质量模型理解软件质量模型l了解了解CMM/CMMI和和ISO9000l理解质量铁三角理解质量铁三角l了解质量保证与了解质量保证与SQA44第一部分l质量质量保证与保证与SQASQAl软件质量模型软件质量模型lCMM/CMMICMM/CMMI和和ISO9000ISO9000l软件软件质量铁三角质量铁三角55软件质量的定义“软件质量软件质量”(ISO9126):软件满足规定或潜在用户需求特性
2、的总和。包括“内部质量内部质量”、“外部质量外部质量”和“使用质量使用质量”三部分。“软件质量软件质量”(ISO14598):软件特性的总和,软件满足规定或潜在用户需求的能力。66软件质量的理解软件质量是一个复杂的概念,不同的人从不同的角度来看软件质量是一个复杂的概念,不同的人从不同的角度来看待软件质量问题会有不同的理解待软件质量问题会有不同的理解用户视角:用户视角:质量就是满足客户的需求 开发者的视角:开发者的视角:质量就是与需求说明保持一致产品视角:产品视角:质量就是产品的内在特点价值视角:价值视角:质量就是客户是否愿意购买项目经理视角:项目经理视角:质量就是能“令人满意”地工作以完成预期
3、功能的软件产品77质量保证(QA)质量保证(质量保证(QA:Quality Assurance):):质量保证的重要工作是通过预防预防、检查检查与改进改进来保证软件质量。QA通过“全面质量管理全面质量管理”和“过程改进过程改进”的原理开展质量保证工作虽然在QA的活动中也有一些测试活动,但QA所关注的是对软件质量的检查检查与度量度量。QA的工作是对软件生命周期的管理对软件生命周期的管理以及验证软件是否满足规定的验证软件是否满足规定的质量和用户需求质量和用户需求,因此主要着眼于软件开发活动中的过程、步骤软件开发活动中的过程、步骤和产物和产物,而不是对软件剖析,找出问题或评估。QA的注意职责是检查和
4、评价当前软件开发的过程,找出过程改进的方法,已达到防止软件缺陷出现的目标88QA的组织结构在国内大多数企业,QA组织结构可划分为三类:职能结构职能结构、矩阵结构矩阵结构以及两者结合而成的柔性结构柔性结构。职能结构职能结构在职能结构中,各个职能部门设立自己的QA岗位,位于高级经理之下,独立于项目组。QA直接对高级经理负责,但业务上需要向项目经理汇报,属于项目成员。职能结构的优点职能结构的优点QA容易融入项目组,易于发现实质性的问题,解决问题也很快捷。职能结构的缺点职能结构的缺点各职能部门相对独立,部门之间的经验缺乏交流和共享,还可能出现对过程、方法和工具研究的重复性投资。在这种组织结构下,由于高
5、级经理专注于业务的发展,QA的职业发展容易受到忽视,难于接受到应有的培训和提升。99QA的组织结构矩阵结构矩阵结构在矩阵结构中,设立了专门的QA部门,与各业务职能部门平级。QA隶属于QA部,行政上向QA经理负责,业务上向业务部门的高级经理和项目经理汇报。在这种组织结构中,由QA部经理对QA考评和授权,有利于保证QA的独立性和评价的客观性,也有利于确保组织的长期利益与项目(或个人)的短期利益之间的平衡。QA资源为所有项目所共享,可按照项目优先级动态调配,资源利用更充分,但也可能出现资源竞争冲突。此外,QA部门对QA流程的改进、QA知识的管理、QA人员的发展负责,并可集中资源进行QA平台的建设,以
6、防止重复性的投资。但另一方面,在矩阵结构中,QA难于融入项目组,发现的问题也很少能得到及时有效的解决。柔性结构柔性结构柔性结构是职能结构和矩阵结构的混合形态,在职能结构的基础上建立了QA组。1010QA的岗位职责在CMMI中,QA的主要工作是过程评审过程评审和产品审计产品审计。从实践经验来看,QA只完成这两项工作很难体现出QA的价值。为了让QA组织的产出大于组织的投入,实现增值,就应该根据企业需要适当增加QA的职责,比如过程指导过程指导、过程度量过程度量和过程改进过程改进等。过程指导过程指导主要是项目前期辅助项目经理制定项目计划(包括辅助定义或修改项目过程和过程模型、协助项目估计、建立项目验收
7、准则、设置质量目标等),对项目成员进行过程和规范的培训以及在过程中进行指导等。过程度量过程度量(包括产品度量)在CMMI中已经成为CMMI ML2级中一个单独的过程域,但却是对所有过程的一个共性要求。特别是成熟度越高,对度量的要求也越高,难度也越大。这就要求有专业的人员来负责,QA就是一个很好的选择。主要职责包括收集、统计、分析度量数据,以支持管理信息需求。过程改进过程改进在CMMI中主要是EPG的职责。但事实上,QA更接近于过程实施的环节,更了解过程运行的情况,也就更容易发现“木桶中最短的那块”。同时,QA也是改进过程实施的重要推动力量。1111软件质量保证(SQA)SQA活动活动软件质量保
8、证(SQA)是一种应用于整个软件过程的活动,它包含:一种质量管理方法有效的软件工程技术(方法和工具)在整个软件过程中采用的正式技术评审一种多层次的测试策略对软件文档及其修改的控制保证软件遵从软件开发标准度量和报告机制1212软件质量保证(SQA)SQA的工作内容和工作方法的工作内容和工作方法 计划计划 针对具体项目制定 SQA计划,确保项目组正确执行过程。制定SQA计划应当注意如下几点:有重点:依据企业目标以及项目情况确定审计的重点 明确审计内容:明确审计哪些活动,那些产品 明确审计方式:确定怎样进行审计 明确审计结果报告的规则:审计的结果报告给谁 审计审计/证实证实 依据 SQA计划进行SQ
9、A审计工作,按照规则发布审计结果报告。注意审计一定要有项目组人员陪同,不能搞突然袭击。双方要开诚布公,坦诚相对。审计的内容:是否按照过程要求执行了相应活动,是否按照过程要求产生了相应产品。问题跟踪问题跟踪 对审计中发现的问题,要求项目组改进,并跟进直到解决。1313软件质量保证(SQA)SQA的素质的素质 以过程为中心以过程为中心:应当站在过程的角度来考虑问题,只要保证了过程,QA就尽到了责任。专业的服务精神专业的服务精神:为项目组服务,帮助项目组确保正确执行过程 了解过程了解过程:深刻了解企业的工程,并具有一定的过程管理理论知识 了解开发了解开发:对开发工作的基本情况了解,能够理解项目的活动
10、 良好的沟通技巧良好的沟通技巧:善于沟通,能够营造良好的气氛,避免审计活动成为一种找茬活动。1414软件测试与质量保证软件测试:软件测试:关注的是软件开发的产物,以及对软件进行剖析,运行软件,找出问题,报告质量。软件测试是保证软件质量的一个重要环节。测试工作无法遍历软件测试只是质量保证活动中的一个重要环节,而不是唯一环节力图通过测试提高软件的质量如同经常称体重来达到减肥的目的。如果你想减肥,不要买一个新称,而是节食。如果你想提高你软件质量的话,不是更多的测试,而是更好的分析、设计和开发。-Steve McConnell in Code Complete1515第二部分l质量保证与质量保证与SQ
11、ASQAl软件质量模型软件质量模型lCMM/CMMICMM/CMMI和和ISO9000ISO9000l软件软件质量铁三角质量铁三角1616软件质量模型从测量的角度看,影响软件质量的因素可以分为两大类:可直接测量可直接测量(如每个功能点的错误)和间接度量间接度量(如可用性、可维护性)。每种类型测度都必须发生。早期的软件质量模型是1977年McCall和他的同事建立的,提出了影响质量因素的有用的分类,集中在软件产品的三个重要方面:操作特性(产品运行)操作特性(产品运行)、承受可改变能力承受可改变能力(产品修订)(产品修订)、新环境适应能力(产品变迁)新环境适应能力(产品变迁)1717MCCALL质
12、量模型1818BOEHM质量模型1978年Boehm和他的同事们提出了分层结构的软件质量模型,除包含了用户的期望和需要的概念,还包括了McCall模型中没有的硬件特性Boehm模型始于软件的整体效用,从系统交付后涉及不同类型的用户考虑。第一种用户是初始顾客初始顾客,系统做了顾客所期望的事情。第二种用户是要将软件移植到其他软硬件系统下使用的客户要将软件移植到其他软硬件系统下使用的客户第三种用户是维护系统的程序员维护系统的程序员这三种用户都希望系统是可靠有效的,因此,Boehm模型反映了对软件质量的理解,即软件做了用户要它做的软件做了用户要它做的;有效的使用系统资源有效的使用系统资源;易于学习和使
13、用易于学习和使用;易于维护和测试易于维护和测试1919BOEHM质量模型2020ISO9126质量模型20世纪90年代早期,软件工程组织试图将诸多的软件质量模型统一到一个模型中,并把这个模型作为度量软件质量的一个国际标准。国际标准化组织1991年颁布了ISO9126-1991标准软件产品评价-质量特性及其使用指南我国也与1996年颁发了同样的软件产品质量评价标准GB/T 16260-1996。它是一个分层质量模型,有6个影响质量的特性。2121ISO9126质量模型2222第三部分l质量保证与质量保证与SQASQAl软件质量模型软件质量模型lCMM/CMMICMM/CMMI和和ISO9000I
14、SO9000l软件软件质量铁三角质量铁三角2323能力成熟度模型CMMCMM(Capability Maturity Model):):CMM是由美国软件工程学会美国软件工程学会(software engineering institue,简称SEI)制定的一套专门针对软件产品的质量管理针对软件产品的质量管理和质量保证标准质量保证标准.CMM全称为(Capability Maturity Model),中文名称为能力成熟度模型能力成熟度模型.CMM最早始于1987年,为了满足美国联邦政府评估软件供应商能力的要求,美国卡内基-梅隆大学的软件工程研究学院SEI牵头,发布了一份能力成熟框架(Capa
15、bility Maturity Framework)以及一个成熟度问卷(Maturity Qestionnaire)。四年后(即1991年),SEI将成熟度框架进化为软件能力成熟度模型(Capability Maturity Model For Software,简称SW-CMM,即CMM1.0)自1991年版本使用两年后,SEI与1993年又推出了版.近几年来,CMM又推出了版本,同时进入了ISO体系,称为ISO/IEC15504或SPICE.CMM定义了5 5级成熟度级别级成熟度级别,共计1818个过程域(个过程域(KPAKPA)2424能力成熟度模型CMMCMM I级级 初始级:初始级:
16、软件开发过程是随意的、混乱的,项目成功依靠个人英雄的行为和运气过程没有通用的计划、监视和过程控制开发软件的时间和费用无法预知,无法预知项目的前景与结果测试过程与其他过程混杂在一起CMM II级级 可重复的可重复的具备项目级的思想使用基本项目管理过程来跟踪项目的进度、功能和质量以前的项目经验可以应用到当前项目中具有一定的组织性,使用了基本的软件测试行为,例如软件测试计划和测试用例关键过程域(KPA):需求管理,项目策划,项目监督和控制,供方协定管理,测量和分析,过程和产品质量保证,配置管理2525能力成熟度模型CMMCMM III级级 定义级:定义级:具备组织化的思想,而不仅仅针对某个项目通用管
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件质量保证 软件 质量保证 PPT 课件
限制150内