软件开发计划

  • 第1关:WBS
  • 任务描述
  • 相关知识
  • 作答要求
  • 参考资料
  • 答案
  • 第2关:进度计划
  • 任务描述
  • 相关知识
  • 作答要求
  • 参考资料
  • 答案
  • 第3关:进度管理
  • 任务描述
  • 相关知识
  • 作答要求
  • 答案


第1关:WBS

任务描述

本关任务:根据所学有关 WBS 的知识,完成相关的选择题。

相关知识

为了完成本关任务,你需要掌握:1. WBS 的基本概念,2.使用 WBS 的标准和方法。

什么是 WBS
WBS(Work Breakdown Structure),中文称工作分解结构,是项目管理重要的专业术语之一。

基本定义为:以可交付成果为导向对项目要素进行的分组,它归纳和定义了项目的整个工作范围,每下降一层代表对项目工作的更详细定义。

WBS 是由三个关键元素构成的名词:

工作 —— 可以产生有形结果的工作任务;

分解 —— 是一种逐步细分和分类的层级结构;

结构 —— 按照一定的模式组织各部分。

头歌作业python 头歌作业怎么提交_软件工程


WBS 分解

概括地讲,WBS 分解的主要步骤为:目标→任务→工作→活动

具体而言,即从项目的目标开始,逐级分解项目工作,直到参与者满意地认为项目工作已经充分地得到定义。该方法由于可以将项目工作定义在适当的细节水平,对于项目工期、成本和资源需求的估计可以比较准确。

其分解原则是将主体目标逐步细化分解,最底层的任务活动可直接分派到个人去完成。具体可以采用以下三种方式进行:

  • 按产品的物理结构分解
  • 按产品或项目的功能分解
  • 按照实施过程分解

WBS 的表示方式和创建过程
WBS 可以由树形的层次结构图或者行首缩进的表格表示。

例如采用树状结构进行分解时要以团队为中心,自上而下与自下而上的充分沟通,一对一地交流与讨论,分解单项工作。

头歌作业python 头歌作业怎么提交_甘特图_02


项目组内创建 WBS 的过程非常重要,因为在项目分解过程中,项目经理、项目成员和所有参与项目的部门主任都必须考虑该项目的所有方面。项目组内创建 WBS 的过程如下:

  1. 得到范围说明书或工作说明书(承包子项目时);
  2. 召集有关人员,集体讨论所有主要项目工作,确定项目工作分解的方式;
  3. 分解项目工作。如果有现成的模板,应该尽量利用;
  4. 画出 WBS 的层次结构图。WBS 较高层次上的一些工作可以定义为子项目或子生命周期阶段;
  5. 将主要项目可交付成果细分为更小的、易于管理的组分或工作包。工作包必须详细到可以对该工作包进行估算(成本和历时)、安排进度、做出预
    算、分配负责人员或组织单位;
  6. 验证上述分解的正确性。如果发现较低层次的项没有必要,则修改组成成分;
  7. 建立一个编号系统;
  8. 随着其他计划活动的进行,不断地对 WBS 更新或修正,直到覆盖所有工作。

WBS 的实践经验
在实际使用中,绘制的 WBS 树形结构图一般不超过20个层次,多于20层是过度的。对于一些较小的项目4-6层一般就足够了。

WBS 中的支路没有必要全都分解到同一层次,即不必把结构强制做成对称的。在任意支路,当达到一个层次时,可以作出所要求准确性的估算,就可以停止了。

作答要求

根据相关知识,按照要求完成右侧选择题任务。作答完毕,通过点击“测评”,可以验证答案的正确性。

参考资料

【1】WBS词典

【2】快速绘制WBS工作分解图

【3】有关WBS的详细介绍

答案

头歌作业python 头歌作业怎么提交_头歌作业python_03


头歌作业python 头歌作业怎么提交_经验分享_04


头歌作业python 头歌作业怎么提交_学习_05

第2关:进度计划

任务描述

本关任务:根据所学进度计划相关知识,完成相关的选择题。

相关知识

为了完成本关任务,你需要掌握:1.进度计划的含义,2.进度计划的常用工具。

软件项目的进度安排
软件项目的进度安排与任何一个工程的进度安排没有实质上的不同。

进行进度安排时,首先识别一组项目任务,建立任务间的相互关联,然后估计各个任务的工作量,分配人力和其他资源,指定进度时序。若软件项目有多人参加时,多个开发者的活动将并行进行。此时便需要用一些方法来表示进度计划。

常用的制定项目进度计划的方法有甘特图和网络图。

甘特图
甘特图( Gantt chart )又叫线条图、道图,是用来展示项目进度或者定义完成目标所需具体工作的一种工具之一,由亨利·甘特于1900年发明,甘特图很好地量示每项工作的开始时间和结束时间,水平线条的长度表示了该项工作的持续时间。

甘特图时间轴的刻度大小决定着项目计划粗略的程度,根据项目需要,可以以小时、天、周、月、年作为度量项目进度的时间单位。

甘特图的表示方法
甘特图有以下两种表示方法:

  • 棒状甘特图

用棒状图来表示任务的起止时间,空心的表示计划的起止时间,实心的表示实际的起止时间。

例如:

头歌作业python 头歌作业怎么提交_学习_06

  • 三角形甘特图

方向向上的三角形表示开始时间,向下的三角形表示结束时间,计划时间和实际时间分别用空心三角形和实心三角形表示。

例如:

头歌作业python 头歌作业怎么提交_软件工程_07


其常用绘制工具有:Microsoft Office Project 、Gantt Project 、VARCHART XGantt 、Excel 等。

甘特图的优缺点

  • 优点

① 结构简单,容易理解;

② 是表述项目进度的最简便方式,而且容易扩展,从而确定其提前或者落后的原因;

③ 在项目控制过程中,它也可以清楚地显示活动的进度是否落后于计划。如果落后于计划还可以确定何时开始落后于计划。

  • 缺点

① 不能表示活动之间的相互关系,因此不能表示活动的网络关系;

② 不能表示活动如果较早开始或者较晚开始所带来的结果;

③ 没有表明项目活动执行过程中的不确定性,因此,没有感性分析。

网络图

网络图,也叫工程网络图( Network chart )是一种有向图,该图中用圆表示事件,有向弧或箭头表示子任务的进行,箭头上的数字称为权(表示此子任务的持续时间),箭头下面括号中的数字表示该任务的机动时间,图中的圆表示与某个子任务开始或结束事件的时间点。

头歌作业python 头歌作业怎么提交_甘特图_08


在网络图中,可以将项目中的各个活动以及各个活动之间的关系表示出来,从左到右画出各个任务的时间关系图,表明项目任务将如何和以什么顺序进行。

网络图开始于一个任务工作、活动、里程,结束于另一个任务、工作、里程,在进行项目估计时,网络图可以表明项目将要花费多长时间来完成:当改变某项活动计划进度时,网络图可以表明项目的进度将如何变化。

网络图的表示方法
网络图是由作业事件路线三个因素组成的。

  • 作业( Activity )

是指一项工作或一道工序,需要消耗人力、物力和时间的具体活动过程。在网络图中用箭线表示,箭尾表示作业开始,箭头表示作业结束。

  • 事件( Event )

是指某项作业的开始或结束,它不消耗任何资源和时间,在网络图中用“○”表示。“○”是两条或两条以上箭线的交结点,又称结点。

网络图中第一个事件称网络的起始事件,表示一项计划或工程的开始;最后一个事件称网络的终点事件,表示一项计划或工程的完成;介于始点和终点之间的事件叫中间事件,它既表示前一项作业的完成,又表示后一项作业的开始。

  • 路线( Path )

路线是指自网络始点开始,顺着箭线的方向经过一系列连续不断的作用和事件直至网络终点的通道。一条路线上各项作业的时间之和是该路线的总长度(路长)。

在一个网络图中有很多条路线,其中总长度最长的路线成为关键路线。关键路线上的各事件为关键事件,关键事件的周期等于整个工程的总工期。

例如:

头歌作业python 头歌作业怎么提交_甘特图_09


其常用绘制工具有:CCProject、Viso等。

网络图的优缺点

  • 优点

① 能全面反映各个过程之间相互联系相互制约的逻辑关系;

② 通过时间参数的计算,能够找出关键点和关键线路,便于管理者抓住主要矛盾;

③ 通过时间参数的计算,可以对图中的程序进行调整和优化,从而从诸多可行方案中选出最优方案。

  • 缺点

① 绘图麻烦;

② 不易看懂;

③ 表达不直观。

作答要求

根据相关知识,按照要求完成右侧选择题任务。作答完毕,通过点击“测评”,可以验证答案的正确性。

参考资料

甘特图的绘制过程

答案

头歌作业python 头歌作业怎么提交_学习_10


头歌作业python 头歌作业怎么提交_甘特图_11


头歌作业python 头歌作业怎么提交_学习_12


头歌作业python 头歌作业怎么提交_学习_13

第3关:进度管理

任务描述

本关任务:根据所学进度管理相关知识,完成相关的选择题。

相关知识

为了完成本关任务,你需要掌握:1.进度管理的概念,2.进度管理的方法。

软件项目的进度管理
软件项目进度管理是指项目管理者围绕项目要求编制计划,付诸实施且在此过程中经常检查计划的实际执行情况,分析进度偏差原因并在此基础上不断调整,修改计划直至项目交付使用;通过对进度影响因素实施控制及各种关系协调,综合运用各种可行方法、措施,将项目的计划控制在事先确定的目标范围之内,在兼顾成本,质量控制目标的同时,努力缩短时间。

项目进度管理可以通过以下方式完成:制定项目里程碑管理运行表;定期举行项目状态会议,由软件开发方报告进度和问题,用户方提出意见;比较各项任务的实际开始日期与计划开始日期是否吻合;确定正式的项目里程碑是否在预期完成。

软件项目的进度管理的过程
在当前的软件项目开发的过程中,无论是开发人员还是管理人员都越来越注意到项目进度的重要性。那么如何控制项目进度,主要经过以下步骤:

活动定义
主要目的是确定为完成项目的各个交付成果所必须进行的诸项具体活动。具体为前述 WBS(工作分解结构)中规定的可交付成果或半成品的产生所必须进行的具体活动进行定义并形成文档。

活动排序
由于项目各项活动之间存在相互联系与相互依赖关系,所以需要根据这些关系进行适当的顺序安排。如在网络图中前置活动在箭尾,后置活动在箭头。

活动之间的逻辑关系包括:

  • 完成 - 开始( FS ,Finish-Start )

头歌作业python 头歌作业怎么提交_甘特图_14


在活动任务 B 开始之前,活动任务 A 必须完成(如只有编码完成后才能进行测试)。

  • 完成 - 完成( FF ,Finish-Finish )

头歌作业python 头歌作业怎么提交_甘特图_15


任务 A 和任务 B 可同时结束,但在前者完成前后者不能完成(如所有必要文都备齐后才能结案)。

  • 开始 - 开始(SS ,Start-Start )

头歌作业python 头歌作业怎么提交_学习_16


任务 A 和任务 B 可以同时开始,但前者开始之前后者不能开始,箭头方向表明前后依赖关系(如只有硬件安装开始后才开始软件安装)。

  • 开始 - 完成( SF ,Start-Finish )

头歌作业python 头歌作业怎么提交_甘特图_17


在任务 B 完成以前任务 A 必须开始(如下一班警卫来了,当班的警卫才可以离去)。

  • 提前( Lead )与滞后( Lag )

提前:

头歌作业python 头歌作业怎么提交_学习_18


在任务 A 完成前两天,任务 B 必须开始。滞后:

头歌作业python 头歌作业怎么提交_软件工程_19


在任务 A 完成后两天,任务 B 才能开始。

常用的活动排序图示有前述甘特图、网络图、里程碑图等,此处不再赘述。

活动历时估计
常用的项目进度估算方法有如下四种:

基于规模的进度估算
定额估算法:T=Q/(R∗S)

其中T表示活动的持续时间,Q表示活动的工作量,R表示人力或设备的数量,S表示产量定额(单位时间完成的工作量)。

经验导出模型:D=a∗E
b

其中D表示月进度,E表示人月工作量,a的范围为 2-4,b的值为1/3左右(依赖于项目的自然属性)。

CPM

关键路径法估计( CPM:Critical Path Method )是指根据制定的网络顺序逻辑关系,进行单一的历时估算,一般在估计某项单独的活动,时间比较确定的时候使用。

头歌作业python 头歌作业怎么提交_头歌作业python_20

  1. PERT

工程评价技术( PERT:Program Evaluation and Review Technique )是利用网络顺序图逻辑关系和加权历时估算来计算项目历时的技术,一般当估算项目中某项单独的活动,存在很大的不确定性时采用。

采用加权平均得到期望值:E=(O+4M+P)/6

其中O是最小估算值,P是最大估算值,M是最大可能估算值。

  1. 基于进度表的进度估算

分为可能的最短进度表、有效的进度表、普通进度表。

三种进度表在人员、管理、工具支持和方法等方面分为不同等级,分别是从最理想状态到最差状态。在实际情况中可能的最短进度基本无法实现,有效进度表代表了“最佳进度”,普通进度表是一般项目最实用的。

估算的其他策略还有基于承诺的进度估计、专家估算、利用企业的历史数据进行估算等。往往需要结合实际开发情况动态调整。

制定进度计划
制定项目进度计划要求确定项目的所有活动及其开始和结束时间,且计划是三维的,要综合考虑时间、费用和资源。

具体制定项目进度计划分为如下几步:

  1. 进度编制

进度编制有两种基本方法:关键路径法时间压缩法

关键路径法( CPM:Critical Path Method )又分为正推法和逆推法。总的思路都是根据制定的网络图中逻辑关系和单一的历时估算,计算每一个活动的单一确定的最早和最晚开始和完成时间。此外还需计算浮动时间以及网络图中最长的路径以确定项目的完成时间。

时间压缩法是在不改变项目范围的前提下缩短项目工期的方法,包括应急法和平行作业法。应急法(赶工)也称时间-成本平衡法,是在不改变活动的前提下,通过压缩某一个或者多个活动的时间来达到缩短整个项目工期的目的。平行作业法(快速跟进)是通过改变活动间的逻辑关系,并行开展某些活动。

  1. 资源调整

资源调整是通过调整进度计划,形成平稳连续的资源需求,以达到最有效的资源利用并使得资源闲置的时间最小化同时尽量避免超出资源能力。

常用方法是维持工期不变进行资源平衡,使资源强度尽可能平衡或者在满足资源约束的条件下使工期最短。

  1. 成本预算

项目成本预算包括三种情况:

1)分配资源成本

资源成本与资源的基本费率紧密相连,包括加班费率、使用费率等等。

2)给任务分配固定资源成本

当一个项目的资源需要固定数量的资金时,用户可以向任务分配固定资源成本(比如所需要的硬件设备)。

3)给任务分配固定成本

有些任务的成本是固定的,不论其工期有多长以及使用了哪些资源。这种情况下,用户向任务主机分配成本(比如培训任务)。

  1. 计划优化调整

计划优化调整主要是为了解决资源冲突并尽可能地缩短工期,减少项目费用。

解决资源冲突常用方法有推迟资源开始工作时间、替换资源、设置资源加班时间等;缩短工期常用方法有分解关键任务、给任务增加资源、设置日历增加工作时间等;降低项目费用常用方法有减少任务的工时、替换资源、删除任务等。

进度控制 - 项目跟踪
在项目执行过程中需要不断检查和调整进度偏差,使项目按照进度计划顺利进行。

主要的检查内容包含以下几个方面:

  • 关键活动的进度和关键路径的变化情况
  • 非关键活动的进度
  • 工作之间的逻辑关系变化情况

作答要求

根据相关知识,按照要求完成右侧选择题任务。作答完毕,通过点击“测评”,可以验证答案的正确性。

答案

头歌作业python 头歌作业怎么提交_经验分享_21


头歌作业python 头歌作业怎么提交_甘特图_22


头歌作业python 头歌作业怎么提交_头歌作业python_23


头歌作业python 头歌作业怎么提交_头歌作业python_24


头歌作业python 头歌作业怎么提交_软件工程_25