项目进度安排,即通过将 工作量 分配给特定的软件工程任务,和<u>将所估算的工作量</u>分布于已经计划好的 项目持续时间 中。
(1)划分 —— 项目被划分为若干个 可管理的活动和任务 ;
(2)相互依赖 —— 活动和任务之间的 关系 必须被确定为:顺序、并发、后续、独立进行;
(3)时间分配 —— 为每个任务分配 工作单位 (即开始和结束时间);
(4)工作量确认 —— 确保<u>在任意时段</u>分配到任务的人员数量 不会超过 项目组的人员数量;(比如:一个项目组此次预估需要有12人分配到任务才能完成此项工作,但原定人员数量为10人,那么12>10,这项任务的工作量必然超标了,所以要确保不能超过)
(5)定义责任 —— 每个被调度的任务都应该 指定负责人 ;
(6)定义结果 —— 每个被调度的任务都要有一个 定义好的输出结果 ;
(7)定义里程碑 —— 每个任务或任务组都与 一个项目里程碑 相关联;
当几个人共同承担软件开发任务时,人与人之间必须通过交流来解决各自承担任务之间的接口问题,即所谓通信问题。通信需花费时间和代价,会引起软件错误增加,降低软件生产率。
如果一个软件开发小组有 n 个人,每两人之间都需要通信,则总的通信路径有 条。
如想对通信路径有进一步了解,可到 项目管理中的4P 文章中的项目小组结构进行查看
Q1 :设一个人单独开发软件,生产率是5000行/人年。若 4 个人组成一个小组共同开发这个软件,则需要 6条通信路径。若在每条通信路径上耗费的工作量是 250 行/人年。则小组中每个人的软件生产率降低为多少?
A1 :小组中每个人的软件生产率降低为 5000 - ×250 = 5000 - 375 = 4625 行/人年,所以项目组的生产率为18500。
Q2 :如在上例中,到了开发后期再加入 两名工程师 ,生产率为840行/人年,问此时项目组的生产率为?
A2 :6个人所产生的的通信路径为 = 15条;所以项目组的生产率为5000 × 4 + 840 × 2 - 15 × 250 = 17930。
( 1 )在整个软件开发过程中,编码工作量仅占 20% ,编码前工作量占 40% ,编码后工作量占 40% 。
( 2 )40-20-40 规则只应用来作为 一个指南 ,实际的工作量分配比例必须按照 各项目的特点 来决定。
用一张图来了解关于 软件各阶段的工作量 分配比例。
在实际的软件开发中,一种比较推荐的工作量分布为:
在关键路径上的活动才是按时完成任务的关键。
表1 盖一所房子的重要阶段
表2 盖房子相关活动的时间估计
表3 任务网络图
问 :某项目的活动网络图如表3所示,每项活动所需的天数如路径上数字所示。(1)请给出计算过程确定项目的关键路径和工期。(2)设定活动1.1和1.2的最早开始时间均为第1天,给出所有活动的最早开始时间ES、最迟开始时间LS和浮动时间FT。
项目评估和评审技术是一种 关键路径分析技术 ,使用 正态分布 来判断一个活动的最早开始时间接近该活动进度时间的概率。PERT技术可以计算关键路径、找出最可能成为瓶颈的活动。
获得值分析,主要分析 两个内容 : ① 进度是否拖延; ② 成本是否超出预算。基于这两个内容,对获得值分析进行以下阐述。
(1)计划工作的预计成本(BCWS) :截止到某一时刻,计划工作的预计工作量之和。
(2)完成预算(BAC) : BCWS的总量,是项目的总工作量的估计。
(3)预定完成百分比 :计划工作的预计成本占预计总工作量的百分比,计算公式为: 。
(4)完成工作的预计成本(BCWP) :截止到某一时刻,完成工作的预计工作量之和。
(5)完成百分比 :完成工作的预计成本占预计总工作量的百分比,计算公式为: 。
(6)所完成工作的实际成本(ACWP) :截止到某一时刻,已完成的工作任务的实际工作量之和。
(1)进度性能指标(SPI) = ;
(2)进度偏差(SV) = BCWP - BCWS;
(3)成本性能指标(CPI) = ;
(4)成本偏差(CV) = BCWP - ACWP。
下图是某工程的实际完成表。
Question:在该工程实施过程中,截止到21年4月1号,进度是否拖延?工期是否超出预算?
Answer:
截止到21年4月1号,计划完成任务1、2,实际完成了1、2、4,由此可计算出 BCWS 、 BCWP 、 ACWP 和 BAC 的值。
综上所述,因为 SPI > 1,SV > 0 , CPI < 1,CV < 0 ,所以截止到21年4月1日,该工程进度超前,成本超出预算。
Question:若考察点在21年5月1日,此时任务完成进度如上图所示,问进度是否拖延?工期是否超出预算?
Answer:
截止到21年5月1号,计划完成任务1、2、3、4,实际完成了1、2、3、4,由此可计算出 BCWS 、 BCWP 、 ACWP 和 BAC 的值。
综上所述,因为 SPI = 1,SV = 0 , CPI < 1,CV < 0 ,所以截止到21年4月1日,该工程进度正好,即项目按计划进行,但成本超出预算。
Question:
你被指定负责一个软件项目,这个项目由4个部分(A、B、C、D)组成,项目总预算为53000元,其中A任务预算为26000元,B任务预算为12000元,C任务预算为10000元,D任务预算为5000元。
截止到8月31日,A任务已经全部完成,B任务过半,C任务刚开始,D任务还没有开始,下表给出截止到8月31日的计划成本和实际成本,采用50/50规则计算截止到8月31日为止的 CV , SV , CPI , SPI 。
(备注:50/50规则指项目一开始就实现一半价值,直到结束才实现全部价值,即完成1%或99%,都认为只实现一半价值)
Answer:
截止到8月31日为止的 CV , SV , CPI , SPI 的计算结果如下:
综上所述,因为 SPI < 1,SV < 0 , CPI > 1,CV > 0 ,所以截止到8月31日,该工程进度落后一些,但是费用节省了。
软件项目进度安排与跟踪的文章就讲解到这里啦!在这一块内容中,计算关键路径部分尤为重要,也是软考当中的常考题。在学会之后还要自己脱稿再演算多遍,且可以将题目举一反三进行多次计算。如果有不理解的欢迎私聊~
同时,如有需要了解软件工程相关的其他内容,可到『 软件工程 』栏目进行查看学习~
创作不易,如果这篇文章对你有用,记得留下 Star 哦~