您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第11章软件项目管理
第11章软件项目管理本章学习内容:1.掌握软件项目管理的基本概念2.了解软件项目计划的内容3.理解软件成本估算方法与技术4.了解软件项目的人员管理与协调的概念5.了解软件项目风险管理的过程6.掌握软件项目进度安排的原则第11章软件项目管理11.1软件项目管理概述1.项目整合管理2.范围管理3.时间管理4.成本管理5.人力资源管理6.风险管理7.质量管理8.采购管理9.沟通管理第11章软件项目管理11.2进度管理11.2.1计划内容:确定执行项目需要的特定活动,明确每项活动的职责;确定这些活动的完成顺序;计算每项活动所需要的时间和资源;制定项目预算。第11章软件项目管理1.工作分解与责任矩阵分解WBS应遵循如下原则。一个单位工作任务只能在WBS中出现在一个地方;一个WBS项的工作内容是其下一级的工作之和;第11章软件项目管理1.WBS中的每一项工作都只由一个人负责,即使这项工作需要多人来做;2.WBS必须与工作任务的实际执行过程一致,WBS首先服务于项目组,可行的话,再考虑其他目的;3.项目组成员必须参与WBS的制定,以确保一致性和全员参与;4.每一个WBS项必须归档,以确保准确理解该项包括和不包括的工作范围;5.让WBS具有一定的灵活性以适应无法避免的变更需要。第11章软件项目管理责任矩阵说明:P为主要主任;S为次要责任。第11章软件项目管理2.活动排序活动排序过程包括确认且编制活动间的相关性。活动必须被正确地加以排序以便今后制订可行的进度计划。(1)甘特图第11章软件项目管理(2)计划评审技术1)用节点表示活动。活动用方框表示,对活动的描写在方框内。给每个方框指定一个编号,连接方框的箭头表示活动之间的先后顺序。活动2只能在活动1之后。活动之间的关系分为以下几种:1.结束→开始:某活动必须结束,然后另一活动才能开始。2.结束→结束:某活动结束前,另一活动必须结束。3.开始→开始:某活动必须在另一活动开始前开始。4.开始→结束:某活动结束前另一活动必须开始。第11章软件项目管理2)用箭头表示活动。活动用箭头表示,对活动的描写在箭线上。图中的圆圈表示“事件”,活动由事件连接起来。箭尾代表活动开始,称为紧前事件;箭头代表活动结束,称为紧随事件。事件2是活动“系统规划”的紧随事件,又是“需求分析”的紧前事件,表示“系统规划”结束和“需求分析”开始。第11章软件项目管理3)虚活动。在绘制用箭头表示活动的网络图中,有两个基本规则可以用来识别活动:第一,每个事件有惟一的编号,既图中不会有相同的事件号;第二,每个活动必须由惟一的紧前事件号组成。第11章软件项目管理11.2.2进度安排计划安排进度需要解决以下问题:估计每项活动的工期;确定整个项目的预计开始时间和要求完工时间;在项目预计开始时间的基础上,计算每项活动能够开始的时间和完成的最早时间;利用项目的要求完工时间,计算每项活动必须开始的时间和完成的最迟时间;确定每项活动能够开始与必须开始时间之间的正负时差;确定关键(最长)活动路径。第11章软件项目管理1.估计活动工期指定项目进度安排的第一步是估计每项活动从开始到完成所需要的时间。可以用3种工期估计:乐观工期(t0),最可能工期(tm),悲观工期(tp),计算出期望工期te,则te=(t0+4×tm+tp)/6第11章软件项目管理2.进度计划根据已估计出网络图中每项活动的工期和项目必须完成的时间段,可以计算出一个项目进度,为每项活动提供一个时间表,明确在项目预计开始时间的基础上,每项活动能够开始和完成的最早时间;为了在要求完工时间内完成项目,每项活动必须开始和完成的最迟时间。l最早开始时间(EarliestStarttimes,ES)是指某项活动能够开始的最早时间。它可以根据项目的预计开始时间和所有紧前活动的工期估计计算出来。l最早结束时间(EarliestFinishtimes,EF)是指某项活动能够完成的最早时间。所以有:EF=ES+工期估计第11章软件项目管理可以通过最迟开始时间、最迟结束时间反向推算得出工期估计。l最迟开始时间(LatestStarttimes,LS)是指项目在要求完工时间内完成,某项活动必须开始的最迟时间。l最迟结束时间(LatestFinishtimes,LF)是指为了使项目在要求完工时间内完成,某项活动必须完成的最迟时间。它可以在项目的完工时间和所有紧随活动的工期估计的基础上计算出来。所以有:LS=LF-工期估计第11章软件项目管理例总时差=项目要求完工时间—(最后一项活动)最早结束时间=LF—EF=LS—ES第11章软件项目管理11.2.3进度跟踪与控制定期进行项目状态会议,由各组成员报告项目的进展情况;评价所有在软件过程中进行的评审结果;确定正式的项目里程碑是否已经在进度安排的时间内完成;比较项目表中被列出的各个项目任务的实际开始日期与计划开始日期;与实践者举行非正式会议,以得到他们对项目进展时间和问题层的客观评价;使用获得值的分析,定量的评价进展。第11章软件项目管理进度控制的步骤:分析进度,找出哪些地方需要采取纠正措施;确定应采取的纠正措施;修改计划,将纠正琐事列入计划;重新计算进度,估计纠正措施的效果。第11章软件项目管理11.3软件开发成本估算11.3.1软件成本估算过程第11章软件项目管理11.3.2软件成本估算方法(1)专家估算法1)协调人向各专家提供项目规格和估计表格;2)协调人召集小组会各专家讨论与规模相关的因素;3)各专家匿名填写迭代表格;4)协调人整理出一个估计总结,以迭代表的形式返回专家;5)协调人召集小组会,讨论较大的估计差异;6)专家复查估计总结并在迭代表上提交另一个匿名估计;重复4)-6),直到达到一个最低和最高估计的一致。第11章软件项目管理(2)类推估算法1)整理出项目功能列表和实现每个功能的代码行;2)标识出每个功能列表与历史项目的相同点和不同点,特别要注意历史项目做得不够的地方;3)通过步骤1和2得出各个功能的估计值;4)产生规模估计。第11章软件项目管理3.COCOMO模型工作量和进度的基本COCOMO方程开发类型工作量进度结构型ED=2.4S1.05TD=2.5(ED)0.38半独立型ED=3.0S1.12TD=2.5(ED)0.35嵌入型ED=3.6S1.20TD=2.5(ED)0.32第11章软件项目管理3.COCOMO模型影响r值的15个成本因素类型成本因素产品属性1.要求的软件可靠性2.数据库规模3.产品复杂性计算机属性4.执行时间约束5.主存限制6.虚拟机变动性7.计算机周转时间人员属性8.分析人员能力9.应用经验10.程序设计人员能力11.虚拟机经验12.程序设计语言经验工程属性13.最新程序设计实践14.软件工具的作用15.开发进度限制第11章软件项目管理3.COCOMO模型中间COCOMO工作量估算方法开发类型工作量方法结构型(ED)NOM=3.2S1.05半独立型(ED)NOM=3.0S1.12嵌入型(ED)NOM=2.8S1.20第11章软件项目管理4.SLIM模型L=CKK1/3td4/3L和td分别表示可交付的源指令数和开发时间(单位为年);K是整个生存期内人的工作量(单位为人-年),可从总的开发工作量ED=0.4K求得;CK是根据经验数据而确定的常数,表示开发技术的先进性级别。如果软件开发环境较差(没有一定的开发方法,缺少文档,评审或批处理方式),取CK=6500;正常的开发环境(有适当的开发方法,较好的文档和评审,以及交互式的执行方式),CK=10000,而一个较好的开发环境(自动工具和技术),则取CK=12500。变换上式,可得开发工作量方程:K=L3/C3Kt4d第11章软件项目管理5.基于代码行的成本估算方法1)确定功能2)求期望值Le和偏差Ld3)根据经验数据,确定各个子功能的代码行成本4)计算各个子功能的成本和工作量,并计算任务的总成本和总工作量5)计算开发时间6)对结果进行分析比较第11章软件项目管理6.基于过程的成本估算方法1)确定任务2)确定每项任务的工作量对每项任务要估算它们所需要的人-月数(1)确定每项任务的对应的劳务费数据(2)计算(3)分析比较第11章软件项目管理11.3.3成本计划的变更控制1.预算分摊2.实际成本累计3.盈余累计第11章软件项目管理11.4软件项目的人员管理11.4.1人力资源各阶段管理人员和技术人员参与情况第11章软件项目管理11.4.2人力资源计划的平衡Rayleigh-Norden曲线第11章软件项目管理11.4.3开发团队人数与协调1.正式的,非个人的方法:包括一系列软件工程文档和交付物(如源程序)。例如,技术备忘录,项目里程碑,项目进度控制工具,错误跟踪报告,维护申请和相关文档,中心数据库等。2.正式的,个人的方法:集中表现在软件工程产品的质量保证活动中。包括软件复审会议,设计和代码检查等。3.非正式的,个人的方法:包括信息传播,问题解决,需求和开发人员配置会议。4.电子通信方法:包括电子邮件,电子公告栏,web站点,以及基于视频的会议系统等。5.个人网络方法:与项目组织外的人员进行的非正式的讨论。这些人可能有丰富的经验或者见解,能够有助于本项目的开发。第11章软件项目管理11.5风险管理11.5.1软件风险1.项目风险2.技术风险3.商业风险第11章软件项目管理11.5.2风险识别(1)高层软件管理者和用户管理者已正式承诺支持该项目吗?(2)最终用户对该项目和待构造的系统支持吗?(3)需求已被软件工程组和他们的用户完全了解了吗?(4)用户已充分参加到需求定义中了吗?(5)最终用户期望现实吗?(6)项目的工作范围稳定吗?(7)软件工程组拥有合适的技能吗?(8)项目需求稳定吗?(9)项目组对将要实现的技术有经验吗?(10)项目组的人员数量能够完成该项目吗?(11)所有的用户对项目的重要性和待构造的系统需求有共识吗?第11章软件项目管理11.5.3风险设计从两个方面着手:风险发生的可能性或概率;与风险相关的问题发生可能产生的后果。风险设计有4项活动:为反映风险发生的可能性要建立一个尺度;描述风险的后;估算风险对项目和产品的影响;为了避免误解,应给出风险设计整体的准确度。第11章软件项目管理11.5.4风险评价(ri,li,xi)ri为风险,li为风险发生的概率,xi为风险的影响。步骤:1.定义项目的各种风险参考水平2.建立每一个(ri,li,xi)与每一个参考水平之间的关系;3.预测一组参考点来定义项目终止的区域,区域由一条曲线或不确定的区域界定4.预测什么样的风险组合会影响参考水平第11章软件项目管理11.5.5风险的缓解,监控和管理1.风险避免与现有人员一起探讨人员流动和原因(工作条件差,报酬低,人才市场竞争等);在项目开始前,就把缓解这些原因的工作列入管理计划;一旦项目开始,如果出现人员流动,就能采取一些技术措施,以保证人员离开后工作的连续性;有良好的项目组和沟通渠道,使每一项开发活动的信息能被广泛的传播;定义文档标准和建立相应机制,以保证能及时开发相关文档;对所有工作都要进行详细评审,使得能有更多的人熟悉该项工作;对每一项关键技术都要培养不少于一个的后备人员第11章软件项目管理2.风险监控监控下列因素。项目组成员对于项目压力的一般态度;项目组的凝聚力;与报酬和利益相关的潜在问题;项目组成员间的关系;在公司内和公司外工作的可能性3.风险管理与应急计划
本文标题:第11章软件项目管理
链接地址:https://www.777doc.com/doc-781468 .html