您好,欢迎访问三七文档
第7章项目进度安排及跟踪软件工程第7章项目进度安排及跟踪7.1基本概念7.2人员与工作量之间的关系7.3为软件项目定义任务集合7.4选择软件工程任务7.5主要任务的求精7.6定义任务网络7.7进度安排7.1基本概念软件延期交付的原因:一个不现实的截止期限,由软件工程组以外的人所设立并强加给软件工程组内的管理者和项目开发者。客户需求发生变化,而需求的变化没有能够反映在项目进度的变化上。对工作量和/或完成该工作所需的资源数量估计不足。7.1基本概念软件延期交付的原因:在项目开始时,没有将可以预测的和/或不可预测的风险考虑在内。事先无法预计的技术困难。事先无法预计的人力困难。7.1基本概念软件延期交付的原因:由于项目组成员之间的交流不畅而导致的延期。项目管理者未能发现进度拖后,也未能采取行动解决这一问题。7.1.2基本原则软件项目安排是一种活动,它通过将工作量分配给特定的软件工程任务,而将所估算的工作量分布于计划好的项目持续时间内。以下是指导软件项目进度安排的原则:划分相互依赖性时间分配工作量确认定义责任定义结果定义里程碑7.2人员与工作量之间的关系参加软件项目的工作人员数量与整体生产率之间的关系不是线性的交付的代码(源代码语句)行数L与工作量和开发时间之间的关系:?L=P×(E/B)1/3t4/3E是以人月为单位的开发工作量P是一个生产率参数B是特殊技术因子,生产软件规模的函数t是以月为单位的项目持续时间7.2.2一个经验关系将上述方程式重排,可以得到关于开发工作量E的计算公式:E=L3/(P3t4)(7.1)E是在软件开发和维护的整个生命周期内所需的工作量(以人年计算)t是以年计算的开发时间通过引入平均劳动力价格因素($/人年),开发工作量的计算公式还能够与开发成本相关联。7.2.3工作量分布一种在定义和开发阶段之间的工作量分配规则:“40-20-40规则”:40%工作量分配给前端的分析和设计任务20%工作量编码工作40%工作量用于后端测试7.3为软件项目定义任务集合项目一般属于下述类型:概念开发项目新应用开发项目应用增强项目应用维护项目再工程项目7.3.1严格度随意的:使用了所有过程框架活动,但只需要一个最小的任务集合.结构化的:过程框架将在项目中使用。严格的:整个过程将按照一种能够确保高质量的严格规程要求应用于项目之中。快速反应的:该项目将使用过程框架,但由于某种紧急情况的出现,只应用了为保持软件系统质量所必须完成的任务。适应准则用于确定一个项目中使用软件过程的严格度。共有11条适应准则:项目的规模。潜在的用户数量。任务的关键性。应用程序的寿命。需求的稳定性。7.3.2定义适应性准则客户与开发者之间通信的容易程度。应用技术的成熟度。性能约束。嵌入式/非嵌入式特性。项目人员配置。再工程因素。每一条适应准则被赋予一定的等级分,取值在1到5之间。7.3.2定义适应性准则为项目选择适当的任务集合的步骤:1.复审每个适应性准则,赋予适当的等级分并输入到表7-1中;2.复审赋予每个适应性准则的加权因子;3.等级分数×加权因子×条目点乘数,结果分别放入表7-1的“乘积”栏中;4.计算“乘积”栏中所有条目的平均值,并将结果放入标记着“任务集合选择因子(TSS)”的空格中。7.3.3计算任务集合选择因子的值7.3.4解释TSS值并选择任务集合一旦计算好任务集合选择因子,就可以使用下述的指南帮助你选择一个适用于项目的任务集合:任务集合选择因子取值严格度TSS<1.2随意的1.0<TSS<3.0结构化的TSS>2.4严格的7.3.4解释TSS值并选择任务集合两个推荐任务集合之间的TSS取值的重叠是有意设定的,这用于说明在进行任务集合的选择时,定义出精确的边界是不可能的。在进行最后的分析时,应该将任务集合选择因子的取值、以往的经验以及常识都作为项目任务集合的选择因素。表7-2显示了在一个假想的项目中如何计算TSS的情况。“乘积”=等级分数×加权因子×条目点乘数TSS的取值(“乘积”一栏中所有条目的平均值)是2.8概念开发项目是在必须探索某些新技术是否可行时发起的。其完成需要应用以下所述主要任务:确定概念范围初步的概念计划技术风险评估概念证明概念实现客户对概念的反应7.4选择软件工程任务必须将宏观进度表精化来创建一个详细的项目进度表精化工作始于将每个主要任务分解为一组子任务(以及相关的工作产品和里程碑)7.5主要任务的求精7.6定义任务网络“任务网络”是一个项目的任务流程的图形表示。该网络有时被用作在自动项目进度安排工具中输入任务序列和依赖关系的机制。任务网络的最简单形式(当创建宏观进度表时使用)刻画了软件工程主要任务。7.7进度安排程序评估和评审技术(PERT)和关键路径方法(CPM)是可用于软件开发的项目进度安排方法。它们都是由较早的项目计划活动中已经产生的信息来驱动的,这些信息包括:工作量的估算。产品功能的分解。适当的过程模型的选择。项目类型和任务集合的选择“时间表(TimelineChart)”,也叫做“甘特图(GanttChart)”。可以为整个项目建立一个时间表,也可以为各个项目功能或各个项目参与者分别开发各自的时间表。7.7.1时间表项目进度表中应定义在项目进展过程中必须被跟踪和控制的任务及里程碑。项目跟踪可以通过以下方式得以实现:定期举行项目状态会议,由项目组中的各个成员分别报告进度和问题。评估所有在软件工程过程中所进行的复审的结果。确定正式的项目里程碑(表7-3中的菱形)是否在预定日期内完成。7.7.2跟踪进度比较项目表(表7-4)中列出的各项任务的实际开始日期与计划开始日期。与开发者进行非正式会谈,获取他们对项目进展及可能出现的问题的客观评估。7.8获得值分析(EVA)获得值分析用于进展的定量分析的技术,它指明了进度安排的困难,提供了定量的进展指示。确定获得值的步骤:1.对每个表示在进度表中的工作任务确定预定工作的预算成本(BCWS)2.所有工作任务的BCWS值加起来,以导出完成时预算BAC,BAC=Σ(BCWSk),对所有任务k3.计算完成的预算成本(BCWP),BCMP的值是在项目进度表中该时间点已经实际完成的所有工作任务的BCWP值之和。根据BCWS,BAC和BCWP值,计算以下进展指标:进度表执行指标(SPI)=BCWP/BCWS进度表偏差(SV)=BCWP-BCWS预定完成百分比=BCWS/BAC完成百分比=BCWP/BACACWP为完成工作的实际成本,是在项目进度表中某时间点已经完成的工作任务的实际工作量花费之和。成本执行指标CPI=BCWP/ACWP成本偏差CV=BCWP-ACMP7.9错误跟踪软件小组完成正式技术评审已发现和修正在软件工程任务中生产的工作产品中的错误E。任何未被发现(但在以后的任务中发现)的错误被称为缺陷D。缺陷消除效率定义为:DRE=E/(E+D)7.10项目计划(1)在软件管理者、技术人员和客户之间传达项目范围和资源信息(2)定义风险并提出有关风险管理技术的建议(3)定义管理复审的成本和进度(4)为与项目相关的所有人员提供软件开发的整体方法(5)概述如何保证质量及管理变化软件项目计划不是静态文档,即项目小组重复地访问计划—更新风险,估算,进度表和相关信息—当项目向前进展并知道得更多时。7.11小结进度安排是计划活动的首要任务,而计划活动则是软件项目管理的首要组成部分.进度安排始于过程的分解.
本文标题:项目进度安排及跟踪
链接地址:https://www.777doc.com/doc-817093 .html