用Microsoft Project 2007构建企业项目管理信息系统
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第3章 管理任务与时间

3.1 输入任务

3.1.1 分解项目工作任务

在做一个项目计划时,总是需要将其分解为若干个具体可执行的任务,并规划这些任务间的关系。

将一个项目分解为若干个任务看似简单,但在实践中却是一个很复杂的问题,必须根据项目的实际情况,深入分析规划。在本书的第1章1.2.1节“工作分解结构”中,曾经介绍了如何有效地分解项目任务,读者不妨结合本章的实际操作,再温习一下这一节的内容。

3.1.2 输入任务

在Project中,可以通过多种方式输入任务。其中最常用的方式是在“甘特图”的任务列表中直接输入。在任务列表中,还可以完成任务的插入、复制和删除等操作。

1.输入与编辑任务名

在“甘特图”中,可以在任务列表的任务名称列中直接输入任务名称。在输入任务名称后,Project会自动为任务设置1工作日的估计工期。

如果需要编辑修改任务名称,可以双击任务名称,然后直接在任务名称列中编辑;或者单击任务名称,然后在数据编辑栏中编辑。这一点与Excel中单元格的操作类似。

数据编辑栏如图3-1所示。

图3-1 数据编辑栏

2.删除任务

可以通过以下步骤删除任务。

选中需要删除的任务,即在“甘特图”的任务列表部分,将鼠标指针移动到任务列表左侧灰色的任务ID列,鼠标显示为一个向右的箭头“”时,单击鼠标,选中整行。按下【Delete】键,删除整个任务。

如果在选中任务时拖动鼠标或者配合使用【Shift】键,可以选中连续的多行任务;如果在选择任务时配合使用【Ctrl】键,可以选中不连续的多个任务。

如果只选择任务列表中的任务名称项,按下【Delete】键后,Project会显示一个智能标记,提示用户选择:是仅删除任务名称,还是删除整个任务,如图3-2所示。如果仅删除任务名称,任务的其他属性均被保留,这种方式主要用于改变任务名称。这也是其默认选项。

图3-2 删除任务名称

3.插入任务

如果需要插入一个任务,可以在“甘特图”的任务列表中选中计划插入任务位置下方的任务,选择“插入”→“新任务”命令,或者直接使用键盘的【Insert】键,就可使当前任务下移,然后在此空行中输入任务名称。

4.移动任务

如果需要将一个任务移动到另一行,可以通过以下步骤完成。

在“甘特图”的任务列表部分,将鼠标指针移动到任务列表左侧灰色的任务ID列,鼠标显示为一个向右的箭头时,单击鼠标,选中任务。释放鼠标左键,指针显示为移动光标时,按下鼠标左键,拖动任务到目标位置。

在Project中,可以移动连续的多个任务,但不能移动不连续的多个任务当拖动鼠标选择连续的多个任务,或者通过配合使用【Shift】键选择多个连续的任务时,可以移动这些任务。当用【Ctrl】键选中多个任务时,即便这些任务是连续的,也无法移动。原来写Project软件的这个程序员是通过这个方法判断任务是否连续的。

如果需要,也可以只移动任务名称。在任务列表中,单击任务名称,然后将鼠标指针移动到任务名称框的左下角,指针显示为移动光标时,拖动任务名称。这种方式主要用于更改或复制任务名称,任务的其他属性将保留不变。该操作与Excel单元格的操作类似还有一些类似Excel的功能,例如,单击一个单元格后,鼠标悬停到该单元格右下角的小方点处,当鼠标指针显示为小十字符号时,拖动鼠标,可以将该单元格的内容复制到多行。

5.在其他视图中插入任务

除了在“甘特图”中插入任务外,也可以在“日历视图”、“网络图”等其他视图中插入任务。方法是在相应的视图中,选中适当的位置,选择“插入”→“新任务”命令实现插入任务操作。但在这些视图中插入任务不太直观,较少使用。

3.1.3 使用摘要任务

在前面的内容及案例中读者已经知道,当分解项目任务的时候,往往是根据项目的阶段将任务分成多个层级的树状结构,而不是将所有的任务都放在同一个层次上,这样做更有助于分阶段、分层次管理项目,如图3-3所示。

图3-3 摘要任务

摘要任务是由子任务组成并对这些子任务进行汇总的任务。Project中,大纲任务的相关信息将根据子任务的信息自动计算得到。计算公式将根据信息类型的不同而不同。例如,摘要任务的开始日期是其中最早开始的子任务的开始日期,完成日期是其中最晚完成的子任务的完成日期;摘要任务的工期是摘要任务的开始日期到完成日期之间跨越的工作日数;而摘要任务的工时则是其所有子任务的工时之和。

在Project中,可以通过大纲工具来设置摘要任务。首先可以先输入任务名称,然后再利用工具栏中的“升级”、“降级”按钮来设置摘要任务。根据需要,可以设置多级摘要任务。

在已经设置了大纲级别的任务列表中,插入新的任务时,该任务会自动将其大纲级别设为与上面的任务在同一级别。充分利用这一特点,在输入任务列表时,可以先输入框架性的任务,即纲要任务,然后逐步细化,得到最终的项目任务列表。

另外,可以使用工具栏中的“显示子任务”、“隐藏子任务”按钮,决定任务列表的显示层次。这对于查看、演示较大的任务非常有用。

3.1.4 项目摘要任务

项目摘要任务是包括整个项目的工期、工时和成本等汇总信息的任务。如果需要,项目摘要任务可以显示在任务列表的顶部,标识号为“0”,大纲级别为“0”(即最高级)。它能表示出项目从开始时间到完成时间的整个区间,如图3-3所示。

在默认情况下,Project不显示项目摘要任务。如果希望显示项目摘要任务,通过“工具”菜单打开“选项”对话框,在对话框的“视图”选项卡中,选中“显示项目摘要任务”复选框。

项目摘要任务的属性在“项目属性”对话框中设置。选择“文件”→“属性”命令,打开“项目属性”对话框,在对话框的“摘要”选项卡中的“标题”栏内,输入项目标题,该标题内容将会显示在项目摘要任务的任务名称栏中。反之,在甘特图中直接修改项目摘要任务的任务名称,也会自动改变项目属性的标题内容。如果没有专门对属性标题进行设置,则该属性默认为和该Project文件名相同。

项目摘要任务各字段的值,如开始、结束日期、成本、工期等,将根据项目中各任务的具体信息而定。

由于项目摘要任务能够简明扼要地显示整个项目的总体信息,建议读者在创建任何一个项目时都先在“选项”对话框中启用该项显示。

3.1.5 使用WBS代码

在第1章第1.2.1节中已经提到,工作分解结构(WBS)作为组织项目任务的有效方式,是项目管理的一个重要的概念和工具。

为了标识WBS每个元素在工作分解结构中的层次和位置,为每个任务设置一个唯一的编码,称为WBS代码。在Project 2007中,会按照默认格式自动生成WBS代码。

图3-4显示了旭尼德公司某客户网络安全项目计划的WBS代码在列表中增加WBS列的方法:右键单击某一列的名称,在快捷菜单中选择“插入列”命令,打开“列定义”对话框,在“域名称”中选择“WBS”。

图3-4 WBS代码

WBS代码的默认格式是以点隔开的数字。有时,希望根据组织的需要,建立特定格式的WBS代码。可以通过以下步骤自定义WBS代码格式。

(1)选择“项目”→“WBS”→“定义代码”命令,打开“××项目的WBS代码定义”对话框,如图3-5所示。

图3-5 WBS代码定义对话框

(2)在WBS代码定义对话框中,输入下列信息。

①“项目代码前缀”:输入希望显示在WBS代码前的前缀字符串。例如,旭尼德公司希望在所有WBS代码前显示“XND-”,那就在该栏内输入“XND-”。

②“代码掩码”部分决定代码的格式。其中:

“级别”为WBS的层次,第一层为1,依次类推;

“序列”中选择使用“大写字母”、“小写字母”、“数字”还是“字符”作为该级别的代码;

“长度”定义该级别代码的长度;

“分隔符”定义该级别和下一级别之间的分隔符。

③“为新任务生成WBS代码”和“检查新WBS代码的唯一性”复选框保证自动分配唯一的代码,这两个复选框默认启用。

完成上述设置后,旭尼德项目的WBS代码如图3-6所示。

图3-6 旭尼德项目的WBS代码

随书附带的光盘中可以获得代码定制演示:

\ProjectCase\WBS代码定制示例.mpp

打开项目后,请根据前面的内容进行操作演练。

3.1.6 创建周期性任务

在项目中往往会存在某些不断重复的任务。如果这些不断重复的任务并不按照有规律的时间间隔重复,可以按一般任务那样,在其每次出现的时间建立一个新任务。如果该任务按照有规律的时间间隔重复,可以将其作为周期性任务输入。周期性任务是指有规律重复发生的任务。

对于周期性任务,需要指定它的重复时间间隔、任务的工期、重复开始时间与结束时间或者重复次数等。

可以通过下述方法在Project中输入周期性任务。

选定甘特图任务列表中的相应位置,选择“插入”→“周期性任务”命令,打开“周期性任务信息”对话框,如图3-7所示。

图3-7 “周期性任务信息”对话框

单击【确定】按钮后,结果如图3-8所示。在标记域中,会显示周期性任务图标

图3-8 周期性任务

在对话框中,输入任务名称、工期。然后设置任务的重复发生方式,如每天、每周、每月、每年等,以及重复范围或发生次数。

“周期性任务信息”对话框的详细信息如下。

(1)任务名称

在此输入周期性任务的名称。在任务列表中,该名称为总的名称,每一次具体任务将会以该名称加上依次加一的数字编号构成,如图3-8所示。

(2)工期

指周期性任务中一次具体任务的工期,而不是总的工期。

(3)重复发生方式

设置任务重复发生的频率与单位。其右侧的选项将根据左侧选项的不同而不同,根据这些选项得到所需要的各种重复方式。

(4)重复范围

在重复范围中设置周期性任务发生的时间段或重复的次数。

(5)排定此任务所用日历

指定任务的日历。默认情况下,根据项目日历的工作时间和为任务工作时间所分配的资源的工作时间来安排任务。如果该选项设置为“无”,则任务根据项目日历和所有分配资源的日历安排日程;如果已将基准日历应用于任务,并将资源日历应用于分配给该任务的资源,则将在任务日历和资源共有的工作时间内排定该任务的日程;如果选中“排定日程时忽略资源日历”复选框,在排定任务的日程时,只使用任务日历。

相对于常规任务,周期性任务有以下一些特性。

① 如果项目日程排定为“从项目开始之日起”,周期性任务中的每一个具体任务的限制类型为“不得早于…开始”;如果项目日程为“从项目结束之日起”,则任务限制为“不得晚于…开始”。

② 周期性任务中的子任务的优先级被设定为最高级(1000),当进行资源调配时,周期性任务不被自动调配。

③ 对于周期性任务中的每一个具体任务,可以单独修改任务信息,如任务名称、任务工期等。甚至可以删除某一个具体任务。

对于整个周期性任务,也可以通过双击周期性任务名打开“周期性任务信息”对话框来修改其属性。修改其属性时有以下一些特点。

① 如果修改任务名称,则所有子任务的任务名称随之修改。例如,将“项目碰头会”修改为“项目例会”,其下的“项目碰头会1”会自动修改为“项目例会1”。

② 如果在“周期性任务信息”对话框中修改工期,则所有未完成任务的工期都被修改为新的工期。

③ 如果修改重复发生方式,则Project会弹出一个警告对话框,询问是否将所有未开始的任务删除,替换为依据新日程条件的任务,如图3-9所示。

图3-9 调整周期性任务的重复发生方式

④ 如果更改任务发生日期,如每周星期几或每月几号等,则所有未开始任务的限制日期被修改。

⑤ 如果周期性任务尚未开始,可以修改重复范围的开始日期,其具体任务的日期随之改动。

⑥ 如果修改周期性任务的执行次数或结束日期,则Project会自动增加或删除具体任务;如果对任务的删除影响到了已经开始的任务,则Project会给出警告。

⑦ 如果修改周期性任务的日历,则Project会给出警告,提示是否重新排定所有未开始任务的日程。

3.1.7 创建里程碑任务

一个项目计划中往往包括大量的任务,为了有效控制项目进程,需要关注项目的一些关键点,而不是每一个任务细节,这时,就需要在项目中设置一些里程碑。

里程碑是一个项目中关键事件的标识,用于监视项目进度的参考点。

在Project中,任何工期为“0”的任务都自动显示为里程碑,如图3-10所示,任务“完成需求分析”并不是一个需要投入工作量的任务,而是一个为了保证项目按期完成需要关注的关键点。为此,通过将其工期设置为“0”而使其成为一个里程碑。在甘特图中,默认以图标表示里程碑,并在其后显示日期。

图3-10 里程碑任务

在Project中,也可以将工期不为“0”的任务标记为里程碑。

通过以下步骤将工期不为“0”的任务设置为里程碑。

双击该任务名称,打开“任务信息”对话框,在“高级”选项卡中,选中“标记为里程碑”复选框,如图3-11所示,将工期为“1”工作日的任务“项目验收”设置为里程碑。

图3-11 在“任务信息”对话框中设置里程碑

当将一个工期不为“0”的任务设置为里程碑时,默认情况下甘特图中将不再显示该任务的条形图,而是在该任务的结束日期显示一个里程碑图标,并在其后显示该任务的完成日期。有时候觉得这样反而不能直观地反映任务情况,所以,编者推荐读者不将工期不为“0”的任务设置为里程碑,而是在该任务之前或之后增加一个任务作为里程碑。对于上面的例子,可以将任务“项目验收”作为一般任务,而在其后增加一个工期为“0”的里程碑“项目验收完成”,这样会更直观一些。

3.1.8 “任务信息”对话框

“任务信息”对话框包含了任务各方面的信息,可以通过“任务信息”对话框查看或设置各类任务的相关信息。

在前面的内容中,已多次使用了“任务信息”对话框。在这里较全面地介绍“任务信息”对话框的各项功能。

在甘特图中,鼠标双击任务名称,或选择“项目”→“任务信息”命令,或单击工具栏中的“任务信息”按钮,或通过快捷键【Shift+F2】,都可以打开“任务信息”对话框。此对话框具体内容如下。

1.“常规”选项卡

使用该选项卡可输入、查看或更改选定任务的基本信息。“常规”选项卡如图3-12所示。

图3-12 “任务信息”对话框的“常规”选项卡

以下是关于“前置任务”选项卡的详细信息。

(1)名称

查看或编辑任务的名称。

(2)工期

查看或设置该任务的工期。

(3)估计

如果该复选框选中,表示此工期为估计工期。甘特图中任务的估计工期将以带问号的工期值表示。

“名称”、“工期”和“估计”三项内容会在“任务信息”对话框的所有选项卡中显示。

(4)完成百分比

任务的完成百分比表明任务的实际进度。Project用该数字计算任务的实际工期和剩余工期。当输入子任务的完成百分比时,摘要任务的完成百分比将自动计算得到。如果输入摘要任务的完成百分比,则进度将被分配到其下的子任务上,但一般不直接为摘要任务输入完成百分比。

在甘特图中,任务的完成比例用实线条形图显示。当任务100%完成后,甘特图的标记栏会以完成标记指示该任务已完成。

可以在“任务信息”对话框中设置任务完成百分比,也可以通过跟踪表查看或设置任务完成百分比。选择“视图”→“表”→“跟踪”命令,打开跟踪表。然后在“完成百分比”列直接输入任务完成百分比,如图3-13所示。

图3-13 设置任务完成百分比

也可以利用“跟踪”工具栏设置任务完成百分比。选择“工具”→“自定义”→“工具栏”命令,打开“自定义”对话框,在“工具栏”选项卡中选中“跟踪”复选框;或右键单击工具栏空白处,选择“跟踪”命令,打开“跟踪”工具栏,如图3-13所示。

(5)优先级

优先级表示当Project进行资源分配时该任务在可能会被推迟的各任务中的重要程度。优先级取值为0~1000,数字越大表示任务的优先级越高,在资源分配中被推迟的可能性就越小。如果将优先级设为1000,则Project在进行资源分配时不会推迟该任务。

另外,可以选择“项目”→“排序”命令按优先级排序任务。还可以用优先级筛选任务。

(6)开始时间与完成时间

显示或设置该任务的开始时间和完成时间。默认情况下,Project将根据它的紧前任务、任务工期等信息自动计算该任务开始时间和完成时间。

如果手工指定了开始时间,则Project会为该任务设置“不得早于…开始”限制;

如果手工指定了完成时间,则Project会为该任务设置“不得早于…完成”限制。

除非必须进行限制这两种时间或其中之一,建议用户不要强行进行设置,而应当让Project自动计算。

(7)隐藏任务条形图

如果选中此复选框,在“甘特图”或“日历”视图中,则不再显示该任务的任务条形图。

(8)将条形图上卷显示于摘要任务中

指定是否要将选定的子任务上卷显示在摘要任务条中,以便在摘要任务条中显示代表子任务所处的时间跨度的条形图。如果你选中“摘要任务”的“任务信息”对话框,则该复选框名字就是“显示总成型甘特图”。

2.“前置任务”选项卡

使用“前置任务”选项卡可输入、查看或更改选定任务的前置任务信息,包括前置任务标识号、名称、任务相关性类型和延隔时间等。

需要指出,当同时选中多个任务时,可以使用“任务信息”对话框的各选项卡同时设置多个任务的信息,但“前置任务”选项卡只在选定单个任务时才可用。

“前置任务”选项卡如图3-14所示。

图3-14 “任务信息”对话框的“前置任务”选项卡

以下是关于“前置任务”选项卡的详细信息。

(1)标识号

指该任务的前置任务的标识号。输入前置任务时,只需键入前置任务的标识号,并在该行的剩余部分输入有关该前置任务的信息。如果不知道标识号,可以在“任务名称”域中选择前置任务的名称。

(2)任务名称

前置任务的名称。可以在列表中选择当前任务的前置任务,其中列出了项目中所有的其他任务。如果在“标识号”列中键入了标识号,则Project将自动在该列中输入任务名称。

(3)类型

指定任务相关性。可以从列表中单击相关性类型(FS、SS、FF、SF)来确定。

(4)延隔时间

键入任务之间的前置重叠时间或延隔时间。可以输入数字后接时间单位缩写,或用百分比的形式输入前置重叠时间或延隔时间。用负数表示前置重叠时间,如-2d代表提前2个工作日;用正数表示延隔时间,如4h代表延隔4小时。

关于前置任务的更多信息,请参见第3.4节任务相关性。

3.“资源”选项卡

使用“资源”选项卡可输入、查看或更改选定任务的资源分配和工作分配单位。“资源”选项卡如图3-15所示。

图3-15 “任务信息”对话框的“资源”选项卡

以下是关于“资源”选项卡的详细信息。

(1)资源名称

输入要分配给任务的资源的名称。每行只输入一个资源的名称,可用一个资源分配替换另一个,还可以通过单击某行然后按【Delete】键删除某个资源分配。

(2)单位

键入分配给该任务的工时分配单位数。例如,若要指定某个工时类资源在某个任务上只投入了一半精力,则键入50%。默认的工时分配单位与资源的最大单位相同,但最大为100%。即:如果资源的最大单位设置为100%,则默认的工时分配单位也设置为100%;如果资源的最大单位设置为50%,则默认的工时分配单位也设置为50%;如果资源的最大单位设置为300%,则默认的工时分配单位仍为100%。

工时分配单位也可以用十进制数表示。这取决于“选项”对话框“日程”选项卡中的设置。

工时分配单位百分比是基于资源日历中设置的可用工作时间的。如果资源日历表明该资源在星期一有8小时可用,则在星期一为任务排定的100% 表示有8小时的工时用于任务;如果资源日历表明该资源在星期二有4小时可用,则在星期二为任务排定的100% 表示有4小时的工时用于任务。

若要为任务分配材料资源,键入要使用的材料数量,默认值为1。用于定义材料资源的度量标签单位(吨、箱、码等)将显示在“单位”域中。

(3)成本

显示该资源在该任务中的计划成本。

(4)工时分配所有者

“工时分配所有者”域包含用户的名称,该用户负责在Microsoft Office Project Web Access中输入当前工作分配的状态。该域对于“本地资源”不可用。此部分内容将在本书第2篇中作详细介绍。

(5)关于添加新资源的说明

默认情况下,项目被设置为随着工时分配的进行而自动添加新资源。也就是说,如果在“任务信息”对话框的“资源”选项卡上进行操作,并需要分配还未在资源库中标识的新资源,则只需键入该资源名称。但这并不是推荐的做法。

可以更改该设置。选择“工具”→“选项”命令,然后单击“常规”选项卡,清除“自动添加新资源与任务”复选框。如果更改该设置,并希望在“任务信息”对话框的“资源”选项卡上分配新资源,仍需键入该资源名称,但在关闭该选项卡或单击【确定】按钮时Project会要求您确认该新资源。

4.“高级”选项卡

使用“高级”选项卡可以输入、查看或更改任务高级信息。“高级”选项卡如图3-16所示。

图3-16 “任务信息”对话框的“高级”选项卡

以下是关于“高级”选项卡的详细信息。

(1)期限

输入一个表示希望该任务在何时完成的日期。设置期限并不会设置日期限制,也不会影响任务的日程排定。设定期限后,会在“甘特图”的图表部分显示一个箭头。在超过了期限但任务仍未完成时,在标记栏中将显示一个超出期限标记

(2)限制类型

可以在任务允许的开始日期或完成日期中指定限制条件。可为每项任务分配一个限制。如果指定除“越早越好”和“越晚越好”以外的限制,需要在“限制日期”框中输入适当的日期。

(3)任务类型

指定工时、工时分配单位或工期的更改对该任务其他两个域的计算方式的影响。

(4)日历

如果在这里为该任务指定日历,任务日历将覆盖项目日历的设置;如果已应用了任务日历并分配了资源,则该任务将在任务日历和资源日历中都是“工作时间”的时间内排定日程;如果选中了“排定日程时忽略资源日历”复选框,则只有任务日历被用于排定任务日程。

(5)WBS码

指定要应用于该任务的WBS代码。“WBS”域包含可用于表示任务在项目层次结构中的位置的字母代码。

(6)盈余分析方法

指定是使用“完成百分比”还是使用“实际完成百分比”来计算盈余分析。

(7)标记为里程碑

将该任务标记为里程碑。

5.“备注”选项卡

使用该选项卡可输入或查看选定任务的备注,包括添加或修改文字备注、插入声音、图像等。“备注”选项卡如图3-17所示。

图3-17 “任务信息”对话框的“备注”选项卡

将备注添加到任务后,在任务列表的“标记”域中将显示一个备注标记。可以将鼠标指针指向备注标记以阅读备注内容,或双击该备注标记以打开该“备注”选项卡。

若要输入有关整个项目而不是个别任务的备注,选择“文件”→“属性”命令,单击“摘要”选项卡,在“备注”框中键入备注。也可以在项目摘要任务的“备注”选项卡中输入任务的备注信息。

6.“自定义域”选项卡

域是用来描述任务、资源或工时分配的特定属性的,如任务的名称、工期等。在工作表中,每个列都是一个域,在某些视图(如“任务分配状况”视图或“任务使用状况”视图)的时间表部分,“详细信息”列下面的项(如工时或实际工时)就是包含时间分段任务、资源或工时分配信息的域;在窗体中,域是命名的框或列中的位置;在“网络图”中,域包含在每个“网络图”框中。

Project中为任务、资源和工时分配定义了数百个域。其中大部分的域已经赋予了确切的定义,例如,任务的“工期”域就只用来描述任务的持续时间,不能做其他用途;另外有一些域Project只是确定了它们的类型(如文本类的、数字类的等),具体的含义由用户自己定义,例如,“文本1”域是文本类的,可以把它定义为“地点”属性,也可以定义为“专业”属性等,创建自定义域操作就是把这类的域赋予特定含义的过程。

选择“工具”→“自定义”→“域”命令,打开“自定义域”对话框,如图3-18所示。在“自定义域”对话框中可以重命名或导入自定义域。

图3-18 “自定义域”对话框

当设置好自定义域以后,可以通过“任务信息”对话框的“自定义域”选项卡查看或编辑任务自定义域值,如图3-19所示。

图3-19 “任务信息”对话框的“自定义域”选项卡

在该对话框中可以编辑自定义域的值,但不能编辑自定义域的名称。如果要编辑自定义域的名称,必须使用图3-18所示的“自定义域”对话框。

关于“自定义域”的更多功能,将在第2篇中详细介绍。

3.2 任务工期

3.2.1 输入任务工期

在Project中输入任务时,Project自动为任务设置1工作日的默认工期,并将其设置为“估计”工期。在“选项”对话框的“日程”选项卡中,可以设置默认工期的单位。

在输入完任务列表后,需要为每项任务指定工期,可直接在任务列表的工期列中输入工期。如果只输入数字,Project则会以“工具”对话框“日程”选项卡中设置的默认单位为工期单位,默认值为“工作日”;如果需要输入其他单位的工期,可以使用缩写:即m表示分钟、h表示小时、d表示工作日、w表示周、mo表示月。例如,在工期列输入2w表示该任务有2周工时工期(大写和小写效果相同)。

如果多个任务具有同样的工期,可以同时选中这些任务,然后单击鼠标右键,选择快捷菜单中的“任务信息”命令,打开“多任务信息”对话框,在“常规”选项卡中的工期框输入工期。

如果具有同样工期的任务是连续的,还有一种简便的工期输入方法。即为第一个任务输入工期后,单击选中此工期框,将鼠标指针移动到工期框的右下角,当鼠标指针显示为单元格填充光标时,向下拖动鼠标,完成连续列的更新。该操作与Excel类似。

在Project中,摘要任务的工期将自动计算得到,不能手工设置。

3.2.2 估计任务工期

如果不能确定任务工期的具体值,只能根据目前的信息估算工期,可以将其标识为估计工期。默认情况下,估计工期具有明显的标记,即在工期单位后显示一个问号。

选择“项目”→“筛选”→“具有估计工期的任务”筛选器可以方便地查看所有具有估计工期的任务。

默认情况下新任务的工期为“估计”工期。若要关闭该设置,清除“选项”对话框的“日程”选项卡中的“新任务具有估计工期”复选框。

如果不希望显示估计工期的问号,清除“选项”对话框的“日程”选项卡上的“显示任务具有估计工期”复选框。

当输入了一个任务的工期值后,该工期将被认为是确定的工期。如果需要指定该工期为估计工期,打开该任务的“任务信息”对话框,在对话框的“常规”选项卡中,选中“估计”复选框,如图3-20所示。

图3-20 设置任务估计工期

3.2.3 24小时制工期

某些任务的工作时间是连续的。例如,产品性能试验需要连续开机96小时,即连续的4天。这96小时将忽略项目日历或非工作时间的限制。这样的任务称为“24小时制工期”英文原文为Elapsed Duration,译作“24小时制工期”并不能直观地反映其原意,这是Project中文版的译法。的任务。

如果任务工期需要按“24小时制工期”表示,在“工期”列中输入工期时,需要在工期单位前加字母“e”,如“4ed”表示连续的4天,在“工期”列中将显示为“4天”,而不是“4工作日”。为该项任务分配资源后,工时也会按照24小时计算。

如图3-21所示,“任务B”的工期为“4ed”(4天),该任务使用了周末非工作时间。

图3-21 24小时制工期

3.3 任务类型

3.3.1 任务类型概念

项目管理的一个重要工作就是管理进度计划。在Project中,有3个和进度计划关系密切的域:工时、工期和单位。

工时是指完成任务所需投入的工作量。具体来说,对于任务,工时是指完成任务所需的人员总工作时数;对于工时分配,工时是指分配给资源的工时量;对于资源本节研究工作量相关问题所提及的资源都是指工时类资源,也可以简单地想成项目人员。,工时是指为完成所有任务而分配给资源的总工时量。日常工作中所说的完成一项工作需要多少人月,就是工时的概念。

工期是指完成一项任务所需要的有效工作时间的数量,通常是从任务的开始时间到完成时间的工作时间总量。例如,日常所说的完成某项工作需要15个工作日,就是工期的概念。它指的是完成该项工作的时间跨度是15工作日,其中不包括休息时间,如周末等,也不考虑人员投入量。

单位是指分配到一项任务上的资源的数量。单位的数量可以用百分数或十进制数表示。例如,将一个电工分配给“电器维修”任务,分配给该任务的资源单位就是100%或1。如果一个技术顾问只投入50%的精力到“技术咨询”任务,则分配给该任务的资源单位为50%或0.5。

上述三个域是相互关联的,其关系为:

工时=工期×单位。

其中一个因素固定时,其他两个因素中的一个变动,另一个会随之变动。

根据任务的上述特点,Project将任务分为三种类型:固定单位任务、固定工期任务和固定工时任务。

可以通过“任务信息”对话框的“高级”选项卡来设置任务类型,如图3-22所示。

图3-22 通过“任务信息”对话框设置任务类型

新建一个任务但还没有给该任务分配资源时,该任务只有工期是有意义的。而工时和单位没有意义,在Project中暂时将其设为“0”。当第一次为该任务分配资源时,同时就为该任务分配了单位(数量),Project会根据上述公式计算任务的工时。此后,如果资源发生变化,则Project会根据任务的类型等信息重新计算工期、工时或单位。

默认情况下,第一次为一个任务分配资源后就确定了该任务的总工时,以后向任务再增加资源或者减少资源时,Project会在确保总工时不变的前提下根据分配给该任务的资源数量延长或缩短任务的工期,这称之为“投入比导向”的计划。

在Project中,默认的任务类型是“固定单位”,且默认启用“投入比导向”功能。

在国内多数实践中,大多数情况下是先估算出任务的工期,再安排资源,而不希望一旦分配或调整资源就导致工期自动变化。所以,建议读者将任务的默认类型调整为固定工期,并关闭“投入比导向”功能。方法是选择“工具”→“选项”命令,打开“选项”对话框,在“日程”选项卡中将“默认任务类型”设为“固定工期”,并清除“新任务为投入比导向”复选框,并单击【设为默认值】按钮,将其设为全局设置,如图3-23所示。

图3-23 设置默认任务类型

3.3.2 固定单位任务

当将一个任务类型设为固定单位时,分配给该任务的单位(即资源数量)是固定不变的,对工时量或任务工期所进行的任何更改都不会影响单位值。

对于固定单位任务:

● 如果修改其单位(即资源投入量),则Project将重新计算其工期;

● 如果修改工期,则Project将重新计算工时;

● 如果修改工时量,则Project将重新计算工期。

图3-24是对同一个固定单位任务分配不同数量资源或调整工期后的效果如何在“甘特图”列表中显示工时列:右键单击某列名,快捷菜单中选择“插入列”命令,在“列定义”对话框的“域名称”下拉框中选中“工时”。拖动列名称,可以改变列的显示顺序。

图3-24 “固定单位”类任务

图中任务A1到任务A6为同一个任务,新建该任务时工期设为5工作日,具体内容如下。

①“任务A1”是刚刚新建任务时的效果。工期为5工作日,由于没有分配资源,故工时为“0”。

②“任务A2”是复制“任务A1”后将资源“张珊”分配给该任务后的效果。由于分配了资源,Project计算出工时为“40”。即:8小时×1单位×5工作日(工期)=40工时此处的“8小时”并不是任务类型基本公式“工时=工期×单位”的一部分,而只是因为工期显示单位为“天”,而工时显示单位为“小时”,且每日工时的默认值为8,在此只是进行换算。读者如有兴趣,可以在“选项”对话框的“日程”选项卡中,将“工期显示单位”由“天”改为“小时”,再演练本部分案例。

③“任务A3”是复制“任务A2”,并禁用“投入比导向”后,再增加资源“李诗”的效果。由于禁用“投入比导向”功能,Project保持工期不变,并根据工期和单位重新计算工时。即:8小时×2单位×5工作日(工期)=80工时。

④“任务A4”是复制“任务A2”,并启用“投入比导向”后,再增加资源“李诗”的效果。由于启用“投入比导向”功能,Project保持总工时不变,并根据工时和单位重新计算工期。即: 40工时/2单位=20小时(工期),20小时(工期)/8小时(每天)=2.5工作日(工期)此处只是将工期单位由“小时”换算为“工作日”,与任务类型基本公式无关,理由与脚注②同。

⑤“任务A5”是复制“任务A2”,并禁用“投入比导向”后,将工期延长为10工作日后的效果。由于禁用“投入比导向”功能,Project根据工期和单位重新计算工时。即:8小时×1单位×10工作日(工期)=80工时。

⑥“任务A6”是复制“任务A2”,并启用“投入比导向”后,将工期延长为10工作日的效果。由于启用“投入比导向”功能,Project保持总工时不变,根据工期和工时重新计算单位,张珊现在每天只用投入一半精力到这个任务上。即:40工时/[10工作日(工期)×8小时]=0.5单位。

当改变一个启用“投入比导向”的任务的工期时,Project并未直接按上述“任务A6”所描述的方法计算,而是默认为工时改变,但给出提示,即在任务名称的左上角显示一个图标,鼠标悬停在该图标时,会显示智能标记。单击该标记,将提示用户选择如何计算工期、工时或单位,如图3-25所示。

图3-25 更改工期智能标记

3.3.3 固定工期任务

当将一个任务设定为固定工期类型时,该任务的工期是固定值。对于固定工期的任务:

● 如果修改单位,则Project将重新计算工时;

● 如果修改固定工期任务的工期,则Project将重新计算工时;

● 如果修改工时量,则Project将重新计算单位。

图3-26是对同一个固定工期类型任务分配不同数量资源或调整工期后的效果。

图3-26 “固定工期”类任务

图中任务B1到任务B6为同一个任务,新建该任务时工期设为5工作日,具体内容如下。

①“任务B1”是刚刚新建任务时的效果。工期为5工作日,由于没有分配资源,故工时为“0”。

②“任务B2”是复制“任务B1”后,将资源“张珊”分配给该任务时的效果。由于分配了资源,Project计算出其工时为“40”。

③“任务B3”是复制“任务B2”,并禁用“投入比导向”后,再增加资源“李诗”的效果。由于禁用“投入比导向”功能,Project根据工期和单位重新计算工时。

④“任务B4”是复制“任务B2”,并启用“投入比导向”后,再增加资源“李诗”的效果。由于启用“投入比导向”功能,Project保持总工时不变,并根据工时和工期重新计算单位。即:40工时/[5工作日(工期)×8小时]=1单位。由于要将1单位资源分配给张珊和李诗两人,故每人投入0.5单位。

⑤“任务B5”是复制“任务B2”,并禁用“投入比导向”后,将工期延长为10工作日的效果。由于禁用“投入比导向”功能,Project根据工期和单位重新计算工时。即:8小时×1单位×10工作日(工期)=80工时。

⑥“任务B6”是复制“任务B2”,并启用“投入比导向”后,将工期延长为10工作日的效果。由于启用“投入比导向”功能,Project保持总工时不变,根据工期和工时重新计算单位,张珊现在每天只用投入一半精力到这个任务上。即: 40工时/[8小时×10工作日(工期)]=0.5单位。进行此操作时,Project会显示智能标记提示用户选择如何计算工期、工时或单位。

3.3.4 固定工时任务

当将一个任务设为固定工时类型时,该任务的工时保持不变。固定工时类任务总是投入比导向的。对于固定工时任务:

● 如果修改单位,则Project将重新计算工期;

● 如果修改工期,则Project将重新计算单位;

● 如果修改固定工时任务的工时量,则Project将重新计算工期。

图3-27是对同一个固定工时任务分配不同数量资源或调整工期后的效果。

图3-27 “固定工时”类任务

图中任务C1到任务C4为同一个任务,新建该任务时工期设为5工作日。具体内容如下。

①“任务C1”是刚刚新建任务时的效果。工期为5工作日,由于没有分配资源,故工时为“0”。

②“任务C2”是复制“任务C1”后,将资源“张珊”分配给该任务时的效果。由于分配了资源,Project计算出工时为“40”。

③“任务C3”是复制“任务C2”后,再增加资源“李诗”的效果。由于固定工时类资源总是投入比导向的,Project保持总工时不变,并根据工时和资源重新计算工期。即:40工时/2单位=20小时(工期),20小时(工期)/8小时(每天)=2.5工作日(工期)。

④“任务C4”是复制“任务C2”后,将工期延长为10工作日后的效果。由于启用“投入比导向”,Project保持总工时不变,根据工期和工时重新计算单位,张珊现在每天只用投入一半精力到这个任务上。

随书附带的光盘中可以获得任务类型演示:

\ProjectCase\任务类型示例.mpp

打开项目后,请根据前面的内容进行操作演练。

3.4 任务相关性

3.4.1 理解任务相关性

项目中的各个任务并不是相互孤立的,它们之间往往存在着依赖关系。例如,“需求分析”任务完成后才能进行“方案设计”。两个链接任务之间的关系称为任务相关性,即其中一个任务开始或结束要依赖于另一个任务的开始或结束时间。我国的国家标准《网络计划技术常用术语》(GB/T13400.1—92)是如下定义四个术语的。

紧前工作:紧排在本工作之前的工作。

紧后工作:紧排在本工作之后的工作。

先行工作:自起点节点至本工作之前各条线路上的所有工作。

后续工作:本工作之后至终点各条线路上的所有工作。

在Microsoft Project中,前置任务指的是国家标准中的“紧前工作”,而不是指“先行工作”;后续任务指的是国家标准中的“紧后工作”,而不是指“后续工作”,希望读者不要混淆二者的概念。

在两个任务间创建链接后,Project会基于前置任务的起止日期、相关性类型和后续任务的工期来计算后续任务的开始日期和完成日期。也就是说,任务相关性将影响任务日程的排定。

3.4.2 任务相关性类型

在Project中,任务相关性有如下4种类型。

(1)完成—开始(FS)

“任务B”在“任务A”完成时开始。即“任务B”的开始时间取决于“任务A”的完成时间。

这是最常见的任务关系,也是Project默认的任务相关性类型。

(2)开始—开始(SS)

“任务B”在“任务A”开始时开始。即“任务B”的开始时间取决于“任务A”的开始时间。

(3)完成—完成(FF)

“任务B”在“任务A”完成时完成。即“任务B”的完成时间取决于“任务A”的完成时间,而“任务B”的开始时间根据其完成时间和工期推算。

例如,“会议服务”任务的完成时间取决于“会议”任务的完成时间。

(4)开始—完成(SF)

“任务A”开始时“任务B”完成。即“任务B”的完成时间取决于“任务A”的开始时间。

例如,“值夜班”任务必须要等到“上早班”任务开始时才能结束。

图3-28显示了以上四种任务相关性。

图3-28 任务相关性

3.4.3 延隔时间和提前时间

延隔时间是指具有相关性的任务之间的间隔时间。例如,如果“任务A”完成2工作日后“任务B”开始,可以在“任务A”和“任务B”之间建立“完成—开始”相关性,并指定一个2工作日的延隔时间。

相应地,提前时间是指具有相关性的任务之间的重叠时间。例如,如果某一任务在它的前置任务完成一半时开始,可以为后续任务指定前置重叠时间为50% 的“完成—开始”相关性。在Project中,提前时间用一个负值的延隔时间表示。

图3-29中,“任务A5”完成后1个工作日“任务B5”开始。“任务A6”完成前1工作日“任务B6”即开始。

图3-29 任务延隔时间

3.4.4 建立任务相关性

在Project中,可以通过多种方法设置任务相关性。

● 在甘特图中,单击前置任务条形图,拖动鼠标到后续任务条形图上,释放鼠标;

● 选中两个或多个任务,单击工具栏中的链接按钮

● 选中两个或多个任务,选择“编辑”→“链接任务”命令;

● 选中两个或多个任务,按下【Ctrl+F2】快捷键。

以上几种方法将在两个任务之间建立Project默认的任务相关性,即从先选中的任务到后选中的任务之间的“完成—开始(FS)”关系。

● 在甘特图任务列表的前置任务列中,直接输入前置任务ID及相关性类型,也可以输入延隔时间量。例如,在ID为16的任务完成前1工作日ID为17的任务开始,就可以在ID为17的任务的“前置任务”列中输入“16FS-1d”,如图3-29所示。

● 双击后续任务的任务名,打开“任务信息”对话框,在“前置任务”选项卡中,输入前置任务ID或前置任务名,并设置相关性类型和延隔时间,如图3-30所示,表示在旭尼德网络安全项目中,“整理需求分析文档”任务在“平衡业务需求与技术需求”任务完成前1天开始。

图3-30 利用“任务信息”对话框设置任务相关性

在甘特图中,双击任务相关性连线可以打开“任务相关性”对话框,如图3-31所示。在“任务相关性”对话框中可以修改或设置任务相关性。同时,也可以指定延隔时间。

图3-31 “任务相关性”对话框

随书附带的光盘中可以获得任务相关性演示:

\ProjectCase\任务相关性示例.mpp

打开项目后,请根据前面的内容进行操作演练。

3.4.5 关键路径

关键路径是指为使项目按时完成机动时间最少的任务序列。关键路径上的每个任务都是关键任务。

如图3-32所示,任务1、2、3、5、6构成了关键路径。这五个任务中的任何一个滞后完成都会导致整个项目的滞后完成,这五个任务都是关键任务。而对于任务4(“客户培训”),则有一定的可机动时间,因而任务4为非关键任务。

图3-32 关键任务与关键路径

关键任务也可以定义为可宽延时间“可宽延时间(英文为Slack或float)”的说法是不准确的。在网络计划技术国家标准中,专业的术语应当称之为“时差”,即“工作或线路可以利用的机动时间”。在不影响整个项目完成时间前提下的这个机动时间称之为“总时差”,在不影响紧后任务最早开始时间前提下的这个机动时间称之为“自由时差”,这个时间是由Project自动计算出来的。为“0”的任务。所谓可宽延时间,是指一项任务可被延误而不会影响整个项目完成日期的时间量,即该任务可允许的最晚完成时间与最早完成时间之差。图3-32中,任务4“客户培训”就有8工作日的可宽延时间。

需要对任务做出修改以解决资源过度分配、调整成本或者修订范围时,应首先明确关键任务,因为对关键任务的更改将有可能影响项目的完成日期。

Project会自动计算和识别关键任务和关键路径,不需要用户自己判断和指定。选择“格式”→“文本样式”命令,在“要更改的项”选项中选取“关键任务”,并在“颜色”选项中选特殊颜色(一般为红色),就可以在甘特图的表部分区别出哪些是关键任务。选择“格式”→“甘特图向导”命令,在向导对话框第2页中选择“关键路径”,可以在甘特图部分用红色显示出关键任务和关键路径。

当一项关键任务被注明完成时,就不再是关键任务,因为它不再影响后续任务的完成或项目的完成日期。

如果希望缩短整个项目的工期,可以考虑下面的一些方法:

● 缩短关键任务的工期或减少关键路径上任务的工时;

● 更改任务限制以增加日程排定的灵活性;

● 将关键任务分解成多个由不同资源同时进行的小任务;

● 修订任务相关性以增加日程排定的灵活性;

● 在适当的相关任务间设置前置重叠时间;

● 排定加班工时;

● 为关键路径上的任务分配额外资源。

需要注意的是,在项目实际进行的过程中关键路径可能会发生改变。例如,图3-32中的任务“客户培训”的完成日期如果拖延到4月10日以后,它将变为关键任务。

虽然关键任务常被定义为没有可宽延时间的任务,用户也可以更改这个判断关键任务的条件。例如,可以将短于2个工作日的可宽延时间的任务也定义为关键任务。在“选项”对话框中的“计算方式”选项卡中可以设置,如图3-33所示。

图3-33 设置关键任务定义

3.5 拆分任务

在项目规划与管理过程中有时需要中断任务的工作。例如,“喷漆”任务包括两次喷漆操作,中间有2天的干燥时间;或者日程中同时进行的两项任务使用同一资源。在这样的情况下,可以拆分相关的任务,使其在执行一段时间以后暂停,在条件或资源具备时继续开始。利用任务拆分,可以有效地设置任务的中断、构建复杂的任务或将多个类似的任务作为单一的任务来处理。

可以通过下述步骤进行任务拆分。

① 切换到“甘特图”视图。

② 单击工具栏中的“任务拆分”按钮、或选择“编辑菜单”→“任务拆分”命令、或右键单击该任务的任务条选择快捷菜单中的“任务拆分”命令。鼠标指针将显示为“任务拆分”光标,同时Project显示一个提示信息框,如图3-34所示。

图3-34 任务拆分

③ 将鼠标指针移动到甘特图任务条上需要拆分的位置,按下鼠标指针,拖动到相应的日期,完成拆分。

利用任务拆分可以将一个任务拆分成许多段,如图3-35所示。任务被拆分的段数理论上没有上限。

图3-35 任务拆分结果

默认情况下,被拆分任务的拆分间隔用虚线表示,间隔时间以工作日计算。与任务类似,拆分间隔也有间隔开始日期与间隔结束日期。

在Project中,任务拆分信息不会显示在“任务信息”对话框中,也没有任何提示图标。只能在“甘特图”视图和使用“状况”视图中设置任务拆分,也只能在“甘特图”视图、使用“状况”视图及“日历”视图中查看任务拆分情况。

需要注意的是,任务拆分间隔不同于非工作时间。项目日历、任务日历及资源日历中的非工作时间将影响任务的日程排定,但不能被视作任务拆分。

在Project 2007中,任务拆分不影响任务的工期值,这与以前的版本不同。

3.6 任务限制

3.6.1 任务限制概念

如前所述,在Project中,任务的开始时间和完成时间等属性将根据项目开始时间或完成时间及任务相关性自动计算得到。但对于某些特定的任务,可能需要指定特定开始时间或完成时间,这就需要设置任务限制。

在Project 2007中,将任务限制分为3大类,即弹性限制、半弹性限制和非弹性限制。

① 弹性限制。不设定与任务关联的特定开始日期或完成日期。在此类限制下Project根据任务相关性等因素,尽可能早或尽可能晚地开始任务,并在项目完成前结束任务。

② 半弹性限制。设定控制任务的最早或最晚开始或完成日期的日期。此类限制允许任务在满足开始或完成期限的任意时间内开始或完成。

③ 非弹性限制。设定控制任务的必须开始或完成日期。此类限制只允许任务在指定的时间内开始或完成。

Project将任务限制分为以下8类。

(1)越晚越好(ALAP)

这是一个弹性限制。在确保项目完成日期不推迟的前提下,将任务日程排定得尽可能晚。在“项目信息”对话框中的项目日程排定方法设为“从项目完成日期开始”时,ALAP是任务的默认限制。此类限制不指定任务开始或完成日期。

(2)越早越好(ASAP)

这是一个弹性限制。在项目开始日期确定的前提下,将任务日程排定为尽早开始。在“项目信息”对话框中的项目日程排定方法设为“从项目开始日期开始”时,ASAP是任务的默认限制。此类限制不指定开始或完成日期。

(3)不得早于…开始(SNET)

这是一个半弹性限制。将任务日程排定为在指定日期或指定日期之后开始。使用此限制确保任务不会在指定日期之前开始。

如果从项目开始日期起排定日程,当输入了任务的开始日期或通过鼠标指针从左向右拖动来创建任务时,Microsoft Project将自动指定此限制。

(4)不得早于…完成(FNET)

这是一个半弹性限制。将任务日程排定为在指定日期或指定日期之后完成。使用此限制确保任务不会在某个日期之前完成。

如果项目从开始日期起排定日程,则当输入了任务的完成日期或通过鼠标指针从右向左拖动来创建任务时,Microsoft Project将自动指定此限制。

(5)不得晚于…开始(SNLT)

这是一个半弹性限制。将任务日程排定为在指定日期或指定日期之前开始。使用此限制确保任务必须在指定的日期之前开始。

如果项目从完成日期起排定日程,当输入了任务的开始日期或通过鼠标指针从左向右移动创建任务时,Microsoft Project将自动指定此限制。

(6)不得晚于…完成(FNLT)

这是一个半弹性限制。将任务日程排定为在指定日期或指定日期之前完成。使用此限制确保任务必须在某个日期之前完成。

如果从项目完成日期起排定日程,当输入了任务完成日期或通过鼠标指针从右向左移动创建任务时,Microsoft Project将自动指定此限制。

(7)必须完成于(MFO)

这是一个非弹性限制。将任务排定为在指定的日期内完成。该限制将任务的最早、计划和最晚完成日期设置为键入的日期,并在日程中锁定任务。

(8)必须开始于(MSO)

这是一个非弹性限制。将任务排定为在指定的日期开始。该限制将任务的最早、计划和最晚开始日期设置为键入的日期,并在日程中锁定任务。

Project中所有的任务都有限制。如果创建任务时没有指定限制,从项目开始之日起排定日程的项目任务的默认限制为“越早越好”,从完成之日起排定日程的项目任务的默认限制为“越晚越好”。

在“任务信息”对话框的“高级”选项卡中,可以设置任务限制类型和限制日期,如图3-36所示。

图3-36 任务限制类型

在“甘特图”中,如果一个任务的限制类型不是弹性限制,该任务的标记栏会显示一个标识,当鼠标指针悬停在标识上时会显示一个提示,如图3-37所示。半弹性限制将用蓝色图标显示,非弹性限制将用红色图标显示。

图3-37 任务限制提示

3.6.2 任务限制对日程的影响

对于弹性限制而言,任务限制不会影响整体日程及其他相关任务的日程。而对于半弹性或非弹性任务,则有可能影响相关任务的日程,或违背任务相关性设置。

通过以下演示来观察任务限制对日程的影响。

① 图3-38表示了旭尼德网络安全项目默认情况下的日程排定。

图3-38 默认限制类型

② 当将“客户培训”任务的限制类型改为“越晚越好”后,该任务的开始日期会在不影响“系统部署”任务开始时间的前提下自动向后推迟。在任务相关性中,前置任务依然是“2”,而不是“2+8工作日”,如图3-39所示。

图3-39 “越晚越好”限制类型

③ 当将“系统部署”任务的限制类型改为“不得晚于…完成”时,Project会弹出“规划向导”对话框,提示该限制可能在日后会引起日程排定冲突,须用户做出选择,如图3-40所示。

图3-40 “规划向导”对话框

④ 在图3-40的对话框中选择“继续,设定不得晚于…完成限制”,强行实施该限制。单击【确定】按钮后,Project使用该任务当前的完成日期作为限制日期,结果如图3-41所示。

图3-41 “不得晚于…完成”限制类型

⑤ 完成上述操作后,再将“客户培训”任务的限制类型改为“不得早于…开始”,并将其限制日期改为2008年4月14日。此时,Project会弹出“规划向导”对话框,提示日程冲突,选择继续,结果如图3-42所示。

图3-42 “任务限制”与“任务相关性”的冲突

⑥ 这里看到,“系统部署”任务的前置任务为“客户培训”,且它们之间是“完成—开始(FS)”关系,并没有延隔时间或提前时间,但“系统部署”任务的开始时间却早于“客户培训”任务的完成时间。显然这已经违背了任务相关性要求。

上例中,“系统部署”任务并没有根据任务相关性要求调整时间。由此可见,任务限制类型的作用要高于任务相关性,但这只是Project的默认设置。

可以在“选项”对话框的“日程”选项卡中改变这一设置,即清除“任务要服从限制日期”复选框,如图3-43所示。

图3-43 “任务要服从限制日期”设置

⑦ 当清除该复选框后,“系统部署”任务会向后顺延,以保证不违背任务相关性。但该任务的限制类型却不能满足了,如图3-44所示。

图3-44 任务服从相关性要求

随书附带的光盘中可以获得任务限制类型演示:

\ProjectCase\任务限制类型示例.mpp

打开项目后,请根据前面的内容进行操作演练。

3.6.3 任务期限

有时候需要关注任务的完成时间,但却不希望遇到3.6.2节中设定限制类型带来的日程排定问题,这时可以使用期限。期限期限与限制两个术语从字面上看比较类似,从原文上,期限:Deadline,限制:Constraint很容易区分。希望读者不要混淆。表明希望完成任务的目标日期。设定期限后,Project会在“甘特图”中显示一个期限标记。如果期限日期已过而任务仍未完成,Project就会在标记栏中显示一个标记

期限并不直接影响任务的日程排定。可以在“任务信息”对话框的“高级”选项卡中设置任务期限,如图3-45所示。

图3-45 设置任务期限

在图3-46中,“任务A”从3月10日开始,工期为3工作日,任务期限为3月13日。“任务B”复制自“任务A”,但工期拖延,导致超出期限,系统给出提示。

图3-46 任务期限

3.7 日历

3.7.1 Project中的日历

在前面的内容中,一直使用每周5个工作日,每个工作日8小时的标准日历安排项目任务。

日历定义了具体的工作时间和非工作时间,是Project排定项目日程的依据。

Project中有以下四种类型的日历。

① 基准日历。基准日历是可用作项目日历、任务日历或指定一组资源的默认工作和非工作时间的日历。

② 项目日历。项目日历是当前项目所使用的基准日历。

③ 资源日历。资源日历是为特定资源指定工作时间和非工作时间的日历。

④ 任务日历。任务日历是应用到具体任务以控制其日程排定的基准日历,通常独立于项目日历或分配到任务上工作的资源的日历。在默认情况下,所有任务都使用项目日历作为任务日历。

这些日历用于确定资源的可用性、如何安排分配给任务的资源的日程,以及如何安排任务的日程。项目日历和任务日历用于安排任务日程,如果有资源分配到任务上,任务日程还将受资源日历影响。

可以修改这些日历,或者定义新的日历来定义整个项目、各个资源组、个别资源,以及任务的工作日和工作时间。

注意,本节所讲的日历与“日历”视图不同,“日历”视图是指用日历格式显示项目日程的一种视图。

3.7.2 基准日历与项目日历

1.基准日历

基准日历指定每个工作日的工作时间、每周的工作日及任何例外日期,是项目日历、资源日历或任务日历所依据的模板,它为项目定义标准工作时间和非工作时间。同时,如果没有特别指定,项目、资源及任务将使用“标准”基准日历作其默认日历。

Project提供了以下三个默认的基准日历。

① 标准基准日历。标准基准日历是按常见的传统工作日程制定的日历,即周一到周五,上午8:00到下午5:00工作,中间一个小时休息。

② 24小时基准日历。24小时基准日历是按没有非工作时间的日程制定的日历,即每周7天,每天24小时。“24小时”日历可用于为一昼夜内不同的班次安排资源和任务日程,或者连续安排设备资源的日程。

③ 夜班基准日历。夜班基准日历按周一晚上到周六早上的夜班日程制定的日历,工作时间为每天晚上11:00到早上8:00,中间一个小时休息。

读者可以根据需要创建自己的基准日历。具体方法参见3.7.3节。

2.项目日历

当创建一个项目时,可以为该项目指定其项目日历,项目日历定义该项目中任务的工作时间和非工作时间。

一般情况下,用项目日历表示组织的传统工作时间或组织的默认工作时间。如果Project中没有为任务分配资源,或者该任务类型为固定工期的任务,项目日历将决定该任务的日程。默认情况下,标准基准日历将作为项目日历。

选择“项目”→“项目信息”命令,打开“项目信息”对话框,为项目设置其项目日历,如图3-47所示。

图3-47 利用“项目信息”对话框设置项目日历

3.7.3 更改工作时间

由于组织的实际需求有时候需要更改项目的工作时间,或者组织在某些特定的时间安排了假期,项目日程应该反映出这些日期变化。使用“更改工作时间”对话框来完成这些操作。

选择“工具”→“更改工作时间”命令,打开“更改工作时间”对话框,如图3-48所示。

图3-48 “更改工作时间”对话框

使用“更改工作时间”对话框可以查看、更改或新建日历。Project 2007中的“更改工作时间”对话框相对于Project 2003有较大变化。它使用“例外日期”和“工作周”来设置特定的日期。其各部分说明如下。

1.“对于日历”下拉框

指本对话框显示的或要修改的日历。该下拉框中包括Project 2007内置的和此前新建的基准日历,以及所有此前向项目添加资源时自动创建的资源日历。

当前项目所用的项目日历名称后将显示“(项目日历)”以示说明。例如,图3-48中,由于本项目使用标准基准日历,故显示为标准(项目日历)。而其他日历只显示日历名。

2.“日历‘标准’为基准日历”标签

在“对于日历”下拉框下方将显示一个文本标签,显示目前选中日历的说明。如果选中的是某一资源的资源日历,此处将显示其他内容,具体请参见3.1.6节。

3.【新建日历】按钮

单击此按钮可以建立新基准日历,具体内容参见3.7.4节。

4.图例

图例用于说明在预览日历时的图示含义。

① 工作日:以白框形式表示工作日。

② 非工作日:以灰框形式表示非工作日。

③ 工作时间有变化的日期:以带下划线的日期表示工作时间已从默认值更改为其他值的日期。

④ 例外日期:以带蓝色底纹及下划线的日期表示通过“例外日期”选项卡进行了更改的日期。

⑤ 非默认工作周:以带黄色底纹及下划线的日期表示通过“工作周”选项卡进行了更改的日期。

5.日历预览

以月历形式显示日历。

单击日历预览中的相应日期可以查看特定日期的工作时间、工作周信息及该日期是否属于任何例外日期。使用垂直滚动箭头可以移到其他月份。

在日历预览的右侧,会显示该日期的具体信息,包括该日期的工作时间及该日期时间设置所基于的日历及其相关的例外日期或工作周。

6.“例外日期”选项卡

“例外日期”选项卡用来为选定的日历设置偶尔变化的日期,如节假日、倒休等。

例如,2008年3月12日公司全体员工要外出植树,所有项目暂停,则可以将该日期设置为例外日期,并将其设置为非工作日。但这一天的工作要在3月15日补回来,则还需要将3月15日设为例外日期,并将其设为工作日。

其具体设置步骤如下。

① 在“日历预览”中选中2008年3月12日。

② 选中“例外日期”选项卡,在“名称”列输入“植树节”。此时,“日历预览”中的选中日期显示为红色底纹,表示正在编辑该日期。

③ 单击选项卡右侧的【详细信息】按钮,打开“详细信息”对话框。在“设置以下例外时间”下,选择“非工作日”单选框,单击【确定】按钮。

④ 在“日历预览”中选中2008年3月15日。

⑤ 在“例外日期”选项卡的“名称”列输入“植树节调换”。

⑥ 单击【详细信息】按钮,在“详细信息”对话框的“设置一下例外时间”下,选择“工作时间”单选框,并核对具体的开始时间和完成时间。单击【确定】按钮。

⑦ 可以看到,“日历预览”部分已用带阴影蓝色底纹的下划线日期将2008年3月12日标记为例外的非工作日。而用明亮蓝色底纹的下划线日期将2008年3月15日标记为例外的工作日。

⑧ 在“详细信息”对话框中,也可以将例外日期设置为按天、按周、按月或按年周期性的发生。例如,可以一次设置每一年的3月12日都要放假植树。

以上设置如图3-49、图3-50所示。

图3-49 通过“例外日期”选项卡更改工作时间

图3-50 “例外日期”详细信息对话框

7.“工作周”选项卡

“工作周”选项卡用于为选定日历设置正常的工作周。

例如,可以设置从2008年3月16日到4月5日期间,每周只工作四天,周五至周日鼓励员工和家人春游。

其具体设置步骤如下。

① 切换到“工作周”选项卡。

② 可以看到,“工作周”选项卡的第一行有一个“[默认]”行,其开始时间和完成时间均表示为“NAProject中,空值用“NA”表示,即Not available,而不是“Null”,这一点在建立自定义域或写代码时一定要注意。例如,要写成Iif([开始时间] <>'NA' , 'AAA', 'BBB')。”,表示所有时间范围。该行的名称、开始及完成时间不能更改,但可以改变其详细信息。本例中不改默认设置。

③ 在“名称”列,增加一行,名为“春游期间工作周”。

④ 单击该行“开始时间”后的下拉箭头,将开始时间设为2008年3月16日。单击“完成时间”后的下拉箭头,将完成时间设为4月5日。如果看不到完成时间下拉箭头,请使用电脑键盘上的“→”向右箭头使表格移动以显示完整的列,如图3-51所示。

图3-51 通过“工作周”选项卡更改工作时间

⑤ 单击选项卡右侧的【详细信息】按钮,打开“详细信息”对话框。在对话框的“选择日期”下,选择“星期五”,在右侧选择“将所列日期设置为非工作时间”单选框,单击【确定】按钮。“详细信息”对话框如图3-52所示。

图3-52 “工作周”选项卡“详细信息”对话框

⑥ 完成设置。可以看到,日历预览中从2008年3月16日到4月5日的日期都表示为黄色底纹带下划线日期,表示该周为“非默认工作周”,周一到周四为明亮背景是工作时间,周五到周日为阴影背景是非工作日。

项目工作时间的更改会直接影响项目任务的日程。图3-53表示使用标准日历时某项目中两个任务的日程。图3-54表示将标准日历增加了“植树节”、“植树节调换”和“春游期间工作周”以后的项目日程。

图3-53 根据标准基准日历排定的日程

图3-54 更改工作时间后的日程

可以看到,在图3-54中,任务A的最后一天改在周六完成,是因为周三(3月12日休息),而周六(3月15日)正常上班;任务B的完成时间由3月28日延后到4月1日,是因为从3月16日开始每周只工作4个工作日。

3.7.4 创建新日历

有时,直接修改项目日历不能满足组织的实际需求,需要建立本单位的日历。

利用“更改工作时间”对话框完成新建日历的操作。

① 选择“工具”→“更改工作时间”命令,打开“更改工作时间”对话框。

② 在对话框中,单击右上方的【新建日历】按钮,打开“新建基准日历”对话框,如图3-55所示。

图3-55 “新建基准日历”对话框

③ 在“名称”栏,输入新日历的名称,如“旭尼德日历”。

④ 选择“新建基准日历”单选框直接新建一个新的基准日历;或者选择“复制某日历”单选框复制某个日历,再进行修改得到新的日历。一般推荐复制标准日历来建立新日历。

⑤ 在“新建基准日历”对话框中,单击【确定】按钮,出现“更改工作时间”对话框,对话框左上方的“对于日历”下拉列表框中显示为刚刚新建的日历的名字。

⑥ 通过设置“例外日期”和“工作周”具体设定新日历,单击【确定】按钮,完成设置。

⑦ 建议保存该项目,以便在后续演练中使用。

随书附带的光盘中可以获得该演示日历:

\ProjectCase\旭尼德日历演示.mpp

打开项目后,请根据提示进行操作演练。

在完成新日历的设置以后,就可以在该项目中使用该日历了。例如,可以在“项目信息”对话框中选择该日历;或者在“任务信息”对话框的“高级”选项卡中使用该日历。

3.7.5 复制日历

1.在项目之间复制日历

建立了新日历以后就可以在当前项目中使用该日历了。如果希望该日历也能够在其他项目中使用,可以使用“管理器”实现这一目的。

① 同时打开包含所建日历的项目和需要使用该日历的项目。例如,打开“旭尼德日历演示”项目,再新建一个项目,默认名称为“项目1”。

② 分别打开两个项目的“项目信息”对话框,可以看到 “旭尼德日历演示”项目中有“旭尼德日历”选项,而“项目1”中没有。

③ 在上述两个项目Project窗口的任何一个中,选择“工具”→“管理器”命令,打开“管理器”对话框。

④ 选择“日历”选项卡,在对话框左下方“‘日历’位于”下,选择一个项目,在右下方相应位置选择另一项目。例如,在左侧选择“旭尼德日历演示.mpp”,在右侧选择“项目1”,如图3-56所示。

图3-56 “管理器”对话框

⑤ 在已建立日历的一侧,选择需要复制的日历。例如,在左侧选择“旭尼德日历”。

⑥ 单击【复制】按钮,将所选日历复制到另一个项目中。

⑦ 单击【关闭】按钮,完成复制。如果未进行操作,该按钮将显示为【取消】。

⑧ 打开“项目1”的“项目信息”对话框时可以看到“项目1”也可以使用“旭尼德日历”了。

2.建立适用于所有项目的日历

前面讲述的复制日历操作可以在项目之间共享日历。但多数时候,希望建立一些企业通用的日历,这些日历可以在所有的项目中使用。

在Project Professional中,所有项目的共有信息存储在一个全局文件中,这是一个主模板文件,文件名为Global.mpt。主模板文件里保存了所有项目共有的日历、视图、窗体、域、工具栏、报表、表、筛选器等内容。这些内容是所有项目共享的通用信息,不包含项目特有的信息,如任务或资源等。所以,如果将曾在某个项目中建立的日历复制到全局文件中,则这个日历将会被所有项目共有,此后建立新项目时就可以直接使用这个日历了。

建立方法与“在项目之间复制日历”步骤一样,只是在一方中要选中“Global.mpt”。如图3-57所示,将“旭尼德日历”复制到全局文件中。此后,在任何一个已有或新建的项目中都可以使用该日历了。

图3-57 将日历复制到全局文件中

3.管理器与全局文件的更多内容

通过“管理器”对话框可以看到,不仅可以管理日历,还可以管理视图、窗体、域、工具栏、报表、表、组、筛选器、模块及映射等内容,使用方法类似,在本书中其他位置,可能会根据需要提示读者使用管理器。不仅可以使用管理器复制内容,也可以重命名或者删除内容。例如,如果在前面的练习中建立了一些日历,可以利用管理器来删除无用的日历。

经常使用管理器来对全局文件进行操作,将会对所有已有或新建的项目有效。但这里所说的“所有”,指的是本机范围,说得更严格一点,是登录到本机的当前用户当然,如果使用了移动用户配置文件,即Roaming User Profile,则效果能好一些,Active Directory域中的用户可以在多台计算机上使用同一个用户配置文件。但这并不是Project推荐的做法。,即这个用户在这台计算机上用Project Professional管理项目时,所有项目都会用到全局模板里的内容。

如果希望整个组织中的用户都能共用某些通用设置,最好的方法是使用基于网络的企业项目管理信息系统。这些内容将在本书第2篇和第3篇中讲述。

3.7.6 日历选项与日历的关系

Project中“选项”对话框中的“日历”选项卡上的设置定义了Project中的时间设置。这些设置并未明确指出工作时间和非工作时间,不直接影响项目任务的工作时间。只有日历可以确定工作时间和非工作时间。

选择“工具”→“选项”命令,打开“选项”对话框,选中“日历”选项卡,如图3-58所示。

图3-58 “选项”对话框的“日历”选项卡

在“日历”选项卡上可以指定日历相关的默认设置。例如,每周开始于哪一天、财政年度起始月份、默认开始与结束时间、每日总工时及每月的工作日数等。

在创建日历或更改工作时间时指定某一天为工作日时,则这一天的开始与结束时间将默认使用“选项”对话框中的设置,除非另行指定。

“每日工时”、“每周工时”和“每月工作日”设置值将作为Project计算任务工时的依据。例如:

如果某任务的工期为2工作日,等同的小时数为8×2=16小时。

如果某任务的工期输入为2w,即2周,等同的小时数为40×2=80小时。

如果某任务工期输入为2Mon,即2月,等同的工作日数为22×2=44工作日。

注意,Project中,每月工作日的默认值为20。考虑到我国的节假日少于美国,每月工作日的统计值为22,故建议将此处改为22,并单击对话框的【设为默认值】按钮将该设置保存到全局模板中。

如上所述,Project使用“日历”选项卡上的设置来确定1工作日、1周或1个月等同的小时数。如果日历中的工作时间与“日历”选项卡上的“每日工时”或“每周工时”设置不同,则“工期”域可能不会显示期望的工期值。

例如,如果“选项”对话框“日历”选项卡定义的默认每日工时为8小时,而使用的项目日历或任务日历中设置一天工作4小时,对于为期3工作日的任务工期显示为3工作日,而其条形图将显示为跨6工作日,如图3-59所示:

图3-59 日历选项与任务日历关系示例

随书附带的光盘中可以获得该演示:

\ProjectCase\日历选项与任务日历关系示例.mpp

打开项目后,请根据提示进行操作演练。

3.7.7 任务日历

在一个项目中,某些任务可能需要在特定的时间进行,如化工生产、水泥浇筑等,应该使用24小时日历,而其他任务则可以使用组织的标准日历。这种情况下,需要为特定的任务指定相应的日历。

默认情况下,任务使用项目日历作为日程排定的依据。当为一个任务指定了任务日历,而且又没有分配给该任务资源时,将使用该任务的任务日历作为日程排定的依据。如果一个任务有任务日历,同时分配给该任务的资源又有特定的资源日历,则任务将按照任务日历与资源日历的共同时间排定日程。

在Project中,通过如下步骤为任务指定任务日历。

① 双击任务名或鼠标右键单击任务名,在快捷菜单中选择“任务信息”命令,打开“任务信息”对话框。

② 选择“高级”选项卡。

③ 在“日历”下拉列表框中,选择该任务适用的日历,如图3-60所示。

图3-60 设置任务日历

如上面所述,如果一个任务有任务日历,同时分配给该任务的资源又有特定的资源日历,则任务将按照任务日历与资源日历的共同时间排定日程。有时希望一个任务严格按照该任务的日历安排日程,而不考虑该任务所分配资源的资源日历,如项目鉴定大会等。对于这样的任务,当指定任务日历时同时选中“日历”下拉框后面的“排定日程时忽略资源日历”复选框,就可忽略资源日历对任务日程的影响。

3.7.8 资源日历

在Project中,每一个工时类资源都有资源日历编者认为Project 2007与Project以前版本对于资源日历的理解有所不同。以前版本理解为:某个资源使用了某个日历。而Project 2007中则可理解为:每个资源都有自己的日历,这些资源日历基于某个基准日历再进行一些修改而得到的。。默认情况下,一个项目中新增的资源使用该项目的项目日历作为资源日历。有时,需要为特定的资源指定资源日历,如某外聘专家只有周四有时间、某工程师是兼职人员等。

使用如下步骤设置一个资源的资源日历。

① 在Project中,打开“资源工作表”视图。

② 双击该资源的名称或鼠标右键单击该资源,在快捷菜单中选择“资源信息”命令,打开“资源信息”对话框。

③ 在“常规”选项卡中,单击【更改工作时间】按钮,如图3-61所示。

图3-61 “资源信息”对话框

④ 打开“更改工作时间”对话框,如图3-62所示。在对话框的左上方,显示了资源日历的名称,以及该资源日历所基于的基准日历。

图3-62 “更改工作时间”对话框

⑤ 在该对话框中,可以选择该资源日历所基于的基准日历,也可以使用“例外日期”及“工作周”选项卡设定特定的工作时间和非工作日。

⑥ 单击【确定】按钮,完成资源日历的设定。

单击“资源信息”对话框的【更改工作时间】按钮打开“更改工作时间”对话框与选择“工具”→“更改工作时间”命令打开对话框的操作类似。只是前者只能修改本资源的资源日历,而后者可以选择各个日历进行修改或新建日历。

从“资源信息”对话框中打开的对话框与选择“工具”菜单打开的对话框的左上方有所不同。后者可以选择所要修改的日历,当选择的日历是基准日历时,日历下方会提示该日历为基准日历,如图3-63所示;而在前者中,当选择的日历是资源日历时,日历下方会显示该资源日历所基于的基准日历,在此也可以选择资源所基于的基准日历,如图3-64所示。

图3-63 从“工具”菜单打开的“更改工作时间”对话框左上方

图3-64 从“资源信息”对话框中打开的“更改工作时间”对话框左上方

所以,一般并不针对每一个资源设置详细工作时间,而是根据组织资源的类别制定一些基准日历,然后为资源的资源日历指定所基于的基准日历。

Project按以下优先顺序使用日历排定任务日程:任务日历—资源日历—项目日历。如果某一任务没有分配资源也没有指定任务日历,则按照项目日历排定日程;如果某一任务分配有资源但没有指定任务日历,则按照该资源的资源日历排定日程;如果某一资源没有指定资源日历但指定了任务日历,则使用任务日历排定日程。

图3-65所示的例子显示了任务日历及资源日历共同作用对任务日程的影响。

图3-65 资源日历与任务日历共同作用对任务日程的影响

在本例中,任务A、B、C、D、E五个任务都是工期为5天的固定工时类任务。

任务A使用“标准”日历,没有分配资源。

任务B、C、D、E都使用“三天打鱼两天晒网”日历。即每周只有周一、二、三工作。

任务B没有分配资源。

任务C的资源“张珊”使用“标准”日历。

任务D的资源“李诗”使用“三天打鱼两天晒网”日历。

任务E的资源“王武”使用“周三、四、五兼职”日历。即每周只有周三、四、五工作。

请读者逐一分析每个任务的实际工作日期。例如,任务E实际上只有每周三在进行工作。

随书附带的光盘中可以获得该演示:

\ProjectCase\资源日历与任务日历共同作用对任务日程的影响.mpp

打开项目后,请根据提示进行操作演练。

3.8 影响日程排定的因素

3.8.1 日程排定的概念

Project会根据各种相关信息自动排定或调整项目日程计划。日程是指项目内任务的时间安排和次序。日程中主要包含任务、任务相关性、工期、限制和时间相关的项目信息等。Project使用关键路径法作为排定项目日程的最基本原则,仍然有许多相关的设置影响项目日程的排定。

以下因素都会影响项目日程的排定:

● “项目信息”对话框中的“日程排定方法”、“当前日期”及“状态日期”等;

● “选项”对话框的“日程”、“日历”及“计算方式”选项卡;

● 项目日历、任务日历及资源日历;

● 任务大纲级别、任务相关性、任务类型、限制类型、期限、投入比导向、完成百分比、实际开始时间及实际完成时间等;

● 资源类型及资源单位等;

● 资源分配、工时分配、加班及工作延迟等。

在Project中和日程及时间相关的术语(见表3-1)包括以下内容。

表3-1 日程排定相关术语

任务相关性的完成—开始(FS)、开始—开始(SS)、完成—完成(FF)和开始—完成(SF)。任务限制类型的越晚越好(ALAP)、越早越好(ASAP)、不得早于…开始(SNET)、不得早于…完成(FNET)、不得晚于…开始(SNLT)、 不得晚于…完成(FNLT)、必须完成于(MFO)及必须开始于(MSO)。

除此之外,还有几个与时间相关的域,即计划开始时间(SS)、最早开始时间(ES)、最迟开始时间(LS)、计划完成时间(SF)、最早完成时间(EF)及最迟完成时间(LF)。

任务相关性及限制类型在前面已经介绍过了,任务时间相关的最早开始时间、最迟开始时间、最早完成时间和最迟完成时间四个时间是根据前置任务、后续任务及任务限制等因素决定的时间。计划开始时间及完成时间是制定计划时确定的开始及完成时间。

以上因素可以决定可宽延时间(时差)。可宽延总时间(总时差)是指在不影响项目完成日期的情况下,任务执行可以机动的时间量。可用可宽延时间(自由时差)是在不影响紧后任务最早开始时间的情况下,任务可以机动的时间量。

随书附带的光盘中可以获得日程时间因素演示:

\ProjectCase\日程时间因素示例.mpp

打开项目后,调整任务“客户培训”的时间,查看效果。

3.8.2 “项目信息”对话框对日程排定的影响

“项目信息”对话框提供了影响项目日程的重要信息,这些信息决定任务日程排定、资源分配对任务日程排定的影响及项目跟踪过程等。

建议读者在开始做一个新的项目计划时首先设置项目信息。如果希望开始一个新项目时,打开“项目信息”对话框,可以通过“选项”对话框进行设置。选择“工具”→“选项”命令,打开“选项”对话框,在“常规”选项卡中,选中“创建新项目时提示项目信息”复选框。

“项目信息”对话框如图3-66所示。

图3-66 “项目信息”对话框

下面详细介绍“项目信息”对话框中的各项设置。

(1)开始日期

项目的开始日期是指项目中第一个任务的开始日期。

(2)完成日期

项目的完成日期是指项目中的所有任务全部完成的日期。

(3)日程排定方法

该选项决定了Project如何排定日程,Project有两种日程排定方法,“从项目开始之日起”和“从项目完成之日起”。

① 从项目开始之日起。这是Project默认的日程排定方法,当选择从开始日期起排定日程时,Project将基于该开始日期来计算各个任务的开始日期及项目的完成日期,并尽可能早地开始所有任务。任务工期、相关性、限制和其他日程排定因素也都要从开始日期起进行排定。

选中该选项将决定以下因素。

● 项目完成日期将由Project自动计算得到。

● 任务的完成日期取决于它的开始日期。同时,对于“完成—开始”的任务链接类型(即FS),由前置任务的完成日期决定后续任务的开始日期。

● 限制类型为“越晚越好”(即ALAP)的任务将忽略资源分配延迟。

● 限制类型为“必须开始于”(即MSO)和“不得晚于…开始”(即SNLT)的任务,其最迟完成时间等于最迟开始时间加任务工期,即

[LF] = [LS] +工期

● 对于“开始—开始”的任务链接类型(即SS),其前置任务的最迟完成时间等于最迟开始时间加任务工期,即

[LF]=[LS]+工期

② 从项目完成之日起。当选择从完成日期起排定日程时,Microsoft Project将基于项目完成日期计算各任务的完成日期、开始日期及项目的开始日期,并尽可能晚地开始所有任务。任务工期、相关性、限制和其他日程排定因素也都要从完成日期起进行排定。

选中该选项将决定以下因素。

● 项目开始日期将由Project自动计算得到。

● 任务的开始日期取决于它的完成日期。同时,对于“完成—开始”的任务链接类型(即FS),由后续任务的开始日期决定前置任务的完成日期。

● 限制类型为“越早越好”(即ASAP)的任务将忽略资源分配延迟。

● 限制类型为“必须完成于”(即MFO)和“不得早于…完成”(即FNET)的任务,其最早开始时间等于最早完成时间减去任务工期,即

[ES]=[EF]-工期

● 对于“完成—完成”的任务链接类型(即FF),其后续任务的最早开始时间等于最早完成时间减去任务工期,即

[ES]=[EF]-工期

(4)当前日期

指定项目的当前日期。如果当前日期晚于状态日期,或者项目的状态日期被设为“NA”,则在“更新项目”对话框中,Project将会用当前日期代替状态时期作为完成日期。

(5)状态日期

Project用状态日期执行盈余分析计算,以及确定“更新项目”对话框中的完成日期并设置进度线。如果将状态日期设置为“NA”,则Microsoft Project会将当前日期用作状态日期。

(6)日历

指定项目日历。项目日历将决定任务日程排定,默认情况下,项目日历为标准日历,即每周5天,每天8小时。

(7)优先级

优先级设定了整个项目的优先级别。当在多个项目间分配资源时,指示当前项目中任务可能被推迟的优先次序。优先级的取值为0~1000,数字越大表示项目的优先级越高,越要优先保证时间。在进行调配时,Microsoft Project先考虑项目级优先级,然后考虑任务级优先级。

3.8.3 “计算方式”选项卡对日程排定的影响

通过“选项”对话框的“计算方式”选项卡可更改Project计算日期和成本相关设置。通过“计算方式”选项卡上的设置,可以:

● 指定Microsoft Project中的计算方式为自动或手动方式;

● 使用【立即计算】按钮开始手动计算;

● 设置状态和成本计算选项;

● 指定默认的成本累算方法;

● 指定是否希望Microsoft Project自动调整实际数据和剩余工时相对于项目状态日期的位置;

● 指定默认的盈余分析方法;

● 设置关键任务和关键路径计算首选项。

选择“工具”→“选项”命令,打开“选项”对话框,选择“计算方式”选项卡,如图3-67所示。

图3-67 选择“计算方式”选项卡

在“Microsoft Office Project的计算方式选项”栏下有两个选项,即“计算方式”和“计算”。这两个选项的设置将影响整个Project,即当前客户机上的所有项目,而不是特定的当前项目。

(1)计算方式

计算方式决定当项目中的相关信息改变时是否由Project自动重新计算日程。如果选择自动计算,随着项目中各相关信息的改变,Project会立即自动进行重新计算;如果选择手动计算,由用户决定重新计算的时间,即由用户单击【立即计算】按钮开始重新计算。

因为自动计算方式最方便,所以该方式通常被作为默认设置。然而,如果项目很大或很复杂,选择手动计算方式可以改进性能。用户可以在任何时候都将计算方式设置为手动,然后在工作一段时间后单击【立即计算】按钮;或者将计算方式设置为自动,而在进行大量的影响到日期、工期、工时或成本的更改时再将其设为手动。

项目设置为手动计算方式时,如果进行一个导致要求重新计算的更改或操作,在状态栏会显示“计算”提示,以提醒用户需手动计算项目。

图3-68显示了一个简单的手动计算案例。

图3-68 手动计算前

将“计算方式”设为手动计算。在项目中添加“任务A”和“任务B”,链接任务,使“任务B”为“任务A”的后续任务,可以看到“任务B”的开始时间并没有像以前的例子中那样自动改变。同时,状态栏会显示“计算”提示,如图3-68。

打开“计算方式”选项卡,单击【立即计算】按钮,Project将开始进行计算。关闭对话框后,项目甘特图如图3-69所示。

图3-69 手动计算后

(2)计算

计算选项来指定Project需要重新计算所有打开的项目还是只计算当前活动项目。

在“‘项目名称…’的计算方式选项”下的设置只影响当前项目。

(3)资源状态随任务更新而更新

如果选中“资源状态随任务更新而更新”复选框,当输入任务完成百分比信息时,Project将自动计算分配给该任务的资源的实际和剩余工时与成本。即当向任务或工时分配的“完成百分比”、“实际工期”或“剩余工期”域中输入信息时,Project将重新计算任务与工时分配的实际工时和实际成本。如果跟踪资源分配工时,Project将更新任务进度。同样地,如果选中了该复选框,任务状态也会随资源状态的更新而更新。

如果未选中此复选框,就必须在资源的“实际工时”域中输入数值以提供准确的实际工时和实际成本。

此复选框的设置是与活动项目一起保存的本地设置。其默认设置应为选中。

(4)将状态日期后已完成部分的结束时间移回到状态日期

该选项指定任务在状态日期之后完成部分的结束时间是否移回到状态日期。

如果选中此复选框,当输入实际完成工时,已完成的超出了状态日期的任务部分条形图将左移到在状态日期结束。

此复选框的默认设置为不选中。

(5)并将剩余部分的开始时间移回到状态日期

该选项指定满足前个选项的任务的剩余部分的开始时间是否移回到状态日期。

如果选中此复选框,则表示任务剩余部分的甘特条形图将被移到左侧,以便未完成的部分在状态日期开始。

此复选框的默认设置为不选中。

(6)将状态日期前剩余部分的开始时间前移到状态日期

该选项指定状态日期之前还没有完成的任务的剩余部分是否移动到在状态日期开始。

如果选中此复选框,任务在状态日期之前还没有完成部分的条形图将被移到从状态日期开始。

此复选框的默认设置为不选中。

(7)并将已完成部分的结束时间前移到状态日期

该选项指定在状态日期之前完成的任务部分的结束日期是否移动到状态日期。

如果选中此复选框,任务在状态日期前已完成部分的甘特条形图的结束日期移动到在状态日期结束。

此复选框的默认设置为不选中。

以上四项设置中,如果项目的状态日期没有设置,即显示为“NA”,则以当前日期作为状态日期。另外,这些设置将覆盖任务限制。

(8)盈余分析

盈余分析将在第5章中详细介绍。

(9)将新输入的总任务完成百分比一直分布到状态日期

在进行盈余分析时将对总任务中输入的完成百分比平均分布到项目状态日期为止。例如,如果将总任务更新为100%完成,可查看特定时间段内任务进度的增量。

若要将任务完成百分比的更改分布到任务实际工期结束为止,清除该复选框。

默认情况下,该复选框为不选中状态。

(10)将插入的项目作为摘要任务计算

为了计算日程,将插入项目指定为被插入项目(主项目)中的摘要任务,而不是单独的项目。如果插入项目中包含关键任务(对其自身的日程完成日期而言),但插入项目本身并不在主项目的关键路径上,那么这些任务不会成为主项目的关键任务。

如果选中该复选框,Microsoft Project将计算贯穿主项目的关键路径。

此复选框的默认设置为选中。

(11)Microsoft Office Project自动计算实际成本

如果选中此复选框,由Project根据资源费率、每次使用资源成本和固定任务成本自动计算实际成本。选中此复选框后,在任务100% 完成之前不能输入实际成本。

如果不希望Project自动计算实际成本,而由用户输入或导入实际成本值,则清除此复选框。

此复选框的默认设置为选中。

(12)将新输入的实际总成本一直分布到状态日期

将对实际总成本的更改沿日程平均分布,一直到项目状态日期为止,如果未指定项目状态日期,则一直到当前日期为止。

若要将实际成本分布到任务实际工期结束为止,请清除该复选框。

如果选中了“总是由Microsoft Project计算实际成本”复选框,那么该选项将不可用。

(13)默认的固定成本累算方式

指定Project如何设置新任务的固定成本累算方式。固定成本可在任务开始时、任务实施中或任务结束时进行累算。

默认设置为“按比例”。

(14)计算多重关键路径

设置Project是否为项目中的每个独立的任务网络计算和显示一条关键路径。

通常,Project将无后续任务或限制任务的最晚完成日期设置为项目的完成日期。当选中此复选框时,Project会将这些任务的最晚完成日期设置为它们的最早完成日期,并使任务成为关键任务。

此复选框的默认设置为不选中。

(15)关键任务定义:任务可宽延时间少于或等于…天

指定Project用于确定关键任务的时差的天数。如果某个任务的时差天数少于或等于此处指定的值,此任务便被当作关键任务,默认设置为“0”。

3.8.4 “日程”选项卡对日程排定的影响

“日程”选项卡用于设置Project的任务日程排定方式的首选项。可以:

● 为Project指定常用的全局日程排定选项;

● 指定当前项目的本地日程排定选项,包括新任务应当开始的日期、工期和工时使用的时间单位及默认的任务类型;

● 指定任务相关性、限制及估计工期的选项。

“日程”选项卡如图3-70所示。

图3-70 “日程”选项卡

下面分别介绍各选项的概念。

(1)显示日程排定信息

设置该复选框使Project在日程不一致时显示警告消息,如在任务完成日期之后分配的资源,此复选框的默认设置为选中。

(2)工作分配单位显示为

该选项用于设置是以十进制还是以百分比显示资源分配的单位。Project的默认设置为“百分比”,但按照国内的习惯,建议设置为“十进制数”。

以上两个选项对于每个项目都有效,而不单指某一个具体项目。以下选项是某一个具体项目的选项设置,与活动项目一起保存。

(3)新任务开始于

指定输入新任务时新任务的默认开始日期。

如果“项目信息”对话框中的日程排定方法设置为“从项目开始之日起”,则该对话框中“新任务开始于”选项可以有两种选择,即“从项目开始日期开始”和“从当前日期开始”。选择“从项目开始日期开始”时,新任务的开始时间自动设为项目的开始日期,Project为这些任务设置“越早越好”的限制;如果选择“从当前日期开始”,则新任务的默认开始日期为当前日期,Project为这些任务设置“不得早于…开始”的限制。

如果项目的日程排定方法为“从项目完成之日起”,该选项可以在“在项目完成之日完成”和“从当前日期开始”中选择。如果选择“从项目完成之日起”,则Project为这些任务设置“越晚越好”的限制;如果选择“从当前日期开始”,则Project为这些任务设置“不得晚于…开始”的限制。该选项的默认设置为“从项目开始日期开始”。

(4)工期显示单位

指定在默认情况下“工期”域中使用的时间单位(分、小时、天、周或月)。在“工期”域中键入数值时如果未输入时间单位,则Project使用此时间单位。但已经输入的工期不会因为该设置的更改而变化。该选项的默认设置为“天”。

(5)工时显示单位

指定在默认情况下“工时”域中使用的时间单位(分、小时、天、周或月)。不论使用何种单位输入工时,Project在显示工时值时都使用上述时间单位。该选项默认设置为“小时”。

(6)默认任务类型

指定新任务的任务类型设置。任务类型设置决定了当改变三个相关因素(工时、工期和单位)中的一个后,Project重新计算另两个因素的方法。

Project的默认设置为“固定单位”。但为了便于使用,按照国内的习惯,建议设置为“固定工期”。

以上的设置对整个项目中的任务有效,如果需要改变某特定任务的任务类型,则鼠标右键单击该任务名称,在快捷菜单中选择“任务信息”命令,在“任务信息”对话框的“高级”选项卡中设置“任务类型”。

(7)新任务为投入比导向

指定按投入比导向规则排定新任务日程,即在添加或删除工作分配时,此任务的工时保持为常量。例如,为某个固定单位投入比导向的任务分配其他资源时,此任务的工期将缩短。反之,若删除其资源,工期将延长。

如果清除了此复选框,添加或删除某个固定单位任务的资源分配则不会对任务工期产生影响。若要更改现有任务的投入比导向日程设置,则在此任务的“高级”选项卡上选中“投入比导向”。此复选框的默认设置为选中。但编者建议清除此选项。

(8)自动链接插入或移动的任务

该选项用于设置Project是否在剪切、移动或插入任务后自动再次链接它们。如果清除了此复选框,在剪切、移动或插入任务时Project则不创建任何任务相关性。该设置仅适用于连续的“完成—开始”任务关系。此复选框的默认设置为选中。

(9)拆分正在进行的任务

该选项用于设置是否允许对正在进行的任务剩余工期和工时进行重排。如果选中了此复选框,当更新任务跟踪信息时,可输入停止此任务工作的日期和重新开始工作的日期,Project会重排剩余的工期和工时;如果清除了此复选框,则不能在更新任务跟踪信息时编辑“停止”和“重新开始”域,也不能通过“更新项目”对话框重排剩余工时。此复选框默认设置为选中。

(10)任务要服从限制日期

指定Project根据任务的限制日期排定它们的日程。受到限制的任务在负时差状态下不能移动。清除此复选框可指定具有负时差的任务限制日期,根据它们与其他任务的链接移动,而不是按它们的限制日期排定日程。

(11)显示任务具有估计工期

设置Project在具有估计工期的任务的工期单位后是否显示问号。

(12)新任务具有估计工期

该选项指定所有新任务具有估计工期。

3.9 任务驱动因素及Project可视化增强

3.9.1 Project 2007可视化增强概述

Microsoft Project 2007在可视化方面有了较大的改进,例如,将甘特图的条形图显示为三维效果、可以设置表格的字体与背景色和可以在甘特图中绘制图形等。另外,增加了两个可以有效显示任务及其变更影响的工具:任务驱动因素和更改突出显示。

在Project 2007标准版及专业版中,这只是很小的非实质性的功能,但却是一个亮点,因为这是Project 2007相对于Project 2003的一个重要增强。在这里先介绍几个小的功能,任务驱动因素及更改突出显示将在后面介绍。

在Project 2007中,甘特图条形图默认以三维效果显示。如果希望条形图依然以传统的方式显示,可以在“选项”对话框中设置。选择“工具”→“选项”命令,打开“选项”对话框,在“视图”选项卡中,清除“三维显示甘特图视图中的条形图和形状”复选框,图3-71显示了前后效果的区别。

图3-71 甘特图条形图效果比较

在Project 2007中,可以通过字符颜色及背景色突出显示某些任务或某一批任务。方法是选中一个或多个需要设置颜色的单元格,在右键菜单中选择“字体”,在“字体”对话框中选择字体颜色、背景色及背景图案。图3-72显示了使用不同颜色的标记效果。

图3-72 在Project中设置字体颜色

在Project 2007中,可以选择“插入”→“绘图”命令,打开绘图工具,在甘特图中增加绘图效果,如图3-73所示。

图3-73 在Project中增加绘图效果

3.9.2 使用任务驱动因素工具

Project中每一个任务的日程排定取决于许多因素,如任务相关性、限制类型、资源日历等。当一个项目较大时,往往较难快速地判断影响某个任务日程的所有因素。Project 2007新增了任务驱动因素工具,可以非常方便地显示影响某任务日程的因素。

选择“项目”→“任务驱动因素”命令,打开“任务驱动因素”栏,当选择某一任务时,“任务驱动因素”栏中就会显示影响该任务日程的因素,如图3-74所示。

图3-74 任务驱动因素

在图3-74中,左侧即为“任务驱动因素”栏。当在甘特图中选中“方案实施”任务时,“任务驱动因素”中就列出该任务的ID、名称Project 2007任务驱动因素中,将符号“-”翻译为“至”,应是软件本地化的Bug。“3至方案实施”应译为“3-方案实施”。及开始时间。然后列出影响任务“3至方案实施”开始时间的因素,包括前置任务“2至方案设计”、任务相关性类型“完成—开始”、延隔时间及日历因素。由于该任务没有分配资源且没有设置针对该任务的任务日历,故影响日程的日历为该项目的项目日历,本项目使用“标准”日历作为其项目日历。

3.9.3 使用更改突出显示工具

“日程排定因素”指出了影响某个任务日程的因素。反之,当某个任务的日程变更时,会影响到该任务本身及其他任务的许多日程信息。在Project 2007中,可以使用“更改突出显示”工具显示出这些影响。

选择“视图”→“显示更改突出显示”命令,启用“更改突出显示”功能,再次单击可以关闭该功能。

图3-75中,当“任务B”的工期延长后,受影响的各因素以突出颜色显示。

图3-75 更改突出显示

本章小结

本章介绍了Project中的任务与时间管理。

在工作分解结构(WBS)概念的基础之上,介绍了建立任务列表的方法,包括建立周期性任务、里程碑任务等,并介绍了任务工期及任务类型等内容。

详细介绍了任务相关性问题及关键路径技术,并介绍了任务限制与任务期限问题。

在此基础上,详细介绍了Project中的日历及日程排定问题。