刘义海2稿---北京物资学院专项资金管理系统毕业论文
第1章... 绪言......................................................................................................................................................... 2
第2章... 系统需求分析...................................................................................................................................... 3
2.1. 现行业务系统描述................................................................................................................................ 3
2.2. 组织结构图............................................................................................................................................. 3
2.3. 业务流程图............................................................................................................................................. 4
2.4. 现行系统存在的主要问题分析.......................................................................................................... 6
2.5. 提出可能的解决方案............................................................................................................................ 6
2.6. 可行性分析与决策................................................................................................................................ 6
第3章... 新系统逻辑方案.................................................................................................................................. 7
3.1. 数据流图描述......................................................................................................................................... 7
3.2. 数据字典描述....................................................................................................................................... 10
3.3. 基本加工的小说明书.......................................................................................................................... 12
第4章... 系统总体结构设计........................................................................................................................... 13
4.1. 软件模块结构的设计.......................................................................................................................... 13
4.1.1. HIPO图....................................................................................................................................... 13
4.1.2. IPO图.......................................................................................................................................... 16
4.2. 数据库设计........................................................................................................................................... 17
4.2.1. 实体描述..................................................................................................................................... 17
4.2.2. 实体属性描述............................................................................................................................. 17
4.2.3. 实体之间的联系........................................................................................................................ 19
4.2.4. E-R图........................................................................................................................................... 19
4.2.5. 关系模式..................................................................................................................................... 19
4.3. 计算机系统配置方案的选择和设计................................................................................................ 20
4.4. 系统总体安全性、可靠性方案与措施........................................................................................... 20
第5章... 系统详细设计.................................................................................................................................... 21
5.1. 代码设计............................................................................................................................................... 21
5.2. 人机界面设计....................................................................................................................................... 21
5.3. 模块处理过程....................................................................................................................................... 23
第6章... 实施概况............................................................................................................................................. 25
6.1. 实施环境与工具的比较选择............................................................................................................. 25
6.2. 编程环境、工具、实现与数据准备概况....................................................................................... 25
6.3. 系统测试概况....................................................................................................................................... 25
6.4. 系统转换方案及实现概况................................................................................................................. 26
6.5. 系统运行与维护概况.......................................................................................................................... 26
专项资金管理系统是一个辅助学校完成专项资金管理工作中,涉及项目管理、采购管理、固定资产管理、资金管理和合同管理这五项比较复杂的工作的系统。它应用计算机在数据处理和数据整理保存方面的优异性能,帮助工作人员提高工作的效率、减少出错情况。同时还能提供快速的查询检索功能以及按要求进行关键报告的打印的功能。
专项资金管理系统是一个使用Client/Server技术、面向学校多个不同部门用户的多模块信息管理系统。它采用了当前流行的C/S结构,可以突破了原先专项资金管理系统使用的局限性,实现多机同时工作统一数据库。因而就可在多地域、任意时间段来访问系统中的数据,大大加强了系统数据共享的能力。另外采用了以上流行和标准的网络技术也极大地提高了系统的可移植性。
专项资金管理系统特点
先进的技术。是一个基于C/S技术的系统,实现了数据的集中管理,提供最大程度上的数据共享,在保障了数据的一致性的同时,降低系统的维护工作量。
面向各角色提供服务。他们可以通过这个系统进行专项资金管理的部分业务。
模块化的结构,项目管理、采购管理、固定资产管理、资金管理和合同管理系统既可一条龙运行,也可分别运行,只要提供各部分所需的入口数据。
统一的风格,标准的操作界面,便于相关人员使用本系统的各个子系统。
方便易用的工具,便于数据的查询,维护和打印。
信息管理系统
专项资金管理
第1章
绪言
本论文主要介绍的是专项资金管理系统的整个设计。
随着计算机技术的不断发展,计算机应用于各大领域,并给人们的生活带来了极大的便利,在专项资金管理系统亦是。以往管理人员由于缺乏适当的软件而给其工作带来了很多不便。本论文所介绍的便是一个专项资金管理系统,以方便其在项目管理、采购管理、固定资产管理、合同管理等上的工作任务。
该系统适用于与专项资金相关的人员,其功能主要分为四大类:
项目管理 用于项目计划、项目申报、项目评审;
采购管理 用于采购信息的维护;
固定资产管理 用于固定资产的维护;
资金管理 用于资金信息的维护;
合同管理 用于合同的输入和维护。
该系统性能力求易于使用,具有较高的扩展性和可维护性。
整个系统的开发过程严格遵循软件工程的要求,做到模块化分析、模块化设计和代码编写的模块化。
在学校,专项资金管理工作是非常重要的一项工作,它负责专项资金从来源到到去向以及这其中的部分流程的管理。以前都是人工进行操作。随着学校的不断发展,资金来源日益增加,学校管理人员的时间日益宝贵,以及专项资金管理工作量的日益加重,管理人员急切希望能够将大部分繁琐的工作交由计算机的处理,以减轻人工的压力并提高工作效率。而计算机的普及更加快了管理系统的产生。
有的学校的专项资金管理系统主要为单机单用户的系统,其数据库主要采用Foxbase或FoxPro,系统开发环境也是数据库内置的开发工具。其特点是单机单用户方式,开发简单,能充分利用数据库的特性。其缺点是开发出的系统依赖性强,运行必须依托数据库环境;不容易升级与扩展;无法实现数据的共享与并行操作;代码重用性差。
随着计算机网络的发展,特别是校园网的建立,系统数据共享差的问题更加突出,而新需求的提出也越来越多,越来越频繁。这就要求系统在可扩展性和标准化的要求更高。而原有的系统由于其与生俱来的缺点而无法在适应现有的需求了。
因此,使用现在的新技术,开发出适应新的需求的新系统的任务刻不容缓。
图1大致是学校的组织结构图,其中和本系统有直接关系的有以下部门:
学校法人:
校长,对上级部门负责,对资金的使用进行协调、规划、部署等。
校内项目归口管理部门:
教务处、科研处、基建后勤,负责资金的分派,项目的评审、监督等。
校内财务管理部门:
财务处(国资办),掌管资金,以及采购相关事宜。
建设部门:
物流学院,信息学院等,根据自身情况申报项目,进行项目建设。
![]()

图1 组织结构图
专项资金来源是很多的,广而言之,它可以包括:北京市教委、中央财政、其他来源。专项资金主要用于以下项目:实验室建设,专业建设,学科建设,科研基地建设,人文社科建设,创新团队建设等。专项资金按其目的归属以下单位管理:教务处、科研处、后勤处、其他。学校里的建设部门比如信息学院、经济学院等如果需要资金,则需要先申报项目,然后校内审核,然后校外审核,审核通过后就是项目采购,项目建设,项目验收。我下面将对这些流程逐一简略介绍一下。申报项目(须有项目负责人权限,由系统管理员建立):1 先新建一个项目,输入它的基本信息,比如项目名称、编号,项目属性,项目类型、类别,项目负责人等。2 然后填写可行性报告,它包括必要性和可行性、实施条件、进度和计划安排等。3 然后列出项目支出明细,根据项目的明细类别模板,所有的支出都必须归到其中相应的明细项目类别中去,另外,对于某个明细项目类别是否是政府采购,得从网上确定。4 然后项目申请部门负责人(通常是系部或专业负责人)填写项目申报书,它包括项目基本情况、项目申报理由、绩效考评目标等。完了后,提交给校内的专家组,并告诉他们可以开始审核了。项目审核(须有专家权限,由系统管理员建立):专家们仔细阅读可行性报告、项目支出明细和项目申报文本,并且经过讨论研究,统一意见后填写评审报告,它包括立项依据的充分性、目标设置的合理性、组织实施的能力和条件、预期社会经济效益、资金筹措情况、预算支出的合理性、风险和不确定因素、评审意见、建议等。然后,把评审报告、项目申报文本(把项目支出明细表附于其后)打印出来,提交给校外评审机构,这个校外评审机构一般是资金来源单位派遣或聘请来的,校外评审不属于本系统功能范围,不予考虑。项目采购:根据明细项目类别和预算申请额确定采购类型,一万元以下校内执行,以上至30万校内招标,30万以上委托招标公司招标,对一些明细项目类别还可以是政府协议采购。不管哪一种类型,系统都要记录下以下信息:供应商信息、商品信息、合同信息、交易信息。采购完后得登记固定资产。项目建设:
在这一阶段,系统只需记录一下项目建设的执行情况即可。
下面的图2是系统中一些工作的也务流程。

图2业务流程
现行系统的主要问题归纳起来主要有,
1. 单机单用户系统,随着网络的发展和校园网的建立,同时系统中信息的使用者很多,原有的单机单用户系统已远远不能满足需要。同时,原有的数据库也不支持多用户的网络运行环境。
2.系统独立性差,原有系统一般都是使用数据库提供的开发工具编写的程序,因此受数据库的制约比较大,编写出来的程序性能也不好。特别是无法支持如Access,MS SQL Server等新的数据库。
3.模块性差,由于不是一个完整的编程语言,故无法做到代码的模块化,给功能的扩展带来了巨大的不便。
鉴于目前学校对专项资金管理系统的需求与实际情况,新系统方案的重点放在系统的可扩展性上,为了实现这一设计,新系统应具备以下几方面的要求:
1.新系统采用服务器/客户端结构,充分利用现有的校园网络资源,打破地域的限制,并能提供多人同时使用系统,提高工作效率。
2.使用最新的数据访问接口(ADO),可以运行于Win9x/WinNT/Win2000/WinXP多种操作系统上,所有支持ADO接口的数据库都可以作为系统的后台数据库。因此,在以后对数据处理的要求提高时,容易升级为MS SQL Server 或 Oracle 等数据库。
3.新系统从设计到实现都应遵循模块化,是用一致的接口进行信息的传递与模块调用。模块的划分应尽量符合实际业务的划分,以保证以后新模块的加入尽可能少的影响现有功能模块的运行
对于新系统设计的几个关键技术的可行性分析如下,
1.新系统目前使用Access2003作为数据库,这是一个支持多用户的新型数据库,适用于中小规模的数据量需求。学校校园网的建设也为新系统服务器/客户端的结构提供了硬件的支持。
2.使用Visual C++6.0作为系统开发的开发环境,C++作为一种现代的编程语言,提供完善的指令流控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供了保障。同时,Visual C++6.0支持的ADO数据访问接口是Windows平台下被各类主流数据库广泛支持的数据库接口,这些数据库中包括大型数据库如MS SQL Server和Oracle等。使用标准的数据访问接口给数据的共享及以后数据库的升级提供极大的方便和保障。也保证了系统能够适应网络环境里各种操作系统平台的要求。
3.Visual C++6.0对于类和对象的支持,保证了代码的模块化要求,而代码模块化的程度的提高,非常有利于以后对新系统的扩展与修改。符合现代信息管理系统开发的理念。
综上所述,新系统的设计与开发在技术上和硬件设备上的条件都是满足的,新系统的开发是可行的。
图3是专项资金管理系统的顶层图,它是根据专项资金管理工作业务流程的总体情况,划分系统边界,识别系统的数据来源和去处,确定外部项。然后,划分出几个重要的管理模块,并明确各功能之间的关系而得出的。
从图上可以看到专项资金管理系统从总体上分为项目管理、采购管理、固定资产管理、资金管理和合同管理五大部分。一个项目从建立项目开始,先建立项目的基本信息。然,后由项目负责人负责填写项目申报书、可行性报告、项目支出预算明细。然后由专家组评审这些报告,通过后将最后的项目申报书提交给市教委委派的中介机构进行评审,通过后财务处根据现有采购制度负责采购,录入相关信息,建立固定资产等。
![]()
![]()
![]()

图3 专项资金管理系统顶层数据流图
对顶层图中五个处理进一步细化后的第一层数据流图如下:

图4 项目管理数据流图

图5 采购管理数据流图

图6 固定资产管理数据流图

图7 资金管理数据流图
图8 合同数据流图
根据系统分析的结果,按照结构化的系统设计方法,本系统从功能上可分成如图10所示,整个系统由项目管理子系统、采购管理子系统、固定资产管理子系统、资金管理子系统和用户管理子系统。各子系统的简要功能说明如表6:
|
模块名 |
功能简介 |
先决条件 |
|
项目管理子系统 |
项目管理子系统在系统中主要维护项目信息数据表。(系统的维护操作主要指添加、删除和修改其中的记录)包括从项目申报、项目评审到项目验收过程中的所有信息。 |
无 |
|
采购管理子系统 |
维护项目采购情况,包括供应商、招标等相关信息。 |
无 |
|
固定资产管理子系统 |
完成对项目采购的固定资产的管理。 |
无 |
|
资金管理子系统 |
管理资金的使用情况。 |
无 |
|
合同管理子系统 |
保存项目建设中签订的合同。 |
|
|
用户管理 |
增加,修改和删除用户账号,指定角色。 |
无 |
表6
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()

图10 专项资金管理系统HIPO图
项目管理是对项目信息进行增加、修改和删除的操作,同时对项目信息的查询也是这个模块的功能。
|
IPO图 系统名:专项资金管理系统
制图者: 模块图: 项目管理
日期: |
|
|
由下列模块调用: 主模块 |
调用下列模块: 项目计划 新建项目 项目申报 项目审核 |
|
输入: 1. 项目计划、项目基本信息 可行性分析内容、项目申报文本、项目支出明细 2.专家评审意见 |
输出: 1. 可行性分析报告、项目申报书、项目预算表 2.评审报告 |
|
处理内容: |
|
|
内部数据元素: |
备注: |
采购管理模块是基本功能模块,它实现对项目采购的基本功能。
|
IPO图 系统名:专项资金管理系统
制图者: 模块图:采购管理模块
日期: |
|
|
由下列模块调用: 主模块 |
调用下列模块: 查询采购类型模块 采购招标模块 |
|
输入: 1.明细项目信息 2. 招标公司信息 |
输出: 1.采购计划 |
|
处理内容: |
|
|
内部数据元素: |
备注: |
学校实体是对应于学校这个机构,用来存放学校的一些信息。学校实体集只有一个实体。
项目实体对应于系统中项目这个实体,用来存放项目基本信息。在系统的主要功能模块中都涉及到此实体。
项目经理对应于项目负责人,它存储了项目负责人的一些相关信息。
可行性报告实体是用来存储项目的可行性报告。
项目支出明细实体用来存储所有项目需要采购的资源及相关信息。
评审报告实体存储评审报告中的所有信息。
项目类别实体和明细项目类别分别存储制度规定的项目明细类别模板和明细项目类别模板。
学校
![]()

实体集学校,有属性学校编号和名称等。
项目

实体集项目,有属性项目编号和名称等,使用由系统分配给它的唯一的编号作为主键。
项目经理
![]()

实体集项目经理,有姓名、电话等属性。编号作为主键。
可行性报告

实体集可行性报告,有属性项目名称,必要性和可行性、实施条件等。
项目支出明细
![]()

实体集项目支出明细,有属性项目名称、明细项目名称、预算申请数额等。
评审报告实体

项目类别实体

明细项目类别

SchoolInfo(单位名称,地址,邮编,联系电话,法人代表,资产规模,财务收支,上级单位)
ProjectInfo(项目名称,项目编号,项目单位,上级单位,市级部门,项目类型,项目类别,项目属性,项目开始时间,项目结束时间,项目申报单位,项目负责人,项目负责人电话,财务负责人,财务负责人电话,内容&目标)
ProjectManager(姓名, 职务, 专业, 电话, 相关业绩)
ProjectReport(项目名称,是否涉及政府采购,是否财政评审,是否经专家论证或评审,有无可行性报告,是否绩效考评,项目绩效考评年份,项目优先属性,单位统计口径,财政统计口径,不进行政府采购理由说明,项目申报理由及主要内容,绩效考评目标)
ProjectExpenseDetail(项目名称,项目明细类别名称,明细项目类别名称,明细项目名称,支出功能分类科目,支出经济分类科目,资金来源,预算外收费项目代码,预算外收费项目名称,是否政府采购,参考型号,集中目录及标准,采购数量,需求时间,预算申请数(万元))
ProjectCategory(项目明细类别编号,项目明细类别名称,是否经常性项目)
FeasibilityReport(项目负责人姓名,项目名称必要性和可行性,实施条件,进度和计划安排,主要结论)
EvaluationReport(项目名称,立项依据的充分性,目标设置的合理性,组织实施能力和条件,预期社会经济效益,资金筹措情况,预算支出的合理性,风险和不确定因素,评审意见,建议)
软硬件平台
客户机/服务器:采用Pentium
II 或以上级别PC机,至少30M硬盘,Pentium90MHZ,支持VGA或分辨率更高的显示器
客户机/服务器操作系统:Window 98/Me,也可使用Windows NT作为操作系统
数据库:Access2003
网络:以太网组成的局域网,可设多台客户机。
由于系统中的数据有一定的敏感性,因此系统采用用户登录验证,防止未经许可的用户使用系统。系统的用户管理模块,提供对系统账号的管理,以保证系统的安全性。
项目明细类别代码、明细项目类别代码属于制度上已经固定了的代码,必须使用。
项目编号是系统中一个基本数据项,也是一个重要的数据项。它是固定8位数字的数据项,它的一般格式是“AABBCCCC”,其意义是“AA”为年份编码,如98,99,用来表示项目开始的年份;“BB”为学院编码,表示申报本项目的学院或系部;“CCCC”为本项目在本学院或系部所有项目的序号。项目编号是系统中项目的唯一标识。
其它代码如项目负责人代码,财务负责人代码等没有特殊的规定,可以自行使用一套可以唯一标识的代码。但建议使用员工编号。
由于系统的大部分工作是输入、查询和打印信息,,从系统应用需求出发,系统对数据库中的信息以对话框作为主工作区,系统的主用户界面如图11所示:

图11 系统主界面
主界面大致有二部分组成,它们是主菜单和工作区。在窗口的主菜单区,显示了本系统的五大功能子系统,用户可以用鼠标选择需要的菜单选项。如果有二级菜单,在选择了相应的一级菜单后,二级菜单将自动出现。
当用户选择的所要使用的功能菜单,系统就进入了此业务处理功能,这时工作区将以对话框的形式显示与此业务有关的数据信息,在工作区右击鼠标可以打开“右键菜单”,这个菜单用来提供新增、修改和删除的功能。
在整个系统的应用过程中,系统使用大量的对话框来与用户互动,帮助用户完成工作。
根据业务数据处理功能从界面的性质来看,可分为三类:
1.数据的编辑:这包括数据的新增和修改,这类界面都是包含下拉列表和文本框的对话框,通过下拉列表提供有限的规定数据,即可减少用户的输入量,也降低的输入错误的概率。
2.数据查询:系统查询功能的条件都是在给出的对话框中进行选择,这些对话框中的查询条件都是下拉列表的形式,避免了用户的繁琐输入。查询的结果则在工作区以二维表格的形式显示在主界面上。
3.数据的输出:数据的输出分为屏幕输出和打印输出,对于打印输出,系统提供的完整的功能从打印预览到打印机的设置,可以打印所所有在工作区显示出的表格。
根据模块的划分以及结构化程序设计的基本原则,对程序模块进行详细处理过程进行设计。本系统主要采用伪C语言的方式。下面这段伪代码是新建项目模块处理过程:
新建项目()
{
输入 项目名称;
输入 项目代码;
输入 项目属性;
输入 项目类别;
输入 项目负责人名字;
输入 项目单位;
输入 项目开始、结束时间;
输入 项目内容;
生成insert语句;
根据输入值赋叁数值;
通过ado执行insert语句;
if
(数据库返回错误值)
{
提示错误信息,新增失败;
}
else
提示新增成功;
}
由于系统的伪码众多,限于篇幅将不一一罗列了。
系统的实施是在系统设计的基础上,用Visual C++ 6进行程序设计开发。Visual C++ 6.0是新一代的程序语言,它提供了开发 Microsoft Windows(R) 应用程序的功能强大的方法,在Visual C++ 6.0中将所有基本功能封装在类中算是使用VC编程的一个特点。与系统管理系统常用的开发工具Power Builder相比,Visual C++ 6.0主要有以下优势:
1.支持ADO(ActiveX 数据对象):这项新的数据访问技术的特性包括:更简单的对象模型;与其它 Microsoft 和非 Microsoft 的技术更好的集成;为本地和远程数据数据提供的通用接口;可远程访问的和断开的记录集;用户可访问的数据绑定接口;以及层次结构的记录集。
2.完整的编程语言:同Power Builder只提供脚本不同,Visual C++ 6.0提供了一套完整的编程结构和语言元素。丰富的数据类型也提高了程序的性能。
3.用对象编程:Visual C++ 6.0是一种基于对象的编程语言。Visual C++ 6.0使得对象的使用变得很容易,它使在程序性编码和使用对象的程序设计之间进行平稳转换成为可能。
本系统是在Visual
C++ 6.0自带的IDE下开发,数据库设计工具使用了Microsoft
Access 2003。所有开发工具都是在Windows XP操作系统使用,并考虑了系统程序在其他Windows版本操作系统下运行的要求。
程序代码是以对象的观点来编写,整个系统所有的基本功能都封装在对象中,系统的功能实现都是通过调用对象提供的接口实现。这样便提高了程序代码的模块化,又有助于程序代码的调试及以后的功能扩展。
鉴于本系统规模不是很大,因此系统的测试主要集中在几个封装基本功能的对象的代码测试和最后系统的总体测试。
代码测试主要是测试对象提供的接口运行是否正常,测试运行结果是否与期望相同。以及对象的接口的容错性。
总体测试主要是测试整个系统的运行正确性、可靠性和稳定性,其中正确性最主要。总体测试的内容包括使用本系统进行大量数据的录入,特别是边缘数据的录入测试。其次测试系统的查询和打印功能,测试其结果是否与预期相符。
由于测试项目内容较多,无法在此一一罗列,故将几个在测试中发现的主要问题列出。
1. ADO中Command对象的参数使用的错误
Command对象中的Parameter对象的赋值需要同在CommandText中的数据排列一致,而不同参数的命名相关,一开始,在进行编码时没有注意到这点,结果导致参数值传递不正确,数据库操作失败。
通过对代码的单步跟踪及有关文档,找到了错误的原因。经过调整参数顺序,操作正常。
2.ComboBox的使用
在程序许多对话框中都要用到改变一个ComboBox的选择项,其他的相关ComboBox的内容要进行相应的改变,如在学院的ComboBox中选定了某个学院,则相应的专业ComboBox的内容应变为这个学院的专业项。开始,这一更新相关ComboBox的代码是放在ComboBox的Change事件中,认为ComboBox的选择项的改变就出发此事件。但在运行过程中,相应ComboBox没有如预期随选择项的改变而改变。
通过单步跟踪,发现此事件并没有因为选择项的改变而触发。后查阅文档,改用Click事件放更新代码,运行正常。
本系统的实现比较方便,只要具备本系统运行的环境就可使用。
系统安装只需使用提供的系统安装程序将系统安装到计算机上即可。
平时应注意对使用系统的计算机的日常管理,特别是存放数据库文件的计算机。有条件的应该定期对数据库文件进行拷贝备份,防止因意外或人为因素导致数据库文件的破坏而造成数据丢失的损失,保证系统的正常运行。
本系统的特点在于使用的目前较新的数据库技术,使用标准的视窗用户界面,支持鼠标的操作,支持网络环境,实现客户端/服务器架构。整个开发过程都遵循的软件工程的要求,高度的模块化为以后的系统扩展提供了保障。
当然,由于时间有限,系统只对应专项资金管理业务工作的一部分,在系统的安全性方面也有待改善。
以后,可以在需要时,对本系统完善如采购管理、合同管理等功能模块,完善本系统。
在此次系统设计中,总体过程还是很顺利的。
最后,要感谢信息学院的老师在本系统设计过程中对我的指导和帮助。
[1] 信息系统开发 甘刃初 经济科学出版社 1996
[2] 管理信息系统 黄梯云 经济科学出版社 1997
[3] 软件开发工具 陈 禹 等 经济科学出版社 1999
[4] 计算机实用软件 高 阳 经济科学出版社 1997
[5] 数据库原理 丁宝康 等 经济科学出版社 2000
[6]毕业论文指导资料 复旦计算机科学系 1999