第14讲-软件项目管理ppt课件

上传人:资****亨 文档编号:145854546 上传时间:2020-09-23 格式:PPT 页数:26 大小:423KB
返回 下载 相关 举报
第14讲-软件项目管理ppt课件_第1页
第1页 / 共26页
第14讲-软件项目管理ppt课件_第2页
第2页 / 共26页
第14讲-软件项目管理ppt课件_第3页
第3页 / 共26页
第14讲-软件项目管理ppt课件_第4页
第4页 / 共26页
第14讲-软件项目管理ppt课件_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《第14讲-软件项目管理ppt课件》由会员分享,可在线阅读,更多相关《第14讲-软件项目管理ppt课件(26页珍藏版)》请在金锄头文库上搜索。

1、.,进度计划,不论从事哪种技术性项目,实际情况都是,在实现一个大目标之前往往必须完成数以百计的小任务(也称为作业)。 这些任务中有一些是处于“关键路径” 之外的,其完成时间如果没有严重拖后,就不会影响整个项目的完成时间; 其他任务则处于关键路径之中,如果这些“关键任务”的进度拖后,则 整个项目的完成日期就会拖后,管理人员应该高度关注关键任务的进展情况。 项目管理者的目标是定义全部项目任务,识别出关键任务,跟踪关键任务的进展状况,以保证能及时发现拖延进度的情况。为达到上述目标,管理者必须制定一个足够详细的进度表,以便监督项目进度并控制整个项目。,.,三 进度计划,软件项目的进度安排是这样一种活动

2、,它通过把工作量分配给特定的软件工程任务并规定完成各项任务的起止日期,从而将估算出的项目工作量分布于计划好的项目 持续期内。 进度计划将随着时间的流逝而不断演化。 在项目计划的早期,首先制定一个宏观的进度安排表,标识出主要的软件工程活动和这些活动影响到的产品功 能。 随着项目的进展,把宏观进度表中的每个条目都精化成一个详细进度表,从而标识出完成一个活动所必须实现的一组特定任务,并安排好了实现这些任务的进 度。,.,估算开发时间,对于一个估计工作量为20人月的项目,可能想出下列几种进度表: 1个人用20个月完成该项目;4个人用5个月完成该项目;20个人用1个月完成该项目。 这些进度表并不现实,实

3、际上软件开发时间与从事开发工作的人数之间并不是简单的反比关系。,.,估算开发时间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值,代表正常情况下的开发时间。客户往

4、往希望缩短软件开发时间,显然,为了缩短开发时间应该 增加从事开发工作的人数。但是,经验告诉我们,随着开发小组规模扩大,个人生产率将下降,以致开发时间与从事开发工作的人数并不成反比关系。出现这种现象 主要有下述两个原因: 当小组变得更大时,每个人需要用更多时间与组内其他成员讨论问题、协调工作,因此增加了通信开销。 如果在开发过程中增加小组人员,则最初一段时间内项目组总生产率不仅不会提高反而会下降。这是因为新成员在开始时不仅不是生产力,而且在他们学习期间还需要花费小组其他成员的时间。 综合上述两个原因,存在被称为Brooks规律的下述现象: 向一个已经延期的项目增加人力,只会使得它更加延期。,.,

5、项目组规模与项目组总生产率,如果项目组共有P名组员,每个组员必须与所有其他组员通信以协调开发活动,则通信路径数为P(P-1)/2。如果每个组员只需与另外一个组员通信,则通信路径数为P-1 因此,通信路径数大约在PP2/2的范围内变化。也就是说,在一个层次结构的项目组中,通信路径数为P,其中12。,.,项目组规模与项目组总生产率,对于某一个组员来说,他与其他组员通信的路径数在1(P-1)的范围内变化。如果不与任何人通信时个人生产率为L,而且每条通信路径导致生产率减少l,则组员个人平均生产率为 Lr= L - l(P-1)r 其中,r是对通信路径数的度量,00)。 对于一个规模为P的项目组,项目组

6、的总生产率为 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。,150

7、0,.,项目组规模与项目组总生产率,Boehm根据经验指出,软件项目的开发时间最多可以减少到正常开发时间的75%。如果要求一个软件系统的开发时间过短,则开发成功的概率几乎为零。,.,Gantt图,Gantt(甘特)图是历史悠久、应用广泛的制定进度计划的工具 假设有一座陈旧的矩形木板房需要重新油漆。这项工作必须分3步完成: 首先刮掉旧漆,然后刷上新漆,最后清除溅在窗户上的油漆。 假设一共分配了15名工人去完成这项工作,然而工具却很有限: 只有5把刮旧漆用的刮板,5把刷漆用的刷子,5把清除溅在窗户上的油漆用的小刮刀。怎样安排才能使工作进行得更有效呢?,.,Gantt图,.,Gantt图,但是Gan

8、tt图也有3个主要缺点: (1) 不能显式地描绘各项作业彼此间的依赖关系;(2) 进度计划的关键部分不明确,难于判定哪些部分应当是主攻和主控的对象;(3) 计划中有潜力的部分及潜力的大小不明确,往往造成潜力的浪费。 当把一个工程项目分解成许多子任务,并且它们彼此间的依赖关系又比较复杂时,仅仅用Gantt图作为安排进度的工具是不够的,不仅难于做出既节省资源又保证进度的计划,而且还容易发生差错。,.,工程网络,在工程网络中用箭头表示作业(例如,刮旧漆,刷新漆,清理等),用圆圈表示事件(一项作业开始或结束)。事件仅仅是可以明确定义的时间点,它并不消 耗时间和资源。作业通常既消耗资源又需要持续一定时间

9、。 1-2 刮第1面墙上的旧漆;2-3 刮第2面墙上的旧漆; 2-4 给第1面墙刷新漆;3-5 刮第3面墙上的旧漆; 4-6 给第2面墙刷新漆 ;4-7 清理第1面墙窗户;5-8刮第4面墙上的旧漆;6-8 给第3面墙刷新漆;7-9 清理第2面墙窗户; 8-10 给第4面墙刷新漆; 9-10清理第3面墙窗户; 10-11清理第4面墙窗户 ;虚拟作业:3-4;5-6;6-7;8-9,.,估算工程进度,画出类似图13.2那样的工程网络之后,系统分析员就可以借助它的帮助估算工程进度了。为此需要在工程网络上增加一些必要的信息。 首先,把每个作业估计需要使用的时间写在表示该项作业的箭头上方。注意,箭头长度

10、和它代表的作业持续时间没有关系,箭头仅表示依赖关系,它上方的数字才表示作业的持续时间。 其次,为每个事件计算下述两个统计数字: 最早时刻EET和最迟时刻LET。这两个数字将分别写在表示事件的圆圈的右上角和右下角,如图13.3左下角的符号所示。,.,计算最早开始时间,事件的最早时刻是该事件可以发生的最早时间。通常工程网络中第一个事件的最早时刻定义为零,其他事件的最早时刻在工程网络上从左至右按事件发生顺序计算。计算最早时刻EET使用下述3条简单规则: (1) 考虑进入该事件的所有作业; (2) 对于每个作业都计算它的持续时间与起始事件的EET之和; (3) 选取上述和数中的最大值作为该事件的最早时

11、刻EET。,.,计算最迟开始时间,事件的最迟时刻是在不影响工程竣工时间的前提下,该事件最晚可以发生的时刻。按惯例,最后一个事件(工程结束)的最迟时刻就是它的最早时刻。其他事件的最迟时刻在工程网络上从右至左按逆作业流的方向计算。计算最迟时刻LET使用下述3条规则: (1) 考虑离开该事件的所有作业; (2) 从每个作业的结束事件的最迟时刻中减去该作业的持续时间; (3) 选取上述差数中的最小值作为该事件的最迟时刻LET。,.,13.3.5 关键路径 图13.3中有几个事件的最早时刻和最迟时刻相同,这些事件定义了关键路径,在图中关键路径用粗线箭头表示。关键路径上的事件(关键事件)必须准时发生,组成

12、关键路径的作业(关键作业)的实际持续时间不能超过估计的持续时间,否则工程就不能准时结束。 工程项目的管理人员应该密切注视关键作业的进展情况,如果关键事件出现的时间比预计的时间晚,则会使最终完成项目的时间拖后;如果希望缩短工期,只有往关键作业中增加资源才会有效果。,.,机动时间,不在关键路径上的作业有一定程度的机动余地实际开始时间可以比预定时间晚一些,或者实际持续时间可以比预定的 持续时间长一些,而并不影响工程的结束时间。 一个作业可以有的全部机动时间等于它的结束事件的最迟时刻减去它的开始事件的最早时刻,再减去这个作业的持续 时间: 机动时间=(LET)结束-(EET)开始-持续时间 根据机动时

13、间, 可以减少人员安排. 完成某些机动作业的队伍,在机动时间内可以去完成其他事情,.,五 质量保证,概括地说,软件质量就是“软件与明确地和隐含地定义的需求相一致的程度”。更具体地说,软件质量是软件与明确地叙述的功能和性能需求、文档中明确描述的开发标准以及任何专业开发的软件产品都应该具有的隐含特征相一致的程度。上述定义强调了下述的3个要点: (1) 软件需求是度量软件质量的基础,与需求不一致就是质量不高。 (2) 指定的开发标准定义了一组指导软件开发的准则,如果没有遵守这些准则,几乎肯定会导致软件质量不高。 (3) 通常,有一组没有显式描述的隐含需求(例如,软件应该是容易维护的)。如果软件满足明

14、确描述的需求,但却不满足隐含的需求,那么软件的质量仍然是值得怀疑的。,.,五 质量保证,.,软件质量保证的措施,软件质量保证的措施主要有: 基于非执行的测试(也称为复审或评审),基于执行的测试(即以前讲过的软件测试)和程序正确性证明。 复审主要用来保证在编码之前各阶段产生的文档的质量; 基于执行的测试需要在程序编写出来之后进行,它是保证软件质量的最后一道防线;程序正确性证明使用数学方法严格验证程序是否与对它的说明完全一致。 参加软件质量保证工作的人员,可以划分成下述两类: . 软件工程师通过采用先进的技术方法和度量,进行正式的技术复审以及完成计划周密的软件测试来保证软件质量。 . SQA小组的

15、职责,是辅助软件工程师以获得高质量的软件产品。其从事的软件质量保证活动主要是: 计划,监督,记录,分析和报告。简而言之,SQA小组的作用是,通过确保软件过程的质量来保证软件产品的质量。,.,1. 技术复审的必要性,正式技术复审的显著优点是,能够较早发现软件错误,从而可防止错误被传播到软件过程的后续阶段。 统计数字表明,在大型软件产品中检测出的错误,60% 70% 属于规格说明错误或设计错误,而正式技术复审在发现规格说明错误和设计错误方面的有效性高达 75%。由于能够检测出并排除掉绝大部分这类错误,复审可大大降低后续开发和维护阶段的成本。 正式技术复审是软件质量保证措施的一种,包括走查(walk

16、through)和审查(inspection)等具体方法。走查的步骤比审查少,而且没有审查正规。,.,2. 走查,走查组由46名成员组成。以走查规格说明的小组为例,成员至少包括一名负责起草规格说明的人,一名负责该规格说明的管理员,一位客户代表,以及下阶段开发组(在本例中是设计组)的一名代表和SQA小组的一名代表。其中SQA小组的代表应该作为走查组的组长。 为了能发现重大错误,走查组成员最好是经验丰富的高级技术人员。必须把被走查的材料预先分发给走查组每位成员。走查组成员应该仔细研究材料并列出两张表: 一张表是他不理解的术语,另一张是他认为不正确的术语。 走查组组长引导该组成员走查文档,力求发现尽可能多的错误。走查组的任务仅仅是标记出错误而不是改正错误,改正错误的工作应该由该文档的编写组完成。走查的时间最长不要超过2小时,这段时间应该用来发现和标记错误,而不是改正错误。,.,2. 走查,走查主要有下述两种方式: (1) 参与者驱动法。参与者按照事先准备好的列表,提出他们不理解的术语和认为不正确的术语。文档编写组的代表必须回答每个质疑,要么承认确实有错误,要么对质疑做出解释。 (2)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号