软件项目管理与质量保证概述课件.ppt
《软件项目管理与质量保证概述课件.ppt》由会员分享,可在线阅读,更多相关《软件项目管理与质量保证概述课件.ppt(53页珍藏版)》请在三一办公上搜索。
1、项目管理与质量保证,软件质量保证,软件质量保证(SQA)引论,为什么要引入软件质量保证?生产出高质量的软件为了“在正确的时间、以正确的方式、做正确的事情”,质量管理的问题不在于人们不知道什么是质量,问题在于人们认为他们自己对质量知道,质量(1),什么是质量?某一事物的特征或属性产品或工作的优劣程度,遗憾的是:样本间是有差异的!,差异控制是质量控制的核心,质量(2),两种不同的质量设计质量符合质量,软件需求是进行“质量”测量的基础,与需求不符就是质量不高。指定的标准定义了一组指导软件开发的准则。如果不能遵照这些准则,就极有可能导致质量不高。通常有一组“隐含需求”是不被提及的。不符合的话软件质量也
2、很难保证。,什么样的软件是高质量的?设计质量+符合质量?,用户满意度=合格产品+好的质量+在预算和进度表内交付,质量(3),软件质量特性:功能性包括软件产品提供的用来满足用户需要的功能可靠性与软件维护其性能等级的能力相关易用性与使用软件所要花费的工作量相关效率与软件执行过程中所占用的物理资源相关可维护性与进行软件变更所需要的工作量相关可移植性与把软件转换到不同环境的能力相关,质量(4),软件质量特性功能性适合性软件是否符合用户需要准确性软件是否正确地实现了功能互操作性软件和其他系统的交互能力功能符合性软件和需求的匹配程度安全性系统访问控制,质量(5),软件质量特性可靠性成熟度软件中缺陷所造成的
3、故障的频率容错性可恢复性可靠性符合性,质量(6),软件质量特性易用性可理解性可学习性可操作性吸引性可用性符合性,质量(7),软件质量特性效率时间特性资源利用有效性符合性,质量(8),软件质量特性可维护性可分析性确定故障产生原因的容易程度可变性灵活性稳定性对软件修改的可能性可测试性可维护性符合性,质量(9),软件质量特性可移植性适应性可安装性共存性软件和其他软件分享资源的能力可替代性可移植性符合性,质量(10),质量(11),怎么能保证质量?质量控制质量控制是为了保证每一件工作产品都满足对它的需求而应用于整个开发周期中的一系列审查、评审和测试质量控制在创建工作产品的过程中包含一个反馈循环质量保证
4、质量保证由管理层的审计和报告功能构成,未经跟踪的工作等于没做!,正确地完成一件事情比解释你为什么将事情做错所花的时间要少 人们会忘记你做一件工作有多快,但他们总会记得你做得有多好,质量成本(1),什么是质量成本?所有由质量工作或者进行与质量有关的活动所导致的成本有哪些质量成本?预防成本鉴定成本故障成本,质量计划 正式技术评审 测试设备 培训,过程内和过程间审查 设备校准和维护 测试,内部故障成本 外部故障成本,内部故障成本 返工 修复 故障模式分析,外部故障成本 解决客户的抱怨 退换产品 求助电话支持 保修工作,质量成本(2),既然质量管理需要成本,那么是不是越晚进行质量管理就越省钱?,IBM
5、审查200000行代码总共用了7053个小时,结果是预防了3112个潜在的缺陷。雇佣一名程序员的报酬为40美元/小时。假设交付的产品中每1000行代码中有1个缺陷,此时改正每个缺陷成本的时间为25000美元。,预防总成本:282,120美元平均缺陷成本:91美元,维护总成本:5,000,000美元平均缺陷成本:25,000美元,差距:5000000/282120=17.7,质量成本(3),改正一个错误的相对成本需求分析阶段:1倍设计阶段:36倍编码阶段:10倍开发测试阶段:1540倍系统测试阶段:3070倍实际操作阶段:401000倍,软件缺陷(1),几个概念:缺陷(defect)故障(bug
6、)错误(error)缺陷、故障:软件交付之后发现的质量问题错误:软件交付之前发现的质量问题,软件缺陷(2),几个结论:设计活动引入的错误占软件过程中出现的所有错误(和最终的缺陷)数量的50%到65%正式技术评审在发现设计错误方面最高达到75%的有效性,软件缺陷(3),缺陷放大模型:,软件缺陷(4),例:假设:概要设计阶段生成10个错误详细设计阶段生成25个错误,同时会放大1/3的继承错误,放大系数为1.5编码和单元测试阶段生成25个错误,同时会放大2/3的继承错误,放大系数为3在测试中可以发现并改正50%的错误,同时不引入新的错误概要设计阶段错误的改正成本为1,详细设计时为1.5,测试前是6.
7、5,测试中是15,发布后是67,概要设计,详细设计,集成测试,单元测试,确认测试,系统测试,概要设计,详细设计,集成测试,单元测试,确认测试,系统测试,软件评审,技术工作需要评审评审的目的是什么?指出个人或小组生产的产品所需进行的改进确定产品中不需要或者不希望改进的部分得到与没有进行评审相比更加一致、或者至少更可预测的技术工作的质量,从而使得技术工作更小易于管理,既然技术评审这么好,是不是应该大量频繁的进行?,为什么需要评审,在去除明显的错误时,审查是非常有效的方法鼓励开发人员产生结构更好的、不需要加以说明的软件能促进优秀编程实践的传播能增进团队精神,正式技术评审(FTR)(1),FTR想要达
8、到什么目标?在软件的任何一种表示形式中发现功能、逻辑或实现的错误证实经过评审的软件的确满足需求保证软件的表示符合预定义的标准得到以一种一致的方式开发的软件使项目更易于管理,正式技术评审(2),每个评审会议约束:评审会议通常应该在35人之间进行应该进行提前准备,但是每人占用工作时间应该少于2小时评审会议时间应该不超过2小时,正式技术评审(3),每个FTR步骤:确定参加评审的人员人员培训评审准备分发评审材料,评审员审读评审材料开评审会议生成评审报告和问题列表,正式技术评审(4),评审结论:工作产品可以不经修改而被接受由于严重错误而否决工作产品暂时接受工作产品评审总结报告内容:评审什么由谁评审发现和
9、结论是什么,正式技术评审(5),正式技术评审的指导原则:评审产品,而不是评审生产者制定日程并且遵守日程限制争论和辩驳对各个问题都发表见解,但是不要试图解决所有记录的问题做书面笔记限制参与者人数并坚持事先做准备为每个可能要评审的工作产品建立一个检查表为FTR分配资源和时间对所有评审者进行有意义的培训评审以前所做的评审,Fagan评审的基本原理,对于所有主要的交付物都要进行审查所有类型的缺陷都要记录不仅仅是逻辑或功能缺陷审查应该由除非常高层领导外的各级同事来执行采用预先规定的步骤进行审查审查会议不能超过两个小时审查是由经过特殊技术培训的协调员来领导的为其他参与者定义不同的角色使用检查表来协助缺陷查
10、找过程检查材料的理想速度是每小时100行维护统计数据,以便监督审查过程的有效性,项目质量管理,软件质量保证概述(1),什么是软件质量保证?Software Quality Assurance,简称SQA一种应用于整个软件过程的庇护性活动软件质量保证的范围?软件产品质量软件过程质量,软件质量保证概述(2),软件质量保证包含哪些内容?一种质量管理方法有效的软件工程技术在整个软件过程中采用的正式技术评审一种多层次的测试策略对软件文档及其修改的控制保证软件遵从软件开发标准的规程度量和报告机制,软件质量保证概述(3),那些人应该为软件质量负责?软件工程师项目管理者客户销售人员SQA小组成员,SQA小组充
11、当客户在公司内部的代表,SQA小组的职责是辅助软件工程小组得到高质量的最终产品,软件质量保证SQA活动(1),为项目准备SQA计划计划里应标识出什么?需要进行的评价需要进行的审计和评审项目可采用的标准错误报告和跟踪的规程由SQA小组产生的文档为软件项目组提供的反馈数量,软件质量保证SQA活动(2),参与开发该项目的软件过程描述评审各项软件工程活动、对其是否符合定义好的软件过程进行核实审计制定的软件工作产品、对其是否符合定义 好的软件过程中的相应部分进行核实确保软件工作及工作产品中的偏差已被记录 在案并根据预定规程进行处理记录所有不符合的部分并报告给高级管理者协调变更的控制和管理帮助收集和分析软
12、件度量信息,软件测试(1),软件的确认(Validation)和验证(Verification),简称V&V什么是确认?在软件开发过程期间(针对单元)或结束(针对系统)时,单元或系统是否满足用户特定的需求?什么是验证?在一个给定的开发阶段中,单元或系统是否满足在此阶段开始时确定的条件?,软件测试(2),测试种类单元测试集成测试确认测试功能测试回归测试测试测试验收测试,软件测试(3),测试方法白盒测试黑盒测试,软件测试(4),测试类型功能测试性能测试算法测试正向测试逆向测试边界测试配置测试负载测试,软件测试(5),测试计划测试计划测试用例测试报告,统计软件质量保证,什么是统计软件质量保证?是质量
13、的量化统计软件质量保证有哪些步骤?收集和分类软件缺陷信息尝试对每个缺陷的形成原因进行追溯使用Pareto原则,将这20%(重要少数)分离出来一旦找到重要少数原因,就可以开始纠正引起缺陷的问题,80%的缺陷可以追溯到所有可能原因中的20%,可能的错误原因,规约不完整或规约错误(IES)与客户通信中所产生的误解(MCC)故意与规约偏离(IDS)违反编程标准(VPS)数据表示有错(EDR)构件接口不一致(ICI)设计逻辑有错(EDL)不完整或错误的测试(IET)不准确或不完整的文档(IID)将设计翻译成程序设计语言中的错误(PLT)不清晰或不一致的人机界面(HCI)杂项(MIS),例,利用错误指标(
14、Error Index,EI)找到影响质量的主要原因,Ei=在软件工程过程中的第i步中发现的错误总数Si=严重错误数Mi=一般错误数Ti=微小错误数PS=第i步的产品规模Ws Wm Wt 分别是严重、一般、微小错误的加权因子每个阶段的加权因子取值逐渐变大,先求出阶段指标(Phase Index)PIi=Ws(Si/Ei)+Wm(Mi/Ei)+Wt(Ti/Ei)EI=(i x PIi)/PS,将时间集中用于真正重要的地方,但是首先你必须知道什么是重要的,软件可靠性,什么是软件可靠性?在特定环境和特定时间内,计算机程序无故障地运行的概率软件可靠性和硬件可靠性根本不同平均故障间隔时间(MTBF)平均
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 项目 管理 质量保证 概述 课件
链接地址:https://www.31ppt.com/p-3916725.html