资源描述
附件1.1毕 业 论 文(设计) 论文题目:档案管理系统的设计与实现学生姓名:胡仁雷学 号:1101070130年级专业:二0一一级软件技术指导老师:李慧敏 系 别:电子信息系湖南长沙二O一四年六月附件1.2目 录摘要11前言21.1问题的提出21.2 数据库系统简介21.3 SQL Server 2008简介31.4 PowerBuilder V12 简介51.5 数据库理论基础72 管理系统的分析与设计112.1 系统分析112.2系统设计122.3 小结133管理系统的实现143.1 应用程序对象的创建143.2 登录窗口的设计143.3 应用程序主窗口163.4 菜单的设计163.5各功能模块的设计173.6 系统的编译和发布193.7 小结194 总结20参考文献21致谢22附件1.3档案管理系统的设计与实现 作 者:胡仁雷 指导老师:李慧敏 (湖南信息科学职业学院电子信息系2011级软件技术,长沙 410151) 摘要:随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业档案的管理已经势在必行。当前企业信息管理系统正在从C/S结构向B/S结构转移,但是由于安全性等方面的因素,C/S结构的管理信息系统仍然占据市场的主流。而新兴的基于ASP.NET技术的三层系统设计和基于Java的MVC技术尚未成熟,可以说尚处于bate阶段,C/S结构的管理信息系统仍然占据市场的主流。 为了方便企业或集团管理,档案管理系统在计算机上实现已是势在必行。其真正目的在于有利于企业管理。 本人主要分析了系统的组成情况,包括需求分析,系统的可行性,系统的设计目标,数据结构,数据流程和系统的主要特点等各面知识。还重点介绍了系统的功能模块的详细思路和实现方法,以及对系统的关键技术和部分源代码的详细说明。本系统除了对档案管理系统的各个功能模块作了详细的介绍,还附有各功能模块的主界面图。在功能叙述过程中配有插图,帮助更好的理解和使用该系统的功能内容。关键词:档案管理;数据库管理系统 ;数据库。 1 前言 1.1问题的提出 随着计算机技术的飞速发展,计算机在社会各界管理中应用的普及利用计 算机实现档案的管理已经势在必行。当前社会各界信息管理系统正在从C/S结构向B/S结构转移,但是由于安全性等方面的因素,C/S结构的管理信息系统仍然占据市场的主流。而新兴的基于ASP.NET技术的三层系统设计和基于Java的MVC技术尚未成熟,可以说尚处于bate阶段,C/S结构的管理信息系统仍然占据市场的主流。 然而,在现代的社会中,用计算机进行档案的管理机制还不十分的健全,为了能使企业领导人能更好的进行档案管理及相关方面的科学决策,如企业领导根据现有的员工数目决定招骋的人数等,档案管理系统的设计成为当今社会的软件行业中的较为重要的课程。1.2数据库系统简介 数据库技术在计算机软件领域研究中一直是非常重要的课题,产生于60年代,30多年来数据库技术得到了迅速发展,并已形成较为完整的理论体系。并且,近年来,随着World Wide Web(WWW)规模的扩大及Internet技术的迅速发展,数据库技术迅速的成为最热门技术之一。 数据库技术也是计算机科学中发展最快、应用最广泛的技术之一,它已成为计算机系统与应用系统的核心技术和重要基础。 1.2.1数据库 数据库,顾名思义,是存放数据的仓库。只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的。它是长期储存在计算机内、有组织、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。 1.2.2数据库管理系统 数据库管理系统(DBMS)是指数据库系统中管理数据的软件系统。DBMS是数据库系统的核心组成部分。对数据库的一切操作,包括定义、更新及各种控制,都是通过DBMS进行的。DBMS是基于某种数据模型,可以看成是某种数据模型在计算机系统上的具体实现。根据数据模型的不同,DBMS可以分成层次型、网状型、关系型、面向对象型等。而本系统所用的SQL Server 2008就是一种关系型 应用数据库。 1.2.3 数据库模式 数据库系统模式是由外模式、模式、内模式三级模式构成。它定义了数据库的结构、表、关系、域和业务规则。数据库模式是一种设计,数据库和应用正是建立在此基础上的。 域是一列可能拥有的值的集合。必须为每一个表的每一列确定域。除了数据 的物理格式外,还需要确定是否有些域对表来说是唯一的。 数据库模式的最后一个要素是业务规则,它是对需要反映在数据库和数据库应用程序中的业务活动的约束。业务规则是模式的一个重要部分,因为他们指定了无论什么数据变化到达DBMS,允许的数据值必须满足的约束。不管无效的数据变化请求是来自窗体的用户、查询/修改请求还是应用程序,DBMS都应该拒绝。 遗憾的是,不同的DBMS产品用不同的方法实施业务规则。在某些情况下DBMS产品不具备实施必要业务规则的能力必须以代码形式把它们编入应用程序。 1.3SQL Server 2008 简介 SQL Server 2008是个功能强大的数据库管理系统,它建立在 SQL Server 7.0 在可伸缩性、可用性、可管理性和数据仓库成功的基础上,并且引入了针对电子商务的新功能。SQL Server 2008是个采用主从结构的关系数据库系统,以下就对SQL Server 2008的结构做些简要的说明。 1.3.1主从结构 随着20世纪80年代个人计算机的兴起,以及个人计算机的运算能力快速提高,主从式(Client/Server)软件结构也逐渐为大众接受并广泛采用,从而逐渐取代过去的“主机/终端机式”或PC网络上数据库服务器(单纯分享数据资源)的运行模式。所谓SQL Server的主从结构,就是由SQL Server 扮演存放数据和提供数据给客户端的角色,当用户取用数据时,则可调用各种不同的客户端应用程序,通过SQL Server 2008所支持的接口,向SQL Server提出请求,然后取得数据库中的数据并返回给用户。1.3.2数据存储接口 为了让客户端能顺利查询/修改数据库中的数据,SQL Server 2008提供了多种不同的接口,客户端可以根据自己的需求,通过这些接口来存取数据库中的数据,这些接口包括: OLE DB:OLE DB是微软公司开发的一组用来存取各种数据的COM(Component Object Model) 组件。使用OLE DB作为数据存取接口,应用程序就能通过统一的方式从各种不同的数据源取得所需的数据。而SQL Server 2008本身也内建了OLE DB服务组件(SQLOLEDB),因此客户端应用程序可以直接或间接来向SQL Server提出请求,以取得所需的数据。 ODBC:ODBC(Open DataBase Conectivity) 是根据SQL语言所发展出来的数据存取接口。正如其名称中的Open(开放)所指,其目的是使应用程序利用简单的SQL查询,就能从各种不同的数据库系统中取得数据,SQL Sever包含了内建的ODBC驱动程序。 除了上述两个主要的数据库存接口外,SQL Server 2008还支持:DB_Library,Embedded-AQL等接口模式。 1.3.3沟通的桥梁 - Net-Library 客户端和服务端有了可互相通信的接口后,建立两边IPC通信管道的工作是由Net-Library (网络函数库)来负责的。 当客户端程序使用某种接口向服务器提出查询请求时,这项请求必须通过IPC到达服务端,因此,数据库接口驱动程序(例如ODBC驱动程序)就要设法产生这个IPC。为了简化及支持多种网络通信协议,微软公司将这些功能集成在Net-Library之中。也就是说数据库接口驱动程序会调用客户端上的Net-Library,而Net-Library则会调用IPC应用程序接口以产生IPC。 若客户端和服务端目前是在同一台计算机上,例如我们在Enterprise Manager操作本地服务器的数据库,则此时Net-Library会调用Local IPC;若是要通过网络存取远端的服务器,则会经由目前双方所使用的网络协议产生Remote IPC。 服务端的Net-Library在接到对方送来的请求后,会将它交给SQL Server 来外理,而服务器也会利用相同的方式将结果送回客户端。虽然SQL Server和客户端一样都是使用SQL Server来建立通信管道,但是SQL Server可以同时使用多种不同的Net-Library, 以便能和使用不同通信协议的多个客户端沟通,但是客户端一次只能使用一种Net-Library。SQL Server 2008的Net-Library支持包括TCP/IP、Named Pipes(命名管道)和Nwlink IPX/SPX等多种通信协议。本系统中所采用就是主从结构的设计模式,SQL Server 2008客户端与SQL Server 2008数据库服务器之间的通信采用了Net-Library方式,在PowerBuilder与SQL Server 2008的数据库接过程中采用的是SQL Server 2008的专用接口模式。 1.4 PowerBuilder V12 简介 PowerBuilder美国Sybase公司研制的一种新型、快速开发工具,是客户机/服务器结构下,基于Windows3.x、Windows95和WindowsNT的一个集成化开发工具。它包含一个直观的图形界面和可扩展的面向对象的编程语言PowerScript,提供与当前流行的大型数据库的接口,并通过ODBC与单机数据库相连。1.4.1 PowerBuilder V12开发环境 PowerBuilder开发环境由一系列集成的图形画板(Painter)组成,应用开发人员通过简单的鼠标操作即可设计、建立、交互检验和测试客户/服务器应用程序。 1.4.2 PowerBuilder的特点 (1)可视化、多特性的开发工具。全面支持Windows或WindowsNT所提供的控制、事件和函数。 PowerScript语言提供了几百个内部函数,并且具有一个面向对象的编译器和调试器,可以随时编译新增加的代码,带有完整的在线帮助和编程实例。(2)功能强大的面向对象技术。支持通过对类的定义来建立可视或不可视对象模型,同时支持所有面向对象编程技术,如继承、数据封装和函数多态性等。这些特性确保了应用程序的可靠性,提高了软件的可维护性。(3)支持高效的复杂应用程序。对基于Windows环境的应用程序提供了完备的支持,这些环境包括Windows、WindowsNT和WinOS/2。开发人员可以使用PowerBuilder内置的Watcom C/C+来定义、编译和调试一个类。(4)企业数据库的连接能力。PowerBuilder的主要特色是DataWindow(数据窗口),通过DataWindow可以方便地对数据库进行各种操作,也可以处理各种报表,而无需编写SQL语句,可以直接与Sybase、SQLServer、Informix、Oracle等大型数据库连接。(5)强大的查询、报表和图形功能。PowerBuilder提供的可视化查询生成器和多个表的快速选择器可以建立查询对象,并把查询结果作为各种报表的数据来源。 PowerBuilder主要适用于管理信息系统的开发,特别是客户机/服务器结构。我们知道,数据库应用是当前计算机应用的一个非常重要的方面,而在数据库应用技术中普遍采用的就是客户机/服务器(C/S)体系结构,在这种体系结构中,所有的数据和数据库管理系统都在服务器上,客户机通过采用标准的SQL语句等方式来访问服务器上数据库中的数据。由于这种体系结构把数据和对数据的管理都统一放在了服务器上。就保证了数据的安全性和完整性,同时也可以充分利用服务器高性能的特点。正因为客户机/服务器体系结构的这些优点,因而得到了非常广泛的应用。它支持应用系统同时访问多种数据库,其中既包括Oracle,Sybase之类的大型数据库,又包括FOXPRO之类支持ODBC接口的小型数据库,PowerBuilder是完全可视化的数据库开发工具,它提供了大量的控件,大大加快了项目的开发速度,也使开发者更容易掌握数据库的开发。它使用的编程语言叫做PowerScript,它也是一种高级的,结构化的编程语言。PowerScript提供了一套完整的嵌入式SQL语句,开发人员可以像使用其它语句一样自由地使用SQL语言,这样就大大增强了程序操纵和访问数据库的能力。可以说PowerBuilder既适合初学者快速学习数据库的开发,又可以让有经验的开发人员开发出功能强大的数据库,是一种适用面非常广的开发工具。PowerBuilder是一个用来进行客户/服务器开发的完全的可视化开发环境。使用PowerBuilder,你可以用一种可视的直观的方式来创建应用程序的用户界面和数据库接口。这是一个总的概念,实际上是开发人员使用PowerBuilder去开发应用程序,由于所开发的各种应用程序充分利用了图形用户接口(GUI)的优点,所以PowerBuilder被认为是一个图形工具。在客户/服务器结构的应用中,PowerBuilder具有描述多个数据库连接与检索的能力。特别是PowerBuilder能从大多数流行的RDBMS中存取数据,且不管数据存放在什么地方;另外,各种应用程序又可以独立于RDBMS,因为PowerBuilder可以使用数据库的标准操作语言SQL(结构化查询语言)进行。使用PowerBuilder,可以很容易地开发出功能强大的图形界面的访问服务器数据库的应用程序,PowerBuilder提供了建立符合工业标准的应用程序(例如订单登记、会计及制造系统)所需的所有工具。PowerBuilder应用程序由窗口组成,这些窗口包含用户与之交互的控件。开发人员可以使用所有标准空间(如按钮、复选框、下拉式列表框或编辑框)以及PowerBuilder提供的特殊的使应用程序更易于开发和使用的控件。通常人们把PowerBuilder看成是一种开发工具,实际上它比其他工具强得多,是一种强有力的开发环境。开发人员不仅能用它来开发用户容易使用的各种应用程序还可以通过PowerBuilder修改数据库,利用400多个内部定义函数,可以开发能和其他应用程序进行的各种应用程序。PowerBuilder正在成为客户/服务器应用开发的标准。相对于其他任何客户/服务器开发环境,PowerBuilder使开发人员的工作更快、成本更低、质量更高、功能更强。PowerBuilder为应用开发提供了全面综合性的支持,可以分别概括为如下几点:1、事件驱动的应用程序2、功能强大的编程语言与函数3、面向对象的编程4、跨平台开发5、开放的数据库连结系统1.5数据库理论基础 一个成功的信息管理系统,是建立在许多条件之上的,而数据库是其中一个非常重要的条件和关键技术。 信息管理系统所涉及的数据库设计分五个步骤:数据库需求分析、概念设计、逻辑设计、物理设计与加载测试。 设计出一个好的信息管理系统数据库,除满足系统所要求的功能外,还必须遵守下列原则: 1、基本表的个数越少越好。2、越主键的个数越少好。 3、字段的个数越少越好。4、所有基本表的设计均应尽量符合第三范式。 数据库的设计中,如何处理多对多的关系和如何设计主键,是两个有较大难度,需要重点考虑的问题。下面本人着重从SQL应用、数据库设计范式和查询优化等方面来分析本课题的关键技术和实现难点并加以解决。 1.5.1数据库系统设计与范式分析 数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。 建立起一个良好的数据指标体系,是建立数据结构和数据库的最重要的环节。一个良好的数据指标体系是建立DB的必要条件。我们完全可以认为所建指标体系中的一个指标类就是关系数据库中的一个基本表,而这个指标类下面的一个个具体指标就是这个基本表中的一个字段。但如果直接按照这种方式建库显然还不能算最佳方案。对于指标体系中数据的结构在建库前还必须进行规范化的重新组织。1.5.2 SQL基础 SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL通常用于数据库的通讯。ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。使用SQL的常见关系数据库管理系统有:Oracle、 Sybase、 Microsoft SQL Server、 Access等等。虽然绝大多数的数据库系统使用SQL,但是它们同样有独立的专有扩展功能。但是,标准的SQL命令,比如Select、 Insert、 Update、 Delete、Create和Drop常常被用于完成绝大多数数据库的操作。SQL Server 2008使用的就是Transact- SQL。 SQL语言有非常突出的优点,主要是: 1、非过程化语言; 2、统一的语言; 3、关系数据库的公共语言。 SQL为许多任务提供了命令,其中包括: 1、查询数据; 2、在表中插入、修改和删除记录; 3、建立、修改和删除数据对象; 4、控制数据和数据对象的存取;5、保证数据库的一致性和完整性。 以前的数据库管理系统为上述各类操作提供单独的语言,而SQL 将全部任务统一在一种语言中。 所有关系数据库的公共语言:由于所有主要的关系数据库管理系统都支持SQL 语言,用户可将使用SQL的技能从一个RDBMS转到另一个,所有用SQL编写的程序都是易于移植的。 SQL功能强大,是一种完备的数据处理语言,不仅用于数据库查询,而且用于数据库中的数据修改和更新。 1.5.3 游标 在关系统型数据库的SQL语言中,游标是存放结果集的数据对象。在多数据PowerBuilder应用程序的开发过程中,我们可能用不到游标,因为在其它开发工具中有很多需要用游标实现的工作,在PowerBuilder中却可以用DataWindow或DataStore来代替。事实上,DataWindow不仅可以替代游标进行从后台数据库查询多条记录的复杂操作,而且还远不止这些,但是同DataWindow和DataStore相比,游标也有其自身的优点,比如系统资源占用少,操作灵活,可根据需要定义变量类型,如全局,实例或局部类型和访问类型(私有或公有)等。其中本人在此人事管理系统的实现过程中就大量的使用了游标,且颇感高效。 使用游标有4个基本的步骤:声明游标、打开游标、提取数据、关闭游标。 1、明游标 格式:DECLEAR 游标名 CURSOR FOR sql语句; 2、开游标 格式:OPEN 游标名; 3、提取数据 格式:FETCH 游标名 INTO :变量1,:变量2,变量n; 4、关闭游标 格式:CLOSE 游标;2 管理系统的分析与设计 2.1 系统分析 2.1.1 系统目标设计管理系统可以用于支持集团完成劳动人事管理工作,有如下3个方面的目标。 1、实现集团规范的管理。 2、支持集团高效率完成人事管理的日常业务,包括新员工加入时人事档案的建立,老员工转出、辞职、退休等。 3、支持集团进行劳动人事管理及其相关方面的科学决策,如集团领导根据现有的员工数目决定招聘的人数等。 2.1.2 开发设计思想 本系统开发设计思想有以下几点: 1、利用集团现有软硬件环境及先进的管理系统开发方案,从而达到充分利用集团现有资源,提高系统开发水平和应用效果的目的。 2、符合集团人事管理的规定,满足集团日常人事管理工作需要,并达到操作过程中的直观、方便、实用、安全等要求。 3、C/S体系结构,Client(客户端)负责提供表达逻辑、显示用户界面信息、访问数据库服务器;Server(服务器端)则用于提供数据服务。系统分析等前期工作,应尽量详细完善,以便以后体系结构的改变,对于一些安全性要求不高的信息可以采用B/S的方式进行访问。4、系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。 2.1.3 开发和运行环境的选择 本系统采用SQL Server 2008数据库管理系统。前端采用PowerBuilder9.0作为应用开发工具。客户端软件在Windows98,Windows2008,Windows ME 以及 Windows XP 下均可安装使用。 2.1.4 系统功能分析 现在在系统开发总体任务的基础上完成系统功能分析。系统开发的总体任务阶段本人同 集团领导协商确定了本系统需要完成如下功能: 1、 员工各种信息的录入,包括员工基本信息、学历信息、婚姻状况、部门等。 2、 员工各种信息的修改。 3、 对于转出、辞职、退休员工信息的删除。 4、 按照某种条件、查询、统计、符合条件的员工信息。 5、 对查询、统计的结果打印输出。 6、 后勤集团人事管理系统的使用帮助。 2.2系统设计 2.2.1 系统功能模块设计 在系统功能分析的基础上,考虑PowerBuilder程序编制的特点。2.2.2 数据库设计 人事管理系统是一个数据库应用系统,员工的所有信息都是保存在数据库中。在数据库应用系统的开发过程中,数据库的结构是一据库应用系统的开发过程中,数据库的结构是一个非常重要的问题。当然这里指的数据库设计是指数据库中各个表结构的设计,包括信息保存在哪些表格中、各个表格的结构如何以及各个表之间的关系。 其中数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响,好的数据库设计将会减少数据库的存储量,数据的完整性和一致性较高,系统具有较快的反映速度,简化基于此数据库的应用程序的实现等。 由于数据库设计的重要性,人们提出了许多数据库结构设计的技术,其中这些设计方法与设计者的工作经验有很大关系。因此要从根本上解决所有数据库结构设计的问题,就需要多实践,在实践中积累经验和教训。 (1)数据库需求分析 数据库结构设计的第一阶段,也是非常重要的一个阶段,就是数据库需求分析,在这个阶段里主要是收集基本数据以及数据处理的流程,为以后进一步设计打下基础。在这个阶段主要解决两个问题: 1、内容要求。调查应用系统用户所需要操作的数据,决定在数据库中存储 什么数据。 2、处理要求。调查应用系统用户要求对数据进行什么样的处理,理清数据 库中各种数据之间的关系。 在解决这两个问题的时候。本人曾对集团人事信息进行了详细调查,从而保证了信息收集的完整性。 通过对集团的人员管理的详细调查分析,设计出了数据项和数据结构如下: 员工基本情况: 包括的数据项有员工号、员工姓名、性别、所在部门、身份证号、出生日期、籍贯、国籍、民族、婚姻状况、健康状况、政治面貌、参加时间、血型、参加工作时间、员工状态、状态时间、家庭住址、联系电话等。 员工婚姻状况: 包括的数据项有员工号、爱人姓名、爱人出生年月、结婚时间、爱人工作单位、爱人政治面貌、爱人工作职务等。 员工学历信息: 包括的数据项有员工号、学历、专业、毕业时间、毕业学校、学校类型、外语1、外语1级别、外语2、外语2级别等。 集团工作岗位信息: 包括的数据项有工作岗位代号、工作岗位名称、工作岗位权力范围等。 集团部门信息:包括的数据项有部门代号、部门名称、部门经理、部门副经理等。(2)数据库概念设计 在需求分析的基础上,使用E-R图(Entity-Relation,实体-关系图)设计了针对集团的情况的实体,以及它们之间的关系。(3) 数据库逻辑结构设计 概念结构是独立于实际数据模型的信息结构,必须将其转化为逻辑结构后才能进行数据库应用的设计。也就是要将概念上的结构转化为SQL server数据库系统支持的实际数据模型。 第一步转化是将实体转化为关系表。即将实体的属性定义为表的属性。 第二步转化是联系的转化。即将各个实体之间的联系转化为表格之间的关系,如外部键的定义。(4) 数据库结构的实现 在需求分析、概念结构设计的基础上得到数据 库的逻辑结构之后,要在SQL Server 2008数据库系统中实现该逻辑结构。该逻辑结构,可以在SQL Server 2008中的企业管理器中直接实现,当然也 可以用查询分析器执行SQL语句来实现。SQL语句请参看附录A。 2.3 小结 本章分析了人事管理系统的应用需求,按照数据库设计理论一步 一步地给出了系统需求说明书、局部ER图、全局ER图、系统关系模式,子模式,并利用SQL Server2008建立了数据库。3 管理系统的实现 3.1 应用程序对象的创建 PowerBuilder中应用程序对象是应用程序的入口。应用程序首先运行的脚本就是应用程序对象的Open事件。所以在应用程序对象的创建过程中,应用程序对象的Open事件中的脚本是非常重要的。该脚本中包含连接数据库所需要的参数,打开登录窗口等语句。 随着企业数据库应用的不断深入,对数据的安全性、保密性要求也越来越高。在C/S方式的MIS开发中,数据库服务器连接参数(服务器、数据库、用户ID的登录口令等)一般有以下3种存放方式:注册表、INI文件或直接写在程序中。但为了程序的灵活性和扩充性,连接参数写在程序中不是一个好的办法,因为每次参数变动(如数据库用户口令修改)时,都需要改动程序源码并重新编译。而本系统采用了另一种解决方案,通过INI文件保留数据库连接参数,当服务器的地址、数据库名、用户名及口令发生变化时,可以非常容易的通过INI文件进行修改。 本系统的INI文件是Config.ini,存放在Config目录下,用于记录数据库连接的一些方便修改的参数,如DBMS、SERVERNAME、LOGID等。程序运行时在应用程序的OPEN事件中完成INI文件的读取,并完成连接参数的配置。如果成功则打开登录窗口,否则提示错误信息。应用程序运行后第一个出现的窗口是上面语句打开的w_login窗口。在应用程序对象的变量定义窗口中定义人事管理系统的三个全局变量emp_no、job_id和dept_id。 3.2 登录窗口的设计 方放置在应用程序对象的Open事件程序代码中有下面一条语句open (w_login);打开登录的窗口。 在该窗口中放置了2个静态文本框Static Text 控件以显示文字。放置了两个单行编辑框Single line Edit 控件,供用户输入登录的用户名(sle_1)和口令(sle_2)。放置了一个Group Box 控件。放置了一个Picture控件,用来显示“后勤集团”的图片。在窗口的下了两个按钮控件。一个用于登录确认,一个用于退出系统。按钮控件“登录”的Click事件用于判断用户输入的用户名、密码是否为空,如果为空则给出提示信息,如果不空,则与数据库中的密码相比较,如果相同则进入系统,否则给出错误提示。3.3 应用程序主窗口 系统应用程序的主要功能都是在主窗口w_main及其下打开的众多 窗口中完成的。将应用程序主窗口的类型设立为MDI Frame with Microhelp类型。把主窗口的菜单设计为下面将要介绍的m_mdimain。3.4 菜单的设计 在菜单画面中设计应用程序主窗口所连接的菜单m_mdimain。各个菜单中的代码如下。 (1)“系统”菜单下“新增用户”子菜单的Clicked事件程序代码: opensheet (w_inser_user,w_main,6,original!) (2)“系统”菜单下“删除用户”子菜单的Clicked事件程序代码: opensheet (w_delete_user,w_main,6,original!) (3)“系统”菜单下“修改密码”子菜单的Clicked事件程序代码: opensheet(w_change_password,w_main,6 ,original!) (4)“系统”菜单下“修改用户名”子菜单的Clicked事件程序代码: opensheet(w_change_user_name,w_main, 6,original!) (5)“系统”菜单下“退出系统”子菜单的Clicked事件程序代码: close(w_main) (6)“输入”菜单下“基本信息”了菜单的Clicked事件程序代码: opensheet (w_basic_advance01,w_main,6,original!) (7)“输入”菜单下“婚姻状况”了菜单的Clicked事件程序代码: opensheet (w_insert_marriage,w_main,6,original!) (8)“输入”菜单下“学历”了菜单的Clicked事件程序代码: opensheet (w_insert_school,w_main,6,original!) (9)“输入”菜单下“部门信息”了菜单的Clicked事件程序代码: opensheet (w_insert_dept,w_main,6,original!) (10)“输入”菜单下“职称信息”了菜单的Clicked事件程序代码: opensheet (w_insert_job,w_main,6,original!) (11)“维护”菜单下“基本情况表”了菜单的Clicked事件程序代码:opensheet (w_weihu_basic,w_main,6,layered!) (12)“维护”菜单下“婚姻状况表”了菜单的Clicked事件程序代码: opensheet (w_weihu_marriage,w_main,6,original!) (13)“维护”菜单下“学历表”了菜单的Clicked事件程序代码: opensheet (w_weihu_school,w_main,6,layered!) (14)“维护”菜单下“部门信息表”了菜单的Clicked事件程序代码: opensheet (w_weihu_dept,w_main,6,original!) (15)“维护”菜单下“职称信息表”了菜单的Clicked事件程序代码: opensheet (w_weihu_job,w_main,6,original!) (16)“查看”菜单下“基本信息查看”了菜单的Clicked事件程序代码: opensheet (w_browse,w_main,6,original!) (17)“查看”菜单下“详细情况查找”了菜单的Clicked事件程序代码: opensheet (w_lookfor,w_main,6,layered!) (18)“查看”菜单下“条件查询”了菜单的Clicked事件程序代码: opensheet (w_lookfor_detail,w_main,6,original!) (19)“报表”菜单下“打印机设置”了菜单的Clicked事件程序代码: PrintSetup() (20)“报表”菜单下“打印报表”了菜单的Clicked事件程序代码: opensheet (w_composite,w_main,6,original!) (21)“窗口”菜单下“层叠”了菜单的Clicked事件程序代码: W_MAIN.ArrangeSheets(CASCADE!) (22)“窗口”菜单下“平铺”了菜单的Clicked事件程序代码: W_MAIN.ArrangeSheets(LAYER!) (23)“帮助”菜单下“关于”了菜单的Clicked事件程序代码: opensheet (w_about,w_main,6,original!) (24)“帮助”菜单下“使用帮助”了菜单的Clicked事件程序代码: showhelp(help/help.chm,index!) 3.5各功能模块的设计 3.5.1 输入程序的设计 输入程序由5个输入窗口组成,分别由主程序窗口的“输入”菜单下5个菜单“基本信息”、 “婚姻状况”、 “学历”、 “部门信息”、 “职称信息”调用,将数据分别输入到数据库的5个表格中。现以输入基本信息窗口为例来进行说明。在输入窗口上放置的全部由静态文本框组成,而没有由数据窗口控件实现,在此窗口中能够自动从职称信息表、部门信息表中读取信息并填充到下拉列表框中,实现输入选择化,从而避免了输入的错误和录入人员大量的重复性劳动。 3.5.2 维护程序的设计 维护程序由5个维护窗口组成,分别由主程序窗口的“维护”菜单下5个了菜单“基本信息表”、 “婚姻状况表”、 “学历表”、 “部门信息表”、 “职称信息表”调用,用于用户维护数据库中的5个相应的表格。维护程序仍然以维护基本信息窗口为例了来进行说明。在维护窗口w_weihu_basic最上方放置一个静态文本框控件,显示窗口的用途。在窗口中间放置一个数据窗口控件dw_weihu_basic,该控件连接的数据窗口为对象d_basic_grid。 在窗口的最下方放置3按钮控件,在其Click事件中分别用来实现记录的维护以及窗口的退出功能。 在窗口的右侧置了数据提示的两个下拉列表框,以实现对用户的数据提示。 3.5.3 查询程序的设计 查询程序窗口有两类,一类是一行行浏览数据,还有一类是能够根据用户所输入的查询条件,在数据库表格中查找到符合条件的记录,在此以“条件查询窗口”进行说明。 条件查询窗口由主程序的“查看”菜单下“条件查询”子菜单调用,用于根据用户输入的查询条件选择符合条件的记录。 3.5.4 报表程序的设计 PowerBuilder的主要应用是数据库应用,在实际应用过程中,数据统计、报表查询非常多,不可避免要制作大量的报表,特别是在为企业开发的应用程序中。 在应用程序中可以有多种方法来制作报表,例如在上面查询程序的制作中,就加入了一个报表的功能,对于数据窗口中的查询结果,可以将它们保存在Excel表格文件,然后可以利用Excel工具轻松实现报表的制作,打印等工作。 3.5.5 打印窗口的设计 在打印窗口中实现了用户在打印前打印份数、页面范围等打印属性的设置。3.5.6 帮助程序的设计 一个成功的Windows应用程序应该提供方便、完整的Windows样式的联 机帮助。这样在用户使用此系统应用程序的过程中遇到问题时,他就可以直接从应用程序中找到答案。一个完善的帮助文件是应用程序的一个重要组成部分。 PowerBuilder本身没有提供制作帮助文件的工具。本系统是利用帮助文 件编译器(quick chm)对Web文件进行编译,得到帮助文件。该帮助文件在Windows系统中可以被WinHelp.exe程序执行。 本系统中PowerBuilder通过函数ShowHelp()调用Windows系统的 WinHelp.exe程序,从而打开制作好的帮助文件。 3.6 系统的编译和发布 上面已经完成了人事管理系统的编程和调试工作,最后一步就是该系统的编译和发布。这涉及到工程对象的创建,可执行应用程序的生成以及发布环境的配置等多方面的问题。将系统应用程序编译成可执行文件,可以减少应用程序的大小,又可以提高应用程序的运行速度。1、创建工程对象;2、编译生成。 3.7 小结 本章是论文的主体部分,主要包括具体的程序实现、设计操作界面。实现了数据库表的浏览,记录的添加、删除和修改,报表的生成;还包括开发中的难点和解决技巧,系统的编译和发布。4 总 结 在本文中,详细介绍了后勤集团人事管理的分析、设计、实现过程以及开发人事管理系统的关键技术。为提高现代企业的工作效率、企业领导更方便的管理和智能决策奠定了基础。 本文主要论述了下面几个方面: 1、通过对现代企业的调查、了解,阐述我国现代企业的现状。 2、对数据库的设计和SQL语言等基本数据库理论进行系统分析,深入理解 数据库。 3、分析人事管理系统的应用需求,按照数据库设计理论给出系统需求说明 书、局部E-R图、全局E-R图、系统关系模式,子模式,并利用SQL Server2000建立数据库。 4 、论述具体的程序实现,系统编译过程。开发中的难点及解决办法。 此系统在实现过程中的难点、疑点,都已经通过查找资料成功解决。为了能更清楚的体现本系统的优点,本人将开发过程中难点的解决技巧也进行了说明。 对于开发办公自动化来说,C/S模式是现在比较先进的系统开发模式,占据着市场主流。现在又有了新的开发模式-B/S模式。当然B/S模式有它独特的优点,比如代码重用性高,更易于模块化。另外在系统升级时可以实现客户端零升级,方便快捷。现在有同C/S模式并驾齐驱的趋势。 现在又出现了新的技术,像基于Java的MVC模式、基于.NET平台的N_ 层模式,安全性上都有了很大的提高,而且更易于代码的重用。新的技术采用表示层,数据访问层和底层分离的方式,这样其中任意层的改变,只要接口不变,都不影响另外的两层,也就是说不用修改另外两层的代码。更易于分工合作。 由于C/S模式开发速度相对缓慢,代码重用性较底,不便于升级,我个人认为将来的办公自动化系统的开发更有可能倾向于B/S模式。参考文献 1耿祥义著.Java2实例教程(第三版)M.北京:清华大学出版社2张跃平著.JSP实例教程(第二版)M.北京:清华大学出版社3吉尔费伦著.MySQL4从入门到精通M.北京:电子工业大学出版社4网上查阅资料5 郑阿奇.PowerBuilder 实用教程M.(第二版).电子工业出版社,20046 萨师煊/王珊.数据库系统概论M.(第三版).高等教育出版社,20037 贝尔实验室/印度学院,数据库系统概念M.机械工业出版社,20038 (美)Raghu Ramakrishnan/Johannes Gehrke.数据库管理系统M.(第三 版).清华大学出版社,20049 郭宝利,康海涛,李冬冬.PowerBuilder 9.0实用解析M.电子工业出版社,200410 施威铭研究室.SQL Server 2000 管理实务M.人民邮电出版社,200111 郑人杰.软件工程M.清华大学出版社,199912 任胜兵 ,妍琳等 .软件工程M.北京邮电大学出版社,2002 致 谢 本论文是在指导老师李慧敏老师的悉心指导下完成的,其中的每一章都凝聚 着李老师的心血。李老师渊博的知识、开阔的学术视野和乐观的精神让我受益终身。在本系统的设计和制作过程中,李老师不厌其烦的给我指导、帮助我分析设计。 本系统是今年6月份设计完成的,当时也发现了不少的缺点,日后又一点点的改进,最后形成了现在的系统。在此我也十分的感谢李慧敏老师,在设计期间给了的很多的见议、鼓励和支持。在需求分析和表的设计阶段向我提供了大量的数据资料、也给了我大量的见议。 最后,感谢我的同学和答辩的各位老师,我有能力有限,此文不免有不当之处,敬请大家批评指正。
展开阅读全文