第14讲软件项目管理.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
三 进度计划 软件项目的进度安排是这样一种活动,它通过把工作量分配给特定的软件工程任务并规定完成各项任务的起止日期,从而将估算出的项目工作量分布于计划好的项目 持续期内。 进度计划将随着时间的流逝而不断演化。 在项目计划的早期,首先制定一个宏观的进度安排表,标识出主要的软件工程活动和这些活动影响到的产品功 能。 随着项目的进展,把宏观进度表中的每个条目都精化成一个详细进度表,从而标识出完成一个活动所必须实现的一组特定任务,并安排好了实现这些任务的进 度。 估算开发时间 对于一个估计工作量为20人月的项目,可能想出下列几种进度表: 1个人用20个月完成该项目; 4个人用5个月完成该项目; 20个人用1个月完成该项目。 这些进度表并不现实,实际上软件开发时间与从事开发工作的人数之间并不是简单的反比关系。 估算开发时间T的方程 通常,成本估算模型也同时提供了估算开发时间T的方程。与工作量方程不同,各种模型估算开发时间的方程很相似,例如: (1) Walston_Felix模型 T=2.5E0.35 (2) 原始的COCOMO模型 T=2.5E0.38 (3) COCOMO2模型 T=3.0E0.33+0.2×(b-1.01) (4) Putnam模型 T=2.4E1/3 其中, E是开发工作量(以人月为单位), T是开发时间(以月为单位)。 开发时间与从事开发工作的人数 用上列方程计算出的T值,代表正常情况下的开发时间。客户往往希望缩短软件开发时间,显然,为了缩短开发时间应该 增加从事开发工作的人数。但是,经验告诉我们,随着开发小组规模扩大,个人生产率将下降,以致开发时间与从事开发工作的人数并不成反比关系。出现这种现象 主要有下述两个原因: 当小组变得更大时,每个人需要用更多时间与组内其他成员讨论问题、协调工作,因此增加了通信开销。 如果在开发过程中增加小组人员,则最初一段时间内项目组总生产率不仅不会提高反而会下降。这是因为新成员在开始时不仅不是生产力,而且在他们学习期间还需要花费小组其他成员的时间。 综合上述两个原因,存在被称为Brooks规律的下述现象: 向一个已经延期的项目增加人力,只会使得它更加延期。 项目组规模与项目组总生产率 如果项目组共有P名组员,每个组员必须与所有其他组员通信以协调开发活动,则通信路径数为P(P-1)/2。如果每个组员只需与另外一个组员通信,则通信路径数为P-1 因此,通信路径数大约在P~P2/2的范围内变化。也就是说,在一个层次结构的项目组中,通信路径数为Pα,其中1α2。 项目组规模与项目组总生产率 对于某一个组员来说,他与其他组员通信的路径数在1~(P-1)的范围内变化。如果不与任何人通信时个人生产率为L,而且每条通信路径导致生产率减少l,则组员个人平均生产率为 Lr= L - l(P-1)r 其中,r是对通信路径数的度量,0r≤1(假设至少有一名组员需要与一个以上的其他组员通信,因此r0)。 对于一个规模为P的项目组,项目组的总生产率为 Ltot=P(L-l(P-1)r) 对于给定的一组L,l和r的值,总生产率Ltot是项目组规模P的函数。随着P值增加,Ltot将从0增大到某个最大值,然后再下降。因此,存在一个最佳的项目组规模Popt,这个规模的项目组其总生产率最高。 项目组规模与项目组总生产率 让我们举例说明项目组规模与生产率的关系。假设个人最高生产率为500LOC/月(即L=500),每条通信路径导致生产率下降10%(即l=50)。如 果每个组员都必须与组内所有其他组员通信(r=1),则项目组规模与生产率的关系列在表13.4)中,可见,在这种情况下项目组的最佳规模是5.5人,即 Popt=5.5。 1500 项目组规模与项目组总生产率 Boehm根据经验指出,软件项目的开发时间最多可以减少到正常开发时间的75%。如果要求一个软件系统的开发时间过短,则开发成功的概率几乎为零。 Gantt图 Gantt(甘特)图是历史悠久、应用广泛的制定进度计划的工具 假设有一座陈旧的矩形木板房需要重新油漆。这项工作必须分3步完成: 首先刮掉旧漆,然后刷上新漆,最后清除溅在窗户上的油漆。 假设一共分配了15名工人去完成这项工作,然而工具却很有限: 只有5把刮旧漆用的刮板,5把刷漆用的刷子,5把清除溅在窗户上的油漆用的小刮刀。怎样安排才能使工作进行得更有效呢? Gantt图 Gantt图 但是Gantt图也有3个主要缺点: (1) 不能显式地描绘各项作业彼此间的依赖关系; (2) 进度计划的关键部分不明确,难于判定哪些部分应当是主攻和主控的对象; (3) 计划中有潜力的部分及潜力的大小不明确,往往造成潜力的浪费。 当把一个工程项目分解成许多子任务,并且它们彼此间的依赖

文档评论(0)

dalianzi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档