1、软件项目管理 Quality Management,Version 1.0 by 李涛,Revision History,Version 0.1, August 4, 2003 Version 1.0 , Oct 4, 2003,目录,质量的概念,思想和意识 质量管理的标准化 质量管理的基本概念:质量控制 质量管理的基本概念:质量保证 质量管理的基本概念:度量 质量管理过程:质量计划 质量管理过程:质量保证 质量管理过程:质量控制 质量管理工具,问题,什么是质量? 有多少个质量学家就有多少个质量的定义 学习质量管理的关键是:质量意识的接纳,质量概念的演化,日本在质量管理上的贡献 尽管软件与其他
2、产品不同:生产线是机器密集型,重复性的;软件是人力密集型的,智力性的,但质量原理是适用的,ISO:质量的基本概念,质量(广义质量概念):反映实体(产品,过程或活动等)满足明确的或隐含的需要的能力特性总和(The totality of characteristics of an entity that bear on its ability to satisfy stated or implied needs ),ISO:质量的基本概念,含义一:实体,承载质量属性的具体事物。 产品:提供各种享用功能的有形实物 过程:带来某种享受服务 活动:在生产产品或提供服务中所开展的工作 含义二:满足用户需
3、求的能力特性总和,表明质量高低并不取决于“实体”的各种能力特性是否最好,而只要满足需求(明确的和隐含的)即可 含义三:不同实体,质量实质内容不一样 产品:指产品能够满足用户使用要求所具备的功能特性 服务:指服务满足顾客期望的程度 活动:由工作结果来衡量,符合性质量概念,符合标准就是合格的质量,符合程度反映了产品的一致性 符合性包括产品和过程两个方面 标准有合理与不合理之分,不合理的标准即使百分之百的满足也不能认为质量就好 标准往往不能将客户的各种需求和期望都规定出来,特别是隐含的需求与期望 软件项目开发中需求管理的例子,适用性质量概念,产品在使用时能够成功地满足用户需求的程度 从使用要求和满足
4、程度两方面去定义质量 镀金(Golden Plating),质量理念的发展:符合性质量,符合性质量,20世纪40年代,以符合现行标准的程度作为衡量依据,“符合标准”就是合格的产品质量,符合的程度反映了产品质量的水平。,质量理念的发展:适应性质量,适用性质量,20世纪60年代,适合顾客需要的程度作为衡量的依据,从使用的角度定义产品质量 从“符合性”到“适用性”,反映了人们在对质量的认识过程中,已经开始把顾客需求放在首要位置,质量理念的发展:满意性质量,满意性质量,20世纪80年代,质量管理进入到TQM阶段,将质量定义为“一组固有特性满足要求的程度”。它不仅包括符合标准的要求,而且以顾客及其他相关
5、方满意为衡量依据,体现“以顾客为关注焦点”的原则。,质量理念的发展,质量理念的发展变化实质:人们对质量目标认识的转变。在今天,质量目标本质已经超越了其他因素而甚至成为商业成功的中心话题,质量管理的基本概念,质量管理:决定质量政策、目标和责任的全面管理职能的所有活动,以及通过诸如质量系统中的质量计划编制、质量保证、质量控制和质量提高等手段对这些活动的实施。( All activities of the overall management function that determine the quality policy, objectives, and responsibilities an
6、d implements them by means such as quality planning, quality assurance, quality control, and quality improvement, within quality system.),Kaoru Ishikawa,质量工作的6个特征: 全范围的质量控制 高层管理者质量控制审计 业界的教育与培训 质量小组活动 使用统计方法 全范围的质量控制促进活动 鱼骨图(Fish Bone),Joji Akao,质量功能部署(Quality Function Deployment,QFD),是一种方法:客户的要求转换成
7、相应的技术要求,帮助企业的研究小组系统化地达成共识 用户用语言表达的需求(正常需求) 用户认为必然有的隐含需求(期望的需求) 开发人员预计的用户感兴趣的需求(感兴趣需求) QFD在设计阶段就对产品的适用性实施保证,并对后续作业中的存在问题提前予以揭示,采取相应对策 侧重于“用户满意度”,不仅在减少负质量,还要增加正质量。客户角度:不出错的软件并不是最好的,Demings Thought,将统计方法用于质量控制 Deming提出的质量方法:从管理出发的持续性改进质量 认为,提高劳动生产率和降低成本的唯一途经是提高质量,Deming: PDCA Cycle,计划 Plan,分析现状;找出存在问题的
8、原因;分析产生问题的原因;找出其中主要原因;拟订措施计划 执行 Do,执行技术组织措施计划 检查 Check, 把执行的结果与预定目标对比 处理 Act,巩固成绩,把成功的经验尽可能纳入标准,进行标准化,Deming: 14 Principles,树立提高产品和服务质量的目标 采纳新的哲学 停止依靠检查来获得质量 关注总成本 持续改进产品和服务 制度化培训 设立领导职责 驱除恐惧 打破部门间的界限 消除口号,训词和定额目标 取消工作标准及数量化的定额 消除那些剥夺职业精神的障碍 建立严谨的教育及培训计划 创造一个每天都推动以上13项的高层管理结构,Grigrich对Deming核心原则总结,客
9、户,而不是官员决定价值 生产者创造价值 要改进将来结果,必须先改进过程 人有做好工作的本能 人,过程和系统是一个大系统的有机组成部分 不断学习是持续改进的基础,Renewing American Civilication,美国文明的历史经验教训 个人力量 自由的企业 发明与探索的精神 Deming所定义的质量,Richard Zultner,将Deming的思想用于软件开发,形成: 管理14点 7个致命问题 质量障碍,软件管理者14点,确定坚定的改进系统和服务质量的目标,瞄准最佳工作、满足用户要求 我们处于软件工程和项目管理的新时代,软件经理必须面对挑战,承担责任,并领导变革 停止靠大规模审查
10、(尤其是)测试来提高质量,要把质量建立到产品中 结束紧靠价格决定业务的方法,降低总成本 持续改进系统开发过程从而提高质量和劳动生产率,进而降低系统的成本。提高质量不是一朝一夕的事,软件管理者14点,建立工作培训 建立领导地位。经理的工作是让员工和系统更好地工作 去除恐惧,让员工有效的工作。管理层对组织和环境的错误负责 清除领域之间的障碍。人们必须具有团队精神 不要以标语口号等形式要求零缺陷和提高劳动生产率,软件管理者14点,不要使用量化的目标和责任分解 建立工艺的尊严。项目经理的责任是把关注进度转向关注质量 为所有人建立起教育和自我提高的机制。要建立对软件经理和员工培训的承诺 改革是工作的一部
11、分,每个人都要为改进做出贡献,软件质量的7个致命问题,缺少对系统满足用户要求进行计划的坚定目标,对软件开发人员采用命令式管理 关注短期进度,这会扼杀质量 绩效考核,年度评审。这种方式毁坏员工,进而扼杀质量 软件专业人员和经理的流动性,员工流动对制定目标和建立组织知识体系很有害 单纯依赖可见的数字管理 过高的人力成本。由于低效的开发过程和高人员流动率,软件开发的人员成本非常高 过高的维护成本。由于设计不好,开发中的缺陷以及维护工作差使得整个生命周期的成本居高不下,软件质量的障碍,希望有一个速效解决方案,真正的解决方案是知识,并辅以决心和勤奋 相信新的硬件会改变软件开发。质量是靠人制造的,而不是靠
12、神奇的设备和程序 没有独特的或不同寻常的软件质量问题 落后的教育。仅仅关注技术,而不是质量 糟糕的统计方法教育。没有好的针对软件质量和项目管理的教育方法,软件质量的障碍,“已经够好了,没时间做得更好”。但实际上剩下的时间是修改系统的错误。在第一时间把正确的事做正确是最快的 “质量控制人员解决所有质量问题”。质量是管理者的责任 “所有问题都是程序员的错”。其实是管理者雇佣、培训和管理程序员 质量改进的错误出发点。急性子的经理不会明白改进质量是一项长期工作,所以很快失去了对质量的兴趣 “我们曾建立了质量控制”。质量工作是管理的日常工作,软件质量的障碍,使用CASE工具但忽视了软件工程的知识基础 相
13、信只有满足规格是必要的。仅仅满足规格是不够的,应该持续改进并缩短开发周期 零缺陷误区,持续改进的结果不是零缺陷,仅仅没有缺陷也不能够确保用户满意 测试原型不足。测试原型的主要目的是学习,然后用来强化系统 软件经理对于系统和开发只要知道他们必须知道的,但不是如何改进系统,Jurans thought,强调:制造商和顾客对质量看法的不同。制造商经常关注对规范的坚持,但顾客关注适用性。有关质量适用性的概念,都强调满足明确的或隐含的需求的重要性 确立了质量是一个连续的(Continuous improvement process),需要管理者积极推动已达到确定的改进目标。 将20/80规则引进到质量管
14、理中来,认为80%的问题来自20%的困难,因此管理者的责任是努力识别找出并解决此20%困难点,Jurans thought,推动共同参与管理风格,Juran指出只有将所有雇员都包括在参与不断改进过程中,才能生产出高质量的产品 质量经济性管理的基本思路。质量成本(COQ)=符合要求的代价(POC)+不符合要求的代价(PNOC)。其中,“符合要求的代价“是指第一次把事情做对所花费的成本,而“不符合要求的代价“却使管理层意识到成本的存在。这就是为什么当发生返工时,我们才发现成本开始增加了。,Genichi Taguchi,离线质量控制 把软件开发过程置于控制系数之下,控制系数包括:人,软件工具,方法
15、,工作区和工作台布局等 但是即使有了最佳产品条件,还存在以下问题:过程漂移,运行的不确定性,度量错误,人的错误等,离线质量控制,在线质量控制技术:测量和处理,预测和纠正,分析和调整 对每一个产品进行测量;根据度量可以预测后面的产品质量;如果偏离目标,就要采取纠正;在规定的间隔内对过程进行诊断;如果出现异常就进行调整,离线质量控制,如果把在线质量控制用到软件开发上,那么软件公司就必须有一个定义好的、可重复的过程。在这样的过程中才能进行度量、预测和诊断。事实上,在线质量控制可以指导进行持续性的过程改进,Shigeo Shingo,Zero Quality Control: Source Inspe
16、ction and the Poka-yoke System 零缺陷软件质量方法的核心:软件开发过程图,相关活动检查单,审查,错误预防方法,内部、外部客户概念 错误预防和检测技术是零缺陷软件的基础,Crosbys thought,质量运动的发起人,传统的观点认为,质量管理的目的是把错误减至最少,这本身就是一个错误把错误减少到最少是不够的! 创立了“零缺陷”的概念,被称之“质量革命”的概念; 基础是预防,他的“第一次就把事情做对”的商业哲学,也就是达到“零缺陷”的质量管理理念改变了美国人做人做事的方式; 出版了质量是免费的(Quality in free)一书。,质量管理的成熟度级别,质量管理的
17、成熟度级别,质量管理的成熟度级别,质量管理的成熟度级别,质量管理的成熟度级别,质量管理:TQM,全面质量管理,Total Quality Management (TQM),是一个组织以质量为中心,以全员参与为基础,目的在于通过让顾客满意和本组织所有成员及社会受益而达到长期成功的一种质量管理模式 含义一:整个组织以质量为核心,OPF 含义二:每个员工积极参与 含义三:组织长期成功,TQM核心思想,TOM核心思想,全员性 (全员参与质量管理),全过程性 (管理好质量形成的全过程),全面性 (管理好质量所涉及的各个要素),TQM的核心观念,质量是由客户定义的 质量是干出来的,不是检验出来的 质量管理
18、是全体员工的责任 质量管理的关键是要不断地改进和提高,讨论,经过了若干质量概念的理解,请大家头脑风暴来体会和以前对质量理解的不同 质量的概念和意义已经超越了它服务的工作和生产的领域,讨论如何用质量的概念和意识提升人生的价值,作业,以“质量人生”为题(或其他自选题目)写一篇如何将质量意识贯穿到日常生活或工作中的论文 文体不限,可以是议论文,自编小说,散文,打油诗,PPT,Flash均可 鼓励有创意,不拘一格,不要说教和仅仅讲道理 写实,写小;不要写虚,写空,写大,质量管理的标准化,将标准应用于软件开发,即通过独立的评价来控制和规范软件开发过程,正方与反方 标准在改进软件质量的作用,有许多改进软件
19、产品质量标准的例子,如航天飞机 没有发现任何证据表明可以通过标准很经济地提高产品质量,正方与反方 标准在改进软件质量的作用,许多标准得以成功应用,尽管以前的实现和质量保证由于没有标准而显得不够充分。一旦一个组织下决心建立质量管理体系,就应该开发出一个计划并需要一个标准 软件标准化过于强调过程;许多软件标准不是标准;没法度量软件以确定其与标准的符合性;许多软件标准推荐或强制使用那些没有得到客观验证的技术;许多软件标准过于冗长,实施标准化的目标,第一,建立或采纳可用的标准 第二,让用户和开发者信服标准是有用的,没有唯一的,越来越多的实践认识到,或许没有一个标准可以应用于所有特殊概念;反而,或许有几
20、个适用的标准。最好的方式是根据任务特征评审所有标准,从中选出“最好的”,标准,目录,质量及质量管理的思想和原则 质量管理的基本概念:质量控制 质量管理的基本概念:质量保证 质量管理的基本概念:度量 质量管理过程 质量管理工具,质量控制(Quality Control),按一定的过程构造产品也不一定能保证产品质量,出现缺陷是不可避免的。质量控制就是属于构造过程中的消除“缺陷”的工程化活动,也就是制造过程中的检查、检验手段,质量控制:验证,验证就是检查完成产品的规格符合度,每一次检查遵循的标准是上一阶段的产出 产品规格? 设计文档? 单元代码? 最终产品? 考虑传递的有效性?取决于客户需要转化为规
21、范和要求的程度,活动产生结果,结果检查参照,质量控制:验证和确认 (V & V),验证:正确的构造了产品 Verification: Build the product right 确认:构造了正确的产品 Validation: Build the right product,V&V进一步理解,质量的适用性使得我们必须关注那部分没有显性的转化成规范和要求的客户期望,质量控制中的确认活动就是满足客户隐含需求的重要一环,Verification,Product,Validation,V&V进一步理解,我们是否只有在产品完成之后才能检测产品的质量?如何实施V & V? V&V的活动是整个生命周期中的
22、必要组成部分,目录,质量及质量管理的思想和原则 质量管理的基本概念:质量控制 质量管理的基本概念:质量保证 质量管理的基本概念:度量 质量管理过程 质量管理工具,质量保证的概念,质量保证的概念是一个抽象而极容易混淆的概念,一个获得深刻理解的方法是360度的考察人们对它所下的定义,什么是质量保证,ISO8402. 3.4:为了提供足够的信任表明实体能够满足质量要求,而在质量体系中实施并根据需要进行证实的全部有计划和有系统的活动IEEE:质量保证是有计划和系统性的活动,它对部件或产品满足确定的技术需求提供足够的信心在质量体系内所有执行的计划或系统的活动为项目满足相关标准增强信心质量保证是一个活动,
23、它向所有有关的人提供证据已确立质量功能正在按需求运行的信心,讨论,软件质量保证 的要点,目录,质量及质量管理的思想和原则 质量管理的基本概念:质量控制 质量管理的基本概念:质量保证 质量管理的基本概念:质量度量 质量管理过程 质量管理工具,为什么度量?,What you measured, what you controlled 客观的了解当前的状态,度量,通过各种不同的量度(metric)对项目生命周期中的各个元素进行度量(Measure),它能够为项目管理者提供有关项目的各种重要信息,同时也是进行大多评估活动的基础,软件质量度量,软件质量度量的目标是在整个软件生命周期过程中评估软件的质量需
24、求是否得到了满足 使用度量能为在软件质量方面进行决策提供量化基础,从而减少评估的主观性,但不能取代在软件评价中人的判断作用,度量的有效性,内部有效性:直接反映某种软件质量属性的数字特征。某个Metric具有内部有效性时,被称为直接度量 外部有效性:是某种软件质量属性的重要成分或预测器。某个Metric具有外部有效性时,被称为预测性度量,关于度量的前提假设,我们无法控制我们不能测量的东西 我们无法预测我们不能测量的东西 特别注意,在软件中存在大量的有关“度量的外部有效性”的认识。在没有定义标准和测量手段的情况下,利用历史缺陷、变更、成本等数据判断外部有效性时需要非常小心,讨论,根据自己的直觉来设
25、计“实施度量的过程”,度量是一种系统方法,IEEEStandard for a Software Quality Metrics Methodology 建立软件质量需求 识别软件质量度量 实施软件质量度量 分析软件度量结果,建立软件质量需求,确定软件系统的质量需求, 根据重要性对列出的质量需求进行排序,软件质量要素,识别软件质量度量,对每一个需求要素建立一个直接度量(而不是预测性度量),及一个量化需求的目标值 分解要素,建立各个子要素,子要素是面向技术的概念 子要素被分解成用于在开发生命周期中测量系统产品和过程的度量,实施软件质量度量,确定收集的数据 确定收集数据的方法,例如随机抽取,主观/
26、客观的度量 采集数据,分析软件度量结果,在开发过程中使用确认过的度量来预测直接度量的值,比较直接度量的预测值和目标值,已决定是否进行更详细的分析,目录,质量及质量管理的思想和原则 质量管理的基本概念:质量控制 质量管理的基本概念:质量保证 质量管理的基本概念:度量 质量管理的基本概念:质量成本 质量管理过程 质量管理工具,质量有成本吗?,没有人相信软件质量不需要成本,但为什么说“质量无价”呢?,What? Quality is Free?,质量实际是一个投资问题,质量的成本必须从“投资”的角度去理解,必须认识到软件质量投资的净价值在于减少成本。质量投资的获利足够多时,净结果为正值,质量成本定义
27、,Juran:企业为保证和提高产品质量而支出的一切费用,以及因未达到既定质量水平而造成的一切损失之和(生产合格产品的费用不属于质量成本,而属于生产成本) ISO:为了确保和保证满意的质量而发生的费用以及没有达到满意的质量所造成的损失 PMBOK:达到产品或服务质量所支出的总成本,包括为使所生产的产品或服务符合要求的所有工作及返工的工作,质量成本包含哪些因素?,质量成本构成,一致成本(Cost of Conformance) 不一致成本(Cost of Non-Conformance),举例说明两者?,质量成本构成,质量成本模型,质量成本模型,预防成本,评价成本,失效成本,质量成本: PAF(P
28、revention / Appraisal / Failure)成本模型,预防成本,P 成本,为实现无缺陷需求的产品而支出的前期成本,评价成本,A 成本,评价产品或过程是否达到要求,检验、测试、事中检验、内部/外部设计评审,失效成本,内部失效成本 在产品交付之前过程失效,不能交付客户可接受的产品 内部失效的更正活动 外部失效成本 客户认为没有满足需求的修正活动,练习,列出常见的质量预防活动,评估活动,内部失效活动,外部实效活动,质量成本分类,理解质量成本的目的,软件产品的质量成本,也就是软件质量的投资,根源于保证开发产品符合已确认的需求 进行软件质量成本分析的目的不是为了降低软件质量的成本或投
29、资,而是为了保证所花费的成本是正确的,而且从投资中获得了最大收益 质量成本更多的关注于预防和评价,而不仅仅是失效,由此可以获得可观的质量投资回报,及质量投资回报率(Quality Return on Investment,QROI),目录,质量及质量管理的思想和原则 质量管理的基本概念:质量控制 质量管理的基本概念:质量保证 质量管理的基本概念:度量 质量管理过程 质量管理工具,质量管理过程,质量计划,Quality Planning 质量保证,Quality Assurance 质量控制,Quality Control,质量计划,项目质量计划是指确定项目应该达到的质量标准和如何达到这些质量标
30、准的工作计划与安排 关键输出:质量管理计划(Quality Management Plan),解决“怎样产生”的问题 关键输出:度量(Metrics),解决“如何证实”的问题,质量计划的编制依据,质量方针和政策:项目组织和项目高级管理层规定的项目管理的大政方针 项目范围说明书 产品说明书 标准和规定,质量计划:质量政策,由企业的最高层颁布的质量工作的总方向,代表组织的质量观点,最高层对质量方针贯彻负最终责任 通常情况下,质量政策与组织整体政策相一致 在组织所有的项目中保持一致 项目团队应负责让项目的参与各方都充分理解该政策 做什么的原则(而不是如何做),质量计划编制的方法和技术,质量费效比分析
31、 质量标杆法 流程图法 实验设计法,质量的效费比分析,费效比分析,也叫经济质量法,必须考虑质量收益超过质量成本 满足质量要求主要的回报是更少的返工,而返工的减少意味着生产率提高、费用降低、客户满意度的提高。 质量管理方面的费用则主要与项目质量管理活动相关 质量管理观点是回报大于投入,投资性问题,质量,成本和进度,成本,进度,质量,成本最低,质量最高,进度最快,经济的,适当的,合理的,最佳项目,项目的约束条件,每个约束追求最优,在项目总体上作平衡,质量经济性,项目的质量要求会产生更多的活动和任务,包括:,成本,质量,质量故障成本, 质量问题发生后采取相应措施的费用,质量保障成本, 为了预防质量问
32、题发生而采取相应措施支付的费用,质量总成本=质量保障成本+质量故障成本,质量标杆法,又称Benchmarking,对照其他项目实际或计划的项目质量管理结果或计划,作为新项目的质量比照目标,通过对照比较制定出新项目质量计划的方法,质量标杆法,寻找行业最佳组织 与最佳组织比较,质量标杆法,标杆法包括两个重要的方面: 一方面制订计划,不断地寻找和树立国内、国际先进水平的标杆,通过对比和综合思考发现自已产品的差距 另一方面不断地采取设计、工艺和质量管理的改进措施,取人之长、补已之短,不断提高产品的技术和质量水平,超过所有的竞争对手,达到和保持世界先进水平 采用标杆法不是单纯地模仿,而是创造性地借鉴。通
33、过深入的思考、研究,集众家之长,开展技术创新,实现产品性能的突破,质量流程图法,表达项目的工作过程和项目不同部分之间相互关系,用于分析和确定项目的质量形成过程,实验设计法,一种计划安排的分析计划,有助于识别在多种变量中,何种变量对项目成果的影响最大,从而找出项目质量的关键因素,软件质量管理计划,SQP是一个全面的管理软件产品质量的计划,它包含: 建立软件产品质量的需求 建立开发、运行和维护软件产品的方法学、过程和规程并加以实施和推行 建立评估软件产品质量、和影响产品质量的相关活动的方法学、过程和规程并加以实施和推行,SQP的要素,软件质量计划,需求的建立, 实现和控制,典型需求影响设计的需求
34、影响维护的需求 影响运行的需求,SQP的要素,软件质量计划,方法和规程 的建立和控制,所需方法需求分析 设计 实现 测试 配置管理,SQP的要素,软件质量计划,软件质量评价,所需评价产品评价 过程评价,质量管理计划的要点,质量需求目标是“源” 方法和过程的建立是保证目标可以实现 产品和过程的评价是保证实施的过程和结果的符合性 确定每个项目的质量标准,把质量规划到项目的产品和管理项目所涉及的过程之中,建立评价使得实施过程符合预测,质量需求目标,功能性 交互性 性能 可靠性 可扩展性 可维护性,建立方法和过程,建立产品工程的过程化方法 过程 输入 完成目标的一系列工作步骤 支持每一个步骤的方法 人
35、员角色和职责 输出,工作交付结果 对工作结果的验证和确认活动,建立评价,检查表 度量,检查表,通常使用检查表来验证过程与工作产品 被检查者与检查者使用相同的检查表 目的是保证产品和过程的质量,范例:检查表,度量,If you do not know where you are,a map wont help WATTS S. HUMPHREY,度量,关注于项目本身,而不是产品本身 IT项目度量可以从其他传统行业中得到什么样的借鉴? 量化管理的方法 统计分析的方法 过程改进的方法 IT项目本身的特点 IT项目所采用的过程主要集中于脑力活动,可视性很低并且不易量化 数据的积累相对困难,度量,M4,
36、度量,数据度量不是目的,度量结果的应用才是目的 如果只搜集数据而不做分析,那么数据搜集只是在浪费时间和精力 统计数据表明,花在数据分析与应用方面的工作量至少是数据搜集工作量的三倍以上 提供度量数据的个人或组织必须了解这些数据如何使用,他们提供这些数据将为组织或个人带来什么样的好处,质量保证,为项目满足所有项目干系人的要求提供信心,质量保证的要点,质量保证的目的是提供信任,获信任的对象有两个方面: 内部的信任,主要对象是组织的领导 外部的信任,主要对象是客户,质量保证的要点,质量保证有内部和外部两种目的: 内部质量保证:在组织内部,质量保证向管理者提供信任。 外部质量保证:在合同或其他情况下,质
37、量保证向顾客或其他方提供信任。 质量控制和质量保证的某些活动互相关联的 只有质量要求全面反映用户的要求,质量保证才能提供足够的信任。,质量保证的要点,产品的质量要求(产品要求:过程要求、体系要求),必须反映顾客的要求才能给顾客以足够的信任 信任来源于质量体系的建立和运行(包括技术、管理、人员等方面的因素均处于受控状态),建立减少、消除、预防质量缺陷的机制,只有这样的体系才能说具有质量保证能力,实施过程中的质量保证,质量保证活动,包含: 正规的质量评价(质量审计),通常在项目执行的过程中进行 总结性质量评价(质量改进),通常在项目结束时进行 通常有质量保证部门来履行质量保证的责任 在ISO规定以
38、前,质量计划与质量保证统称为质量保证,质量审计,采用结构化的方式对质量管理的系统进行评价,目的是为本项目或同组织内其他项目提供经验和教训,改进现在或将来项目的执行 AUDIT DEFINITION,Systematic, independent and documented process for obtaining audit evidence and evaluating it objectively to determine the extent to which agreed criteria are fulfilled,质量审计,质量审计可以是预定的或随意的,并由经过培训的内部审计人
39、员或第三方来执行,质量审计的结构,质量审计要确定质量系统的结构和合理性 质量审计要检查实施过程和所定义的质量系统之间的符合性 根据以上结果评价其目标和实施过程,质量系统的文档结构,手册,程 序,指导书,图纸、规格、清单、检验报告、测试报告等,质量政策、质量目标,ISO 9000要求,做什么,怎么做,文档记录,质量控制的目的,对产品的直接检验 对产品构造过程的直接检测,质量保证vs质量控制,质量保证是一种预防性、提高性和保证性的质量管理活动; 质量控制是一种过程性、纠偏性和把关性的质量管理活动,质量控制,质量控制包括事前控制,事中控制和事后控制 事前控制主要是对于影响项目质量因素的控制,而不是从
40、质量保证的角度开展的对于项目各方面要素所开展的保证活动,质量控制的意义,检验手段,评审 测试,评审,包括:走查(Walk through)、正规技术评审(Formal Technical Review),审查(Inspection)等概念和方法 同行评审 一组在要评审的软件工作产品领域方面有经验的同行,确认工作产品是否正确 是软件开发、维护过程的重要组成部分 将注意力集中到尽可能在缺陷的引入阶段发现缺陷,不要将缺陷遗留到下一阶段 同行评审无法发现所有的缺陷,但是目的是尽可能发现更多的缺陷 尽早地和高效率地从软件工作产品中消除缺陷,测试的目的,验证需求 寻找错误 预测可靠性,黑盒法 白盒法 在不
41、同的测试层次中如何应用,测试的层次,单元测试,关键点? 集成测试,关键点? 系统测试,关键点?,系统测试,静态功能测试 动态功能测试 配置和性能测试 可靠性测试,质量控制工具,统计分析法 柏拉图 直方图 散列图 因果图 时序图 控制图,统计分析法,收集与显示数据 收集具体过程的数据确定活动的发生频率 排序并进行分析,柏拉图,1897年由意大利经济学家Vilfred Pareto所提出,Duran 将其发展为一般的帕雷托原则:80-20原则 帕雷托图中数据的重要性以下降的顺序排列 按优先顺序表示数据,并将注意力集中在关键数据上,一般来说,关注在前两到三个因素就可以解决绝大部分的问题,柏拉图,柏拉
42、图,Pareto发现“关键的少数(vital-few),和次要的多数(trivial-many)之间的关系” 在资本主义社会中,少数人占有大量财富,而多数人仅拥有少量财富 20%股票持有者拥有80%的所有权 80%的营业额由20%的客户产生 80%的缺陷由20%的模块产生 等,散列图,用于描述两个变量之间的依赖关系 分析变量之间的关系,并用相关系数描述 对于多变量之间的关系分析,可以采用多元线性回归等计算方式,散列图,直方图,表示数据变化情况的一种工具。制作直方图时,首先要对数据进行分组,对组内数据进行数据频率分布的示意 快速理解数据之间的相对频率,直方图,时序图,时序图是对一个变量随时间变化
43、的趋势做出判断和预测,因果分析图,日本质量管理学者石川馨首先提出,又称鱼骨图(Fishbone),石川图 它把影响产品质量诸因素之间的关系以树状图的方式表示出来,使人一目了然,便于分析原因并采取相应的措施 以结果作为特性,以原因为因素,在它们之间用箭头联系表示因果关系 最后细分出来的原因应是具体的,便于采取实际措施 在细分原因时,应集思广益,力求分析结果准确而无遗漏,充分发动项目成员头脑风暴,练习,一般来说,现在软件项目的质量差强人意,以你过去的一个项目为蓝本,利用鱼骨图方法找出可能的原因,统计过程控制图,Control Chart,它是一种有控制界限的图,用来区分引起质量波动的原因是偶然的还是系统的,可以提供系统原因存在的信息,从而判断工作过程是否处于受控状态,统计过程控制图,Cause,共同原因Common Cause和个别原因Special Cause,,