甘特图 甘特图用水平线段表示任务的工作阶段,线段的起点和终点分别对应着任务的开工时间和完成时间,线段的长度表示完成任务所需的时间,如下示例。
在甘特图中,每一任务完成的标准,不是以能否继续下一阶段任务为标准,而是必须交付应交付的文档与通过评审为标准。 甘特图的优点是标明了各任务的计划进度和当前进度,能动态地反映软件开发进展情况,缺点是难以反映多个任务之间存在的复杂的逻辑关系。 PERT技术和CPM技术 PERT技术叫做计划评审技术,CPM方法叫做关键路径法,它们都是安排开发进度,制定软件开发计划的最常用的方法。它们都采用网络图来描述一个项目的任务网络,也就是从一个项目的开始到结束,把应当完成的任务用图或表的形式表示出来。通常用两张表来定义网络图。一张表给出与一特定软件项目有关的所有任务(也称为任务分解结构),另一张表给出应当按照什么样的次序来完成这些任务(也称为限制表)。 PERT技术和CPM方法都为项目计划人员提供了一些定量的工具,包括: * 确定关键路径,即决定项目开发时间的任务链。 * 应用统计模型,对每一个单独的任务确定最可能的开发持续时间的估算值。 * 计算边界时间,以便为具体的任务定义时间窗口。边界时间的计算对于软件项目的计划调度是非常有用的。 例如,某一开发项目在进入编码阶段之后,考虑安排三个模块A、B、C的开发工作。其中,模块A是公用模块,模块B与C的测试有赖于模块A调试的完成。模块C是利用现成已有的模块,但对它要在理解之后做部分修改。最后直到A、B和C做组装测试为止,这些工作步骤如图7.4所示。在此图中,各边表示要完成的任务,边上均标注任务的名字,如"A编码"表示模块A的编码工作。边上的数字表示完成该任务的持续时间。 图中有数字编号的结点是任务的起点和终点,在图中,0号结点是整个任务网络的起点,8号结点是终点。图中足够明确地表明了各项任务的计划时间,以及各项任务之间的依赖关系。
图7.4 开发模块A、B、C的任务网络图
在组织较为复杂的项目任务时,或是需要对特定的任务进一步做更为详细的计划时, 可以使用分层的任务网络图。