• 沒有找到結果。

CPM  WBS  基本概念  何时计划  为什么要计划 

N/A
N/A
Protected

Academic year: 2022

Share "CPM  WBS  基本概念  何时计划  为什么要计划 "

Copied!
33
0
0

加載中.... (立即查看全文)

全文

(1)

上海交通大学计算机系

1

22/3/14

第 第 7 7 讲 软件项目计划 讲 软件项目计划

(2)

上海交通大学计算机系

2

22/3/14

内容提要 内容提要

为什么要计划

何时计划

基本概念

WBS

CPM

(3)

上海交通大学计算机系

3

22/3/14

软件项目计划 软件项目计划

目的

保证在正确的时间有正确的资源可用

避免不同的活动在相同的时间竞争相同的资源

为每个人员分配任务

实际的进度可以有标准进行衡量

产生成本消耗计划

根据实际情况,调整项目

可行性研究

协调人员

(4)

上海交通大学计算机系

4

22/3/14

何时计划 何时计划

计划是一个渐进、迭代的过程

每次迭代,细节更丰富,也更准确

每一此迭代的目的有所不同:

可行性研究阶段:时间和成本估计

项目开始:生成活动计划保证资源分配和资金流

项目进行中:不断监控和调整项目计划

(5)

上海交通大学计算机系

5

22/3/14

项目和活动 项目和活动

项目由一组相关的活动构成

项目在至少有一个活动准备开始时才开始

项目中所有的活动结束项目才结束

活动必须有一个清晰的开始和清晰的结束点,一 般以产生一个可交付物为标志

活动需要资源,并假定在活动中资源的需求水平 保持一致

活动的持续时间必须可预测

活动之间有优先顺序

(6)

上海交通大学计算机系

6

22/3/14

确定项目中的活动 确定项目中的活动

活动确定方法

自顶向下的分解—— WBS

问题:请给出每天起床的 WBS

(7)

上海交通大学计算机系

7

22/3/14

WBS WBS 构造方法 构造方法

识别出项目(包括项目管理活动)中的主要交付 物。

• 问题:学院工资系统的交付物有哪些?

主要交付物总是根据项目如何真正地组织来定义 :

项目生命周期的各个阶段可以作为第一层次,并将项 目交付物作为第二层次

每个分支的组织方法可以不一样

(8)

上海交通大学计算机系

8

22/3/14

WBS WBS 验证 验证

判断对这一层次是否能够对成本和日期进行评估,如果 不能,继续分解,否则该分枝分解结束

识别交付物的组成部分。组成部分必须是实际的,可验 证的部件

验证分解的正确性

是否被分解的条目下对子项目是充分必要的?如果不是,则需要 增,删或修改

是否每一条目被清晰准确的定义

是否每一条目能够被合适的计划,成本规划,被分配给一个合适 的组织

(9)

上海交通大学计算机系

9

22/3/14

WBS WBS

输出

WBS: 最底下的一层被称为工作包, Work package 必须与下面概念相区别:

Constractual WBS, CWBS( seller to buyer)

Organizational breakdown structure, OBS

Resource breakdown structure, RBS

Bill of materials, BOM

Project breakdown structure, PBS

(10)

上海交通大学计算机系

10

22/3/14

(11)

上海交通大学计算机系

11

22/3/14

(12)

上海交通大学计算机系

12

22/3/14

(13)

上海交通大学计算机系

13

22/3/14

活动顺序和进度表定义 活动顺序和进度表定义

在整个项目中,我们需要一份能清晰描述活动发 生的时间和所需要的资源的计划。

仅仅考虑活动之间的顺序关系,我们称之为活动排序

( Sequencing)—— 逻辑设计

考虑资源约束,我们称为调度( Scheduling)—— 物 理设计

(14)

上海交通大学计算机系

14

22/3/14

网络计划模型 网络计划模型

将项目活动和其关系可以表示成网络

该项技术起源于二十世纪 50 年代

CPM( 关键路径法, Critical Path Method)

PERT( 计划评审技术, Program Evaluation Revie w Technique)

优先网络 (Precedence Networks) 是上述两种模 型的变种

三种模型是类似的,因而经常被有些人通称为 C PM

(15)

上海交通大学计算机系

15

22/3/14

CPM CPM 的例子 的例子

5

1 2 3 4

6 7 8

9 10

Specify overall system

Specify module A Specify module B

Specify module C Specify module D

Check specifications

Design module A Design module B

Design module C

Design module D

Code Test module A

Code Test module B Code Test module C

Code Test module D

Integrate test

system

(16)

上海交通大学计算机系

16

22/3/14

CPM CPM 的构造方法 的构造方法 // //

项目网络只有一个起点

项目网络只有一个终点

连接有持续时间

节点无持续时间

时间从左到右

节点顺序编号

网络不包含圈

(17)

上海交通大学计算机系

17

22/3/14

CPM CPM 构造方法 构造方法

网络不包含悬点

前继是指某活动紧前活动

1 2 4 5

3

Test program Code

program Design

program

Write User

Manual

(18)

上海交通大学计算机系

18

22/3/14

练习 练习

下列网络图中哪些存在错误

(19)

上海交通大学计算机系

19

22/3/14

CPM CPM 构造方法 构造方法

哑活动 (dummy activity)

(20)

上海交通大学计算机系

20

22/3/14

延时活动的表达 延时活动的表达

1 3

2 4

Test Prototype

Document amendments

1 day 2 days

(21)

上海交通大学计算机系

21

22/3/14

活动之间的关系定义 活动之间的关系定义

强制依赖( Mandatory Dependencies ):项目 中包含工作的内在的约束

自由决定的依赖( Discretionary Dependencie

s

):由项目团队决定的关系,比如说签字后才 开发

外部依赖( External Dependencies ):项目和 非项目活动之间的依赖

(22)

上海交通大学计算机系

22

22/3/14

加入时间因素 加入时间因素

关键路径法主要关注两个目标:

尽快完成整个项目

识别那些一旦延期将对整个项目周期产生影响的活动

活动赋予时间:考虑采用多少资源,考虑是否需 要另外的时间(如等待某些信息)

对每一个活动赋予持续时间后,我们可以采用前 向路径 (forward pass) 计算项目和各个活动的最 早结束时间,采用反向路径法 (backward pass) 计算项目和活动的最完开始时间

(23)

上海交通大学计算机系

23

22/3/14

CPM CPM 中节点表示 中节点表示

Event number: 事件代号

Earliest Date: 最早时间

Latest Date: 最晚时间

Slack:

Event Number Earliest

date Latest

date

Slack

(24)

上海交通大学计算机系

24

22/3/14

例子 例子

1

2 A=6

B=4 3 4

C=3 D=4

E=3 5 F=10

H=2 6

G=3

(25)

上海交通大学计算机系

25

22/3/14

例子:前向路径计算 例子:前向路径计算

0 1

6 2 A=6

4 3

B=4 4

9 C=3 D=4

10 5 E=3 F=10

H=2 6 13 G=3

1

Activity Duration (weeks)

Earliest start date

Latest start date

Earliest finish date

Latest

finish date

Total float

A 6 0 6

B 4 0 4

C 3 6 9

D 4 4 8

E 3 4 7

F 10 0 10

G 3 10 13

H 2 9 11

(26)

上海交通大学计算机系

26

22/3/14

例子:后向路径计算 例子:后向路径计算

1 0 0

2 8 6

A=6

3 7

B=4 4 4

11 9

C=3 D=4

510 10

E=3 F=10

H=2 6 13 13

G=3

1

Activity Duration (weeks)

Earliest

start date

Latest start date

Earliest

finish date

Latest

finish date Total float

A 6 0 2 6 8

B 4 0 3 4 7

C 3 6 8 9 11

D 4 4 7 8 11

E 3 4 7 7 10

F 10 0 0 10 10

G 3 10 10 13 13

H 2 9 11 11 13

(27)

上海交通大学计算机系

27

22/3/14

关键路径识别 关键路径识别

最早开始时间和最晚开始时间的差称为机动时间 (Slack) ,它表示一个事件推迟多少时间可以不 影响项目的结束。 Slack 为 0 的事件为关键事件

,将关键事件连接起来的最长路径为关键路径

关键路径的意义:

必须保证关键路径上的资源和关键路径活动顺利执行

要缩短整个项目周期,必须缩短关键路径

1 0 0

2 8 6

A=6

3 7

B=4 4 4

11 9

C=3 D=4

5 10 10

E=3 F=10

H=2 6

13 13

G=3 2

0 3 2

0

0

(28)

上海交通大学计算机系

28

22/3/14

活动的浮动时间 活动的浮动时间

具有 slack 事件的活动具有浮动时间。总浮动是 活动的最早结束时间和最迟结束时间的差。

Activity Duration

(weeks)

Earliest start date

Latest start date

Earliest finish date

Latest

finish date Total float

A 6 0 2 6 8 2

B 4 0 3 4 7 3

C 3 6 8 9 11 2

D 4 4 7 8 11 3

E 3 4 7 7 10 3

F 10 0 0 10 10 0

G 3 10 10 13 13 0

H 2 9 11 11 13 2

(29)

上海交通大学计算机系

29

22/3/14

活动的浮动时间 活动的浮动时间

各个活动的浮动时间是相关的,如果某个活动用 了浮动时间,则后续的活动可能就没有了浮动时 间。其它浮动时间:

自由浮动 (free float) :活动的最早结束时间和紧接活 动的最早开始时间的差为自由浮动时间,它不影响其 它活动。

阻碍浮动 (interfering float): 活动的自由浮动与总浮动 之差,它反映了总浮动使用后,活动还能被延时多少 而不影响整个项目的结束时间

(30)

上海交通大学计算机系

30

22/3/14

练习 练习

计算自由浮动和阻碍浮动时间 自由浮动 (free float):活动的 最早结束时间和紧接活动的最 早开始时间的差为自由浮动时 间,它不影响其它活动。

阻碍浮动 (interfering float): 活 动的自由浮动与总浮动之差,

它反映了自由浮动使用后,活 动还能被延时多少而不影响整 个项目的结束时间

Activity Total float Free float Interf. float

A 2 0 2

B 3 0 3

C 2 0 2

D 3 1 2

E 3 3 0

F 0 0 0

G 0

H 2

Activity Duration

(weeks) Earliest start date

Latest start date

Earliest finish date

Latest

finish date Total

float

A 6 0 2 6 8 2

B 4 0 3 4 7 3

C 3 6 8 9 11 2

D 4 4 7 8 11 3

E 3 4 7 7 10 3

F 10 0 0 10 10 0

G 3 10 10 13 13 0

H 2 9 11 11 13 2

1 0 0

2 8 6 A=6

3 7

B=4 4 4

11 9 C=3

D=4

510 10 E=3 F=10

H=2 6

13 13

G=3 2

0 3 2

0

0

(31)

上海交通大学计算机系

31

22/3/14

优先网络 优先网络

优先网络 (precedence networks)

优先网络使用节点代表活动,而连接代表依赖关 系

Activity label Duration Earliest

Start Latest

Start

Activity description

Earliest finish Latest

finish Activity Span Float

A Duration

0 2

Hardware design

6 Latest

finish Activity Span Float IoE/P/1 34 days

0 0

Specify overall system

34 34 34 days 0 days

IoE/P/2 20 days 34

34

Specify module

A

54 54 20 days 0 days

IoE/P/3 15 days 34

39

Specify module B

49 54 20 days 5 days

IoE/P/5 15 days 34

39

Specify module

D

49 54 20 days 5 days

IoE/P/4 25 days 34

48

Specify module

C

59 73 39 days 14 days

IoE/P/6 2 days 54

54

Check specs

56 56 2 days 0 days

IoE/P/6a 1 day 59

73

Check specs

60 74 15 days 14 days

IoE/P/9 4 days 60

74

Design module C

64 78 18 days 14days IoE/P/10 4 days

56 64

Design module D

60 78 18 days 14days IoE/P/8 6 days 56

59

Design module B

62 65 9 days 3 days IoE/P/7 7 days 56

56

Design module D

63 63 7 days 0 days

IoE/P/11 30 days 63

63

Code test module A

93 93 30 days 0 days

IoE/P/12 28 days 62

65

Code test module B

90 93 31 days 3 days

IoE/P/14 25 days 60

68

Code test module A

85 93 33 days 8 days

IoE/P/11 15 days 64

78

Code test module A

79 93 29 days 14 days

IoE/P/15 6 days 93

93

Code test module A

99 99 6 days 0 days

(32)

上海交通大学计算机系

32

22/3/14

缩短项目时间和识别关键活动 缩短项目时间和识别关键活动

缩短项目时间

活动持续时间的缩短

整个项目过程的重组

识别关键活动

关键路径上的活动

近似关键路径:浮动时间是整个关建路径的 10 %的 路径,近似关键路径很容易变为关键路径

(33)

上海交通大学计算机系

33

22/3/14

小结 小结

为什么要计划

何时计划

基本概念

WBS

CPM

參考文獻

相關文件

其中﹕四小时或以上 展览入场人数 奖励活动参与人数

按主题划分的 会展活动主要统计 (2011年第4季) ESTATÍSTICAS PRINCIPAIS SOBRE REUNIÕES, CONFERÊNCIAS E EXPOSIÇÕES POR O TEMA - 4º TRIMESTRE DE 2011 PRINCIPAL STATISTICS

重新启动 vim, 当你只编辑一个 buffer 的时候 MiniBufExplorer 派不上用场, 当你打开第 二个 buffer 的时候, MiniBufExplorer 窗口就自动弹出来了, 见下图:.

(non-earned

很多人认为乒乓球运动是中国人最早开始的,但事实上乒乓球运动在中国只有

由于音乐以声波振动的非语义性组织结构与人类的情感、意志活动直接同构对应,所以音乐

1.概念:不论其为天然或人工、永久或 暂时、静止或流动、淡水或咸水,由 沼泽、泥沼、泥炭地或水域所构成的

微积分的创立是数学发展中的里程碑, 它的发展 和广泛应用开启了向近代数学过渡的新时期, 为研究 变量和函数提供了重要的方法和手段. 运动物体的瞬