ADM / PDM 网路图

PDM (Precedence Diagramming Method) 顺序构图法,是根据上一篇的 CPM (Critical Path Method) 衍生出用来建立任务网路图的一种方法。

与纯 CPM 最大的差别是顺序构图法呈现了任务的依赖关系,如果专案时程有变化,使用 PDM 的方法会很容易看出来,因此 PDM 强化了时程评估的准确度。

实践 PDM 一样需要确定关键路径,因为 PDM 也是 CPM 的一环。

任务依赖关系

PDM 对任务之间定义的依赖关系总共有四种,以下举例是两个任务之间的关系:

范例: [任务 A哪里] 到 [任务 B 的哪里]

  1. 开始到开始
  2. 结束到结束
  3. 结束到开始
  4. 开始到结束

开始到开始

https://ithelp.ithome.com.tw/upload/images/20211006/20092753SLt0bDTf0W.png

这个连线的方式的意思可能代表任务会是平行处理的,Task A 的最早开始时间,就是 Task B 的早开始时间,也就是 B 要等到 A 开始进行了,也才会开始进行 B。

结束到结束

https://ithelp.ithome.com.tw/upload/images/20211006/200927532AJXaD0QLm.png

这个的连线方式代表 Task B 如果要完成的话,Task A 也必须要先完成才行,所以 Task A 的结束语否与 Task B 的结束语否直接相关,这样的作业方式也可能代表任务会是平行处理的。

结束到开始

这是最直接可以了解的图, Task B 的【最早完成时间】会受到 Task A 的 【最早开始时间】影响,进行流程是 Task A 做完再做 Task B。

https://ithelp.ithome.com.tw/upload/images/20211006/20092753oq3ryiLWxR.png

开始到结束

https://ithelp.ithome.com.tw/upload/images/20211006/200927534I8sRuGAOS.png

这个连线方式代表 Task B 要完成之前,Task A 要先开始,Task A 的【最早开始时间】会影响 Task B 的 【最早完成时间】,有一点像是要下班前,必须先让某个人开始上岗位,这样你才算交接完成,快乐下班。

下图是一个 [1] 的范例,呈现了套用 PDM 的 PERT 的图表以及评估时间表,也含有含流程的甘特图的整合。

https://ithelp.ithome.com.tw/upload/images/20211006/20092753TxclJlji2U.jpg

ADM

ADM (Arrow Diagram Method) 箭头构图法,不一样之处在於任务是使用【箭头本身】表示的,上述任务都是用圈圈表示,但 ADM 是箭头; ADM 本身已经很少被使用,PDM 会较於热门,不过 ADM, PDM 都是时常被提到的构图法,因此会一并介绍。

ADM 与 PDM 不同, ADM 的工作流基本上都必须依序完成,前面的工作完成之前,後面的工作就是不同进行,无法依照 CPM 浮动、崩溃的概念来拖延专案时间。

ADM 的其中一个画法,就是每个任务都用实线箭头连接,如果有依赖关系就可以用虚线箭头连接,并且在箭头下面写任务持续时间,每个节点中间写的是进行进度 (抑或是任务顺序编号),一个任务做完就会停在某个进度编号上:

https://ithelp.ithome.com.tw/upload/images/20211006/20092753bQISHEjOoR.png

进度编号可以是 1,2,3,4,5…,但如果这麽做,临时有插播任务就会变得很奇怪,於是根据 Praxis Framework [9] 提供的方法是以 5 递增来表示节点顺序。

https://ithelp.ithome.com.tw/upload/images/20211006/200927537z4aRijimX.png

要评估关键路径,方法会与 CPM 依样需要列出时间,使用节点的圆图来表示,根据 Praxis Framework [9] 提供的方法就会使用下面这个画法来表示最早开始时间 (EET)、最晚事件结束时间 (LET):

https://ithelp.ithome.com.tw/upload/images/20211006/20092753ue7SvLpcRP.png

AOA, AON

刚才所说到的【箭头本身表示任务】、【圈圈本身表示任务】这两大词就只是 AOA (Activity On Arrow)、 AON (Activity On Node)。

ADM 箭头构图法,就是 AOA (Activity On Arrow) 箭头表示活动。

https://ithelp.ithome.com.tw/upload/images/20211006/20092753Ipt5ShBGSP.png

PDM 顺序构图法,就是 AON (Activity On Node) 节点表示活动。

https://ithelp.ithome.com.tw/upload/images/20211006/20092753oEqgQovbM6.png

References:

[1] https://vi.wikipedia.org/wiki/S%C6%A1_%C4%91%E1%BB%93_m%E1%BA%A1ng_PDM
[2] https://en.wikipedia.org/wiki/Arrow_diagramming_method
[3] https://www.projectmanager.com/blog/precedence-diagramming-method
[4] https://acqnotes.com/acqnote/tasks/precedence-diagram-method-pdm
[5] https://acqnotes.com/acqnote/tasks/network-diagram
[6] https://project-management.fandom.com/wiki/Precedence_diagramming_method
[7] https://project-management.fandom.com/wiki/Arrow_diagramming_method
[8] https://taityo-diary.hatenablog.jp/entry/2016/05/14/140935
[9] https://www.praxisframework.org/en/library/activity-on-arrow-diagram
[10] https://uomustansiriyah.edu.iq/media/lectures/5/5_2018_01_09!02_39_09_PM.pdf


<<:  [Day-27] cin深入练习(一)

>>:  CTF 初体验

Day 11 - 画布操作与编织复杂图形

当我们对於画布操作 保留画布的状态 储存特定时候 累积上一次的变动,绘制下一刻的图 利用旋转,放大,...

Day 28 Chatbot integration- 汇率预测小工具

Chatbot integration- 汇率预测小工具 丑话先说在前头,模型虽然可以达到一定程度准...

Day.13 Crash Recovery - InnoDB 架构 -> MYSQL 二阶段提交(2PC) _1

今天开始的主题有关於MYSQL的crash-safe能力(二阶段提交),如何保证服务在任何时间发生...

Day 0x7 UVa11417 GCD

Virtual Judge ZeroJudge Zerojudge 直接破图 题意 输入一数字 N...

Day 30 - 人生 Online 好难玩,技能到底要怎麽点才能最强呢?

前言 首先先恭喜我自己完赛。 今年本来是想写 Flutter 的,在我的 Day 1 那篇应该有提到...