61.2项目管理的主要内容 软件项目管理包括软件项目计划、成本估算、进度安排、风 险分析和人员组织等。 1.软件项目计划 软件开发项目的计划涉及到实施项目的各个环节,带有全局的性 (1)软件计划的类型 针对不同的工作目标,软件计划可能有以下几种类型 s项目实施计划或软件开发计划: s质量保证计划。 s软件测试计划。 s文档编制计划。 s用户培训计划 s综合支持计划 分发计划
6.1.2 项目管理的主要内容 软件项目管理包括软件项目计划、成本估算、进度安排、风 险分析和人员组织等。 1.软件项目计划 软件开发项目的计划涉及到实施项目的各个环节,带有全局的性 质。 (1)软件计划的类型 针对不同的工作目标,软件计划可能有以下几种类型: 项目实施计划或软件开发计划: 质量保证计划。 软件测试计划。 文档编制计划。 用户培训计划。 综合支持计划。 软件分发计划
(2)成本估算方法 种常用的成本估算方法是先估计完成软件项目所需的工作量(人月数), 然后根据每个人月的代价(金额)计算软件的开发费用: 开发费用=人月数X每个人月的代价 另一种方法是先估计软件的规模(通常指源代码行数),然后根据每行源代 码的平均开发费用(包括分析、设计、编码、测试所花的费用),计算软件 的开发费用: 开发费用=源代码行数Ⅹ每行平均费用 估算源代码行数时,可请n位有经验的专家,每位专家对软件给出三个估计 值:最少代码行数(记为),最大代码行数(记为),最有可能的代码行数 (记为),然后计算出每位专家的估算期望值: 估算期望值 B,=当;+4m;+b 6 n位专家的估算期望值的平均值上就是代码行数的估算值。即: 代码行数的估算值 E 72
(2)成本估算方法 一种常用的成本估算方法是先估计完成软件项目所需的工作量(人月数), 然后根据每个人月的代价(金额)计算软件的开发费用: 开发费用=人月数X每个人月的代价 另一种方法是先估计软件的规模(通常指源代码行数),然后根据每行源代 码的平均开发费用(包括分析、设计、编码、测试所花的费用),计算软件 的开发费用: 开发费用=源代码行数X每行平均费用 估算源代码行数时,可请n位有经验的专家,每位专家对软件给出三个估计 值:最少代码行数(记为),最大代码行数(记为),最有可能的代码行数 (记为),然后计算出每位专家的估算期望值: 估算期望值 n位专家的估算期望值的平均值上就是代码行数的估算值。即: 代码行数的估算值=
(3)进度安排 进度的合理安排是如期完成软件项目的重要保证,也是合理分配资源的重 要依据,因此进度安排是管理工作的一个重要组成部分。进度安排的常用 图形描述方法有 Gantt图(甘特图)和PERT技术(计划评审技术)。 ① Gantt图 Gant图中横坐标表示时间(如时、天、周、月、年等),纵坐标表示任 务,图中的水平线段表示对一个任务的进度安排,线段起点和终点对应在 横坐标上的时间分别表示该任务的开始时间和结束时间,线段的长度表示 完成该任务所需的时间。图6-1所示的Gant图描述某个项目各个阶段的 任务进度安排. 时间周川123445467894101112413 任务 系统分析 详细设计 编码 测试方案设十 444 文档整理 图6-1描述项目各个阶段任务进度安排的 Gantt图
(3)进度安排 进度的合理安排是如期完成软件项目的重要保证,也是合理分配资源的重 要依据,因此进度安排是管理工作的一个重要组成部分。进度安排的常用 图形描述方法有Gantt图(甘特图)和PERT技术(计划评审技术)。 ① Gantt图 Gantt图中横坐标表示时间(如时、天、周、月、年等),纵坐标表示任 务,图中的水平线段表示对一个任务的进度安排,线段起点和终点对应在 横坐标上的时间分别表示该任务的开始时间和结束时间,线段的长度表示 完成该任务所需的时间。图6-1所示的Gantt图描述某个项目各个阶段的 任务进度安排. 图6-1 描述项目各个阶段任务进度安排的Gantt图
②PERT技术 PERT图(又称工程网络图)是一个有向图,图中的箭头表示任务,它可 以标上完成该任务所需的时间,图中的结点表示流人结点的任务结束,并 开始流出结点的任务,这里我们把结点称为事件。只有当流入该结点的所 有任务都结束时,结点所表示的事件才出现,流出结点的任务才可开始 事件本身不消耗时间和资源,它仅表示某个时间点。作业则通常既要消耗 资源又要持续一定时间,虚拟箭头表示虚拟作业,不消耗任何时间和资源, 仅表明作业间的先后依赖关系,事实上此关系并不存在,安排进度时可不 必考虑。如图6-2所示,事件3到事件4的虚拟箭头表明“测试方案设计” 要在“概要设计”结面后才能开始 详细设计4 要设(3) 文档整理4 分析+ 0 测试计划▲ 系统测试 测试方案 图6-2PERT图的一个实例
② PERT技术 PERT图(又称工程网络图)是一个有向图,图中的箭头表示任务,它可 以标上完成该任务所需的时间,图中的结点表示流人结点的任务结束,并 开始流出结点的任务,这里我们把结点称为事件。只有当流入该结点的所 有任务都结束时,结点所表示的事件才出现,流出结点的任务才可开始。 事件本身不消耗时间和资源,它仅表示某个时间点。作业则通常既要消耗 资源又要持续一定时间,虚拟箭头表示虚拟作业,不消耗任何时间和资源, 仅表明作业间的先后依赖关系,事实上此关系并不存在,安排进度时可不 必考虑。如图6-2所示,事件3到事件4的虚拟箭头表明“测试方案设计” 要在“概要设计”结束后才能开始。 图6-2 PERT图的一个实例
(4)风险分析 软件工程项目同其他任何工程项目一样存在各种各 样的风险。软件项目的开发也如此,因此,主动的 明智的风险管理策略应该在技术工作开始之前,先 标识出潜在的风险,评估风险出现的概率及产生的 影响,并按重要性加以排序,然后项目组应建立 个计划来管理风险 软件项目的风险分析活动主要包括 风险识别 风险估计 风险评价 ·风险管理与监控
(4)风险分析 软件工程项目同其他任何工程项目一样存在各种各 样的风险。软件项目的开发也如此,因此,主动的、 明智的风险管理策略应该在技术工作开始之前,先 标识出潜在的风险,评估风险出现的概率及产生的 影响,并按重要性加以排序,然后项目组应建立一 个计划来管理风险。 软件项目的风险分析活动主要包括: •风险识别 •风险估计 •风险评价 •风险管理与监控