1、行政办公用品管理系统行政办公用品管理系统摘要:随着当今社会飞速发展,行政管理在社会关系中起着非常重要的作用,然而,在很多的行政管理系统中,人们忽略了利用计算机软件来进行日常办公管理,因而造成管理上的混乱、工作效率低下等情况的发生。所以利用计算机软件代替手工办公的方式已经成为当今社会发展的必然趋势,行政管理系统软件由此应运而生。本论文是在了解企事业单位行政费用的划拨、开支,以及所需办公用品的购置情况之后,充分利用计算机工具及VFP软件,并采用模块化的编程思想,通过对企事业单位行政部门的调研,建立的一套管理信息系统。关键词:企事业机关, 行政管理, 管理信息系统。The Management Sy
2、stem of Executive Office SuppliesElectronics and Information Science and Technology Candidate:chen feng Advisor:gong weiAbstract: With the rapid development of society, the administration plays an important part in social relations, however, in many administrative systems, people carry out daily wor
3、k neglecting of using computer software, that results in management confusion, inefficiency and so on. so, using computer software instead of hand has become an inevitable trend of social development, and the software about administration system arises at the historic moment from this. After underst
4、anding the allocation of administrative costs and expenses of enterprises and institutions, as well as the situation of purchase on necessary office supplies, through investigation of executive branchs, a set of management information system has been established full use of computer tools and VFP, a
5、nd adopting modular programming ideas.Keywords: enterprises and institutions, administration, management information systems.引言 本论文主要介绍的是企事业使用的办公用品管理系统的整个设计。由于企事业的物品供应管理往往是很复杂、繁锁的。所掌握的物品种类众多,购置、管理、发放的渠道各有差异,各个部门之间的管理体制不尽相同,各类统计计划报表繁多,因此物品管理必须实现计算化,而且必须根据企事业的具体情况制定相应的方案以便提高工作效率。以往企事业物资管理员由于缺乏适当的软件而给其
6、工作上如物资的计划,采购,管理,发放,根据企事业各个部门的需要来发送物资设备,并随时按期进行库存盘点,作台帐,根据企业领导和自身管理的需要按月,季,年进行统计分析,产生相应的报表时带来了很多不便,期间复杂,繁琐的业务让管理人员极多不便。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对信息进行管理,具有与手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高物品管理的效率,也是企事业的科学化、正规化管理,与世界接轨的
7、重要条件。因此,开发这样的管理软件成为了很有必要的事情。本论文所介绍的便是一个行政办公用品管理系统,以方便实现企事业物资设备管理的系统化,规范化,模块化和自动化,从而达到提高物品管理效率的目的。该系统适用于企事业办公所需要的各种设备。其功能主要分为五大类:1.办公用品管理各种信息的输入;2.办公用品管理各种信息的查询;3.办公用品各种报表的打印;4.企事业各部门的物品领取的管理;5.信息管理系统的使用帮助。在下面的各章中我们将以开发一套行政办公用品管理系统为例, 谈谈其开发过程和所涉及到的问题及解决方法。整个系统的开发过程遵循软件工程的要求,做到模块化分析、模块化设计和代码编写的模块化。1管理
8、信息系统概述1.1 管理信息系统(MIS)简介;管理信息系统就是我们常说的MIS(Management Information System),在强调管理,强调信息的现代社会中它越来越得到普及。MIS是一门新的学科,它跨越了若干个领域,比如管理科学、系统科学,运筹学、统计学以及计算机科学。在这些学科的基础上,形成信息收集和加工的方法,从而形成一个纵横交织的系统。1.2 管理信息系统的发展20世纪,随着全球经济的蓬勃发展,众多经济学家纷纷提出了新的管理理论。20世纪50年代,西蒙提出管理依赖于信息和决策的思想。同时期的维纳发表了控制论,他认为管理是一个控制过程。1958年,盖尔写到:“管理将以较
9、低的成本得到及时准确的信息,做到较好的控制。”这个时期,计算机开始用于会计工作,出现数据处理一词。1970年,Walter T.Kennevan给刚刚出现的管理信息系统一词下了一个定义:“以口头或书面的形式,在合适的时间向经理、职员以及外界人员提供过去的、现在的、预测未来的有关企业内部及其环境的信息,以帮助他们进行决策。”在这个定义里强调了用信息支持决策,但并没有强调应用模型,没有提到计算机的应用。1985年,管理信息系统的创始人,明尼苏达大学的管理学教授Gordon B.Davis给了管理信息系统一个较完整的定义,即“管理信息系统是一个利用计算机软硬件资源,手工作业,分析、计划、控制和决策模
10、型以及数据库的人-机系统。它能提供信息支持企业或组织的运行、管理和决策功能。”这个定义全面地说明了管理信息系统的目标、功能和组成,而且反映了管理信息系统在当时达到的水平。1.3 管理信息系统的特点及组成 管理信息系统在企业中的应用存在三个要素,这就是人、计算机和数据。人是指企业领导者、管理人员、技术人员,以及MIS建设的领导机构和实施机构,他们在系统中起主导作用。MIS是一项系统工程,不是只靠一些计算机开发人员就可以完成的,必须有企业管理人员,尤其是企业领导的积极参与。计算机技术是MIS得以实施的主要技术。在这些技术中,软件开发是MIS开发的重点。第三个因素也不能忽视。企业的管理数据是MIS正
11、常运行的基础。广义地说,各项管理制度是MIS建设成功的基础。试想要计算一台机床的生产成本,需要按时输入每个部件、每个零件甚至每个螺钉螺帽的费用,涉及企业的生产车间、采购、库房、工艺设计和财务等多个部门,必须有一整套管理制度做保证。2 Visual FoxPro 6.0软件介绍Visual FoxPro简称VFP,是微软公司推出的数据库开发软件,用它来开发数据库,既简单又方便。Visual FoxPro原名FoxBase,是美国Fox Software公司推出的数据库产品,在DOS上运行,与xBase系列相容。FoxPro原来是FoxBase的加强版,最高版本曾出过2.6。之后,Fox Soft
12、ware被微软收购,加以发展, 使其可以在 Windows 上运行, 并且更名为 Visual FoxPro。目前最新版为 Visual FoxPro 9.0,而在学校教学和教育部门考证中还依然延用经典版的 Visual FoxPro 6.0。Visual FoxPro 6.0是在 xBASE(dBASE,FoxBASE,FoxPro)的基础上发展而来的32位数据库管理系统。它是由微软公司于1998年在推出 Windows 98 操作系统的同时推出的。在桌面型数据库应用中,处理速度极快,是日常工作中的得力助手。 2.1 软件的发展Visual FoxPro 6.0是在xBASE(dBASE,F
13、oxBASE,FoxPro)的基础上发展而来的32位数据库管理系统。Visual FoxPro的发展历程如下:Ratliff 的贡献: 1975年,美国工程师 Ratliff开发了一个在个人计算机上运行的交互式的数据库管理系统。1980年,Ratliff 和3个销售精英成立了Aston-Tate公司,直接将软件命名为 dBASE 而不是 dBASE。后来这套软件经过维护和优化,升级为 dBASE 。Fox Software公司的改进:1986年,For Software公司在dBASE 的基础上开发出了 FoxBASE数据库管理系统。后来Fox Software公司又开发了FoxBASE+、F
14、oxPro 2.0等版本。这些版本通常被称为xBase系列产品。 微软最终的影响力 :1992年,微软公司在收购For Software公司后,推出FoxPro 2.5版本,有MS-DOS和Windows两个版本。使程序可以直接在基于图形的 Windows操作系统上稳定运行。1995年,推出了Visual FoxPro 3.0数据库管理系统。它使数据库系统的程序设计从面向过程发展成面向对象,是数据库设计理论的一个里程碑。1997年,微软公司推出了 Visual FoxPro 5.0版本,引进了 Internet 和 Active 技术。1998年,在推出 Windows 98操作系统的同时推出
15、了 Visual FoxPro 6.0。近年来,Visual FoxPro 7.0、Visual FoxPro 8.0 和Visual FoxPro 9.0也相继推出,这些版本都增强了软件的网络功能和兼容性。同时,微软公司推出了Visual FoxPro 的中文版本。 2.2 软件的特点 Visual FoxPro 6.0能够得到广泛的使用,这是与其具有的强大的功能分不开的,Visual FoxPro 6.0与其前期的版本相比,有更高的性能指标和鲜明的特点。1、提供多种可视化编程工具,最突出的是面向对象编程。2、在表的设计方面,增添了表的字段和控件直接结合的设置。3、增强了 Internet
16、技术和 WWW 数据库的设计。4、ActiveX 和向导、生成器及控件等集成化工具。5、新引入了网络图象文件格式:gif 和jpeg 。6、对项目及数据库控制的增强。在Visual FoxPro 6.0中可以借助“项目管理器”创建和集中管理应用程序中的任何元素;可以访问所有向导、生成器、工具栏和其他易于使用的工具。7、提高应用程序开发的效率Visual FoxPro 6.0增加了面向对象的语言和方式。借助Visual FoxPro 6.0的对象模型,可以充分使用面向对象程序设计的所有功能。8、互操作性和支持InternetVisual FoxPro 6.0支持具有对象的链接与嵌入(OLE)拖放
17、,可以在Visual FoxPro 6.0 和其他应用程序之间,或在Visual FoxPro 6.0应用程序内部移动数据。9、充分利用已有数据Visual FoxPro 6.0为升级数据库提供了一个方便实用的转换器工具,可以将早期版本中的数据移植过来使用;对于电子表格或文本文件中的数据,Visual FoxPro 6.0也可以方便的实现数据共享。2.3 软件的配置要求 Visual FoxPro 6.0的功能很强大,但是对整个开发环境的要求却不是很高。现在,普通的家用电脑一般都能够运行它。配置的相关基本要求(最低配置要求)如下:处理器:486处理器以上,推荐使用Pentium或更高档处理器的
18、PC兼容机。内存:16MB 以上的内存,推荐使用 24MB 以上的内存。硬盘:典型安装需要 85MB 的硬盘空间,完全安装需要 90MB 的硬盘空间。操作系统:Windows 95/98(中文版),或 Windows NT4.0(中文版),或更高版本。2.4 软件的系统设置选项其中系统设置选项卡有:显示、常规、数据、远程数据、文件位置、表单、项目、控件、区域、调试、语法着色、字段映像等。其设置功能如下:显示:界面选项,例如是否显示标题栏、时钟、命令结果或系统信息等。常规:数据输入与编程选项,例如设置警告声、是否自动填充新记录等。数据:表选项,字符串笔记比较设定。例如是否使用索引强制唯一性,是否
19、使用 Rushmore优化等。远程数据:远程数据访问选项,例如连接超时限定值等。文件位置:改变系统默认文件存储位置。表单:表单设计器选项,例如所用的刻度单位、网格面积等。项目:项目管理器选项,例如是否使用向导等。控件:“表单控件”工具栏中的“查看类”按钮所提供的可视类库和ActiveX控件选项。 区域:时间、日期、货币及数字的格式。调试:调试器显示和跟踪选项。语法着色:确定区分程序元素所用的字体和颜色。字段映像:确定从数据环境设计器、数据库设计器或项目管理器中向表单拖动表或字段时创建何种控件。3 应用Visual FoxPro 建立行政办公用品的数据库3.1 用户需求分析 本阶段通过用户走访、
20、查阅资料等手段了解用户现行工作流程。并以此为基础确定目标系统的功能,构建系统的逻辑模型。最后完成系统概念结构设计及数据分析。3.1.1 用户调查经过对一些企事业单位的走访调查,并多次与办公管理的人员进行研讨后,加深了对现行行政办公用品管理的深刻了解。在此基础上将现行行政办公用品管理的业务流程简单的描述如下:1、创建有关单位、部门的信息系统,包括部门名称、负责人等。2、通过手工加表格的方式管理行政办公用品基本信息,包括物品编号、名称、数量、单价、库存等。3、根据报表手工进行物品的购置和发放登记。目前的管理系统由于使用传统的手工方式,存在效率低、不易检索、资料保存困难等问题。用户迫切希望开发一套切
21、实可行的、符合日常工作习惯的行政办公用品管理系统。用户最为关心的热点是目标系统能够实现方便、快捷的信息查询,实现各类报表的打印输出。3.1.2 系统模型的构造系统用户行政办公用品管理系统系统用户物品数据物品数据操作请求图1基本系统模型根据上述基本系统模型,对其逐步细化,得到描绘逻辑系统细化后的数据流程图:购置物品管理员库存管理领用管理入库领取物品出库物品数据图2 数据流程图3.1.3 确定目标系统功能行政办公用品管理系统的基本功能是对企事业单位的办公用品进行管理。通过用户走访及相关资料查阅,本系统的主要功能主要分为:信息管理、日常操作管理、信息查询、信息打印、系统管理共5个功能模块和子模块。系
22、统功能模块图如图3所示(1)信息管理该功能模块主要包括:增加物品信息(包括物品名称、所属部门、单价、库存等信息);具有修改、保存、查看物品、部门信息的功能。(2)日常操作管理该功能模块主要包括:记录物品的库存与领用信息(包括新购物品的录入和领取物品的录入),并具有保存、查看物品信息的功能。(3)信息查询 该功能模块主要用来查询各种信息,包括领用信息、库存信息。(4)信息打印该功能模块主要用来打印报表,包括年、月、季报表的打印。(5)系统用户管理该功能模块主要包括:增加用户信息(包括用户名、密码);并具有修改、删除用户信息、设置用户权限的功能。行政办公用品管理系统信息管理日常操作信息查询信息打印
23、用户管理初始化部门管理物品管理购置操作领用操作部门查询库存查询领用查询购置打印领用打印修改密码关于系统物品查询系统登录图3 系统功能模块图3.2 数据库设计经过如上的分析,本系统中需要使用的数据库包括:1、 用户信息表:保存可以登录系统的用户的用户名、密码信息和权限;2、 物品类别表:保存物品类别的信息;3、 部门信息表:保存各部门的信息;4、 领用信息表:保存领用操作留下的记录;5、 库存信息表:保存物品的库存信息。打开Visual FoxPro 6.0创建“wupin”数据库,并在数据库中创建以上5个表添加到数据库中,如图4所示图4 数据库设计4 系统设计4.1 信息管理模块 以物品类别管
24、理表单为例,物品类别管理表单用来对数据库中的物品类别表的数据进行管理,步骤如下: 1、在项目管理器中新建1个表单作为物品类别管理表单。将物品类别表添加到表单的数据环境中。 2、在数据环境中设置物品类别表的“BufferModeOverride”属性值为“2-Pessimistic Row Buffering”,设置其“Exclusive”属性值为“.T.-Ture”。3、从数据环境中将在表单中显示的字段拖放到表单中,并且分别创建各个按钮,创建好的物品类别管理表单如图5所示,事件代码见附录。图5 物品类别管理表单4.2 日常操作模块以物品入库操作为例,创建过程与物品类别管理表单的创建相似,创建好
25、的表单如图8所示,事件代码见附录。图6 物品购置操作4.3 信息查询模块该模块用来显示物品领用以及库存的信息。在表单上设计一个页框控件,分两页分别显示物品的领取信息和库存信息。在页框控件的两个页面上分别绘制一个表格控件并与领用信息表和库存信息表进行绑定。在表单左侧加入进行日常操作的相应按钮,在表单下方加入查询条件的选择列表框,用来输入查询条件。创建好的表单如图7所示,代码见附录。图7 物品信息查询4.4 信息打印模块先设计年、季、月的报表生成表单,以季报表的生成表单为例,设计好的季表单如图8所示,设计过程略,事件代码见附录。再使用报表设计器,设计物品领用情况和库存情况的报表,设计好的报表如图9
26、所示。设计过程略。图8 季报表生成表单图9 领用报表4.5 系统管理模块该模块包括系统登录、密码修改和用户添加。以设计系统的登录表单为例,本系统的登录表单是一个简单的用户名的姓名和密码的输入界面,如图10所示。通过此窗体调用系统的主菜单。 确定和取消按钮的ckick事件的代码见附录。图10 系统登录表单4.6 系统主菜单设计利用菜单设计器,设计系统的主菜单,如图11所示,设计完成后单击系统菜单“菜单”项,在下拉菜单中选择“生成”对话框。在“生成菜单”对话框中输入菜单名,单击生成按钮,生成 “.mpr” 运行文件,运行结果如图12。图11 系统主菜单图12主菜单运行图4.7系统主程序及应用程序设
27、计系统主程序为整个系统运行的启动文件,在项目管理器中选择“程序”页面,选择“程序”项后,单击项目管理器的新建按钮,在程序代码编辑窗口中输入执行代码(见附录)。 “连编”是应用程序开发的最后一步,连编之后的程序就可以供用户使用了。单击项目管理器的“连编”命令按钮可以打开“连编选项”对话框,选择“连编应用程序”选项,生成应有程序文件(.app);或选择“连编可执行文件”选项,生成可执行文件(.exe)。至此,系统的设计全部完成。5 结果演示双击行政办公用品管理系统的可执行文件(.exe),即可进入如图10所示的登录界面,输入正确的用户名和密码后进入如图13所示的系统主界面。现以物品的购入和领取操作
28、为例:在物品入库操作中添加一条联想电脑的入库信息,入库2台,如图14所示,按确定按钮保存后就能在存货表中显示相应的信息,如图15所示。再在物品领用登记中添加一条联想电脑的领取记录,领取部门为财政部,数量为一台,如图16所示,按确定按钮后即可查看相应的领取信息,如图17所示。对比图15(领取前的存货表)与图18(领取后的存货表),可以发现联想电脑的库存数量已经变为一台,减少的一台可以在财政部的领取信息中查看到。图13 系统管理主界面图14 物品入库操作图15存货表图16 物品领取操作图17领取表图18 领取后的存货表6 结论行政办公用品管理系统是办公自动化管理系统的重要组成部分,它可以对办公用品
29、的入库和领用操作进行规范化管理,进而提高工作效率,避免资源的浪费。本系统是采用Visual FoxPro软件设计的一个简单的行政办公用品管理系统,是根据单位的办公用品的购买,入库,领用流程而设计的,能够对办公用品的购置,领取进行操作并记录、查询,还能生成各种报表,方便企事业单位对办公用品信息的统计,特别适用于分批次购买,各部门领用的模式,具有完善的输入,统计,查询功能。可以合理规范对企事业单位办公用品的管理,实现企事业物资设备管理的系统化、规范化、模块化和自动化,从而达到提高物品管理效率的目的。致谢:在完成本系统的设计过程中,本人得到龚伟老师的悉心指导,耐心帮我修订论文并指出论文中的错误和不足
30、,在此深表谢意。还要感谢物电学院的老师们对我四年的教育培养,同时我们小组的其他同学也给与了我很大的帮助,在此,一并表示感谢!在大家的共同努力下,我的系统设计才能够顺利地完成。由于本人的水平有限,系统设计简单,有许多不足之处,请众审考老师给与批评指正,再次不胜感谢。参考文献1求是科技.Visual FoxPro信息管理系统开发实例导航M.北京:人民邮电出版社,2005.2杨海鹰等.实验室信息管理系统M.北京:化学工业出版社,2007.3求是科技.Visual Basic 6.0信息管理系统开发实例导航M.北京:人民邮电出版社,2005.4侯炳辉.信息管理系统计算机应用专业系列教材M.北京:中央广
31、播电视大学出版社,2004.5武新华.Visual FoxPro管理信息系统开发案例M. 西安:西安电子科技大学出版社,2004.附录1、添加分类表单的确定按钮的代码:c_leibie=alltrim(thisform.text1.value)IF NOT USED(leibie) SELECT 0 USE leibie EXCLUSIVEENDIFSELECT leibieGO TOPLOCATE FOR ALLTRIM(leibie)=c_leibieIF NOT EOF() MESSAGEBOX(该类别已经存在,请重新输入!) RETURNELSE APPEND BLANK REPLAC
32、E leibie with c_leibie messagebox(类别添加成功!)ENDIFUSE2、物品购置操作表单确定按钮的事件代码:cleibie=ALLTRIM(bo1.Value)cpinpai=ALLTRIM(bo2.displayvalue)cdanjia=VAL(ALLTRIM(thisform.text2.Value)cshuliang=VAL(ALLTRIM(thisform.text3.Value)cgoumairen=ALLTRIM(thisform.text4.Value)criqi=CTOD(ALLTRIM(bo4.DisplayValue)+.+ALLTRIM(
33、bo5.DisplayValue)+.+ALLTRIM(bo6.DisplayValue)cbeizhu=ALLTRIM(thisform.edit1.Value)IF NOT USED(jiku) SELECT 0 USE jikuENDIFSELECT jikuLOCATE FOR ALLTRIM(leibie)=cleibie AND ALLTRIM(pinpai)=cpinpaiIF FOUND() UPDATE jiku set shuliang=shuliang+cshuliang,danjia=(danjia+cdanjia)/2,riqi=criqi; WHERE ALLTRI
34、M(leibie)=cleibie AND ALLTRIM(pinpai)=cpinpaielse INSERT INTO jiku; values(cleibie,cpinpai,cdanjia,cshuliang,cgoumairen,criqi,cbeizhu)endif cMessageTitle=数据录入cMessageText=数据添加成功,还要继续吗?nDialogType=4+32nanswer=MESSAGEBOX(cMessageText,nDialogType,cMessageTitle)if nAnswer=6 thisform.text1.value= thisfor
35、m.text2.value= thisform.text3.value= thisform.text4.value= thisform.text5.value= thisform.edit1.Value=ELSE USE thisform.ReleaseENDIF3、查询表单的确定按钮的事件代码:cqi=ctod(ALLTRIM(this.Pbo2.DisplayValue)+.+ALLTRIM(this.Pbo3.DisplayValue)+.+ALLTRIM(this.Pbo4.DisplayValue)czhi=ctod(ALLTRIM(this.Pbo5.DisplayValue)+.
36、+ALLTRIM(this.Pbo6.DisplayValue)+.+ALLTRIM(this.Pbo7.DisplayValue)IF NOT USED(lingquview) SELECT 0 USE lingquviewENDIFSELECT lingquviewSELECT * from lingquview order by bumen INTO dbf c:newsoftmyreport WHERE riqi between cqi AND czhireport form c:newsoftmyreport prev 4、季报表的确定按钮的事件代码:IF NOT USED(ling
37、quview) SELECT 0 USE lingquviewENDIFSELECT lingquviewcjidu=VAL(ALLTRIM(bo2.displayvalue)DO CASE CASE cjidu=1 LOCATE FOR year(riqi)=val(alltrim(bo1.displayvalue) AND month(riqi)=3 IF FOUND() SELECT * from lingquview; order by bumen INTO dbf c:newsoftmyreport; WHERE year(riqi)=val(alltrim(bo1.displayv
38、alue) AND month(riqi)3 and month(riqi)3 and month(riqi)6 and month(riqi)6 and month(riqi)9 and month(riqi)9 and month(riqi)=12) report form c:newsoftmyreport prev ELSE MESSAGEBOX(对不起,没有此纪录!) ENDIF ENDCASE5、登录表单确定按钮的事件代码:public clevel,cczyclevel=if not used(usepass) sele 0 use usepassendiflocate for
39、alltrim(uname)=alltrim(bo1.displayvalue)cczy=alltrim(bo1.displayvalue)if upper(alltrim(thisform.text1.value)=upper(alltrim(upassword) thisform.release clevel=alltrim(uquanxian) do form faceelse cMessageTitle=办公用品管理系统 cMessageText=口令错误,要重新输入吗? nDialogType=4+32 nanswer=MESSAGEBOX(cMessageText,nDialogT
40、ype,cMessageTitle) do case case nAnswer=6 thisform.text1.value= thisform.text1.setfocus case nAnswer=7 cMessageText=你不是合法用户,请离开! MESSAGEBOX(cMessageText,0,cMessageTitle) thisform.release endcaseendif12、主程序执行代码set date to ansiset century onset safety offset path to c:newsoftset color to BG/BGpublic mysqlsevermysqlsever=deactivate window project mangerzoom windows screen maxdo form frm_loginmodify windows screen title 行政办公用品管理系统 on shutdown down1() /关闭read events21