文档介绍:第6章数据库系统的立项与调查
教材:数据库技术及应用 2006年4月
宁可、吴菁、胡海编著
本章要点
项目管理
立项与调研
可行性分析
目录
项目管理
项目管理的职能
项目管理的主要内容
项目开发计划
立项与调研
项目立项
项目调研
可行性分析
可行性分析的步骤
可行性分析的内容
可行性报告
应用实例
小结
项目管理
同其它信息系统一样,数据库系统的开发也是一项复杂的系统工程,同样由项目计划阶段、项目开发阶段和项目支持阶段组成;而且为了保证系统开发成功,也必须采用工程化的系统开发方法。这些方法旨在指导开发者进行工程化的系统开发,以加快系统开发的速度、保证质量和降低开发成本。但是工程化的系统开发方法并不一定能保证系统开发的成功,因为影响系统开发失败的原因很多。事实表明,许多项目的失败大多是由于项目计划不周和没有配套的项目管理措施而引起的。
项目管理的职能
软件项目管理是指软件生存期中软件管理者所进行的一系列活动,其目的是在一定的时间和预算范围内,有效地利用人力、资源、技术和工具,使软件系统或软件产品按原定的计划和质量要求如期完成。
一般而言,软件项目管理的职能主要包括以下几点:
制定计划:规定待完成的任务、要求、资源、人力和进度等。
建立项目组织:为实施计划,保证任务的完成,需要建立分工明确的责任机构。
配备人员:任用各种层次的技术人员和管理人员。
项目指导:鼓励和动员软件人员完成所分配的任务。
项目检验:对照计划或标准监督检查实施的情况。
项目管理的主要内容
软件项目管理包括软件项目计划、成本估算、进度安排、风险分析和人员组织等。
软件开发项目的计划涉及到实施项目的各个环节,带有全局的性质。
(1)软件计划的类型
针对不同的工作目标,软件计划可能有以下几种类型:
项目实施计划或软件开发计划:
质量保证计划。
软件测试计划。
文档编制计划。
用户培训计划。
综合支持计划。
软件分发计划。
(2)成本估算方法
一种常用的成本估算方法是先估计完成软件项目所需的工作量(人月数),然后根据每个人月的代价(金额)计算软件的开发费用:
开发费用=人月数X每个人月的代价
另一种方法是先估计软件的规模(通常指源代码行数),然后根据每行源代码的平均开发费用(包括分析、设计、编码、测试所花的费用),计算软件的开发费用:
开发费用=源代码行数X每行平均费用
估算源代码行数时,可请n位有经验的专家,每位专家对软件给出三个估计值:最少代码行数(记为),最大代码行数(记为),最有可能的代码行数(记为),然后计算出每位专家的估算期望值:
估算期望值
n位专家的估算期望值的平均值上就是代码行数的估算值。即:
代码行数的估算值=
(3)进度安排
进度的合理安排是如期完成软件项目的重要保证,也是合理分配资源的重要依据,因此进度安排是管理工作的一个重要组成部分。进度安排的常用图形描述方法有Gantt图(甘特图)和PERT技术(计划评审技术)。
① Gantt图
Gantt图中横坐标表示时间(如时、天、周、月、年等),纵坐标表示任务,图中的水平线段表示对一个任务的进度安排,线段起点和终点对应在横坐标上的时间分别表示该任务的开始时间和结束时间,线段的长度表示完成该任务所需的时间。图6-1所示的Gantt图描述某个项目各个阶段的任务进度安排.
图6-1 描述项目各个阶段任务进度安排的Gantt图
② PERT技术
PERT图(又称工程网络图)是一个有向图,图中的箭头表示任务,它可以标上完成该任务所需的时间,图中的结点表示流人结点的任务结束,并开始流出结点的任务,这里我们把结点称为事件。只有当流入该结点的所有任务都结束时,结点所表示的事件才出现,流出结点的任务才可开始。事件本身不消耗时间和资源,它仅表示某个时间点。作业则通常既要消耗资源又要持续一定时间,虚拟箭头表示虚拟作业,不消耗任何时间和资源,仅表明作业间的先后依赖关系,事实上此关系并不存在,安排进度时可不必考虑。如图6-2所示,事件3到事件4的虚拟箭头表明“测试方案设计”要在“概要设计”结束后才能开始。
图6-2 PERT图的一个实例
(4)风险分析
软件工程项目同其他任何工程项目一样存在各种各样的风险。软件项目的开发也如此,因此,主动的、明智的风险管理策略应该在技术工作开始之前,先标识出潜在的风险,评估风险出现的概率及产生的影响,并按重要性加以排序,然后项目组应建立一个计划来管理风险。
软件项目的风险分析活动主要包括:
风险识别
风险估计
风险评价