第 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,专题计划要点
6.2 立项与调研
1,立项的目的
立项是日常科研工作中用于向上级领导反映本部门的业务发展动向和需
求, 阐述开发项目原因的工作过程 。 企业由于组织发展, 业务需要, 外部
环境或上级领导的要求, 需要进行软件项目的开发时, 要提出系统开发要
求, 并书写一个正式的书面报告, 即立项报告 。
立项的目的是用于向上级领导反映本部门的业务发展动向和需求, 向领
导申请经费, 并取得领导的支持 。
2,立项阶段的主要工作
( 1) 了解情况
( 2) 分析问题
( 3) 确定目标
( 4) 拟定计划
( 5) 书写立项报告 。
( 6) 向上级领导提交申请 。
3,立项报告
如果项目由本单位独立开发或联合开发, 要书写立项报告, 立项
工作一般由本单位完成 。 如果该项目是以委托开发方式开发, 则要
书写任务委托书 。 其中, 立项报告的格式及内容, 如下所示,
(1) 课题项目:叙述课题项目的内容 。
(2) 课题组织领导和课题负责人 。
课题领导小组:领导小组具体成员名单,
课题技术小组:技术小组具体成员名单;
课题总负责人,XXX;
分课题负责人,XXX;
XXX负责 …… ;
XXX负责 …… ;
(3) 办事机构,XXX科室 。
(4) 课题负责单位和协作单位 。
负责单位,XXXXXX;
协作单位,XXXXXX。
(5) 课题来源:简述课题的来源 。
(6) 课题开发研究的目标, 意义 。
(7) 目前现状和发展趋势 。
(8) 课题具体开发研究的内容 。
(9) 课题完成时间 。
(10)课题经费概算 。
(11)其他有关需要说明的问题 。
6.2.2 项目调研
项目调研 ( 或称系统调研 ) 主要是详细, 具体地调查现行
系统的运行情况, 系统内部功能结构, 存在的主要问题和薄弱
环节等, 明确用户的需求, 确认新项目是否可行, 为新项目的
系统分析与系统设计工作打下基础 。
1,项目调研的目的
项目调研的主要的目是对现行系统的总体情况进行调查,明
确用户的要求,以便根据调查结果进行可行性分析,确认新系统
的开发是否可行,以保证开发出的新系统功能与用户的要求相吻
合,避免出现耗费了大量的人力、物力、财力而新系统却以失败
而告终的局面。
2,调研内容
系统调研分为初步调研和详细调研两部分 。
( 1) 初步调研
( 2) 详细调研
3.调研方法
调研的方法主要有:资料法、问卷调查法、会议调查法、
个人访谈法、亲自实践法、专家调查法等多种方法。下面是设
计有关问卷调查表的参考内容,如下所示,
1,你的工作岗位, 工作性质和工作任务是什么?
2,你的工作结果与前/后续工作如何联系?
3,你所接触的报表和数据有哪些?满意程度如何?
4,你所在的工作岗位的工作量如何?
5,你所在的工作岗位存在什么问题?
6,你有什么样的权限及权限是否适当?
7,你认为影响本企业经营效率的关键问题是什么?
8,从全局利益出发, 你认为现有的管理体制是否合理?
9,你认为现存管理体制的问题在哪里?
10,有效降低生产成本的途径有哪些?
11,你认为新的信息系统应该重点解决哪些问题?
12,在你所从事或了解的管理和决策工作中, 哪些可用计算机来处理? 哪些不能?
4,调研工具的使用
在对调研的过程中, 既要详细记录调研的内容, 也要对调研
结果及时分析, 归纳, 总结, 并利用各种图表工具把系统确切地
描述出来 。
( 1) 组织结构图
( 2) 组织与功能关系图
( 3) 业务流程图
如图所示,
院长




































图 6-11 某学院的组织结构图
图 6-12 某学院的组织与功能关系图
图 6-13 某学院的教务管理系统的系统流程图
安排课表
学生
成绩
确定开课计划
录入成绩
成绩管理
毕业审核
符合授予条件
毕业证书
录取新生 课程教学
质量评估
学籍管理 课表
在校
学生
统计分析
统计分析报表
订购发放教材
6.3 可行性分析
可行性分析的任务是了解用户的要求及现实环境, 从技术,
管理, 经济和社会因素等方面研究并论证软件项目的可行性, 以
决定该开发项目是否有合理的成功机会, 如果有严重的风险, 则
应尽可能发现并评价它们 。 可行性分析的目的是对以后的行动提
出建议, 如果通过可行性分析表明对问题找不出可行的解决方法,
则应停止该项目的开发, 以避免造成时间, 资源和金钱的浪费;
如果分析的结论是问题值得去解决, 则应推荐较好的解决方案 。
6.3.1 可行性分析的步骤
一般来说, 进行项目的可行性分析步骤如下,
( 1) 调查 。
系统分析人员同客户一起调查研究当前环境和有关具体问题, 如手工工作情况, 工
作流程, 所完成的任务及目前存在的问题, 新系统要解决的主要问题, 为可行
性研究做准备 。
( 2) 整理资料
在调查研究的基础上编写和整理有关客户提出问题的书面材料 。
( 3) 可行性分析 。
依据书面材料及有关资料对待开发的系统从经济, 管理, 技术和社会因素等方面进
行可行性分析 。
( 4) 评审 。
为保证今后开发的顺利进行, 需针对可行性分析报告的内容进行评审, 以决定项目
是取消还是继续 。
6.3.2 可行性分析的内容
1) 技术可行性
技术可行性研究根据客户提出的系统功能, 性能及实现系统的约束条
件, 从技术的角度研究实现系统的可行性 。
2) 经济可行性
经济可行性是整个可行性分析的重点 。 它以考察系统的开发成本 ( 主
要是人力投入, 此外还有设备投入等方面 ) 为主, 并对照系统运行所产
生的效益, 进行成本效益分析, 估算开发成本是否会超过项目预期的全
部利润 。
3) 社会可行性
社会可行性包括法律可行性和操作使用可行性等方面的内容 。
6.3.3 可行性报告
对项目进行可行性分析之后应编写可行性分析报告, 可行性分
析报告应有以下一些内容, 如下所示,
(1)引言
阐述可行性研究报告的编写目的, 系统的名称, 用户等背景信息 。
(2)可行性研究的前提
说明对所建议的开发项目进行可行性研究的前提, 说明对所建议开发的软件的功能等的基本要求,
明确系统的主要开发目标, 说明开发中给出的条件, 假定和所受到的限制以及进行可行性研究的方
法和评价尺度 。
(3)对现有系统的分析
说明现有系统的基本的处理流程和数据流程, 系统所承担的工作及工作量, 所需的费用, 人员和设
备条件以及现有系统的主要局限性 。
(4)所建议的系统
概括地说明所建议系统所使用的基本方法和理论根据, 给出所建议系统的处理流程和数据流程,
6.4 应用实例
随着计算机技术的飞速发展, 计算机在企业管理中应用的普及,
利用计算机实现企业人事管理势在必行 。 天顺公司为了改变当前人
工管理模式, 希望开发一套人事档案管理系统, 该公司主管人事工
作的副总经理刘明与人事部门主任张强经过商议后认为, 该系统应
提供相应的基本人事档案信息和报表统计功能, 公司管理者可以随
时查找和进行各类统计, 以方便对人员信息的管理和分析 。 另外考
虑到本单位的开发力量不足, 希望与某个专业软件开发公司合作开
发 。
龙翔软件开发公司的分析人员王林受到委托, 就以上系统进行
了初步调研后编写如下相应报告,
(1)立项报告的编制
(2)可行性分析报告的编制
(3)项目开发计划的编制
演示
小结
软件项目管理是指软件生存期中软件管理者所进行的一系列活动, 其目的是在一定的时间和预算
范围内, 有效地利用人力, 资源, 技术和工具, 使软件系统或软件产品按原定的计划和质量要求如期
完成 。 软件项目管理的职能主要包括制定计划, 建立项目组织, 配备人员, 项目指导和项目检验 。
立项是日常科研工作中用于向上级领导反映本部门的业务发展动向和需求, 阐述开发项目原因的
工作过程 。 需要进行软件项目的开发时, 要提出系统开发要求, 并书写立项报告 。
项目调研 ( 或称系统调研 ) 是在正式进行项目开发前, 对现行系统的运行情况, 系统内部功能结
构, 存在的主要问题和薄弱环节等进行调查和分析, 以明确用户的需求, 确认新项目是否可行 。 系统
调研分为初步调研和详细调研两部分 。
可行性分析的任务是了解用户的要求及现实环境, 从技术, 管理, 经济和社会因素等方面研究并
论证软件项目的可行性, 可行性分析是建立在系统的初步调研的基础上, 并应书写系统可行性分析报
告 。
需求分析是建立在系统详细调研的基础之上,以进一步明确系统应完成的功
能及对目标系统提出完整、准确、清晰、具体的要求。需求分析的两大主要任务
是建立分析模型和编写“软件需求规格说明书”。
识别需求的主要步骤可分为对当前系统进行详细调查和收集信息、建立当前
系统的逻辑模型、对现状进行分析并提出改进意见以明确新系统应达到的目标、
建立新系统的逻辑模型和编写需求规格说明书。
习 题
1,系统的开发阶段由 ____________,___________和实施活动组成 。
2,软件项目管理的职能主要包括制定计划, ____________,___________,___________和项目检验 。
3,系统调研分为 ____________,和 ____________两部分 。
4,可行性分析的任务是了解用户的要求及现实环境, 从 ____________,___________,___________和社会因素等方面研究
并论证软件项目的可行性 。
5,需求分析的两大主要任务是 ____________,和 ____________。
6,实践
某餐厅为了实现现代化管理, 希望开发餐厅管理信息系统 。 使客人到餐厅后, 在计算机上进行点菜 。 计算机将提供餐厅所供
应的饭菜品种的查询, 并且对每一个饭菜品种, 计算机屏幕上会显示出相应的式样, 价格, 及主要原材料 。 客人可根据自己
的需求和口味情况选择, 顾客选好菜后, 一方面计算机自动将选菜结果通知厨房进行配菜;另一方面, 选菜结果将提供给餐
厅服务台以便结算 。 请写出该项目的如下报告,
a) 立项报告;
b) 可行性分析报告;
项目开发计划 。