项目进度管理(4-2)关键链法和关键路径法的区别和联系
1 关键链法和关键路径法的主要区别
1.1 关键链法和关键路径法的关注焦点不同
- 关键路径法(CPM):关注项目中最长的路径,也就是所需时间最长的路径,这被称为关键路径。关键路径决定了项目的最早完成时间。
- 关键链法(CCM):关注资源约束和资源分配的影响,强调资源的有效利用和优化,以减少资源瓶颈导致的项目延期。
1.2 任务时长估算不同
- 关键路径法(CPM):任务时长估算通常是基于确定性的,即每个任务有确定的持续时间。
- 关键链法(CCM):关键链法鼓励使用更乐观的估算,以减少人为保守估算造成的项目延期。它假设资源得到了适当的分配和管理,从而可以更快地完成任务。
1.3 缓冲区管理不同
- 关键路径法(CPM):通常会使用任务间的浮动时间来设置缓冲时间,以应对延误。
- 关键链法(CCM):引入了项目缓冲和资源缓冲,以减轻资源约束和不确定性带来的影响。项目缓冲用于保护项目结束时间,资源缓冲用于保护资源约束点。
1.4 资源分配不同
- 关键路径法(CPM):通常忽略资源分配,只关注任务的时长和顺序。
- 关键链法(CCM):强调资源约束,任务的分配和调度基于资源的有效利用,以最大程度地减少资源瓶颈。
1.5 目标不同
- 关键路径法(CPM):目标是尽可能地缩短项目的总持续时间。
- 关键链法(CCM):目标是在资源约束下,尽可能地减少项目的延期风险。
总的来说,关键链法更加关注资源约束和优化,强调以更乐观的方式进行任务时长估算,以及引入缓冲区来保护项目进度。相比之下,关键路径法更加关注任务的时间和顺序,以实现最短的项目完成时间。选择使用哪种方法取决于项目的性质、资源限制以及团队的实际需求。
2 关键链法和关键路径法的联系
- 时间管理: 关键路径法和关键链法都是时间管理工具,旨在帮助项目管理者合理规划任务的时间,确保项目按时完成。
- 任务依赖: 两种方法都考虑任务之间的依赖关系,关键路径法着重于确定最长的依赖路径,而关键链法关注资源约束下的依赖关系。
- 项目控制: 关键路径法和关键链法都有助于项目控制和进度管理,但侧重点不同。关键路径法强调确保关键路径上的任务按时完成,而关键链法注重在资源约束下减少项目延期风险。
总之,关键链法和关键路径法在项目管理中有各自的优势和应用场景。关键路径法适用于那些不受资源限制的项目,而关键链法更适用于资源约束和不确定性较高的项目,通过优化资源利用和缓冲管理,提高项目的进度控制能力。
3 关键链法和关键路径法中其他问题总结
3.1 三点估算法 是否可以用在 关键链法中?
一般情况下 三点估算法是用在 关键路径法中的,但是这里要注意:三点估算法并不限于关键路径法中,它可以在项目管理的各种方法中使用,包括关键路径法、关键链法以及其他时间管理技术。三点估算法的主要目的是提供更准确的任务时长估计,以考虑不确定性和风险,从而更好地规划项目排程。
在关键路径法中,三点估算法通常用于计算任务的最早开始时间和最晚开始时间,以确定任务的浮动时间和关键路径。这有助于确定项目的最短完成时间。
在关键链法中,三点估算法也可以用来估算关键链任务的时长,以考虑资源约束和不确定性。关键链法强调使用更乐观的任务时长估算,以减少人为保守估算可能导致的问题,而三点估算法可以为乐观估算提供支持。
总之,三点估算法是一个通用的时间管理工具,可以在各种项目管理方法中使用,以提高任务时长估计的准确性,从而更好地应对不确定性和风险。无论是关键路径法还是关键链法,三点估算法都可以为项目管理提供有价值的支持。
3.2 关键链任务 和 关键路径法中的关键任务有啥区别?
让我通过一个案例来说明关键路径法中的关键任务和关键链法中的任务之间的区别。考虑一个软件开发项目,需要完成以下几个子任务:A、B、C、D、E、F、G。每个子任务的预计完成时间和任务关系图如下(粉色为空节点,只为表达完整节点关系而引入):

@1 关键路径法中的关键任务:
在关键路径法中,我们需要构建项目的网络图,然后找出最长路径。最长路径上的任务就是关键路径上的关键任务,它们决定了项目的最短完成时间。假设根据依赖关系,任务顺序如下:A -> B -> C、D并行 -> E、F并行 -> G。计算得出最长路径为:A -> B -> C -> E -> G,时长为 5 + 3 + 6 + 7 + 5 = 26天。因此,关键路径上的关键任务是 A、B、C、E、G。
@2 关键链法中的任务:
在关键链法中,我们考虑资源约束和缓冲管理。假设在该项目中,资源约束主要在任务 C 和任务 E 上。任务 C 需要特定的技能,而任务 E 需要特定的软件环境。这两个任务是关键链上的任务。此外,考虑乐观估算和缓冲,我们可能对任务的时长进行调整,比如任务 C 被乐观估算为 4 天,任务 E 被乐观估算为 6 天。因此,关键链法中的任务是 C 和 E。
@3 两者区别:
- 在关键路径法中,关键任务是决定最短完成时间的任务,通常是最长路径上的任务。在上述案例中,关键路径法中的关键任务是 A、B、C、E、G。
- 在关键链法中,关键任务是受资源约束影响的任务,可能与关键路径上的任务不同。在上述案例中,关键链法中的任务是 C 和 E,这是因为它们受到资源限制的影响。
通过这个案例,我们可以看到关键路径法和关键链法中的关键任务不同,前者注重项目的最短时间,后者关注资源约束和任务优先级。
相关文章:
项目进度管理(4-2)关键链法和关键路径法的区别和联系
1 关键链法和关键路径法的主要区别 1.1 关键链法和关键路径法的关注焦点不同 关键路径法(CPM):关注项目中最长的路径,也就是所需时间最长的路径,这被称为关键路径。关键路径决定了项目的最早完成时间。关键链法&…...
基于Java+SpringBoot+Vue前后端分离医院后台管理系统设计和实现
博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…...
二维数组传参
在C语言中,可以通过指针来传递二维数组。二维数组实际上是一个连续的内存块,可以使用指针来表示二维数组的行和列。以下是一个示例: #include <stdio.h>void myFunction(int arr[][3], int rows) {for (int i 0; i < rows; i) {fo…...
AI 绘画Stable Diffusion 研究(十四)SD 图生图+剪映制作人物说话视频
大家好,我是风雨无阻。 前一篇,我们详细介绍了使用 SadTlaker制作数字人视频案例,感兴趣的朋友请前往查看:AI 绘画Stable Diffusion 研究(十三)SD数字人制作工具SadTlaker使用教程。 对于没有安装 SadTlaker 插件的朋友…...
ProPlot 基本语法及特点
文章目录 简介多子图绘制处理共享轴标签“跨度”轴标签多子图序号的绘制 更简单的颜色条和图例更加美观的颜色和字体 简介 科研论文配图多图层元素(字体、坐标轴、图例等)的绘制条件提出了更高要求,我们需要更改 Matplotlib 和 Seaborn 中的…...
element-template-admin get请求正常 post请求超市问题
最近搞全栈,想写个增删改查连接element-template-admin框架,postman测get和post请求都正常,到框架里直接超时,看网络请求一直是padding状态,后来经查阅资料,发现是这个template框架的问题 解决方案&#x…...
Promise.all和promise.race的应用场景举例
Promise.all( ).then( )适用于处理多个异步任务,且所有的异步任务都得到结果时的情况。 <template><div class"box"><el-button type"primary" plain click"clickFn">点开弹出框</el-button></div> &…...
go学习-指针 标识符
指针,以及标识符 1.指针 (1).基本介绍 1)基本数据类型,变量存的值,也叫值类型 2)获取变量的地址用&,比如 var num int ,获取num的地址:&num 3)指针类型&…...
LeetCode--HOT100题(42)
目录 题目描述:108. 将有序数组转换为二叉搜索树(简单)题目接口解题思路代码 PS: 题目描述:108. 将有序数组转换为二叉搜索树(简单) 给你一个整数数组 nums ,其中元素已经按 升序 排列…...
YOLOv8教程系列:三、K折交叉验证——让你的每一份标注数据都物尽其用(yolov8目标检测+k折交叉验证法)
YOLOv8教程系列:三、K折交叉验证——让你的每一份标注数据都物尽其用(yolov8目标检测k折交叉验证法) 0.引言 k折交叉验证(K-Fold Cross-Validation)是一种在机器学习中常用的模型评估技术,用于估计模型的性…...
leetcode算法题--表示数值的字符串
原题链接:https://leetcode.cn/problems/biao-shi-shu-zhi-de-zi-fu-chuan-lcof/description/?envTypestudy-plan-v2&envIdcoding-interviews 题目类型有点新颖,有限状态机 // CharType表示当前字符的类型 // State表示当前所处的状态 type State…...
Docker安装及Docker构建简易版Hadoop生态
一、首先在VM创建一个新的虚拟机将Docker安装好 更新系统:首先打开终端,更新系统包列表。 sudo apt-get update sudo apt-get upgrade下图是更新系统包截图 安装Docker:使用以下命令在Linux上安装Docker。 sudo apt-get install -y docker.i…...
使用Burp Suite进行Web应用渗透测试
使用Burp Suite进行Web应用渗透测试是一种常见的方法,可以帮助发现Web应用程序中的安全漏洞和弱点。 步骤: 准备工作: 首先,确保已经安装了Burp Suite,并配置浏览器以使用Burp Suite作为代理。 配置代理:…...
Github的使用指南
首次创建仓库 1.官网创建仓库 打开giuhub官网,右上角点击你的头像,随后点击your repositories 点击New开始创建仓库 如下图为创建仓库的选项解释 出现如下界面就可以进行后续的git指令操作了 2.git上传项目 进入需上传项目的所在目录,打开…...
mongodb 添加加点 stateStr 停在 STARTUP
解决办法 PRIMARY 节点是的host 是否是内网IP,如果是内网IP 需要切换成外网IP 即可;...
c语言中编译过程与预处理
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、c语言的编译与链接1、编译与链接概述2、编译与链接详解 二、c语言预处理1.c语言中内置的预定义符号2、#define定义标识符3、#define定义宏4、#define 替换规…...
TP-LINK 路由器设置内网穿透
TP-LINK 路由器设置内网穿透 开发中经常遇到调用第三方软件回调调试的情况,例如微信开发,支付回调等测试,用内网穿透是一种简单的方式也是偷懒的方式。 以TP-LINK路由器为例实现内网穿透 登录路由器 2.找到路由器虚拟服务器,添加…...
A 题国际旅游网络的大数据分析-详细解析与代码答案(2023 年全国高校数据统计与调查分析挑战赛
请你们进行数据统计与调查分析,使用附件中的数据,回答下列问题: ⚫ 问题 1: 请进行分类汇总统计,计算不同国家 1995 年至 2020 年累计旅游总人数,从哪个国家旅游出发的人数最多,哪个国家旅游到达的人数最多…...
《深入理解Java虚拟机》读书笔记: 类加载器
类加载器 虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块称为“类加载器”。 类加载器可以说是Java语言的一项创新&…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
