软件项目管理基础知识(ppt 196页).ppt_第1页
软件项目管理基础知识(ppt 196页).ppt_第2页
软件项目管理基础知识(ppt 196页).ppt_第3页
软件项目管理基础知识(ppt 196页).ppt_第4页
软件项目管理基础知识(ppt 196页).ppt_第5页
已阅读5页,还剩191页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件项目管理基础,2,内容,项目管理的基础知识项目的时间管理项目的质量管理项目的人力资源管理项目的结项,3,项目管理的基础知识,项目管理的两个基本概念项目生命周期项目管理过程项目成功的概念项目经理应具备的相关技能,4,项目管理的两个基本概念,项目的概念PMI对项目的定义项目是为完成某一独特的产品或服务所做的一次性努力,5,项目管理的两个基本概念,项目的概念(续)临时性项目有明确的起始与截止日期项目合同的起止日期当达到项目的目标时即项目的截止日期;或项目被中止/取消的日期项目的临时性并不意味着项目所提交的产品或服务也是一次性的(一次性纸杯的生产)项目所面临的市场机遇往往也是临时性的(没有企业愿意在2009年生产北京奥运的徽章)项目组也往往是临时性的,当项目结束时,项目组也随之解散(或释放),6,项目管理的两个基本概念,项目的概念(续)独特的产品或服务项目所产生的产品或服务是独一无二的对于批量生产的商品(例如空调或冰箱)则不具备独特性,而例如北京联通计费项目则具有独特性重新铺设北京二环的所有路面也可以看作一个独特的服务,7,项目管理的两个基本概念,项目的概念(续)项目需要使用资源,一般包括人(具有各种技能和经验的人员)物(开发规约、各种设计书、测试数据、开发需要的硬件和软件等)资金(人件费、教育费、硬件与软件的购入费)时间(交付日期)信息(项目组内部信息、相关项目组的信息、用户的信息、竞争对手的信息、行业领域的最新动向等),8,项目管理的两个基本概念,项目的概念(续)项目应有一个主要发起人或客户大部分项目都会有许多项目利益相关者或干系人项目含有不确定性由于每个项目都是唯一的,有时很难确切地定义项目的目标,或准确估计完成项目所需的时间和成本支出。这种不确定性是项目管理的如此具有挑战性的主要原因之一,这种情况在新技术项目中更为突出。,9,项目管理的两个基本概念,项目管理的概念通过项目经理和项目组织的努力,运用系统理论和方法对项目及其资源进行计划、组织、协调、控制,旨在实现项目的特定目标的管理方法管理是通过计划、组织、控制和领导等环节来协调人力、物力和财力资源,以期更好地达成组织目标的过程法约耳的管理五要素:计划、组织、指挥、协调、控制项目管理与传统管理之间的联系与区别,10,项目管理的两个基本概念,项目管理的概念(续),项目干系人的需要和期望,9大知识领域核心功能,项目的整体管理,辅助功能,项目管理的工具和技术,项目成功,11,项目管理的两个基本概念,项目管理的概念(续)三大关键要素项目干系人项目管理知识领域项目管理工具和技术,12,项目干系人,项目干系人的定义会对项目产生影响的个人或组织以及项目的结果会影响的个人或组织项目干系人更多地以利益影响的方式来区分以利益驱动的方式来促成项目的成功,13,项目干系人,项目干系人通常包括项目经理客户客户与最终用户项目团队成员出资人组织内其它部门供应方竞争对手其他处于组织外部的项目涉及或受项目影响的团体,14,项目干系人,取得项目干系人的支持与项目干系人沟通的重要性例会或定期报告制度项目干系人之间利益折衷项目干系人对项目往往存在不同的期望,且这些期望之间存在较大的差异以客户为中心的思想,15,项目管理知识领域,四大核心知识领域范围管理时间管理成本管理质量管理,16,项目管理知识领域(续),四大辅助知识领域人力资源管理沟通管理风险管理采购管理,17,项目管理知识领域(续),项目的整体管理要发挥项目管理上的支撑作用,它与其他项目管理知识领域互相影响。项目经理必须具备上述9方面全部的知识和能力,18,项目管理的工具和技术,例如:时间管理的工具和技术有:甘特图、PERT、关键路径法(CPM)等MS-Project等,19,项目生命周期,项目阶段与项目生命周期正是因为项目的独特性,项目在执行过程中存在不确定性为了降低不确定性以阶段的方式来执行项目项目生命周期则是项目阶段的总和项目全生命周期概念不仅仅是交付,包括从立项一直到退役,20,项目生命周期,项目生命周期特征根据项目生命周期的特征制订项目计划,21,项目生命周期,几种典型的生命周期(续),22,23,24,26,项目管理过程,项目过程项目管理过程适用于绝大部分项目的管理过程,例如时间管理、质量管理、成本管理、风险管理等具有普遍的适用性,27,项目管理过程,项目过程组项目管理过程可以分为5个过程组启动过程批准项目或阶段的开始计划过程定义项目或阶段的目标及其所需的资源执行过程根据计划来执行任务控制过程通过定期来监督和测量项目的进展来判断项目实际的执行情况与计划的差异,如果需要,还应该采取纠正措施收尾过程确定项目或阶段可以正式结束,28,项目管理过程,项目过程组(续)项目或阶段的过程组示意图,计划,启动,执行,收尾,控制,Plan,Do,Check/Action,29,项目管理过程,项目过程组(续),30,项目成功的概念,项目管理的“三约束”,风险,时间,范围,成本,31,项目成功的概念,衡量项目是否成功的标准千差万别一般衡量项目是否成功的“三条件”:QCT,项目,时间,质量,成本,32,项目成功的概念,顾客满意度的达成:CS例如:即使项目开发超出预算成本,投入运营后在中长期内能实现客户的业务需求锻炼了开发队伍,获得了某方面的技术积累,有利于今后公司业务的开展,33,项目成功的概念(续),决定项目成功的重要因素用户的参与程度高级管理层的支持明确的需求说明,34,项目经理应具备的相关技能,项目管理的15项职能工作确定项目的范围识别项目干系人、决策人和逐级程序制定详细的任务清单(WBS)估计时间要求制定初步的项目管理流程图确定所需的资源和预算评估项目要求识别和估计项目风险制定应急计划明确相互关系确认并跟踪项目的关键里程碑参与项目阶段的评估保障所需的资源管理变更控制过程汇报项目状态,35,项目经理应具备的相关技能,有效的项目经理与低效的项目经理的几个重要特点,有效的项目经理有表率作用有洞察力技术过硬有决断力善于沟通善于激励他人必要时能够支持上级领导支持团队成员鼓励新观念新思想,低效的项目经理表率作用差不自信缺乏专业技能和经验不善于沟通不会激励他人,36,项目时间管理,项目时间管理的基本概念制定项目进度计划的方法检查项目进度状况的方法项目实际进度落后于计划时的对策,37,项目的时间管理的基本概念,项目时间管理包括项目所需时间的估算,制定可以接受的项目进度计划,并确保项目及时完工项目时间管理涉及确保项目准时完成所必需的过程涉及的主要过程包括:活动定义(WBS)活动排序活动历时估算制定进度计划进度计划控制,38,制定项目进度计划的方法,项目开发计划与项目进度计划的关系活动定义活动排序活动历时估算制定进度计划,39,项目开发计划与项目进度计划的关系,项目开发计划书应包含内容开发目的(背景)系统/产品的特征质量目标及达成手段性能指标及达成手段开发/运行环境开发范围一览表与功能概要规模与工数预算其他费用的预算开发体制开发日程表用户使用手册制作的日程表项目规章,40,活动定义,活动定义,涉及确定项目团队成员和项目干系人为完成项目可交付成果而必须完成的具体工作活动或任务,是一部分工作,一般在WBS里可以找到,它有预期历时、成本和资源的要求进度计划来自活动定义,41,关于WBS,WBS(WorkBreakdownStructure),工作分解结构WBS是一种将复杂任务分解为简单任务的方法将项目分解为可管理的活动作为软件项目计划和跟踪的基础,42,WBS的结构类型,两种结构类型交付物(工作产品)活动(任务)软件项目计划的WBS通常是两种类型的混合,43,WBS示例,44,WBS分解的粒度,请根据以下准则检查WBS的粒度任务可由单个人来完成吗?任务的完成状态可以验证吗?任务开始之后还会依赖于其他任务吗?任务所分配的时间是否过长而不利于管理?为了保证管理的有效性,对下一周每项任务的安排不要超过一个工作日,45,根据软件生命周期制定WBS,对当前阶段的活动进行详细的分解暂时不要分解后续阶段的活动随着对项目了解的深入不断细化WBS根据阶段的划分来确定软件项目的里程碑,46,细化WBS结构,通过滚动计划方式不断细化WBS结构,47,WBS的层次,WBS具有不同的层次,不同的人关注在不同的层次项目团队成员的直接负责人关注到每个活动项目经理(项目规模较小时)项目组长(项目规模较大时)项目高层经理或客户关注在较高层次的WBS活动例如需求分析阶段、设计阶段、集成测试阶段和系统测试阶段,48,活动排序,活动排序,涉及审查详细WBS中的活动、详细的产品说明书、假设和约束条件,以决定活动之间的相互关系;也涉及评价活动之间依赖关系的原因,及各种依赖关系依赖关系反映了项目的活动或任务的顺序确定活动之间的依赖关系对制定并控制项目进度计划有重要的影响,49,活动依赖关系类型,FSFinishtoStart例如:需求分析-总体设计SFStarttoFinish例如:系统上线-项目结项FFFinishtoFinish例如:单元测试-编写集成测试用例SSStarttoStart例如:编写系统测试用例-总体设计,50,活动历时估算,历时包括一项活动所消耗的实际工作时间加上间歇时间历时的估算结果有可能导致更新工作分解结构,51,活动历时估算的方法,类比法由上至下法(TopDown)由下至上法(BottomUp)功能点法(FunctionPoint),52,小结,从“三约束”出发考虑上述三个步骤活动定义进一步定义范围活动排序进一步定义时间活动历时估算进一步定义成本上述三个步骤必须由项目团队和关键的项目干系人共同参与完成为保证一致性和全员参与(项目绩效考核出发),53,制定进度计划,甘特图关键路径法(CPM)计划评审技术(PERT),54,甘特图,甘特图1917年,亨利甘特发明,通过日历形式列出项目活动及其相应的开始和结束日期,为反映项目进度提供了一种标准格式,55,甘特图,示例,56,关键路径法(CPM),CPM(CriticalPathMethod)美国国防部于二十世纪五十年代末期提出的方法,主要适用于大型工程项目项目关注于费用控制项目中的活动存在很强的依赖关系,57,关键路径法(CPM),计算关键路径关键路径决定了项目所需要的最短总体时间位于关键路径上的活动浮动时间为0浮动时间为0的所有活动组成了项目的关键路径项目中可以有多条关键路径项目经理在控制项目进度计划时需要随时关注处于关键路径上活动的进度情况,58,关键路径法(CPM),示例,59,计划评审技术(PERT),PERT(ProgramEvaluation&ReviewTechnique)美国国防部于二十世纪五十年代末期提出的方法主要适用于:R&D等不确定性较高的项目技术更新频繁、进度风险较高的项目,60,计划评审技术(PERT),PERT主要应用于对单个活动的时间进行估计PERT对于每一种活动都采用三种估算值乐观时间、悲观时间和最可能的时间每种活动的时间则取决于加权值,61,计划评审技术(PERT),PERTPERT加权值=,62,计划评审技术(PERT),PERT加权值与CPM单一活动值的关系,63,进度计划控制的基础,切实可行的计划如果项目计划制定得不合理,再怎么努力工作也改变不了失败的命运区别有压力的项目计划和不可能完成的项目计划对于工作完成状态的客观判断可能会报喜不报忧,每个人都会不自觉地隐藏对自己不利的信息,64,检查项目进度状况的方法,在项目全生命周期中,项目经理需要随时监控项目的进度状况若出现延迟情况需要及时进行调整项目进度状况的检查,包括:准备工作进度信息的获取进度信息的分析,65,准备工作,项目经理的职责建立项目进度报告制度例如:确定例会时间、报告路径、周报格式等检查项目团队成员的个人工作进度计划是否合理项目团队成员的职责根据项目进度计划,建立本人工作进度计划按时提交周工作进度报告,66,个人工作进度计划,项目经理需要检查的内容与项目开发计划对照检查是否有遗漏项未列入项目开发计划的临时性工作是否也被列入个人工作计划各项工作的完成期限是否合理,是否对团队其他成员的工作造成负面影响根据个人能力判断是否能够按照计划完成各项任务与团队中其他成员相比工作量分配是否平衡,67,个人工作进度计划,制定个人工作计划对团队成员的意义对个人制定的计划须充分负责培养项目团队成员自我管理的习惯通过个人计划了解个人在整个项目中的地位与义务强化项目整体的团队意识,68,个人周工作进度报告,向直接上级报告报告内容尽量详细Who,when,what,where,how,howmany明确区分“事实”与“意见”包含项目经理需要了解的所有信息便于项目经理与团队成员的填写与阅读避免由于个人原因提交虚假报告建立出现问题时的及时报告制度的同时,鼓励团队成员通过思考,寻找解决问题的对策,69,个人周工作进度报告,个人周工作进度报告对团队成员的意义培养团队成员主动考虑问题对策的习惯培养团队成员从项目经理的角度出发,考虑自己的工作内容的习惯,70,进度信息的获取,进度信息的获取途径正式途径项目会议个人周工作进度报告非正式途径日常的口头交流等,71,项目会议的形式,项目周例会检查上周工作,分配下周工作形成文档项目周报项目月度会议横向交流经验,项目间调整事项形成文档会议记录里程碑会议项目经理与SQA人员分别汇报当前项目情况,高层管理人员根据报告的内容判断风险,并决定是否可以进入下一阶段形成文档项目度量表评审会议评审前一任务的成果物,并决定是否可以进入下一任务形成文档评审记录,72,高效的会议管理,会议组织者的职责会议准备预先向与会者通报会议的时间计划(起止时间)、议题等事先了解与会者的立场,准备会议资料,预先考虑对策选择与议题相适应的与会者,控制与会人数会议组织控制会议时间(2个小时以内),杜绝与议题无关的话题促使与会者充分发表意见会议应有决议,防止反复就同一议题召开会议会议总结会议结束时总结会议决议与未定事项,并获取与会者的确认尽快形成会议记录并归档管理检查会议决议的执行情况,73,高效的会议管理(续),与会者的职责会议准备事先提交会议资料,预先就议题考虑对策根据会议时间安排工作,无法参加时指定代理人参加会议按时到会(提前5分钟)就指定议题充分发表意见会议总结确认相关的决议与未决事项执行会议决议,74,进度信息的分析,通过“计划指标”与“实际完成情况”确定进度状况,75,进度信息的分析,在上述基本数据的基础上预测任务完成时间,76,进度信息的分析,在上述基本数据的基础上获得平均生产效率经验数据正确认识积累生产效率数据的意义作为任务历时估算的基础(类比法)建立切实可行的项目开发计划的基础项目/员工绩效考核的基础,77,需要与上级经理协调,项目进度落后时的对策,项目经理的职责范围,78,压缩工期,赶工(Crashing)赶工是一种平衡成本和进度的技术,分析如何以最低成本最大限度地压缩项目的总工期赶工意味着用成本来争取时间例如以加班的代价缩短关键路径上的活动的持续时间,79,压缩工期,并行(FastTracking)将通常情况下按顺序进行的活动以重叠的方式进行,这样可以压缩项目的工期并行最大的缺点是,由于太早开始某些任务常常会增加项目风险并造成大量的返工,因而会“欲速则不达”,反倒更进一步延长工期对工期压缩后则要重新判断项目的关键路径,80,压缩工期,提高效率通过与具体活动的负责人的沟通,了解进度落后的真实原因在此基础上,采取对策,从而达到提高效率,挽回进度的目的,81,平衡资源,资源的分配分解工作范围,并为工作分配资源与时间成本预算的一个必要步骤“两头凑”需要的资源类型与可用的资源类型,82,平衡资源,角色分派矩阵,A:负责人P:参与者R:要求审查I:要求输入S:要求签字,83,平衡资源,资源负荷,84,平衡资源,资源平衡举例项目网络图中标出了活动A、B、C及其历时,活动A有3天时差,活动C有2天时差。假设活动A有2个员工,活动B有4个员工,活动C有2个员工。,2,1,4,3,A=2天,B=5天,C=3天,85,平衡资源,86,平衡资源,87,平衡资源,注意事项调整业务分担时,不是简单地将某项任务转移到其他团队成员,应仍旧以原负责人为主,其他人员支援其完成部分任务的形式进行保证一致性,提高效率,88,修改计划,项目开发的早期阶段(整体设计编码)尽量在对外产生影响的里程碑之前,调整进度计划,挽回进度同时应该分析进度落后的原因,采取对策严防由于同一原因再度导致进度落后尽量在项目经理的职责范围内解决问题,防止对项目干系人的工作造成影响,89,修改计划,项目开发的后期阶段(测试阶段)由于临近交付日期,极可能对外产生影响,必须与项目干系人进行协调,将影响控制在最小范围内可采取的对策:减少发布的功能限制某项功能的应用分阶段发布各项功能变更交付日期,90,补充人员,通过补充人员挽回进度的局限性项目成本管理的考虑项目人员管理的考虑对外影响的考虑因此建议将补充人员的方法作为挽回进度的最后手段,91,补充人员,通过补充人员挽回进度时的注意事项项目经理需要对支援人员进行必要的教育项目规章、业务背景、作业内容等将支援人员与原有项目团队成员一视同仁项目经理在请求支援时应明确提出人员的技能要求,否则可能“得不偿失”在得到支援后,项目经理应该要求项目团队原有的成员应付出比支援人员更多的努力,92,进度落后时需注意的其他方面,在进度落后时,项目经理不应仅仅关注项目的进度,同时要考虑下列问题项目质量按照项目规章、质量目标组织评审项目团队成员注意团队成员的健康状况和士气注意分析原因,采取对策,预防再犯相同错误,93,分析进度落后的原因,由于不切实际的计划所造成的交付日期不合理历时估算不准确高估项目团队成员的技术水平由于范围变更导致工作内容增加所造成的顾客需求的变更系统维护、Bug对应等其他工作挤压开发工时由于意外事件所造成的项目团队成员的伤病项目团队成员的工作调动项目团队成员的离职,94,进度控制归根到底是处理人的问题,推动项目按照计划进展并控制其进度,要求项目经理掌握下列领导技能授权激励纪律谈判,95,关于制定切实可行的项目计划,制定切实可行的项目计划应注意:考虑前期项目的维护工时(尤其是使用迭代式模型时)考虑与项目干系人接口的耗时(Q&A等)考虑项目团队成员参加各类公司内外组织的培训、讲座的时间考虑对项目团队成员进行顾客业务知识培训的时间,96,项目的质量管理,项目质量管理的基本知识项目质量控制手段评审测试,97,质量管理的基本知识,质量的定义质量管理的定义,98,质量的定义,国际标准化组织(ISO)的定义反映实体满足明确和隐含需要的能力和特性的总和。,99,质量的定义(续),与要求的一致性指项目的过程和产品满足书面规范要求适用性指产品能像它被计划的那样使用,100,项目质量管理的定义,项目质量管理的目的是确保项目满足它所应满足的需求项目质量管理必须满足或超越项目干系人的需求和期望为使项目干系人满意项目团队必须与所有的干系人建立良好的工作关系,并明确理解他们明确的和隐含的需求,101,项目质量管理的定义(续),项目质量管理包括三个主要过程:质量计划编制:包括确认与项目相关的质量标准以及实现方式质量保证:包括对整体项目绩效进行预先的评估以确保项目能够满足相关的质量标准质量控制:包括监控特定的项目结果,确保它们遵循了相关质量标准,并识别提高整体质量的途径,102,项目的质量保证,随着时代的变迁,质量保证的思维方式也发生变化,103,所谓“有组织的质量保证活动”,明确定义质量保证活动的内容及其责任人明确质量保证数据的收集、分析、运用方法明确定义质量保证活动的工作流程和标准简言之,就是要求质量管理体系下进行质量保证活动,104,现代质量管理,ISO9000质量管理体系领导的作用全员参与基于PDCA的持续改进的过程方法以顾客为关注焦点,105,现代质量管理,ISO9001:2000标准要求组织应依照本国际标准建立质量管理体系将其形成文件并予以实施、保持和持续改进。为了实施质量管理体系,组织应:标识质量管理体系所需的过程;确定这些过程的顺序和它们之间的相互作用;确定所需的准则和方法,以确保这些过程有效运作和控制;确保可获得必需的信息以支持这些过程的运作和监控;测量、监控和分析这些过程并采取必要的措施以达到预期的结果和持续的改进。组织应依照本国际标准要求管理这些过程。,106,现代质量管理,能力成熟度模型(CMM)五个层次原始的:没几个过程被定义,常常依靠个人努力取得成功可重复的:建立了基本的项目管理过程,有过程方法可供重复过去的成功经验,用于类似项目被定义的:管理活动和软件工程活动的过程被文档化、标准化,并被集成到组织的标准软件过程中,所有项目都使用一个经批准的、特制的标准过程版本被管理的:软件过程和产品都被定量地掌握和控制着优化的:组织能够运用从过程、创意和技术中得到定量的反馈,来对软件开发过程进行持续改进,107,为什么需要对过程进行标准化,部门或项目是由经验、技能水平不同的成员组成的,因此建立标准化的工作流程并通过教育使全员遵守标准是十分重要的。通过标准的定义与实施,使全员按照一致的标准工作,是确保项目质量的重要手段。例如,可建立以下标准:对开发过程,确定设计书的内容与格式以及标准术语对测试与评审过程,确定评审用的检查内容表和测试程序的标准,108,质量评价(测量)标准,质量特性(外部特性)顾客要求的软件特性,由多种副特性组成对于不同种类的软件,各种副特性的重要度不同内部特性为了确保顾客所要求的各种软件特性,在开发过程中,评价(测量)软件质量的内部标准,109,质量特性(外部特性),功能性(Functionality)信赖性(Reliability)易用性(Usability)高效性(Efficiency)维护性(Maintainability)易移植性(Portability),110,内部特性,略,111,通过评审进行质量保证,设计阶段质量保证的手段通过评审进行质量保证的一般方法制定评审计划Plan实施评审Do评审效果的审查Check评审问题的对策Action,112,设计阶段质量保证的手段,导入案例,113,设计阶段质量保证的手段,评审是对设计阶段质量保证的重要手段但是评审不是设计阶段质量保证的唯一手段,提高设计质量是设计阶段质量保证的根本途径,114,提高设计质量的手段,使用设计书模板,防止遗漏需明记的内容使用图表,使设计书能够正确传达信息选择适当的开发工具,以自动完成部分开发考虑易测试、维护和扩展的需要,采用模块独立性较高的设计方案测试性:单元测试的全面性维护性:程序的易读性与缺陷的易修正性扩展性:对使用环境和用户需求变化的易对应性,115,评审活动的PDCA循环,(保证评审质量),反馈,116,制定评审计划,制定项目开发计划时,应同时确定项目各阶段的评审计划评审计划应包括以下内容:评审的对象评审的负责人(召集人)、参加人员评审的日程表评审完成标准(需要定义各个项目独特的标准),117,选择合适的评审人员,选择合适的人员参加评审活动是获得客观可靠的评审结果的重要保证例如,评审人员可以是评审领域(质量保证或审计)的专家该项目团队成员具备评审人员素质应邀而来的人员由于感兴趣自愿参加的人员从其他不相关部门邀请来的人员通常评审组由以上人员混合组成,由此带来多样性的观点,118,评审完成标准的内容(例),评审的实施率实际评审次数与计划次数的比率评审的覆盖率评审对象的实际实施量与总量的比率检查内容的覆盖率实际检查项目数与计划检查数的比率问题的对应率已经对应的问题数与发现总问题数的比率发现问题数发现问题的总数与评审对象规模的比率,119,实施评审,项目经理需要根据事先制定的计划,分阶段召开评审会议在努力提高评审的质量与效率的同时,对每次评审需要留有评审记录,120,评审记录的内容(例),评审实施时间评审对象阶段参加人员评审对象设计书:“种类”与“页数”程序:“开发语言”与“有效行数”评审工时评审问题清单与对应记录所使用的检查内容表的具体内容,121,对评审结果进行记录的意义,把握评审质量通过参照评审活动中使用的检查内容表,可以了解评审的深度把握评审效果通过评审工时与发现问题数的对应关系,可以衡量评审效果防止遗漏问题的修正通过记录评审中发现的问题,可以防止遗漏上述问题的修正对发现问题的分析通过对评审中发现问题的分析,可以防止本人和其他项目团队成员犯相同类型的错误,122,评审的种类,正式评审满足以下条件的评审以评审会议形式实施评审活动的负责人参加评审留有评审记录根据事先制定的计划实施非正式评审不满足上述一个以上条件的评审例如在开发过程中,由活动的具体负责人或项目经理决定临时进行的评审,或以项目组内传阅形式进行的检查等,123,正式评审的优点,可以获得上级或用户的承认,减少事后出现问题的可能性可以听取多方意见,增加评审意见的客观性,降低风险与非正式评审相比,事先准备较充分,因此对提高质量帮助较大,124,正式评审的注意事项,对于软件开发各个阶段生成的阶段性成果,必须进行评审,并记录评审结果。根据评审记录对设计书或程序进行修正。在未对修正结果进行确认前,不能结束本阶段工作,进入下一阶段。一般来说,我们所说的“评审”就是指“正式评审”。,125,正式评审与非正式评审,项目经理应该区分不同情况,灵活运用正式评审与非正式评审的形式,以达到提高效率,实现项目质量目标的目的。评审的时机,126,评审的方法,走查法(Walkthrough)审查法(Inspection)轮查法(Round-robin)原型法(Prototyping)模拟法(Simulation),127,走查法,假定程序模块的输入与输出值,按照执行步骤,逐行分析所有代码的方法通常用于对控制流程明显的程序或设计流程图的评审应该以工作的具体负责人为中心实施,128,走查法(续),步骤首先假定对象模块的输入以及与之对应的输出结果根据输入值,按照程序运行的顺序跟踪运行结果最后比较跟踪到的最终结果与最初预想结果,129,走查法(续),优点当参与评审人员较多时,可以对控制流程的各个步骤进行较详细的评审缺点当控制流程较复杂时,需要耗费较多的时间,130,审查法,根据评审用检查内容表,对评审对象的某方面的质量进行审查的方法要求所有参加人员根据审查项目,从对象物中找出相应的审查位置要求在受过专门训练人员的主持下实施需要事先向所有参与人员分发讲解检查内容表需要选择详细了解系统/产品全貌的人员参加评审,131,审查法(续),优点由于使用专用的检查内容表,使参加人员可以专注于对象物某一方面的质量,因此可以一次对多个对象进行评审缺点若参加人员对评审对象不够了解,则无法达到预期的评审效果,132,轮查法,轮流指定所有参加评审的项目团队成员为评审负责人的组织方法优点全员参与,提高所有人的参与意识轮流作为评审负责人,可以提高大家的技术水平同时加深团队成员间的了解缺点对所有团队成员有较高技能要求,需要循序渐进,不能急于求成,133,原型法,根据设计试作程序,根据实际的动作进行评审的方法优点对于用户界面较多,或画面显示较多的程序比较有效缺点试作程序与实际的产品存在差异,仅供参考事先的准备工作耗费较多工时,134,模拟法,建立模型,根据数学的近似算法,模拟系统或软件的运行环境,根据实际的运行结果进行评审的方法。评审结果可以作为确定适当的技术路线的依据优点对于由于设计方法的不同对系统的性能有较大影响的程序十分有效,例如:有较高性能指标要求、占用较多系统资源、需要实时处理的系统缺点若模拟算法有误,会得出错误结果需要改变条件,反复进行模拟运行,135,事先进行自查的重要性,组织建立了较完备的评审制度后,组织成员有可能会产生过分依赖评审的倾向因此有必要强调自查的重要性在具体设计/开发的质量过低,会导致在评审中分散参加评审人员的注意力,降低评审的效率(耗费大量工时,却抓不住根本问题)对于所有项目团队成员,养成自查的习惯是一种重要的“纪律”,136,评审效果的审查,项目经理需要主持所有的阶段性评审,并审查评审的结果以把握项目的质量情况项目经理需要随时掌握评审完成标准与实际评审状况的相对关系具体来说,有以下两部分的任务评审结果与完成标准的比较评审质量的审查,137,评审结果与完成标准的比较,检查实际进行的评审是否已经达到事先确定的评审完成标准当未达到标准要求的水平时,确定再次评审的计划发现问题数高于标准时再次评审发现问题数远远低于标准时改变评审方法,138,评审质量的审查,项目经理可以通过以下的方面审查评审的质量是从何种角度出发进行评审的?是否有具有适当的技能的人员参加评审活动?通过评审发现多少问题点?通过评审发现哪些方面的问题点?对于多少量的对象物,耗费多少工时进行评审?上述审查要求项目经理积累足够的经验数据,139,评审问题的对策,项目经理通过评审掌握项目质量情况后,需要针对现存问题采取适当对策从根本上重新制造组织再次评审,140,从根本上重新制造,有时当成果物的质量过低时,再次组织评审往往也仅仅是浪费时间,不能从实质上提高质量这时项目经理应该有勇气决定投入技能较高的人员推翻原设计重新进行制造。完成此步骤后再进行评审。,141,组织再次评审,确定再次评审的方法改变角度,采用与前一次不同的评审方法改变参加评审的人员在评审用检查内容表中追加新的项目,142,实施评审时的注意事项,限制评审会议的时间(2个小时以内)项目经理必须出席评审会议为使评审人员充分了解评审内容,应事先向他(她)们分发评审资料明确指出问题点并明确记录在评审记录中,143,通过测试进行质量保证,通过测试进行质量保证的一般方法制定测试计划Plan测试的设计与实施Do测试效果的审查Check测试问题的对策Action,144,测试活动的PDCA循环,(保证测试质量),反馈,145,制定测试计划,制定项目开发计划时,应同时确定项目各阶段的测试计划测试的目的在于消除潜藏在成果物中的Bug,由于能够用于测试的资源有限,在制定测试计划时必须考虑效率因素为了提高测试效率,通常按照单元测试、集成测试、系统测试的顺序分阶段实施,146,测试计划的内容(例),各个功能模块的测试方法测试环境测试工具测试管理方法测试日程测试体制Bug报告方法测试进度管理方法测试完成标准,147,测试完成标准(例),测试项目的消化率(%)测试密度(件/KS)测试覆盖率(命令的覆盖率)测试覆盖率(条件判断的覆盖率)Degrade率(%)Bug收敛率(%)Bug发现率(件/KS)Bug发现率(件/项目)Bug修正率(%),148,测试的种类,按功能层次分类单元测试(UnitTest)测试对象:详细设计书内容测试单位:各个功能模块集成测试(IntegrationTest)测试对象:功能设计书内容测试单位:一般为整个程序系统测试(SystemTest)从用户使用角度出发的、软硬件结合的测试,149,150,测试的种类(续),按测试数据分类黑盒测试(Black-boxTest)使用根据外部设计获取的测试用例进行的测试单元、集成、系统测试阶段都可进行白盒测试(White-boxTest)专注于程序内部结构的测试选择能够覆盖程序中所有路径的数据进行测试负载测试自由测试,151,测试的种类(续),按模块间集成顺序分类由上至下式测试(Top-downTest)由下至上式测试(Bottom-upTest)爆炸式测试(Big-bangTest)一步式测试,152,由上至下式测试,从程序的最上层模块开始按由上至下的顺序进行测试的方法需要事先准备替代下层模块的测试程序通常用于需要反复测试上层模块的情况,153,由上至下式测试(续),优点可以在早期把握程序的整体情况可以在早期确定模块间的接口情况每次的测试对象都是一个独立的模块,易于调试缺点有时制作替代下层模块的测试程序较困难可能出现等待测试自己负责模块的团队成员能够测试的范围取决于此时已经集成在一起的其他模块由于设计变更等原因,修改或追加了某些模块后,需要重新测试的范围相当大需要详细设计各个模块间的集成顺序,另外测试环境也不稳定,154,由下至上式测试,从程序的最下层模块开始按由下至上的顺序进行测试的方法需要事先准备替代上层模块的测试(驱动)程序通常用于对改造模块的测试,155,由下至上式测试(续),优点可以根据各个模块的重要程度确定测试顺序很少出现等待测试自己负责模块的团队成员测试环境单一稳定,易维护每次的测试对象都是一个独立的模块,易于调试缺点直到测试工作全部完成后,才能把握程序的整体情况,156,爆炸式测试,独立并行地对各个模块进行单元测试,模块间的集成测试在所有的单元测试都完成后统一进行的方法需要事先准备替代每个模块的上层与下层模块的测试程序,157,爆炸式测试(续),优点无等待测试自己负责模块的团队成员虽然需要事先准备替代每个模块的上层与下层模块的测试程序,但仅需考虑与被测试模块相关的部分即可缺点需要事先准备替代每个模块的上层与下层模块的测试程序,耗费工时较多直到后期的集成测试阶段才能测试各个模块之间的接口直到测试工作全部完成后,才能把握程序的整体情况,158,一步式测试,省略单元测试,完成模块的编码后直接进入集成测试的方法采取此种方法时,应该首先对程序的主干进行测试,然后将测试范围扩展到分支部分,159,一步式测试(续),优点不需要事先准备替代每个模块的上层与下层模块的测试程序测试环境用于整个测试过程,很稳定缺点由于没有对每个模块分别进行测试,所以发现问题时确定导致问题的具体模块比较困难,160,测试设计,将测试计划中规定的内容以测试说明书的形式细化,161,测试设计的内容,测试目的测试单位测试内容模块间的集成方式测试环境测试项目测试数据测试步骤测试的预想结果测试预想结果的检验方法测试体制与管理方法,162,测试单位测试内容模块间的集成方式,应按照功能单位详细描述测试内容与模块间的集成方式模块间的集成顺序从单元测试到集成测试的顺序选择单元测试的单位按模块单位或按编译单位选择集成测试的功能单位分阶段进行集成测试时,确定各阶段的测试范围,163,测试环境,应详细描述测试所需的硬件与软件环境,包括测试用机器及附属设备OS及应用程序使用的数据文件与其他程序的关系(接口等)测试工具(测试程序等),164,测试项目,应详细描述测试项目的设计方法、测试项目数的标准等黑盒测试的设计方法同类值分割法临界值分析法原因结果关系图分析法,165,同类值分割法,从设计说明书的输入条件获取测试用例的方法将某些范围内的输入数值作为同类值看待,这些输入数值会导致相同的结果设计步骤整理输入条件对于每个输入条件归纳出正常系与异常系两类分别就正常系与异常系设计测试用例,166,临界值分析法,是同类值分割法的延伸,注重对同类输入值的临界值及其周边数值进行测试的设计方法,167,原因结果关系图分析法,从原因与结果的关系入手进行测试设计的方法设计步骤整理输入条件,选择同类值的“原因”按照多个“原因”的组合确定“结果”根据“原因”和“结果”的对应关系,使用各种逻辑符号画出关系图根据关系图制作判断表使用判断表设计测试用例,168,测试体制与管理方法,应包括:测试工具的开发计划管理数据的种类、收集方法、负责人管理用文档资料的格式及使用方法Bug管理方法(发现关闭)测试进度的管理方法,169,测试效果的审查,一般来说,项目经理应从以下角度出发审查测试的效果测试结果与完成标准的比较测试质量的审查,170,测试结果与完成标准的比较,当未达到预期的标准时,应采取适当的对策,强化质量管理。,171,测试质量的审查,项目经理必须对测试活动是否有效进行审查审查标准(例)什么样的功能出现的问题较集中什么样的模块出现的问题较集中测试项目的实施率与发现问题数的对应关系是否适当测试耗费工时与发现问题数的对应关系是否适当与评审一样,上述审查同样要求项目经理积累足够的经验数据,172,测试问题的对策,项目经理通过测试掌握项目质量情况后,需要针对现存问题采取适当对策重新进行测试设计组织强化测试,173,重新进行测试设计,当整体测试结果未达到测试完成标准时,需要重新设计测试活动例如:追加对黑盒测试中存在“未覆盖功能”的测试追加对白盒测试中存在“未覆盖模块”的测试,174,组织强化测试,当特定功能或模块的测试结果未达到测试完成标准时,需要组织强化测试对于特定功能而言,可以通过追加黑盒测试项目来进行强化测试对于特定模块而言,需要对该模块重新评审后,通过追加白盒测试项目来进行强化测试可以通过追加外部人员进行自由测试来进行强化测试,175,测试活动中的注意事项,未再现的问题不是Bug?出现问题首先怀疑自己!重视被委托的调查任务!从微观出发搜寻Bug,从宏观出发修正Bug!对未进行改造部分无需进行测试?重视对接口的测试!,176,项目的人力资源管理,项目人力资源管理的要素团队建设的主要手段团队建设的一般建议,177,项目人力资源管理的要素,软件开发活动是人的创造性劳动。为了项目的成功(QCT或CS),要求项目团队成员最大限度地发挥自身能力为了使项目团队成员的能力得到发挥,项目经理需要对以下方面进行管理组织计划编制人员的获取团队建设,178,团队建设的主要手段,提高团队成员的技能水平提高团队成员的工作积极性保持团队成员的身心健康,179,提高团队成员的技能水平,提高团队成员技能水平的手段讲座/培训具体工作内容的分配授权跟

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论