第6章数据库系统的立项与调査 宁可、吴菁、胡海编著 教材:数据库技术及应用2006年4月
第6章 数据库系统的立项与调查 教材:数据库技术及应用 2006年4月 宁可、吴菁、胡海编著
本章要点 ·项目管理 ·立项与调研 可行性分析
本章要点 • 项目管理 • 立项与调研 • 可行性分析
目录 61项目管理 61.1项目管理的职能 612项目管理的主要内容 613项目开发计划 62立项与调研 62.1项目立项 622项目调研 63可行性分析 631可行性分析的步骤 632可行性分析的内容 633可行性报告 64应用实例 小结
目 录 6.1 项目管理 6.1.1 项目管理的职能 6.1.2 项目管理的主要内容 6.1.3 项目开发计划 6.2 立项与调研 6.2.1 项目立项 6.2.2 项目调研 6.3 可行性分析 6.3.1 可行性分析的步骤 6.3.2 可行性分析的内容 6.3.3 可行性报告 6.4 应用实例 小结
6项目管理 同其它信息系统一样,数据库系统的开发也是 项复杂的系统工程,同样由项目计划阶段、项目开发阶 段和项目支持阶段组成;而且为了保证系统开发成功, 也必须采用工程化的系统开发方法。这些方法旨在指导 开发者进行工程化的系统开发,以加快系统开发的速度、 保证质量和降低开发成本。但是工程化的系统开发方法 并不一定能保证系统开发的成功,因为影响系统开发失 败的原因很多。事实表明,许多项目的失败大多是由于 项目计划不周和没有配套的项目管理措施而引起的
6.1 项目管理 同其它信息系统一样,数据库系统的开发也是一 项复杂的系统工程,同样由项目计划阶段、项目开发阶 段和项目支持阶段组成;而且为了保证系统开发成功, 也必须采用工程化的系统开发方法。这些方法旨在指导 开发者进行工程化的系统开发,以加快系统开发的速度、 保证质量和降低开发成本。但是工程化的系统开发方法 并不一定能保证系统开发的成功,因为影响系统开发失 败的原因很多。事实表明,许多项目的失败大多是由于 项目计划不周和没有配套的项目管理措施而引起的
61.1项目管理的职能 软件项目管理是指软件生存期中软件管理者所进行的一系 列活动,其目的是在一定的时间和预算范围内,有效地利用人 力、资源、技术和工具,使软件系统或软件产品按原定的计划 和质量要求如期完成。 般而言,软件项目管理的职能主要包括以下几点 s制定计划:规定待完成的任务、要求、资源、人力和进度等。 建立项目组织:为实施计划,保证任务的完成,需要建立分工 明确的责任机构。 s配备人员:任用各种层次的技术人员和管理人员。 s项目指导:鼓励和动员软件人员完成所分配的任务。 s项目检验:对照计划或标准监督检査实施的情况
6.1.1 项目管理的职能 软件项目管理是指软件生存期中软件管理者所进行的一系 列活动,其目的是在一定的时间和预算范围内,有效地利用人 力、资源、技术和工具,使软件系统或软件产品按原定的计划 和质量要求如期完成。 一般而言,软件项目管理的职能主要包括以下几点: 制定计划:规定待完成的任务、要求、资源、人力和进度等。 建立项目组织:为实施计划,保证任务的完成,需要建立分工 明确的责任机构。 配备人员:任用各种层次的技术人员和管理人员。 项目指导:鼓励和动员软件人员完成所分配的任务。 项目检验:对照计划或标准监督检查实施的情况
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)风险分析 软件工程项目同其他任何工程项目一样存在各种各 样的风险。软件项目的开发也如此,因此,主动的、 明智的风险管理策略应该在技术工作开始之前,先 标识出潜在的风险,评估风险出现的概率及产生的 影响,并按重要性加以排序,然后项目组应建立一 个计划来管理风险。 软件项目的风险分析活动主要包括: •风险识别 •风险估计 •风险评价 •风险管理与监控