数据库系统
第6章 数据库系统的立项与调查宁可,吴菁,胡海编著
教材:数据库技术及应用
2006年4月
数据库系统
本章要点 项目管理 立项与调研 可行性分析
数据库系统
目 录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.1 项目管理同其它信息系统一样,数据库系统的开发也是一 项复杂的系统工程,同样由项目计划阶段,项目开发阶 段和项目支持阶段组成;而且为了保证系统开发成功, 也必须采用工程化的系统开发方法.这些方法旨在指导 开发者进行工程化的系统开发,以加快系统开发的速度, 保证质量和降低开发成本.但是工程化的系统开发方法 并不一定能保证系统开发的成功,因为影响系统开发失 败的原因很多.事实表明,许多项目的失败大多是由于 项目计划不周和没有配套的项目管理措施而引起的.
数据库系统
6.1.1 项目管理的职能软件项目管理是指软件生存期中软件管理者所进行的一系 列活动,其目的是在一定的时间和预算范围内,有效地利用人 力,资源,技术和工具,使软件系统或软件产品按原定的计划 和质量要求如期完成. 一般而言,软件项目管理的职能主要包括以下几点: 制定计划:规定待完成的任务,要求,资源,人力和进度等. 建立项目组织:为实施计划,保证任务的完成,需要建立分工 明确的责任机构. 配备人员:任用各种层次的技术人员和管理人员. 项目指导:鼓励和动员软件人员完成所分配的任务. 项目检验:对照计划或标准监督检查实施的情况.
数据库系统
6.1.2 项目管理的主要内容软件项目管理包括软件项目计划,成本估算,进度安排,风 险分析和人员组织等. 1.软件项目计划 软件开发项目的计划涉及到实施项目的各个环节,带有全局的性 质. (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)风险分析 软件工程项目同其他任何工程项目一样存在各种各 样的风险.软件项目的开发也如此,因此,主动的, 明智的风险管理策略应该在技术工作开始之前,先 标识出潜在的风险,评估风险出现的概率及产生的 影响,并按重要性加以排序,然后项目组应建立一 个计划来管理风险. 软件项目的风险分析活动主要包括: 风险识别 风险估计 风险评价 风险管理与监控
数据库系统
(5)人员组织 对于任何一项工程而言,人是相当重要和最为活跃的因素.如 何合理地组织参与项目的各类人员,以最大限度地发挥每个人 的作用,对于成功地完成工程项目是非常重要的.就软件项目 的组织结构而言,通常有两种模式可供选择: ① 层次模式 层次模式是一种传统的管理结构,每一层人员向上层报告工 作并且管理下层的人员.一般情况下,大型的软件开发组织采 用如图6-3所示的组织结构.
图6-3 层次模式组织结构
数据库系统
② 矩阵模式 矩阵模式实际是层次模式的扩展,一方面每个项目有一 个项目经理管理,另一方面,每一个项目又分若干阶段, 接受阶段经理的管理,如图6-4所示.
图6-4 矩阵模式组织结构
数据库系统
在矩阵
模式中,对于小组内部人员的组织,有三种形式: (a)主程序员组 (b)民主小组 (c)层次式程序员组 如图6-5,6,7所示主程序员 项目负责人 高级程序员 程序员
程序员
后备程序员
其它人员
图6-5 主程序员组图
图6-6 民主小组图
图6-7 层次式程序员组
数据库系统
6.1.3项目开发计划项目进行开发,需制定项目开发计划.一般的项目开发计划格 式及内容,如下所示:1.引言 (1)编写目的 (2)背景 2.项目概述 (1) 工作内容 (2) 主要参加人员 (3) 产品 (4) 验收标准 (5) 完成项目的最迟期限 (6) 本计划的批准者和批准日期 3.实施计划 (1) 工作任务的分解与人员分工 (2) 进度 (3) 预算 (4) 关键问题 4.支持条件 (1) 计算机系统支持 (2) 需由用户承担的工作 (3) 由外单位提供的条件 4.专题计划要点