版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
产教融合教程:
软件项目管理理论与实践应用“十四五”普通高等教育本科部委级规划教材
杨志文
主
编
周平珍 杨 豪 桂
林
副主编
目录第一章软件项目管理概述第二章软件项目需求管理第三章软件项目进度管理第四章软件项目成本管理第五章软件项目质量管理与控制第六章软件项目风险管理第七章软件项目团队与沟通管理第八章软件项目配置管理第九章软件项目采购及合同管理第十章软件项目整体管理第十一章软件项目收尾管理contents第一章
人体基础知识课程内容:1.项目和软件项目概述2.项目管理知识体系概述
3.软件项目管理概述课程时间:3课时教学目的:熟悉项目及软件项目的概念,熟悉项目管理知
识体系,掌握软件项目的特征及管理过程,了
解软件项目的缺陷及学习软件项目管理的意义,
增强爱国意识。教学方式:理论教学教学要求:要求学生了解项目及软件项目的概念及特征,
熟悉项目的知识体系,了解软件项目管理的常
见问题等理论知识。课前准备:课前查阅相关理论资料。软件项目管理概述第一章案例引入【原文】祥符中,禁火。时丁晋公主营复宫室,患取土远,公乃令凿通衢取土,不日皆成巨堑,乃决汴水入堑中,引诸道竹木排筏及船运杂材,尽自堑中入至宫门。事毕,却以斥弃瓦砾灰壤实于堑中,复为街衢。一举而三役济,计省费以亿万计。【译文】在北宋祥符年间,宫中失火。那时,丁晋公奉命主管修缮被烧毁的宫室,但是此工程存在取土很远、材料难以运进、烧废的断墙瓦砾及灰土等垃圾无法处理等问题,丁晋公就命令工匠在大街上挖土,没过几日,大街就成了深沟。丁晋公命令工匠将汴河河水引进沟中,再用很多竹木排筏和船将修缮宫室要用的材料,顺着沟中的水运进宫中。宫殿修完后,再把废弃的砖瓦、灰土等填到深沟里,又把它恢复为街道。丁晋公看似做了一件事却解决了三个难题,为国家节省下一大笔费用。这就是历史上项目管理成功的典范案例之一。【引入问题】1.“一举而三役济”有什么实际意义?2.通过这个故事你有什么启发?3.这个项目的成功之处在哪里?第一节
项目和软件项目概述一、项目的概念项目在软件项目管理范畴中,被定义为一种为了创造独特的产品、服务或成果而进行的临时性努力。它具有明确的起点和终点,通常是为了满足特定的业务需求、解决特定的问题或抓住特定的机会。项目具有以下关键特征。(一)独特性每个项目都具有独特的特点和要求。例如,开发一款全新的在线购物软件与升级现有的库存管理系统,尽管都属于软件项目,但在功能、技术需求和用户体验等方面存在显著差异。(二)临时性项目有明确的开始时间和结束时间。这并不意味着项目的成果是短暂的,而是指项目的执行过程是有限的。(三)目标明确性项目具有清晰定义的目标,包括可衡量的成果、时间限制和预算约束。(四)资源约束性项目的开发在人力、技术、时间和资金等方面受到一定的限制。以开发一个企业资源规划ERP系统为例,可能只有特定数量的开发人员、有限的技术设备和固定的预算来完成项目。(五)复杂性和不确定性软件项目往往涉及多个学科和领域的知识,技术的快速发展和用户需求的不断变化也增加了项目的不确定性。例如,在开发人工智能驱动的客户服务聊天机器人时,算法的优化和对不同用户提问的准确理解都充满了挑战性和不确定性。综上所述,软件项目管理中的“项目”可以看作一个具有独特性、临时性、目标明确性、资源约束性、复杂性和不确定性的努力过程,需要精心规划、组织、执行和监控,确保项目目标成功实现。(一)软件软件是在硬件上运行的相关的数据、程序、文档等的集合。(二)软件项目软件项目是项目的一部分,其外延范围比项目小。软件项目除了具备项目的基本特征外,还具有如下特点。1.目标渐进性
软件项目是一类特殊的项目,是看不见、摸不着的程序、代码、数据等的汇合,一开始目标并不是特别清楚明了,经常出现任务边界模糊的情况。2.智力密集性软件项目本质上是一种智力密集性项目,其工作性质要求开发人员技术性很强,本领过硬,还需要大量高强度脑力劳动。项目及软件项目关系图二、软件项目的概念第二节项目管理知识体系概述一、项目生命周期的概念在项目实施过程中,为了按时、按质完成某些重要的可交付成果,在需要特别控制的时间节点将项目分段,就形成了项目阶段。一般的项目生命周期包括五个阶段:启动阶段、规划阶段、执行阶段、监控阶段和收尾阶段。各阶段的主要工作如下。(一)启动阶段启动阶段实际上就是新项目或现有项目的新阶段,指授权开始该项目或阶段的一个过程。启动阶段一般指项目获得正式授权且被立项,并成立了相应的项目组,宣告立项项目正式开始。启动项目是一个认可的过程,用来正式认可一个新项目或新阶段的存在。(二)规划阶段在项目生命周期中,规划阶段至关重要。此阶段的首要任务是明确项目目标,目标须清晰、具体且可衡量,为后续工作指明方向,比如一个软件开发项目,要确定开发出具备哪些核心功能的软件。(三)执行阶段如何提高执行力,是项目经理应该考虑的首要问题之一。执行阶段是完成项目管理计划中确定的工作,以满足项目规范要求的一个阶段。(四)监控阶段监控阶段包括:控制变更,推荐纠正措施或方案,对可能出现的问题推荐各种预防措施;对照项目管理计划和项目绩效测量基准,监督正在进行中的项目活动;对导致规避整体变更控制或配置管理的因素施加影响,确保只有经上级批准的变更才能付诸执行。(五)收尾阶段收尾阶段一般指项目结束阶段或项目完成阶段,此阶段要完结项目执行的所有活动,包括正常结束阶段、非正常结束阶段、提前结束阶段。二、PMBOK的概念20世纪70年代末,美国项目管理学会率先提出了项目管理知识体系(PMBOK),该知识体系一般包括项目管理的
10个知识领域、5个标准化阶段及49个过程模块。知识领域启动阶段规划阶段执行阶段监控阶段收尾阶段项目集成管理制定项目章程制订项目管理计划指导和管理项目
执行监视与控制项目工作结束项目或阶段实施整体变更控制项目范围管理无编制范围管理计划无核实范围无收集需求定义范围控制范围创建工作分解结构
(WBS)项目进度管理无规划进度管理无控制进度无定义与活动排列活动顺序估算活动资源估算活动历时制订进度计划项目成本管理无估算成本无控制成本无制定预算项目质量管理无规划质量实施质量保证实施质量保证无项目人力资源管理无制订人力资源计划组建项目团队无无建设项目团队管理项目团队项目沟通管理无规划沟通发布信息报告绩效无管理人干系人期望项目风险管理无规划风险管理无监控风险无识别风险实施风险定性分析实施风险定量分析规划风险应对项目采购管理无规划采购实施采购控制采购结束采购项目相关方管理识别干系人规划干系人管理管理干系人参与控制干系人参与无第三节
软件项目管理概述一、软件项目生命周期的概念软件项目生命周期一般分为4~5个阶段,也有被分为更多阶段的,甚至同一应用领域的软件项目也可能被划分成明显不同的阶段。(一)计划阶段此阶段由软件项目开发方和软件项目需求方共同讨论,定义软件项目开发系统,确定用户要求和总体目标,提出具有可行性的方案,包括资源、成本、效益和进度等实施计划,进行可行性分析并制定“软件开发计划书”。(二)需求分析阶段此阶段确定软件项目开发系统的功能、性能、接口标准、可靠性等要求,根据流程分析,提出系统逻辑模型,并进一步完善项目实施计划。(三)系统设计阶段此阶段主要根据需求分析的结果对整个软件项目开发系统进行设计,包括软件项目开发系统概要设计和详细设计。(四)系统实现阶段此阶段包括编码和测试。编码就是指把系统设计的结果转换成计算机可运行的程序代码,应该符合标准和规范化,以保证程序的可读性和易维护性,提高运行效率;测试就是指发现软件中存在的问题,并加以纠正。(五)系统维护阶段此阶段通常有3类工作,为了修改错误而做的改正性维护,为了适应新环境而做的适应性维护及为了满足用户新需求而做的完善性维护。二、软件项目管理的过程与特征(一)软件项目管理的过程软件项目管理在软件开发的技术工作之前就应该开始,并在软件从概念到实现的过程中继续进行,只有当软件开发工作最后结束时才终止,可分为以下4个阶段。管理过程如下图所示。软件项目管理的过程(二)软件项目管理的特征软件项目管理除了具备一般的项目管理的特征外,还有自身独有的特征。1.前瞻性软件行业相对于传统行业来说,信息技术发展速度迅猛,这就意味着软件项目管理者必须具备相当的前瞻性。2.及时性软件项目风险很大程度上来自软硬件技术的快速更新,也就是说,软件项目进度越缓慢,技术革新带来的威胁性就越明显,项目失败的可能性就越大,因此软件项目的风险管理就更加重要。3.协作性由于项目规模不断扩大,合作性成了软件项目管理的一个重要特征。4.激励性相对于其他类型的项目更强调激励性,良好的激励机制不但可以减少人力资源的流失,而且可以激发团队挑战软件项目开发的高难度,充分发挥软件项目团队每位成员的积极性和创造性,按时高质量地完成软件开发项目,赢得业界声誉和新的商业机会。三、软件项目管理的常见问题在软件项目开发的历史上,软件项目管理失败的案例以美国联邦调查局(FBI)投资4亿美元、花费10年时间开发的“三部曲”计算现代化项目最具代表性,当进行到耗资1.7亿美元的第3个模块时暴露了诸多问题,所有耗资打了水漂,常见的软件项目管理问题如下。(一)三边行动“三边行动”一般指边计划、边实施、边修改。造成三边行动的根本原因是在项目目标未清、职责未明的情况下,就仓促开始继续进行细节,结果常会因为在一些小事上牵扯不清,导致项目被不断延期。(二)六拍行动1.第一拍:拍脑袋决策经常有部分领导有了做一个项目的想法后,不是组织相关人员去严格论证是否可行,而是自己觉得可行就上马项目。一些实际案例证明,“拍脑袋”的决策与事实相去甚远。2.第二拍:拍肩膀信任领导“拍完脑袋”后,为了鼓舞士气,调动项目组成员的积极性,大多会采取一些激励手段,如“拍肩膀”(过度表扬)。事实证明,错误的激励往往比没有激励带来的后果还要糟糕。3.第三拍:拍胸脯承诺受到领导激励的项目组成员,为了让领导放心,也会有所表示——“拍胸脯”承诺,往往还会表示,“领导请放心,这件事包在我心上”。盲目的乐观与热情容易让前进方向与最初的目标越偏越远。4.第四拍:拍桌子施压项目进行一段时间后,领导可能突然发现项目进展情况与自己的预期相去甚远,于是大发雷霆,爆发了“四拍行动”——“拍桌子”施压,训斥项目组成员。出现问题后不妨冷静思考、积极想办法解决,如果只是发泄怒火和不满,结果恐怕会让事情越来越糟。5.第五拍:拍屁股走人项目组成员受到老板的严厉批评后,不少人往往会“拍屁股走人”。一种是“明拍”,直接离职;另一种是“暗拍”,再也没有热情,消极怠工,这种人留在项目组中反而会打击努力工作者的积极性。6.第六拍:拍大腿后悔第五拍行动之后的项目结果会令所有人大失所望。这时候,从决策层到项目经理再到项目组成员,都痛心不已,却又无可奈何。在一个项目中即使“六拍行动”都出现了也不是最可怕的,最可怕的就是不从中吸取教训,在随后的项目中依然延续“六拍行动”的错误管理方式。案例讨论某公司的张经理最近心里烦闷。公司前一段时间签了一个100多万元的合同,由于双方老板很熟,且都希望项目尽快启动,在签合同时也没有举行正式的签字仪式。合同签完,公司领导很快指定张经理及其他8名员工组成项目组,由张经理任项目经理。领导把张经理引荐给客户领导,客户领导在业务部为他们安排了一间办公室。项目开始进展得很顺利,张经理有什么事都与客户领导及时沟通。可客户领导很忙,经常不在公司。张经理想找其他部门的负责人,可他们不是推脱说做不了决定,就是说此事与他无关,有的甚至说根本就不知道这事儿。问题得不到及时解决,很多手续也没人签字。项目组内部的问题也不少,有的程序员多次越过张经理直接向领导请示问题;几个程序员编码的软件界面不统一;项目支出的每笔费用,财务部都要求张经理找领导签字。张经理频繁地给领导打电话,其他人心里认为张经理怎么老是拿领导来压人。因此,张经理与项目组其他成员及财务部的成员产生了不少摩擦,领导也开始怀疑张经理的能力。张经理的遭遇相信很多项目经理都亲身经历过,尤其是刚刚开始做行业客户的公司,公司领导有时希望赶紧做完项目,因此,常常跳过项目启动环节,直接指定项目经理进入实施阶段,结果项目刚开始就麻烦不断。正所谓“好的开始是成功的一半”,项目启动环节是为了形成一个良好的沟通体系,让所有与项目相关的人都理解项目的重要性,同时形成一个由双方领导、项目负责人和项目组成员构成的三级沟通体系,确保项目管理过程的畅通。【问题】1.出现上述问题的原因是什么?如果你是张经理,你会怎么做?2.项目经理在项目管理事项中,应注意哪些问题?第一章
人体基础知识课程内容:1.需求概述2.需求管理
3.WBS的创建课程时间:3课时教学目的:熟悉需求定义和类型,掌握需求管理和需求收
集的基本方法,了解需求的分析与验证,理解
WBS创建方法和分解原则。引导学生树立强国
意识。教学方式:理论与实践相结合教学要求:要求学生了解需求定义和类型,需求管理和需
求收集的基本方法,需求的分析与验证,理解
WBS创建方法和分解原则等理论知识。课前准备:课前查阅相关理论资料。软件项目需求管理第二章案例引入2021级大二学生小万经其任教老师杨教授介绍,接了某公司的一个部门网站开发项目,双方口头约定整个项目6000元,三个月完成,小万很高兴地接受了此任务,认为既可以增强自己的专业技能水平,又可以赚点生活费,三个月未到,小万就去该公司验收自己开发出来的项目,可小万每次去上交项目时,对方主任虽然都是很热情地接待了他,但是总是说这个模块功能还不完善,另外还有什么模块要继续开发,无休止地开展,就这样开展了快三个学期了,小万的项目完结还是遥遥无期,他非常沮丧。【引入问题】1.试分析一下小万项目失败的原因是什么?2.通过此故事说明软件项目需求有哪些?3.软件开发项目最主要的需求文档有哪些?第一节
需求概述一、需求定义在项目启动之前,需要通过与客户、用户及相关利益者沟通,全面收集需求,避免遗漏。接着,对收集到的需求进行整理与分析,明确其优先级,判断是否具备可行性。需求应是明确的、具体的且无歧义的,它首先要准确反映客户和用户的期望,涵盖软件需完成的任务、达成的业务目标等。例如,明确规定软件在特定场景下的操作流程、输出结果等。同时,需求应具备完整性,不能缺失关键部分。比如一个电商系统,不仅要包含商品展示、购物车等常见功能需求,还须考虑到支付安全、用户信息保密等非功能需求。而且,需求必须是可验证的,即能够通过测试、评审等方式来确认是否实现。例如,设定软件响应时间在特定数值以内,就可通过性能测试。并且,需求之间应保持一致性,各部分之间不能相互矛盾。这样准确无误的需求定义,才能为软件项目的成功开发奠定基础。二、需求类型软件需求包括3个不同的层次,即业务需求、用户需求和功能需求。除此之外,每个系统还有各种非功能需求。(一)业务需求在软件项目管理的领域中,业务需求是整个项目的基石和起点,它清晰地阐述了组织或客户为实现特定业务目标所期望的软件系统应具备的功能和特性。业务需求具有以下显著特点。1.宏观性2.明确性3.可度量性4.与业务战略的一致性5.动态性(二)用户需求用户需求(UserRequirement)描述的是用户的最终目标,或用户要求系统必须能完成的全部任务。(三)功能需求在软件需求的范畴中,功能需求占据着核心地位,它详细描述了软件系统必须执行的具体功能和操作。功能需求具有以下显著特点。1.具体性2.完整性3.逻辑性4.可测试性(四)非功能需求软件项目管理中的非功能需求是指软件产品为满足用户业务需求而必须具备的除功能需求以外的特性,主要包括以下几个方面。1.性能需求
2.可靠性需求3.可用性需求4.安全性需求5.兼容性需求6.可维护性需求三、需求收集在软件项目管理中,需求收集是一个关键的初始阶段,它指的是通过一系列有目的、有计划的活动和方法,从各种相关的来源获取与软件项目相关的需求信息。需求收集的目的是全面、准确地理解项目利益相关者对软件系统的期望和要求。这些需求不仅涵盖了软件系统需要实现的具体功能和业务流程,还包括非功能需求方面的期望。(一)需求获取方式在软件项目管理中,有多种有效的需求获取方式,以确保全面、准确地理解项目相关方的期望和要求。1.用户访谈2.问卷调查3.观察法4.原型法5.需求研讨会6.文档分析7.竞品分析(二)需求验证在软件项目管理中,需求验证是一个至关重要的环节,旨在确保收集和定义的需求准确无误、完整且具有可行性。需求验证的主要目的是检查需求是否清晰明确,是否与项目的目标和业务需求相一致,是否存在歧义、矛盾或遗漏。通过严谨的验证过程,可以在项目早期发现潜在的问题,降低后期变更和返工的风险。如果在需求验证过程中发现问题,需要及时进行修正和完善。这可能涉及对需求的重新定义、补充遗漏的部分、消除歧义或解决矛盾之处。例如,在一个电商平台项目中,经过需求验证发现商品搜索功能的需求描述不够清晰,导致开发人员对搜索算法的理解存在偏差。经过及时修正需求,可避免后续开发中的错误。第二节
需求管理一、需求管理内容在软件项目管理中,需求管理是一项综合性强且关键的工作,涵盖了从需求的获取、分析、记录、变更控制到最终确认和验证的整个过程。需求管理首先致力于有效地获取和收集各种来源的需求信息,包括与项目的利益相关者,进行充分的沟通和交流,以确保全面、准确地理解他们对软件系统的期望和要求。变更控制是需求管理的核心部分。由于项目环境的动态性和不确定性,需求变更往往不可避免。需求管理需要建立规范的变更流程,对变更进行评估并确定其影响,包括对项目进度、成本、质量等方面的影响。只有经过严格的审批和评估,才能决定是否接受变更,并相应地调整项目计划和资源分配。例如,在软件开发过程中,如果客户突然提出增加一个全新的功能模块,需求管理团队需要评估这一变更对项目交付时间、开发成本及现有功能的稳定性可能产生的影响。二、需求变更管理(一)需求变更管理概述在软件项目管理中,需求变更管理是一项关键且具有挑战性的任务,旨在有效地处理项目进行过程中对已确定需求的调整和修改。(二)需求变更的原因在软件项目管理中,需求变更的原因多种多样,因此需要对其进行管理,主要包括以下几个方面。1.业务环境变化2.业务发展与增长3.用户需求深化4.技术进步5.沟通不畅或理解偏差6.项目范围蔓延7.风险和问题暴露(三)需求变更的影响软件项目需求变更对软件开发的影响是多方面的。1.增加软件项目的人员、费用开支,影响开发进度2.影响软件质量3.影响开发者与用户之间的合作关系(四)需求变更的处理原则尽管需求变更对软件项目开发有较大的影响,但从本质上讲,需求变更是软件开发不可避免的环节。1.完整性原则2.合理性原则(五)需求变更管理流程软件项目变更需求要有一定的范围,否则软件项目的实施将难以按时收尾。1.提出变更申请2.审批3.修改需求文档4.重新进行需求确认5.变更结束三、需求变更控制需求变更控制是指依据“变更申请—审批—更改—重新确认”的流程处理软件项目需求变更,确保软件项目需求变更不会失去控制而导致软件项目进展混乱。按照现代项目管理的概念,一个软件项目的生命周期分为启动、实施和收尾三大过程,软件项目需求变更的控制不应该只是软件项目实施过程中考虑的事情,而是要分布在整个软件项目生命周期的全过程,为了将软件项目变更的影响降到最小,需要采用综合变更控制方法,在软件项目启动、实施、收尾等不同阶段控制变更。(一)软件项目启动阶段的变更预防对于绝大多数软件项目,发生变更都无可避免,因此积极应对软件项目需求变更从软件项目启动的需求分析阶段就应该开始了。如果需求没做好,基准文档里的范围模糊不清,往往要付出许多无谓的“牺牲”。如果需求做得好,文档清晰且又有客户确认签字,那么后期客户提出的变更就超出了合同范围,需要补签协议、另外收费。(二)软件项目实施阶段的需求变更成功的软件项目和失败的软件项目的区别在于软件项目的整个过程是否可控。软件项目实施阶段的变更控制需要做的是分析变更请求,评估变更可能带来的风险和修改基准文件。需求变更控制是对软件项目需求在整个生命周期内的变动进行管理。首先要建立正式的变更管理流程,包括变更申请、评估、审批等环节,须组建变更控制委员会负责审批。其次,评估变更时要考虑对进度、成本、质量等方面的影响,变更被批准后,要及时更新相关文档,并确保开发团队理解并执行变更。同时做好沟通工作,让各方人员都了解变更情况,以保障软件项目顺利进行,减少因变更带来的负面影响。(三)软件项目收尾阶段的总结软件项目的总结工作应作为现有软件项目或将来软件项目持续改进工作的一项重要内容,也可以作为对软件项目合同设计方案内容与目标的确认和验证。软件项目的总结工作包括软件项目中事先认知的风险、意料之外的变更风险等的应对措施的分析和总结,也包括软件项目中发生的变更、软件项目中发生问题的分析统计的总结。第三节WBS的创建一、WBS的定义WBS任务分解结构简单来说就是将工程项目的各项目内容按其相关关系逐层分解,直到分解成工作内容单一、便于组织管理的单项工作为止,合理地进行分解可以把各单项的工作在整个项目中的地位、相对关系用树形结构或锯齿列表的形式直观地表示出来。软件项目可交付成果之所以应在项目范围定义过程中进一步被分解为WBS,是因为较好的任务分解有以下几点作用。(一)明确项目范围通过将项目逐步分解为具体、可管理的任务,清晰地界定项目边界和包含的内容,避免工作遗漏或范围蔓延。(二)便于资源分配能让管理者清楚各任务所需的资源,如人力、时间、设备等,从而合理分配资源,提高资源利用效率。(三)助力进度规划将项目细化为多个小任务后,可更精准地估算每个任务的时间和顺序,制订出详细、可行的进度计划,便于跟踪和控制项目进度。(四)利于风险管理分解使潜在风险更容易暴露,因为每个任务的风险因素相对更清晰,有助于提前制定应对措施,降低风险影响。(五)增强沟通协调为项目团队成员提供统一的工作框架和语言,便于成员间理解各自职责和工作关系,加强沟通与协作。二、WBS的分解原则和方法(一)分解原则1.功能或可交付成果导向2.适度分解3.相互独立且完全覆盖4.责任明确(二)分解方法1.自上而下法2.自下而上法3.类比法案例讨论刘工与某基金公司签了一个软件开发项目,已开发一年,现在软件项目已经接近尾声,但公司似乎并没有交付的意向。从系统试运行那天起,用户就不断提出新需求,而且不断变化,基金公司的经理在试用系统时,经常把自己的新思路讲给刘工听,要求优化系统的功能,软件项目的开展变成了一个“无底洞”。刘工要求基金公司结项,但基金公司以系统功能没有满足需求为由而推迟验收,要求继续完善。刘工查阅了项目开发合同,发现合同中并没有对软件需求进行详细描述。此时国家出台了一些新的法规,系统的一些功能又得重新修改。刘工认为,模糊的用户需求和项目范围经常性地变化,严重影响了软件项目的进展,他必须寻找良策以管理项目范围,促使软件项目早日完工。【问题】1.分析本软件项目开发中存在的问题。2.刘工该如何解决现在的问题。第一章
人体基础知识课程内容:1.软件项目进度管理规划概述2.活动定义
3.活动排序
4.软件项目进度管理图示方法
5.软件项目进度估算与规划
6.软件项目进度控制课程时间:4课时教学目的:了解进度计划的相关内容,掌握进度管理的基
本概念,了解任务之间的关系、任务间关系的
依据,学会甘特图、网络图、里程碑图、资源
图等的绘制,熟悉软件项目结算。培养学生树
立科技强国意识。教学方式:理论与实践相结合教学要求:要求学生了解进度计划的相关内容,掌握进度
管理的基本概念,了解任务之间的关系、任务
间关系的依据,学会甘特图、网络图、里程碑
图、资源图等绘制知识点内容。课前准备:课前查阅相关理论资料。软件项目进度管理第三章案例引入在一节围绕时间管理展开的课堂上,教授提供了以下工具:一大堆鹅卵石,一袋碎石子,一袋沙子,一大瓶水,表面看上去只能装其中一项的罐子。教授问学生这个罐子能否装下桌上所有的东西,多数学生都回答不可能。于是教授现场做起了实验,先把鹅卵石全部装进去,罐子看似满了,接着又把碎石子摇一摇装下去,罐子看似又满了,然后把沙子慢慢装进去,最后把水也装进去了。当这些事都做完后,教授问同学们:“我们从上面的事情中得到了什么启示?”班上一阵沉默,一位学生回答:“无论我们的工作多忙,行程排得多满,如果要抓紧时间的话,还是可以再多做一些事的。”这位学生回答完后十分自信,认为自己回答对了。教授听到这样的回答后,点了下头,微笑道:“答案不错,但这并不是我要告诉你们的主要信息。”说到这里,教授特意顿住,环视了一遍全班同学后说:“我想告诉各位最重要的讯息是:一是看事情不能光看表面;二是如果你不注意放物的先后顺序,不先将大的鹅卵石放进罐子里,你也许以后永远没机会把它们再放进去了。”【引入问题】1.这个故事给了我们什么样的启发?2.在做软件项目时,我们如何进行合理的进度安排?3.在做软件开发时,前后顺序可以随便安排吗?为什么?第一节
软件项目进度管理规划概述一、软件项目进度管理的重要性(一)确保项目按时交付软件项目往往有明确的交付期限,如企业为了抢占市场先机,需要在特定时间节点推出新的软件产品;或者为了满足客户合同要求,必须按时交付软件系统。(二)提高资源利用效率软件项目涉及人力、物力、财力等多种资源,合理的进度规划能够根据项目的不同阶段,准确安排资源的投入和使用时间,避免资源的闲置和浪费。(三)增强项目的可预测性通过进度管理,项目团队可以清晰地了解项目的进展情况,预测项目是否能按时完成。(四)提升团队协作和沟通进度管理要求明确各团队成员的任务和时间节点,这有助于提高团队成员之间的协作效率。二、软件项目进度管理计划常见模块(一)项目概述对软件项目的背景、目标、范围等进行简要说明,让读者快速了解项目的基本情况,明确项目要达成的成果以及涵盖的工作边界。(二)项目进度里程碑将项目中的关键时间节点确定为里程碑,这些里程碑标志着项目重要阶段的完成,如需求分析完成、设计评审通过、测试结束等,方便项目团队和相关利益者把握项目整体进度节奏。(三)工作分解结构将项目工作分解为一个个可管理的工作包,详细列出项目包含的各项任务,明确每个任务的具体工作内容,为后续的任务时间估算和资源分配提供基础。(四)任务时间估算对每个工作包中的任务进行时间估算,估算时要考虑任务的复杂性、所需技术以及人员技能水平等因素,通常采用专家判断、类比估算等方法,给出每个任务的预计耗时。(五)资源分配计划明确完成各项任务所需的人力资源、硬件资源、软件资源等。例如,安排哪些开发人员负责哪些模块的开发,需要配备哪些服务器等硬件设施,以及使用哪些开发工具和软件库,等等。(六)项目进度表以甘特图、网络图等可视化形式展示项目任务的先后顺序、持续时间以及任务之间的依赖关系,直观呈现项目进度计划,便于项目团队成员了解自己的工作安排以及与其他任务的关联。(七)进度监控与控制制定监控项目进度的方法和频率,如定期召开项目进度会议、每日提交工作日报等。同时,明确当项目进度出现偏差时的应对措施,如赶工、调整资源分配或重新规划任务优先级等。(八)风险管理识别可能影响项目进度的风险因素,如技术难题、人员变动、需求变更等,并制定相应的风险应对策略,提前做好防范措施,从而降低风险对项目进度的影响。第二节
活动定义一、活动定义的方法(一)分解技术采用分解技术来定义相应活动,就是要把项目工作包分解成更小的、更易于管理的组成部分。(二)滚动式规划滚动式规划是一种渐进明细的规划方式,即对近期要完成的工作进行详细规划,而对远期工作,由于项目的不确定因素太多,只能暂时在WBS的较高层级上进行粗略规划。(三)专家判断专家判断指富有经验并擅长制订详细项目范围说明书、工作分解结构和项目进度计划的项目团队成员或其他相关专家的判断,可以为活动定义提供相关专业知识。二、活动清单和属性(一)活动清单活动清单就是完成项目所需要的每个活动标志和完成每个里程碑过程的详细工作描述,是一份包含项目所需全部进度活动的清单。(二)活动属性活动属性是指对每项活动内容和性质的详细描述,随时间和进度推移而不断地进行跟进。在项目初始阶段,活动属性包括活动标志、WBS标志和活动相关名称。当活动完成时,活动属性则可能还包括活动编码、活动描述、紧前活动、紧后活动、逻辑关系、时间提前与滞后量、资源需求、强制日期、制约因素和假设条件。第三节
活动排序一、活动之间的关系(一)完成到开始(FS)这种活动逻辑关系是:只有前一个项目完成,后一个活动才能开始。(二)完成到完成(FF)这种活动逻辑关系是:只有前一个项目活动完成,后一个项目活动才能完成。(三)开始到开始(SS)这种活动逻辑关系是:只有项目前活动开始,后项目活动才能开始。(四)开始到完成(SF)这种活动逻辑关系是:只有项目前活动开始,后项目活动才能完成。在网络图中,“完成到开始”是最常见的逻辑关系类型,“开始到完成”关系则在项目中很少使用。关系绘图法(PDM)的活动关系类型二、活动之间关系的依据(一)强制性依赖这是基于工作本身特性所形成的内在逻辑关系,具有不可违背性。(二)选择性依赖此类依赖关系基于项目团队的经验、最佳实践或特定的技术偏好等主观因素来确定。(三)外部依赖软件项目常与外部因素相关联,这些外部因素会形成活动之间的依赖关系。(四)资源依赖项目资源的有限性和分配情况决定了活动间的依赖关系。三、提前量和滞后量提前量(Lead)是相对于紧前活动,紧后活动可以提前的时间量。例如,在工程建设项目中,绿化施工可以在尾工清单编制完成前2周开始,这就是带2周提前量的完成到开始关系,如下图所示,在进度规划软件中,提前量往往表示为负滞后量。滞后量(Lag)是相对于紧前活动,紧后活动需要推迟的时间量。例如,对于一个大型技术需求文档,编写小组可以在编写工作开始15天后编辑文档草案。这就是加有15天滞后量的“开始到开始”关系。提前量和滞后量示例第四节
软件项目进度管理图示方法一、甘特图在软件项目管理中,甘特图是一种直观展示项目进度的图表工具,能够有效地帮助项目团队进行任务规划、资源分配、进度跟踪和沟通协调,是软件项目管理中常用的进度管理工具之一。甘特图以条状图的形式呈现,横向展示时间跨度,纵向列出项目任务或活动,每个任务或活动都用一个水平条状图表示其长度对应任务的持续时间。通过甘特图,可以清晰地看到项目中各项任务的计划开始时间、计划结束时间以及实际进度。关系绘图法(PDM)的活动关系类型二、网络图项目进度网络图是表示项目进度活动之间逻辑关系(也叫依赖关系)的图例,可以手工绘制或借助专业项目管理软件绘制。(一)PDM网络图PDM(PrecedenceDiagramingMethod)网络图也称节点法网络图或优先图法。构成PDM网络图的基本元素是节点(Box),节点表示活动(任务),可以用箭线清晰地表示各活动(任务)之间的各种逻辑关系。PDM网络图的基本构成(二)ADM网络图
ADM(ArrowDiagrammingMethod)网络图也称箭线法网络图。在ADM网络图中,用箭线表示活动(任务)的关系,两个代号唯一确定一个任务。代号表示前一任务的结束,同时也表示后一任务的开始。如下图所示,“需求获取”活动由代号1和代号2确定。软件项目的ADM网络图(三)里程碑图在软件项目管理中,里程碑是项目进程中的关键时间节点,标志着项目重要阶段的完成,能够有效划分项目阶段,帮助团队把握进度节奏,为项目监控和评估提供依据,如需求分析完成、系统测试结束等都是典型的里程碑事件。里程碑图示第五节
软件项目进度估算与规划一、软件项目进度估算(一)专家判定专家判定就是指根据项目的性质,请相关项目一位或多位专家进行商讨,专家根据自己以往的经验和对项目本身的理解,对相关项目成本做出估算。有些情况下请一位专家可能会产生偏颇,因此最好由多位专家进行估算。1.求中值或平均值2.召开小组会议讨论3.德尔菲(Delphi)技术(二)类比法类比法就是指把以前做过的类似软件项目和当前项目进行比较,获得其工作量的估算值。(三)功能点估计法功能点估计法是在需求分析阶段基于项目系统功能的一种规模估计方法。二、制订进度计划(一)关键路径法关键路径法(CriticalPathMethod,CPM)是一项用于确定软件项目的起始时间和完工时间的方法,是1957年由雷明顿-兰德公司(Remington-Rand)的詹姆斯·E.凯利(JamesE.Kelley)和杜邦公司的摩根·R.沃克(MorganR.Walker)提出的,用于对维护项目进行日程安排,适用于有很多作业而且必须按时完成的项目。(二)网络图法在软件项目管理中,网络图法是一种用于展示项目活动之间逻辑关系和依赖关系的图表技术,它通过节点代表项目中的活动,用箭线表示活动之间的先后顺序和依赖关系,节点上通常标注活动的名称、持续时间等信息。(三)里程碑法里程碑法(Milestone)也称为可交付成果法,是在横道法上或网络图上标示出一些关键事项的方法。第六节
软件项目进度控制一、进度审查进度审查是指测量、对比和分析进度绩效,如实际开始和完成日期、已完成百分比及当前工作的剩余持续时间。进度审查可以使用各种技术,具体包括以下三项。(一)趋势分析趋势分析检查项目绩效随时间的变化情况,确定绩效是在改善还是在恶化。图形分析技术有助于理解当前绩效,并与未来的目标绩效(表示为完工日期)进行对比。(二)关键路径法通过比较关键路径的进展情况,确定进度状态。关键路径上的差异将对软件项目的结束日期产生直接影响,评估此关键路径上的活动进展情况,有助于识别进度风险。(三)挣值管理采用进度绩效测量指标,如进度偏差(ScheduleVariance,SV)和进度绩效指数(SchedualPerfoamanceIndex,SPI),评价偏离初始进度基准的程度。二、进度优化与控制在软件项目管理中,进度优化与控制是确保项目按时完成并达到预期目标的关键环节。进度优化旨在通过合理调整项目活动的顺序、资源分配和时间安排,提高项目进度的效率和效益。这可能包括识别关键路径上的活动,并集中资源优先保障其顺利进行,缩短项目的总工期。进度控制则是对项目实际进度进行持续监测和评估。通过定期收集和分析进度数据,将实际进展与预定的进度计划进行对比。如果出现偏差,如某些任务延迟完成或提前完成,需要深入分析原因。原因可能包括资源是否短缺、技术是否出现难题、需求变更、人员调配等。当出现进度偏差时,采取有效的控制措施至关重要。同时,进度优化与控制需要项目团队成员之间的密切协作和良好沟通,开发人员、测试人员、项目经理等各方应及时共享进度信息,共同解决问题。通过有效的进度优化与控制,能够及时发现并解决项目中的进度问题,提高项目的成功率,确保软件按时交付,满足客户需求,提升项目的整体价值。案例讨论思科(Cisco)电脑技术有限公司是一家从事制造行业信息系统集成及服务的公司,最近,公司承接了一家企业的信息系统集成的业务。经过公司董事会的讨论,决定任命你作为新的系统集成项目的项目经理,你接到任命后,开始制定进度表,这样项目才可以依照进度表进行下去。在与软件项目团队成员探讨后,假设已经确认了12项基本活动。所有这些活动的名称、完成每项活动所需的时间,以及与其他活动之间的约束关系如右表所示。【问题】1.为了便于对项目进度进行分析,可以采用箭线图法和前导图法描述项目进度,请画出项目进度计划的箭线图和前导图。2.本案例中的关键路径有几条?请给出关键路径。3.你要花多长时间来计划这项工作?如果在任务B上迟滞了10天,对项目进度有何影响?作为项目经理,你将如何处理这个问题?项目进度表活动名称活动所需时间(天)前置任务A3无B4无C2AD5AE4B、CF6B、CG2D、EH4D、EI3G、FJ3G、FK3H、IL4H、J第一章
人体基础知识课程内容:1.软件项目成本管理规划2.软件项目成本估算概述
3.软件项目成本其他估算方法及步骤课程时间:4课时教学目的:使学生了解软件项目成本管理规划的特点及项
目工作量估算常用的方法,掌握代码行估算法、
功能点估算法、用例点估算法、类比估算法、
自下而上估算法、参数模型估算法等。激发学
生的爱国情、强国志、报国行。教学方式:理论与实践相结合教学要求:使学生了解软件项目成本管理规划的特点及估
算常用的方法,掌握代码行估算法、功能点估
算法、用例点估算法、类比估算法、自下而上
估算法、参数模型估算法等知识点。课前准备:课前查阅相关理论资料。软件项目成本管理第四章案例引入2019年,阿里集团以1.033亿美元(9000万欧元)的价格收购了总部位于德国柏林、拥有数据流处理引擎的前沿技术的初创公司DataArtisans。DataArtisans手里握着一项当今大数据流处理引擎为数不多的前沿技术——Flink。每年“双11”,在阿里总部的大屏幕上显示的实时成交数字所基于的关键技术就是Flink。经过团队一年的努力,基于Flink的搜索推荐实时计算平台成功地支持了2016年的搜索“双11”,保证了搜索推荐全链路实时化。后来,Flink在2017—2022年、2024年的“双11”不负众望,非常顺利地支持了全集团“双11”的实时数据业务,包括GMV大屏等最核心的数据业务场景,且未来有更加广阔的市场空间。【引入问题】1.Flink最早是哪家公司开发的,它的核心技术是什么?2.为什么阿里集团要收购Flink,对阿里集团的发展起了什么作用?3.从软件项目成本的角度思考,阿里花1.033亿美元去收购,成本高吗?为什么?第一节
软件项目成本管理规划一、软件项目成本特点(一)人工成本高从事软件项目开发的人员一般都是专业技术人员,具有知识密集型特点,对项目实施人员的专业技术水平要求较高,这种高层次的专业人员,在脑力劳动方面的报酬标准通常远高于一般的体力劳动者。(二)直接成本低,间接成本高项目直接成本主要指与项目直接对应的、有直接关系的成本费用;项目间接成本是指不直接为某个特定项目,而是为多个项目发生的支出。(三)维护成本高且较难确定维护成本的高低与项目实施的结果是密切相关的。(四)成本变动频繁,风险成本高所谓风险成本,是指项目的不确定性带来的额外成本。二、软件项目成本管理计划(一)成本估算1.估算方法详细确定成本估算的方法。类比估算,是参考以往相似软件项目的实际成本数据,结合当前项目的特点和差异进行调整,快速得出大致成本。参数估算则更为科学,它通过建立与项目规模、复杂度等因素相关的数学模型,如根据功能点数量、代码行数等参数来精确计算成本。2.估算精度明确估算结果的精确程度。初步估算时,允许有较大的误差范围,主要用于项目前期的可行性分析和大致预算规划;而详细估算则要求精确到具体的成本项,为后续的预算编制提供准确依据。3.成本构成清晰界定估算所包含的成本项目。人力成本涵盖从需求分析、设计、开发到测试等各个阶段的人员薪酬;硬件采购成本包括服务器、计算机等设备的购置费用;软件授权费用涉及购买操作系统、数据库管理系统等软件的许可费用。(二)预算编制1.预算构成将成本估算结果合理分配到项目的各个工作包和阶段。2.审批流程制定严格的预算审批流程。明确不同金额的预算变动需要经过哪些层级的审批,确保项目预算的严肃性和可控性。(三)成本控制1.控制标准设立成本控制的量化标准,如成本偏差阈值。通常设定为当实际成本与计划成本的偏差达到±5时,就需要采取纠正措施,保证项目成本始终在可控范围内。2.监控频率确定成本监控的时间间隔,一般每周或每月对成本执行情况进行审查,及时发现成本偏差并分析原因。3.控制方法选用合适的成本控制方法和工具,挣值管理是常用的方法之一。通过比较计划值(PV)、实际值(AC)、挣值(EV)、计算成本偏差(CV)和进度偏差(SV),全面评估项目的成本和进度绩效。(四)成本变更管理1.变更流程规范成本变更的操作流程。当出现需求变更、市场价格波动等情况需要变更成本时,首先,由相关人员提出变更申请,详细说明变更原因和对成本的影响;其次,组织专业人员进行影响评估,包括对项目进度、质量等方面的影响;评估通过后,按照既定的审批流程进行审批;最后,根据审批结果调整成本计划。2.责任划分明确成本变更的责任主体。确定谁有权批准成本变更,以及因变更导致的成本增加或节约的责任归属,避免出现责任不清的情况。(五)成本报告1.报告格式规定成本报告的格式,通常采用表格和图表相结合的方式,使成本数据更加直观易懂。成本报表应包含项目总成本、各阶段成本、成本偏差等关键信息。2.报告频率确定报告的发布频率,如每月或每季度发布一次,确保项目团队成员、管理层和相关利益者能够及时了解项目成本的动态变化。3.报告受众明确报告的接收对象,包括项目团队成员、项目经理、高层领导以及可能涉及的客户和投资方等,使不同层面的人员都能获取与自己相关的成本信息。第二节
软件项目成本估算概述一、软件项目成本估算概述及风险软件项目成本估算是软件项目管理必须经过的重要环节,通过估算才能得出软件项目的成本预算计划,并成为软件项目控制的依据。估算的风险有四个方面。(一)软件项目复杂性软件项目复杂性对计划中固有的不确定性产生较大影响,不过,复杂性是一个受到对以前工作的熟悉程度影响的相对测量。(二)软件项目规模
随着规模的增长,软件中各个元素之间的相互依赖性也迅速增加,项目规模越大,越难估算出准确的数据。(三)结构不确定性的程度软件项目结构不确定性的程度也会对项目估算的风险产生影响。(四)历史信息的可用程度历史信息的可用程度也决定了估算的风险。历史信息越少,项目估算就越难。二、软件项目规模估算方法(一)代码行估算法代码行(LinesofCode,LOC)是比较简单的定量估算软件规模的方法,指对软件产品的源代码的行数进行测量。在实际计算中,一般规则是计算物理行数,不计算空行和注释。对于其他选项,一般为计算源文件根目录下的所有文件。所以,代码行指的是所有的可执行的源代码行数,包括可交付的工作控制语言语句、数据定义、数据类型声明、等价声明、输入/输出的格式声明等。代码行是在软件规模度量中最早使用、最简单的方法,在使用代码行度量规模时,常会被描述为源代码行(SourceLinesOfCode,SLOC)或者交付源指令(DeliveredSourceInstruction,DSI),目前成本估算模型通常采用非注释的源代码行。(二)功能点估算法1.基本概念功能点(FunctionPoint,FP)用软件开发系统的功能数量来测量其规模,以一个标准的单位来度量软件产品的功能,与实现产品所使用的语言和技术无关。功能点是从用户的角度估算软件规模,因为这种方法与开发语言无关,而和系统的功能相关。此方法是在需求分析阶段,基于系统功能的一种规模估算方法,是基于应用软件的外部、内部特性,以及软件性能的一种间接的规模估算。2.调整功能点计数未调整功能点计数项包括外部输入、外部输出、外部查询、外部接口文件和内部逻辑文件。(三)用例点估算法1.估算UAW首先计算未调整的角色的权值UAW。计算公式如下:2.估算UUCW计算未调整的用例权值UUCW。计算公式如下:3.估算UUCP计算公式如下:4.计算技术复杂度因子TCF计算公式如下:5.计算环境复杂度因子ECF6.估算UCP计算公式如下:7.估算工作量计算公式如下:第三节
软件项目成本其他估算方法及步骤一、成本估算方法(一)类比估算这是一种基于过去类似项目的经验和数据来估算当前项目成本的方法。(二)参数估算利用历史数据、统计关系和其他变量之间的参数模型来估算成本。(三)自下而上估算对项目的各个工作包或活动进行详细的成本估算,然后汇总得到项目总成本。(四)三点估算考虑乐观估计成本、最可能成本和悲观成本,通过加权平均计算得出估算成本。二、成本估算步骤(一)明确项目范围和需求详细了解项目要实现的功能、性能要求、交付物等,如确定软件需要支持的用户数量、数据处理量、响应时间等。(二)分解工作结构(WBS)将项目分解为可管理的工作包和活动,如将软件开发项目分为需求分析、设计、编码、测试、部署等阶段。(三)识别资源需求确定完成每个工作包所需的人力、物力、技术等资源,如明确需要多少开发人员、测试设备、服务器资源等。(四)选择估算方法根据项目特点和可用数据,选择合适的成本估算方法。(五)进行成本估算运用所选方法对每个工作包或活动进行成本估算。(六)汇总和调整将各个工作包的估算成本汇总,得到项目总成本的初步估算值。(七)审核和验证由相关专家和利益相关者对估算结果进行审核和验证。(八)记录和更新将估算过程和结果详细记录下来,并根据项目的变化和新信息及时更新成本估算。案例讨论小刘是某大学2023级新生,是独生子女,从来没有为钱烦恼过,除了学习,家务事基本没做过。2023年考入一个二线城市的大学后,父母跟他约定好,除掉学杂费,每个月给他2000元生活费,每月1日打钱,小刘愉快地答应了。没想到,第一个月小刘拿到父母给的生活费后,由于不懂财务管理,又是请同学吃饭,又是给同学过生日、送礼物,结果一周就把钱用光了,后面还有二十几天不知如何是好。【问题】1.请用项目成本管理的理论讨论小刘的问题出在哪里。2.若你是小刘,你如何控制自己一个月的生活成本?第一章
人体基础知识课程内容:1.软件项目质量管理2.软件项目质量控制课程时间:2课时教学目的:使学生理解软件质量的重要性,掌握如何更好地
定义软件项目质量,激发青年学生的爱国热情。教学方式:理论教学教学要求:使学生熟悉软件项目质量的管理过程、监督软件
项目过程的质量等知识点内容。课前准备:课前查阅相关理论资料。软件项目质量管理与控制第五章案例引入华为鸿蒙系统是华为公司于2019年推出的一款操作系统,能同步应用于手机、电脑、交换机、数据中心、自动驾驶等,在系统层面打通了各个设备,实现了设备的互联互通。鸿蒙系统在流畅度上有很大的优势,据任正非所说,鸿蒙系统“很有可能”比安卓系统要快,同时给出了一份技术性的论据。此外,用户无须学习新的操作方式就基本会操作使用。不过,鸿蒙系统也存在一些缺点。一是缺乏良好的应用程序生态系统,二是相比其他系统更耗电。其智慧语音比原来更好用,唤醒要容易得多。在游戏界面,鸿蒙2.0加载游戏的速度稍逊于iOS14,但对于手机上其他的生活应用软件,鸿蒙2.0的速度更快。将系统从EMUI11升级到鸿蒙2.0的手机用户最大的体验就是手机更流畅了。【引入问题】
1.鸿蒙系统的优缺点是什么?2.鸿蒙系统跟国际上老牌知名操作系统相比,主要竞争力在哪里?3.鸿蒙系统的缺陷算不算软件项目质量问题,为什么?
第一节
软件项目质量管理一、软件质量概述(一)软件质量的定义1.从符合需求角度定义软件质量是软件产品满足规定需求和潜在需求的能力。规定需求包括明确记录在软件需求规格说明书中的功能需求(如系统能够正确地完成数据输入、处理和输出任务)、性能需求(如软件响应时间应在用户可接受范围内,像网页加载时间不超过3秒)、接口需求(软件与外部系统、设备或者用户界面之间交互的要求)等。潜在需求则是那些没有明确写出来,但用户期望软件能够具备的特性。2.从质量特性角度定义功能性可靠性易用性
效率可维护性可移植性(二)软件质量属性和质量要素1.软件质量属性功能性可靠性易用性效率可维护性可移植性2.软件质量要素正确性抗干扰性完整性
可理解性二、软件质量模型软件项目的质量特性反映了软件项目的本质。影响软件质量的特性可以分为两大类,一类是可以直接度量的特性;另一类是只能间接度量的特性,如易用性、可维护性。(一)Boehm软件质量模型1976年,软件工程估算模型COCOMO模型之父、美国南加州大学巴利·W.玻姆(BarryW.Boehm)教授提出了软件质量特性的分层方案。该方案将软件质量特性分为3个层次:软件质量要素、软件质量评价准则和软件质量度量。软件质量要素是从管理视角,或者说从使用软件的用户视角进行定义的。由于软件项目质量要素是从管理视角定义的,为了进行质量保证活动,必须将这些面向管理的质量要素转化为与软件有关的特性,更具体地说,是面向技术的特性。Boehm软件质量模型的第三层规定了度量第二层软件质量特性的方法。(二)McCall软件质量模型McCall质量模型是McCall等人在1979年提出来的。McCall模型也称为GE(GeneralElectric)模型。(三)ISO软件质量模型在软件项目管理中,ISO标准规定的软件质量模型主要包括三个层次。第一层是质量特性,有功能性、可靠性、易用性、效率、可维护性和可移植性六大特性。第二层是质量子特性,用于进一步细化质量特性,如可靠性包括成熟性、容错性等子特性。第三层是度量指标,用于定量衡量软件质量。三、软件质量管理计划(一)质量管理代表理论及质量管理要求时间、成本、质量在项目管理中常常相提并论,那么如何在时间、成本、质量3个方面均找到满意的模式,并恪守这种模式,这也是质量管理的最终目标。(二)软件质量计划编写软件项目的质量计划要根据软件项目的具体情况决定采取的形式,没有统一的定律。有的软件项目质量计划只是针对软件项目质量保证的计划,有的则既包括质量保证计划也包括质量控制计划。1.软件质量计划编写的依据质量方针范围描述产品描述标准和规则2.软件项目质量计划编写的方法效益/成本分析法基准法流程图试验设计第二节
软件项目质量控制一、软件项目质量保证(一)软件项目质量保证事项软件项目质量保证的基本思想是强调对用户负责,其思路是为了确立软件项目的质量能满足规定的软件质量要求,必须提供相应的证据。而这类证据包括软件项目质量管理证据或产品质量测定证据,以证明供方有足够的能力满足需方要求,质量保证有以下7种策略。1.以检测为重2.以过程管理为重3.以产品开发为重4.在产品开发的同时进行产品测试5.在软件项目的各个阶段保证质量的稳定性6.尽可能早地使项目质量测试自动化7.确保项目成员和企业文化都重视质量(二)软件质量保证内容1.与SQA计划直接相关的工作2.对项目日常活动与过程的符合性进行检查3.对软件项目阶段和阶段产品进行评审和审计4.对配置管理工作进行检查和审计5.跟踪问题的解决情况6.收集新方法,提供过程改进的依据(三)软件质量保证的措施1.制订质量计划2.需求管理3.代码审查4.测试策略5.缺陷管理6.配置管理7.培训与教育8.过程改进9.质量审计二、软件项目质量控制软件项目质量控制是监督并记录质量活动执行结果,以便评估绩效,并推荐必要的改造过程。(一)软件项目质量问题及产生原因软件项目质量问题的表现形式是多种多样的,主要有以下4种原因。1.违背软件项目规律2.软件项目技术方案本身的缺陷3.基本部件不合格4.实施中的管理问题出现上述软件项目质量问题的原因可以归纳为如下3个方面。1.人的因素2.资源因素3.方法因素(二)软件项目质量控制方法1.技术评审2.代码走查3.代码会审案例讨论江西志文信息技术有限公司中标了某大型餐饮连锁企业集团的信息系统项目,该项目包含单店管理、物流系统和集团ERP等若干子项目。由江西志文信息技术有限公司的高级项目经理陈聪全面负责项目实施。陈聪认为此项目质量管理的关键在于系统地进行测试,于是制订了详细的测试计划用来管理项目的质量。在项目实施过程中,他通过定期发给客户测试报告来证明项目质量是有保证的。可是客户总觉得有什么地方不对,对项目的质量还是没有信心。【问题】1.客户对项目质量没有信心的原因可能是什么?2.项目质量管理计划一般应该包括哪些内容?陈聪应该如何实施项目的质量保证?3.项目的质量控制与质量保证有哪些区别与联系?第一章
人体基础知识课程内容:1.风险管理概述
2.风险识别
3.风险分析
4.风险应对
5.风险控制课程时间:2课时教学目的:使学生掌握风险的定义及风险管理的过程,掌
握风险识别的重要性以及风险识别的工具和方
法,激发学生的风险意识。教学方式:理论教学教学要求:使学生理解软件项目风险分析中的定性分析和
定量分析,理解风险应对中的各种方法、风险
控制的程序和方法等知识点内容。课前准备:课前查阅相关理论资料。软件项目风险管理第六章案例引入一位船主即将开他的船出海,船上满载旅客。他心里早就知道这船很旧,而且当初的制造质量一般,因此他非常担心这船是否能够安全地完成此次航行。但是,经过一番挣扎和权衡利弊之后,船主还是说服了自己出行:心想再多一次航行也不会有什么大不了的祸事。毕竟,这艘船也是久经风雨了,不管遇上多么恶劣的天气,每次总能安全回家,这一次又怎么会不行呢?于是,这艘船出海了,最后船主和所有乘客不幸沉入了海底。【引入问题】1.这个故事给了你怎样的启发?2.这个故事中的船主知道风险吗?有哪些风险?3.通过此故事,你认为风险控制主要有哪些方法?
第一节
风险管理概述一、风险的定义“风险”一词的英文是“risk”,来源于古意大利语“riscare”,意为“todare”(敢),其实指的就是冒险,是利益相关者的主动行为,有某些正面的含义,从不同的角度出发,风险有不同的意义。风险是介于确定性和不确定性之间的一种状态,是处于未知和完全已知之间的状态。软件项目风险有很多种,没有风险的软件项目是不存在的,只是风险的多少及严重不同而已。一般来说,软件项目风险具有三要素:风险事件、风险事件发生的概率、风险造成的影响。二、风险管理过程风险管理过程是一个系统的过程,确保软件项目能应对潜在风险。首先是风险识别。其次是风险分析,对已识别的风险进行定性和定量分析。再次是风险应对规划。最后是风险监控。在项目推进过程中,持续跟踪已识别的风险,观察风险状态变化,同时注意新风险的产生,及时调整应对策略。第二节
风险识别一、风险识别概述(一)风险识别的重要性1.提前防范,降低损失2.优化资源分配3.增强决策的科学性4.保障项目进度和质量5.提高团队的风险意识6.增加项目的成功率(二)风险识别的步骤风险识别是指试图系统化地确定对软件项目计划(估算、进度、资源分配)的威胁,识别已知和可预测的风险。只有识别出这些风险,软件项目管理者才有可能避免这些风险,并于必要时控制这些风险。在软件项目的前期尽早识别出风险是很重要的。在软件项目开始时就要进行风险识别,并在软件项目执行过程中不断跟进。软件项目风险识别一般可按以下三步进行。1.收集资料2.风险形势估计3.识别潜在的风险二、风险识别的方法在具体识别风险时,需要综合利用一些专门技术和工具,包括德尔菲法、头脑风暴法、检查表法、SWOT分析法、检查表和图解技术等,以保证高效率地识别风险并不发生遗漏。现将方法和工具简要介绍如下。(一)德尔菲法德尔菲法是众多专家就某一专题达成一致意见的一种方法。(二)头脑风暴法头脑风暴法的目的是取得一份综合的风险清单。(三)SWOT分析法SWOT分析法是一种环境分析方法,又叫优劣势分析方法。(四)检查表检查表(CheckList)是管理中用来记录和整理数据的常用工具,在进行风险识别时,将项目可能发生的许多潜在风险列于一个表上,供识别人员进行检查核对,用来判别某软件项目是否存在表中所列或与之类似的风险。(五)图解技术图解技术对软件项目风险识别来说是一种非常有用的结构化方法,它可以帮助人们分析和识别项目风险所处的具体环节、项目各环节存在的风险,以及项目风险的起因和影响。常见的图解技术有因果分析图、系统和过程流程图、影响图。(六)现场视察法在风险识别阶段,风险经理对现场进行勘查非常重要。(七)相关部门配合法软件项目的风险经理应与其他相关部门密切配合,一同识别软件项目风险。(八)索赔统计记录法项目经理在进行风险识别时,应大量查阅已完工的类似工程的索赔记录,也许这种方法发现风险的绝对量要比别的方法少一些,但它可能能识别出其他方法一般不能发现的某些风险。第三节
风险分析一、定性风险分析定性风险分析指通过考虑风险发生的概率,风险发生后对软件项目目标及其他因素的影响,对已识别风险的优先级进行评估。风险分析对风险影响和后果进行评价和估量,包括定性分析和定量分析。定性分析是评估已识别风险的影响和可能性的过程,按风险对软件项目目标可能的影响进行排序,其作用和目的为识别具体风险和指导风险应对措施,根据风险对软件项目目标的潜在影响对风险进行排序,通过比较风险值确定软件项目总体风险级别。定量分析是量化分析每一风险的概率及其对软件项目目标造成的后果,同时也分析软件项目总体风险的程度。(一)风险概率与影响评估风险概率评估指调查每项具体风险发生的可能性,风险影响评估旨在分析风险对项目目标的潜在影响,既包括消极影响或威胁,也包括积极影响或机会。(二)概率和影响矩阵根据评定的风险概率和影响级别,对风险进行等级评定。通常采用参照表的形式或概率影响矩阵的形式,评估每项风险的重要性及其紧迫程度。(三)风险分类可按照风险来源(使用风险分解矩阵)、受影响的软件项目区域(使用工作分解结构)或其他分类标准(例如项目阶段)对软件项目风险进行分类,以确定受不确定性影响最大的项目区域。根据共同的根本原因对风险进行分类,有助于制定有效的风险应对措施。(四)风险紧迫性评估需要近期采取应对措施的风险可被视为亟须解决的风险。实施风险应对措施所需的时间、风险征兆、警告和风险等级都可作为确定风险优先级或紧迫性的指标。二、定量风险分析(一)访谈法访谈法利用经验和历史数据,对风险概率及其对软件项目目标的影响进行量化分析,所需的信息取决于所用的概率分布类型。(二)盈亏平衡分析盈亏平衡分析是通过盈亏平衡点(BEP)分析软件项目成本与收益的平衡关系的一种方法。(三)敏感性分析敏感性分析是一种评估方法,用于确定项目的某些因素)发生变化时,对项目目标产生的影响程度。(四)决策树分析决策树分析是一种图表分析方法,它提供所有可供软件项目选择的行动方案,行动方案之间的关系,行动方案的后果及其发生的概率,提供选择一个最佳的方案的依据。(五)模拟法利用系统模型对系统行为进行分析,将对软件项目目标存在潜在影响的不确定性因素具体化、定量化。三、风险评价(一)风险评价的定义和目的风险评价是在风险识别的基础上,对已识别的风险进行分析和评估,以确定风险发生的可能性、风险对项目目标的影响程度以及风险的优先级。其主要目的是帮助项目团队制定合理的风险应对策略,有效地管理风险,保障项目的顺利进行。(二)风险评价的方法1.定性评价2.定量评价(三)风险评价的指标1.风险发生的可能性2.风险的影响程度3.风险的优先级(四)风险评价的过程1.收集风险信息2.选择评价方法和指标3.进行风险评估4.结果分析5.报告和沟通(五)风险评价的作用1.为风险应对提供依据2.优化资源分配3.监控和跟踪的基础4.增强项目的可控性第四节
风险应对一、风险回避风险回避是指在软件项目管理中,通过主动放弃或改变项目方案,避免可能面临的风险。这是一种较为彻底的风险应对策略,旨在完全消除特定风险对项目的影响。(一)风险回避的适用场景一是当风险发生的可能性极高且后果极其严重,超过了项目所能承受的范围时。二是当存在其他可行的且风险更低的替代方案时。(二)风险回避的实施步骤1.识别风险2.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幕墙消防安装施工方案(3篇)
- 影片分析营销方案(3篇)
- 持续陪伴营销方案(3篇)
- 无缝钢轨焊接施工方案(3篇)
- 极限运算法则综合训练卷
- 武穴楼板加固施工方案(3篇)
- 泰州顶管施工方案(3篇)
- 湖州营销方案定制(3篇)
- 甘肃玻璃滑道施工方案(3篇)
- 砌体砖结构施工方案(3篇)
- 2026年兰考三农职业学院单招职业技能测试题库含答案
- 2025年骨干教师选拔笔试试题及答案
- 2025年公开选拔乡镇副科级领导干部笔试题库(附答案)
- 2025年国际档案日档案知识竞赛试题内附答案
- 实施指南(2025)《DZT 0462.15-2024 矿产资源“三率”指标要求 第 15 部分:地热、矿泉水》解读
- 2025泌尿外科学(正高)考试试题及答案(6Q)答案和解析
- 电表箱施工方案
- T-CEC 309-2020石墨基柔性接地装置使用导则
- 圆柱、圆锥应用题(专项突破)-小学数学六年级下册人教版(含解析)
- 内科护理副高职称答辩题库及答案
- 建筑施工安全检查及隐患排查标准
评论
0/150
提交评论