软考高项的进度网络图,可以说是上午选择题和下午案例题都绕不开的硬骨头。尤其是单代号、双代号、七格图、横道图这四种图,我备考时来回啃了三轮才真正吃透,后来还自己总结了画图和计算的固定套路。这篇文章就按“为什么考、怎么画、怎么算、怎么避坑、怎么用”这条线,把四种图和六参数计算一次性讲明白。
无论你是零基础刚开始接触软考高项,还是已经刷完一遍真题、想在下午计算题上拿稳分数,这篇都适用。我尽量说人话,把每个考点落到可以直接做题、直接画图的层面。
1. 为什么进度网络图每年都考,而且四种图其实是一条线
先想清楚一个底层问题:进度网络图为什么值得软考反复考?
进度管理是项目管理的核心知识领域之一,而网络图正是表达进度计划、识别关键路径、应对工期变更的基本工具。软考高项不考死记硬背,而是考你能不能在一个具体的项目场景里,把活动逻辑关系画成图、算清楚六个时间参数、找出关键路径。所以上午选择题会考“某种图的优缺点”“虚工作的作用”;下午案例题更实际,经常给你一张活动清单表,要求补全网络图、计算参数、判断关键路径和总工期,甚至让你判断“某个活动延迟3天是否影响总工期”。这背后考的就是网络图的底层计算能力。
理解了考试动机,再看四种图,就会发现它们并不是四个相互割裂的知识点,而是同一个底层对象——活动的逻辑关系和工期参数——的不同表达视角。
- 单代号网络图:强调“活动节点化,逻辑靠箭线”。
- 七格图:单代号网络图每个节点上的参数面板,把六个时间参数直接写进节点。
- 双代号网络图:反过来了,强调“活动箭线化,逻辑靠节点”,用虚工作处理复杂约束。
- 横道图:把活动和工期直接打到时间轴上,最直观,但看不出关键路径。
换句话说,单代号、七格图、双代号之间可以相互转换,横道图则是从时间维度把这些结果串起来的结果视图。理解了这条主线,后面学起来就不会觉得每种图都是新知识,而是同一套逻辑在换外壳。
提示:很多人备考时会犯一个错误,就是把四种图当成四套独立知识去背。实际上下午案例题的计算工具主要就是“七格图”和“双代号”这两种模板,你只要掌握一套完整的解法,另一种只是换了一个画法。备考顺序建议是:先吃透单代号和七格图,再去看双代号,最后用横道图做时间轴上的理解。
2. 四种图逐个拆解:画法、规则与对标考点
2.1 单代号网络图:节点是主角,逻辑关系写在箭线上
单代号网络图,英文缩写 AON(Activity On Node),也叫前导图 PDM。它的画法规则非常直观:每个活动用一个节点表示,方框或圆形都行,节点里写明活动名称或编号;箭线只表达活动之间的逻辑顺序,箭尾是紧前活动,箭头是紧后活动。箭线本身不携带工期信息,工期写在节点里。
单代号支持四种逻辑关系:完成-开始(FS)、开始-开始(SS)、完成-完成(FF)、开始-完成(SF)。考试用得最多的是 FS,也就是“前一个活动结束之后,后一个活动才能开始”。题目表格里写“B的紧前活动是A”,本质就是 A 对 B 是 FS 关系。
画单代号有四条铁规矩:
- 不能出现回路,有回路意味着进度会陷入循环,这在真实项目中不可能持续。
- 两个节点之间不能有多条箭线,否则逻辑会重影。
- 只能有一个开始节点和一个结束节点,整体图从开始到结束必须连通。
- 节点编号可以不连续,但顺手理清顺序,后面算参数不容易乱。
单代号最大的优点是直观。基层执行团队看这种图最省力,每个人看到一个方框就知道自己负责的活动在哪、前后是谁。这也是为什么很多项目会把单代号网络图用作基层排班计划,它强调的是“活动”本身。
2.2 双代号网络图:箭线是主角,虚工作是灵魂
双代号网络图,英文缩写 AOA(Activity On Arrow),也叫箭线图 ADM。和单代号正好相反:箭线表示活动,节点表示事件。箭尾节点是活动的开始事件,箭头节点是活动的结束事件。每个活动会被分配一对节点编号(i, j),通常要求箭尾编号小于箭头编号。
双代号的画法规则,除了“不能有回路、一个起点一个终点”之外,还有一个独特要求:引入虚工作。虚工作用虚线箭线表示,不消耗时间和资源,它存在的唯一目的是满足逻辑关系。
什么时候必须引入虚工作?最经典的场景是:A、B两个活动并行执行,C同时依赖A和B才能开始,而D只依赖A就能开始。如果直接画实线,A的结束节点既要连C又要连D,B的结束节点也要连C,为了不产生多个开始节点,A和B的结束节点就必须合并。一旦合并,D的起点也变成了公共节点,逻辑上D就会同时依赖A和B,这显然不对。这时就必须引入一条虚工作,把B的结束单独引到C的结束(或者把A的结束分离出去),让D只和A的结束节点相连。
虚工作是双代号考试里最容易丢分的地方。案例题要求“补全网络图”时,很多人漏画一条虚工作,导致整张图逻辑错误。我的经验是:看到“某个活动需要等两个活动都完成才能开始”,就默认要检查虚工作;看到“两个活动并行且最终汇合到同一个后续活动”,也默认要检查虚工作。并不一定每次都有虚工作,但这两个位置是虚工作出现概率最高的地方。
2.3 七格图:把单代号节点升级成参数卡片
七格图是单代号网络图的一种特殊节点形式,也是软考下午案例计算题最常用的画法。它把节点分成七个区域,常见布局是:第一行三个格子,分别是 ES(最早开始)、工期 D、EF(最早完成);中间一行写活动名称或编号;第三行三个格子,分别是 LS(最晚开始)、总时差 TF、LF(最晚完成)。有些资料还会多出一个自由时差 FF 的格子,叫法上会有“六参数”和“七格”的差异,本质上都是围绕六个时间参数在转。
七格图的意义在于把计算过程可视化。你不需要单独列一张参数表,而是把正推、反推的结果直接写在节点上。整张图画完后,一眼就能看出哪些活动 TF=0,方便下一步找关键路径。同时,它也是下午案例题的标准答法之一,阅卷老师对着图形核对参数比看你写的表格更直观。
画七格图有一个很实际的技巧:全图统一用一种布局,坚持“先画完整个单代号拓扑结构,再填参数,填完再整体检查一遍”。千万不要边画边填,因为正推要参考紧前节点,反推要参考紧后节点,图没画完整很容易漏算或取错最大/最小值。我备考时会先用铅笔轻轻画好节点结构,统一填第一行,再从终点节点反向填第三行,最后用“TF = LS - ES = LF - EF”校验每个节点,对得上才放心。
2.4 横道图:最直观的进度视图,但别指望它找关键路径
横道图又叫甘特图,是最接近普通人直觉的进度图。横轴是时间,精确到天、周甚至月;纵轴是活动列表;每个活动用一条横向条形表示,条形的起止位置对应活动的开始时间和结束时间,条形长度对应工期。
横道图最大的优势是直观、易读。项目干系人打开页面一眼就能看懂项目当前进展,这也是为什么很多汇报场景首选它。但它有两个非常明显的短板:第一,活动之间的依赖关系不会直接体现在图上,你得靠人工判断;第二,无法直接识别关键路径和总时差。所以软考里考横道图,多半是考它的优缺点、适用场景,或者在资源优化类题目里用它观察资源冲突。如果题目说“根据横道图判断哪些活动在并行”,直接看时间轴上有重叠的条即可。
实际项目中往往是“网络图定计划,横道图做汇报”。先用单代号或双代号把逻辑和关键路径梳理清楚,再转成横道图给管理层展示。管理层不需要知道虚工作是什么,他们只需要知道哪些任务今天启动、哪些任务月底必须完成。横道图在这里扮演的是沟通桥梁,而不是计算工具。
3. 六参数计算全流程:一道题带你跑通正推和反推
这一章是最核心也最容易丢分的部分。我以单代号/七格图的参数体系为例,用一个小项目完整跑一遍正推、反推、时差计算和关键路径判断。
先给出活动清单。项目有 A、B、C、D 共4项活动,工期分别是 3、2、4、3 天,逻辑关系如下:
| 活动 | 工期(天) | 紧前活动 |
|---|---|---|
| A | 3 | 无 |
| B | 2 | A |
| C | 4 | A |
| D | 3 | B、C |
对应的单代号网络图:A 是起点,A 后面同时分出 B 和 C,B 和 C 结束后汇合到 D。
3.1 正推法:从左到右,紧前全部完成才能开始
正推方向是从网络图开始节点出发,沿箭线方向逐个计算 ES 和 EF。ES 是活动最早可能的开始时间,EF 是活动最早可能的完成时间,基本公式是 EF = ES + 工期。
- 对没有任何紧前活动的开始活动,ES = 0。
- 对有多个紧前活动的活动,ES 取所有紧前活动 EF 的最大值,因为只有全部紧前都完成,这个活动才能开始。
计算过程:
A 没有紧前,ES=0,EF=0+3=3。
B 的紧前只有 A,所以 B 的 ES=3,EF=3+2=5。
C 同理,ES=3,EF=3+4=7。
D 的紧前有 B 和 C,取 EF 的最大值,max(5, 7)=7,所以 D 的 ES=7,EF=7+3=10。
整个项目总工期就是终点活动的 EF,这里 D 的 EF=10,也就是项目总工期 10 天。
这里有个非常典型的错误:有人会把 D 的 ES 直接写成 B 的 EF=5,忽略了 C 要第 7 天才完成。正推取最大值的逻辑一定要刻在脑子里:活动开始之前,所有紧前活动都必须完成,缺一个都不能动工。
3.2 逆推法:从右到左,紧后最晚开始就是我的最晚完成
逆推方向是从终点节点倒着往回算 LS 和 LF。LF 是活动在不影响总工期的前提下最晚必须完成的时刻,LS = LF - 工期。
- 对终点活动(没有紧后活动的活动),LF 取总工期。
- 对有多条紧后活动的活动,LF 取所有紧后活动 LS 的最小值,因为只要有一个紧后活动必须按时开始,这个活动就不能拖到比它更晚。
在这个例子里:
终点是 D,所以 D 的 LF=10,LS=10-3=7。
C 的紧后只有 D,所以 C 的 LF = D 的 LS = 7,LS = 7-4=3。
B 同理,LF=7,LS=7-2=5。
A 的紧后有 B 和 C,LF 取 min(B的LS, C的LS) = min(5, 3)=3,LS=3-3=0。
逆推最容易在“取最小值”这里出错。有人会习惯性把 A 的 LF 写成 B 的 LS=5,但 C 要求 A 最晚第 3 天完成,如果 A 第 5 天才完成,C 就铁定延期,总工期立刻保不住。记住一句话:最晚完成时间,永远由最早开始的那个紧后活动决定。
3.3 总时差与自由时差:很多人栽在这里
总时差 TF = LS - ES = LF - EF,表示在不影响总工期的前提下,活动可以拖延的时间。
自由时差 FF 盯的是“不影响紧后活动最早开始”的前提下可以拖延多少,公式是 FF = min(紧后活动的 ES) - EF。没有紧后活动的活动,FF = 总工期 - EF。
接着算每组数据:
A:TF=0-0=0;紧后有 B、C,min(ES_B, ES_C)=min(3, 3)=3,FF=3-3=0。
B:TF=5-3=2;紧后只有 D,min(ES_D)=7,FF=7-5=2。
C:TF=3-3=0;紧后只有 D,FF=7-7=0。
D:TF=7-7=0;没有紧后活动,FF=10-10=0。
总时差和自由时差最大的混淆点就在这里。总时差问的是“晚点完成会不会拖累整个项目”,自由时差问的是“晚点完成会不会拖累紧后工作”。B 在这个例子里总时差和自由时差都是 2 天,但很多复杂场景里两者并不相等。如果你只想记一个公式,优先记自由时差的公式,因为总时差通常是直接相减,自由时差才需要看紧后数据。
3.4 找关键路径:总时差为0的活动连起来
所有 TF=0 的活动连起来,就是关键路径。更稳的做法是:从开始节点到终点节点,沿着“前一个活动 EF = 后一个活动 ES”的路径走一遍。
上例中 TF=0 的活动是 A、C、D,连成 A-C-D,工期 3+4+3=10,正好等于总工期,这就是关键路径。
关键路径的意义在于:它上面的活动一点都不能延误。C 晚两天,总工期从 10 变成 12;B 晚两天,总工期却不变,因为 B 有 2 天总时差。这就是下午案例最爱的设问方式——“B 活动延期 2 天会影响总工期吗?”答案是不影响,因为它正好等于总时差 2 天;要是延期 3 天,总工期就变成 11 天。
这里还有一个进阶考点:关键路径可能不止一条。只要有多条路径的总时长都等于总工期,每一条都必须当成关键路径来管理。项目管理软件里通常会高亮所有关键路径,原因就在这里。
4. 软考备考中最容易踩的坑与自查清单
4.1 概念混淆:单代号、双代号老分不清
最常见的错误就是单代号和双代号总是搞混。我的记忆锚点很直接:单代号里“节点”就是“代号”,一个活动占一个节点,活动代号和节点是一一对应的,所以叫“单代号”;双代号里一个活动要用两个节点编号(i, j)来定义,箭线代表活动,所以叫“双代号”。简单说,单代号的重点是节点,双代号的重点是箭线。
另一个高频混淆点是七格图和单代号的关系。有人以为七格图是另一种独立图形,其实它就是把单代号节点升级成参数卡片。考试时如果题目没说必须画哪种图,用单代号 + 七格图参数是最省事的组合;如果题目指定双代号,那就要把虚工作检查两遍。
4.2 计算错误:三个重灾区要单独盯防
计算错误大多出在三个地方,逐个说一下。
第一,正推取最大值时看漏紧前活动。有些题目表格里多个紧前活动用逗号分隔,比如“B、C、D”,容易漏掉排在后半部分的那个。建议先把紧前关系抄到草稿纸上,逐个勾画,再开始正推。
第二,逆推取最小值时把 LF 错算成紧后活动的 EF。注意,逆推看的是紧后活动的 LS,不是 EF。只有先算出所有紧后活动的 LS,才能确定当前活动的 LF。
第三,自由时差公式记反。有人会写成“EF - 紧后ES”,符号和方向全是反的。实在记不住,就用场景化思考:我的紧后最早第7天开工,我第5天就能完工,那我可以拖2天不影响它,所以 FF=2。顺着这个逻辑写公式,就不会错。
这些错误靠刷题最容易暴露。我备考时给自己定了一条规矩:每道计算题做完,必须把关键路径画出来,再用关键路径的工期去对总工期。如果两条结果不一致,不用犹豫,回查正推或逆推的步骤。
4.3 做题自查清单:30秒拦住粗心错误
我把自己培养成做题必过三道检查的流程,分享给你:
- 检查1:网络图是否连通。有没有活动既没有紧前也没有紧后?如果有,它只能是起点或终点,否则图一定漏了连线。
- 检查2:正推结果里,所有紧后活动的 ES 是否都大于等于紧前活动的 EF;逆推结果里,所有紧后活动的 LS 是否都大于等于当前活动的 LS。
- 检查3:总时差和关键路径的一致性。关键路径上的活动总时差必须为 0;如果总工期固定,那么总时差为 0 的活动连在一起,必须能形成一条从起点到终点的通路。
这些检查不需要花太多时间,但能拦下大部分粗心错误。考试时间虽然紧张,这 30 秒非常值得花。
4.4 备考顺序和记忆口诀
我觉得最舒服的备考顺序是:先学会用七格图跑通一个四五个活动的小项目,再做三道双代号补图题,最后背横道图优缺点。这样从能上手,到能应考,再到能当工具,层级很清楚。
记忆口诀我整理了一组:
- 正推取大,逆推取小。
- 最早 ES 靠前推,最晚 LF 靠后倒。
- 总时差看全局,自由时差看紧后。
低频但考过的点还有“虚工作不占用资源、不消耗时间”以及“双代号时间参数计算中节点最早时间和最迟时间的区别”。这些属于进阶内容,前期把基础六参数跑熟更重要。
5. 从考场到项目:这些图在真实进度管理中的用法
5.1 用网络图定计划,用横道图做汇报
考完试之后,这些图并不仅仅是卷子上的概念。我自己的项目实操习惯是:项目启动时先用单代号网络图把所有活动之间的依赖关系梳理清楚,尤其盯紧跨团队的接口活动;计算出关键路径后,把关键路径上的活动单独标注排期;最后把非关键路径活动塞进时差窗口,转成横道图发给干系人。横道图在这里更像一个“结果视图”,它不负责思考,只负责呈现。
这里有一个实战细节:很多项目管理软件默认显示甘特图,但底层计算逻辑完全靠网络图算法。你在软件里看到的“开始时间不早于 XX”“滞后时间 XX 天”,本质上都是六参数计算的结果。理解了网络图之后,你就会明白为什么某个任务在软件里会自动顺延——因为它的紧前任务 EF 变了,正推结果自然跟着变。
5.2 资源冲突时,网络图能帮你腾挪
资源受限是项目里的常态。比如某个关键路径活动和一个非关键路径活动同时需要同一个资深开发,这时候要问自己:非关键活动的自由时差够不够覆盖冲突期?不够就考虑调整它的开始时间,或者从其他路径借资源。这个过程本质上是把网络图时差当成弹性空间在用,比单纯盯着横道图上看“堆叠了多少任务”更科学。因为横道图能看到任务重叠,但看不到重叠是否致命;网络图能告诉你,哪些重叠可以忍,哪些一秒都不能忍。
这个视角一旦养成了,软考卷子上的进度题就不再是“考试题”,而是在练你的项目直觉。
最后再分享一个很个人的小技巧。我备考那阵子,每次做进度网络图题,都会先把题目里的逻辑表抄成一张“紧前关系映射表”,再开始画图。这个动作看着费时间,实际上能极大降低看漏紧前活动的概率。考试时我不会省这笔时间——磨刀不误砍柴工。等你真正上手之后,就会发现单代号和双代号之间可以互相转换,七格图里的参数只是换了个地方摆放,而横道图就是所有这些计算结果在时间轴上的投影。四张图,一条线,整章考点全部串起来。祝你在软考高项的考场上,看到进度题就像看到老朋友。