基于cs模式的人事工资管理系统的设计与实现设计 学位论文.docx
- 文档编号:29718436
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:60
- 大小:415.94KB
基于cs模式的人事工资管理系统的设计与实现设计 学位论文.docx
《基于cs模式的人事工资管理系统的设计与实现设计 学位论文.docx》由会员分享,可在线阅读,更多相关《基于cs模式的人事工资管理系统的设计与实现设计 学位论文.docx(60页珍藏版)》请在冰豆网上搜索。
基于cs模式的人事工资管理系统的设计与实现设计学位论文
1绪论
1.1课题背景
随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事工资的管理势在必行。
不同的企业具有不同的人事、工资管理制度,这就决定了不同的企业需要不同的人事工资管理系统。
随着社会的发展和技术的进步,各大公司、企业为了增强自身的竞争能力,开始对自己的组织形式和管理模式进行变革,即从自上而下的层层管理逐渐转变为有特定职责的分支小组、业务流程重新组织的管理,企业信息管理也正在由集中式逐步转向分散式,而C/S结构恰好为这种管理模式的变革提供了具体实现手段和强有力的支持工具。
[1]
首先,从分布式处理的角度来看,以往那种一台主机带有多个终端的多用户系统是按主机/终端结构来设计的,是采取了一种集中方式,具有一个单一的、集中的数据库,其数据存放在主机上,所有的处理任务都由主机来完成。
主机需要承担计算、处理、屏幕显示以及控制全部的数据访问和更新,即它是一个用于事务处理、数据库访问和本地用户界面处理的中央处理器;而终端实际上是一个“傻瓜”终端,自身没有处理能力,只是把用户从键盘输入的信息传给主机,并把主机传来的信息显示出来,且用户界面是基于字符方式。
这种模式已无法适应当代信息系统的发展,而且它的可靠性亦较差,故而必须走向分布式,把处理和数据进行分布。
其次是在分散化管理的问题上,在主机/终端结构中,所有的权利都集中在主机上,同时所有的负担也压在了主机上,这样就削弱了企业经营活动的灵活性和生产制造的专业性。
无法将某些生产管理经营权真正交到具体的管理人员手中,使他们能够积极有效地参与管理。
C/S结构有效地解决了主机/终端结构的缺陷和问题。
这种体系结构是把系统分为前台和后台两部分,前台是用户的智能工作站,用来完成计算和屏幕显示;后台包括数据库服务器和文件服务器。
数据库服务器用来控制所有的数据访问和更新,文件服务器作为物理的磁盘贮存器,用来存放中央数据文件。
这种体系结构合理地划分了功能,均衡地分配了C/S上的负载,并减少了
再次,从企业管理的角度来看,特别是制造业企业的生产管理,只有这种基于C/S的系统结构才能使分散化的管理思想真正得以实现。
它的本地自治功能使每个场点/平台均有一个自治的数据库,其管理和控制具有独立性,这使得生产第一线的管理者可拥有自己的数据和工具、以及一定的权限去灵活地解决自己的问题,而各级管理人员亦可依靠这种协调一致的分散控制、从协调中得到效率,从分散中得到下级的责任感、积极性、主动性和创造性,从而使决策更加切合实际。
同时,它的分布式查询处理、分布式交换管理功能,又可使各级管理人员拥有用户终端瓶颈处理能力,充分体现了分散化管理思想。
以前很多公司的所用人事工资管理系统都是用单击版的,面对目前的实际状况,迫切需要开发一个C/S模式管理系统来适应这一些工作。
1.2应用现状
随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高的要求。
建设一个科学高效的信息管理系统是解决这一问题的必由之路。
企业内部财务管理是该企业运用现代化技术创造更多更高的经济效益的主要因素之一。
工资管理作为企业内部的一种财务管理也是如此,由于企业职工人数较多,每一位职工的具体实际情况也不尽相同,目前,公司使用的人事工资管理系统采用的是单击版的,与C/S体系形成对比,传统的系统数据库应用体系结构,例如基于主机-多终端的系统,或基于LAN上文件服务器运做的多用户系统,数据库是属于应用程序“私有的”,即使它也可以将数据文件放置在某台机器上供不同的用户共同访问(这种情形,称为“文件服务器”),但所有的操作、规则,都是在一个包罗万象的应用程序内部实现的。
应用程序因此具有最大的复杂性,即使是原班开发人马,要想对已有功能加以扩充也是很困难的,当数据库稍具复杂性(比如有稍多相互关联的表与规则),其他的人员开发另外的程序共同操作这个数据库的数据,几乎不具可行性,不能适应公司发展的需要。
1.3论文组织
1、绪论部分绪论主要叙述课题提出背景,目前应用现状,C/S模式结构系统开发的必要性。
2、系统开发环境与技术部分介绍了本系统开发语言Delphi7.0和数据库开发工具SQLServer2000的基本特点,还介绍了C/S模式的定义与体系结构特点以及系统实现的关键技术。
3、需求分析部分结合软件工程方法,对系统进行需求分析、功能划分、数据流图设计。
4、概要设计部分根据需求分析的结果,用户概念数据模型表示数据及其相互间的联系。
并结合数据库原理和功能划分进行E-R图的绘制、数据库结构设计。
5、数据库设计部分介绍了数据库基础知识,并结合E-R图和数据库需求分析的要求,介绍了数据库中所有数据表的设计,并做了范式分析。
6、详细设计部分根据需求分析的结果,对系统进行详细设计,主要介绍用Delphi和SQLServer2000实现每一个模块的具体功能。
7、系统实现部分根据详细设计和前面部分的分析结果,介绍了系统查询功能,系统出盘模块,工资短信模块等关键模块的实现代码以及关键技术。
8、毕业设计总结部分介绍了设计体会和编程体会,并指出了系统设计中的不足和改进的方向。
2系统开发环境与技术
2.1Delphi语言的介绍
1、Delphi的基本特点
计算机语言一代一代地从机器语言发展到高级语言,从复杂到简单(其实也不简单),体现了计算机科学技术的发展。
计算机语言越高级,就越抽象越人性化,与低层硬件的关系就越少,使用起来就越方便。
但无论计算机语言如何高级,都是对操作系统层的抽象,因此我们总可以找出理解高级语言背后的规律,那就是:
高级语言写的代码只是为了描述人们的需求,而这些代码要通过“翻译器”翻译成机器语言形式才能被机算机识别执行。
所谓的翻译有两种方式:
一是编译方式,代码事先通过编译器生成机器语言代码,再由操作系统调度执行,如Delphi语言、C++语言等;二是解释方式,该方式在计算内是边解释边执行,并不事先生目标程序,如Basic语言、脚本语言等。
解释方式的特点运行速度慢,对计算机硬件要求比较高。
计算机语言定义描述人们需求的规则,在语言的背后是编译器或解释器。
编译器或解释器的主要工作就是翻译代码,成为人与计算机交流的主要通道。
这样在操作系统不变的情况下,各种开发工具各显神通,但最终都要生成计算机可执行的代码。
所以无论用哪种计算机语言写的程序要判断其好与坏很大程度上依赖于该语言的编译器或解释器。
Delphi的编译器仍然是目前世界上最先进最优秀效率最高的编译器。
从高级语言的特点来看,它们基本上都是对操作系统提供的服务接口封装,在此基础上加入自己的语言特性,如OOP、指针、内存管理模式等。
2、Delphi的优势
现在,市场上可以选购的应用开发产品很多,流行的也有数十种。
在目前市场上这些众多的程序开发工具中,有些强调程语言的弹性与执行效率;有些则偏重于可视化程序开发工具所带来的便利性与效率的得高,各有各的优点和特色,也满足了不同用户的需求。
然而,语言的弹性和工具的便利性是密不可分的,只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必需要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点失去了作用;相反,如果只强调程语言的弹性,却没有便利的工具作配合,会使一些即使非常简单的界面处理动作,也会严重地浪费程序设计师的宝贵时间。
作为数据库系统的开发,Delphi是一个非常理想选择[1]。
数据库应用软件开发的效率,缩短了开发周期,深受广大数据库应用程序设计人员的喜爱。
Delphi为数据库应用开发人员提供了丰富的数据库开发组件,使数据库应用开发功能更强大,控制更灵活,编译后的程序运行速度更快。
(1)优秀的可视化开发环境
Delphi属于RAD(rapidapplicationdevelopment,快速应用开发)工具,这类工具的最大特点就是可视化的设计窗体以及能为窗体添加各种组件。
此外,Delphi的编辑器除了具有一般代码编辑器的功能外,它的CodeInsight技术省却了很多人工输入麻烦,是一项重要的创新。
(2)高效率的编译器
Delphi的编译器建立在Pascal编译器的基础上,可以说是针对Windows的最快的高级语言本地代码编译器。
由于有编译器的速度作保证,程序员可以经常修改代码,提高了开发效率,Delphi的编译器不仅便宜速度快,而且生成的二进制代码短小,运行效率很高。
(3)结构良好的编程语言
Delphi采用了ObjectPascal作为它的编程语言。
Pascal本身是一种结构优良的语言,Pascal编译器的高效性也部分得益于此。
ObjectPascal语言在早期Pascal语言的基础上扩展了面向对象的功能,而且很好的把握了复杂性和功能性的平衡,满足了现代程序开发的需要。
(4)对数据库的灵活支持
Delphi对数据库的支持是它的一个突出优点,对于开发数据库程序,Delphi是第一选择。
它可以满足基于本地、客户/服务器和ODBC数据库平台的应用程序的各种需要,而且异常方便、高效。
近来更是加强了对网络数据库的支持。
(5)层次清晰和可伸缩的框架
在大家有了一定的程序开发经验后就知道,对于一个开发工具来说,只有好的开发环境和编程语言是不够的,还需要有强大的类库和组件库来支持程序员的开发。
Delphi在这方面做得非常好,从开始的VCL(VisualComponentLibrary)到现在的CLX(ComponentLibraryforCross-Platform),不仅功能强大,结构可以扩展,而且层次清晰,符合编程人员的直观想法,使用起来方便。
3、Delphi7.0控件
用Delphi7.0开发数据库应用,重点是和各种数据库组件打交道,当然也要使用其它的一些组件,本节只对重要的几个组件给与介绍。
(1)ADO数据访问组件
ADO数据对象(ActiveDataObjects)实际是一种提供访问各种数据类型的链接机制[2]。
ADO设计为一种极简单的格式,通过ODBC的方法同数据库接口中,可以使用任何一种ODBC数据源,即不止适合于SQLServer、Oracle、Access等数据库应用程序,也适合于Excel表格、文本文件、图形文件和无格式的数据文件。
ADO是基于OLE-DB之上的技术,因此ADO通过其内部的属性和方法提供统一的数据访问接口方法。
ADO使您的客户端应用程序能够通过OLEDB提供访问和操作在数据库服务器中的数据。
ADO支持用于建立C/S和Web的应用程序的主要功能。
其主要优点是易于使用、高速度、低内存支出和占用磁盘空间较少。
ADO同时具有远程数据服务(RDS)功能,通过RDS可以在一次往返过程中实现将数据从服务器移动到客户端应用程序和Web页、在客户端对数据进行处然后将更新结果返回服务器的操作。
Delphi7.0继续对Microsoft的ADO访问能力的支持。
这种能力是通过一组新组件实现的,这些组件是ADO组件页中,在组件面版的ADO页上可以找到这些组件。
利用在前面章节提到的TdataSet抽象类,ADO组件可以不通过BDE而直接实现ADO连接。
这意味着只需要很少的代码就可以实现该连接并且性能得到提高。
利用ADO数据访问组件,可以只使用ADO结构与数据库取得联系并对其中的数据进行操作,而在这些过程中完全不需要使用BDE。
大多数的ADO连接和数据集组件都是与基于BDE的连接和数据集组件相类似的。
TADOConnection组件与基于BDE的应用程序中的TDataBase组件类似。
TADOTable与TTable,TADOQuery与TQuery,以及TADOStoreProc和TStoredProc之间都具有这种类似的对应关系。
使用这些ADO组件的方式与我们常使用的数据访问组件(基于BDE)都有许多相同之处。
TADODataSet没有直接的BDE对应组件,但它提供了许多与TTable和TQuery相同的功能。
同样,TADOCommand也没有相对应的BDE组件,它是在Delphi/ADO环境中完成特定功能的组件。
Delphi7.0通过ADO数据集访问组件,可以不借助BDE数据引擎而是通过微软的OLEDB来访问更为广泛的数据库中的数据。
ADO数据集访问组件与常用的数据访问组件是并列的关系。
(2)数据控制类DataControl
数据控制类负责数据库数据的显示,并把用户对数据的修改传回。
这里的绝大多数组件,如DBText,DBEdit,DBMemo,DBImage,DBListBox,DBComboBox,DBCheckBox,DBRadioGroup,DBLookupListBox,DBLookupCombox,DBCtrGrid的功能和对应的非数据感知组件相同,如TEdit框,TRadioGroups单选按钮组等,只不过在显示数据库数据时要用而已。
在系统中主要使用数据网格控件DBGrid和数据库导航器控件DBNavigator。
(3)数据访问类DataAccess
数据库应用系统中数据访问是一个首要问题,都必须联系一些数据库和数据表文件。
Delphi7.0提供了专门用于数据访问的基类控件。
主要包括数据源控件DataSource、客户数据集控件ClientDataSet、数据集提供器控件DataSetProvider等等。
TDataBase:
当一个基于BDE的数据库应用程序需要一个永久数据库连接时,需要定制向一个数据库服务器的连接时,需要事务控制和特殊的数据库别名时就得用到TDataBase对象。
特别是当连接到一个远程的SQL数据库服务器时,如果要利用BDE进行数据库事务处理,那么,TDataBase对象的威力就体现出来了。
在一个应用程序中为每一个数据库连接显示的声明TDataBase对象要根据需要而定,不是必需的。
对一个数据库连接,如果没有显示的声明并实例化TDataBase对象,系统就会产生一个带有默认属性的TDataBase对象。
TdataSource对象用于在DataSet对象(包括Tquery,TStoredProc,Ttable等)和数据感知组件之间提供一个连接的纽带,以便在窗体上显示数据库中的数据,在数据库中导航定位与编辑数据集中的数据。
如果一个DataSet对象中的数据想在数据感知组件中显示和修改,它就必须和TdataSource对象相联系。
同样,一个数据感知组件如果想和数据源相联系以便显示和操纵数据,就必须以TDataSource对象为中介。
用Delphi7.0作数据库应用开发概括来说如下:
先利用数据存取组件和实际的数据库建立连接,并用TSession对象和TDataBase对象管理这些连接。
然后以TDataSource对象为中介,用数据感知组件向用户显示数据库的内容并接受用户的查询和修改等操作。
(4)SQL语言在Delphi中的应用
在Delphi中使用SQL语言非常方便,一般来说,都是通过Tquery组件来使用SQL语言的。
可以在TQuery组件的SQL属性中设置SQL语句。
设计程序时,在该组件的属性对话框中选择SQL属性,单击带省略号的按钮,就可以打开StringListEditor对话框,然后我们就可以在对话框中添加SQL语句。
还可以使用Delphi的SQLBuilder来自动生成SQL语句,这样可以避免手工编写SQL而可能造成的语法错误。
静态SQL语句在程序设计时便已固定下来,它不包含任何参数和变量。
动态SQL语句,也被称作参数化的语句,在其中间包含着表示字段名或表名的参数,例如下面的语句是一条动态SQL语句:
Select*FromStudentsWhereStudentCode=:
StudentCode;
其中的变量StudentCode便是一个参数变量,它由一个冒号引导,在程序运行过程中,必须要为该参数赋值,该条SQL语句才能正确执行,每次运行应用程序时可以为该参数变量赋予不同的值。
为参数赋值有三种方法:
1)根据参数在SQL语句中出现的顺序,设置TQuery部件的Params属性值为参数赋值。
2)直接根据SQL语句中各参数的名字,调用ParamByName方法来为各参数赋值。
3)将TQuery部件的DataSource属性设置为另一个数据源,这样将另一个数据源中与当前TQuery部件的SQL语句中的参数名相匹配的字段值赋给其对应的参数。
利用这种方法也能实现所谓的连接查询,创建主要—明细型数据库应用。
在程序运行过程中,要想设置TQuery部件的SQL属性,必须首先调用Close方法,关闭TQuery部件,然后再调用Clear方法清除SQL属性中现存的SQL命令语句,最后再调用Add方法为SQL属性设置新的SQL命令语句。
例如:
Query1.Close{关闭Query1)
Query1.SQL.Clear{清除SQL属性中的SQL命令语句}
Query1.SQL.Add(‘Select*FromStudents‘);
Query1.SQL.Add(‘WhereName="Lucy"‘);
在为TQuery部件设置SQL属性时调用Close方法总是很安全的,如果TQuery部件已经被关闭了,调用Close方法时不会产生任何影响。
在应用程序中为SQL属性设置新的SQL命令语句时,必须要调用Clear方法以清除SQL属性中现存的SQL命令语句,如果不调用Clear方法,便调用Add方法向SQL属性中设置SQL命令语句,那么新设置的SQL命令语句会追加在现存SQL命令语句后面,在程序运行时常常会出现出乎意料的查询结果甚至程序无法运行下去。
在这里要特别注意的,一般情况下TQuery部件的SQL属性只能包含一条完整的SQL语句,它不允许被设置成多条SQL语句。
当然有些数据库服务器也支持在TQuery部件的SQL属性中设置多条SQL语句,只要数据库服务器允许这样,我们在编程时可以为SQL属性设置多条SQL语句。
在为TQuery部件设置完SQL属性的属性值之后,也即编写好适当的SQL程序之后,可以有多种方式来执行SQL程序。
在设计过程中,设置完TQuery部件的SQL属性之后将其Active属性的值置为True,这样便可以执行SQL属性中的SQL程序,如果应用中有与TQuery部件相连的数据浏览部件(如TDBGrid,TDBEdit等)那么在这些数据浏览部件中会显示SQL程序的执行结果。
在应用程序运行过程中,通过程序调用TQuery部件的Open方法或ExcelSQL方法可以执行其SQL属性中的SQL程序。
Open方法和ExcelSQL方法是不一样的。
Open方法只能用来执行SQL语言的查询语句(Select命令),并返回一个查询结果集,而ExcelSQL方法还可以用来执行其它常用的SQL语句(如INSERT,UPDATE,DELETE等命令),例如:
Query1.Open(这样会返回一个查询结果集)
如果调用Open方法,而没有查询结果时,会出错。
此时应该调用ExcelSQL方法来代替Open方法。
如:
Query1.ExecSQL(没有返回结果)
当然在设计应用程序时,程序设计人员是无法确定TQuery部件中的SQL语句是否会返回一个查询结果的。
对于这种情况应当用Try…Except模块来设计程序。
在Try部分调用Open方法,而在Except部分调用ExcelSQL方法,这样才能保证程序的正确运行。
Delphi中用ADOQuery来使用SQL语句同样十分方便。
在ADOQuery组件中首先通过ConnectionString属性值来联接数据源,然后就通过双击SQL属性值来写入SQL语句。
在Delphi中调用数据库,就可以调用ADOQuery组件,通过修改其中的SQL属性中的SQL语句来实现对数据库的各项操作。
值得注意的是,ADOQuery组件只有在激活的情况下才可以被正确地使用,这样就提出了一个问题,也就是说,在每次修改ADOQuery组件的SQL属性时都必须先行进行关闭,待清除掉SQL中所有的SQL语句后才可以添加新的SQL语句。
而且,在每一次修改完成以后,还应该记得重新将ADOQuery激活。
其它的使用方法与TQuery有许多的相似之处。
2.2SQLServer2000介绍
SQLServer2000[3]是Microsoft公司推出的SQLServer数据库管理系统的最新版本,该版本继承了SQLServer7.0版本的优点,同时又比它增加了许多更先进的功能,具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用,这些功能进一步将SQLServer确立为OLTP、数据仓库以及电子商务应用程序的最佳数据库平台。
SQLServer2000由两个部分组成:
服务器组件和客户端工具。
SQLServer的服务器组件是以Windows服务(WindowsServices)方式运行的。
一般认为SQLServer包含四种Windows服务(这里我们关注OLTP、暂时不考虑OLAP),分别是:
MSSQLServer、DTC(DistributedTransactionCoordinator)、SQLServerAgent、SearchService。
MSSQLServer是最常用的服务,一般的数据库功能都是由它提供的,例如文件管理、查询处理、数据存储等;DTC是分布式事务协调器,支持跨越两个或多个服务器的更新操作来保证事务的完整性;SQLServerAgent负责SQLServer自动化工作,如果需要SQLServer在指定时间执行某一个存储过程,就需要用到这个服务了;SearchService是全文查询服务,负责全文检索方面的工作。
SQLServer2000的客户端工具包括——企业管理器、查询分析器、事件探查器、服务管理器、客户端网络实用工具、服务器网络实用工具、导入和导出数据(DTS)等等。
服务器组件与客户端工具功能上是配套的,客户端工具需要用最简单的形式表达最丰富的服务器组件的功能;服务器组件和客户端工具物理上是离散的,即它们不是同一个程序。
客户端工具要与服务器组件连通,需要一些用于通讯的动态链接库,SQLServer2000的通讯库支持多种网络协议,例如TCP/IP、命名管道等。
SQLServer2000有很多版本:
企业版、开发版、标准版、个人版等。
每一个版本包含的客户端工具基本上是一样的,而服务器组件可能有些不同。
所以在安装SQLServer之前必须考虑操作系统和SQLServer版本是否兼容,根据操作系统选择合适的SQLServer版本。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于cs模式的人事工资管理系统的设计与实现设计 学位论文 基于 cs 模式 人事 工资管理 系统 设计 实现 学位 论文