第一篇:企业人事管理系统毕业论文设计
目录
前 言........................................................................................................................................错误!未定义书签。1 需求分析................................................................................................................................错误!未定义书签。1.1 系统需求..........................................................................................................................错误!未定义书签。1.1 功能需求..........................................................................................................................错误!未定义书签。1.3 可靠性要求......................................................................................................................错误!未定义书签。1.4 性能需求..........................................................................................................................错误!未定义书签。2 开发环境简介.........................................................................................................................错误!未定义书签。2.1 DELPHI简介.....................................................................................................................错误!未定义书签。2.1.1 Delphi7的集成开发环境(IDE)..........................................................................错误!未定义书签。2.1.2 Pascal简介...............................................................................................................错误!未定义书签。2.2 SQL SERVER 2000 简介..................................................................................................错误!未定义书签。2.2.1 SQL Server 数据平台..............................................................................................错误!未定义书签。2.3 TQUERY部件在SQL编程中的运用...............................................................................错误!未定义书签。3 总体设计................................................................................................................................错误!未定义书签。3.1 基本设计..........................................................................................................................错误!未定义书签。3.1.1 设计概念..................................................................................................................错误!未定义书签。3.1.2 功能分析..................................................................................................................错误!未定义书签。3.1.3 数据流图..................................................................................................................错误!未定义书签。3.1.4 系统模块..................................................................................................................错误!未定义书签。3.2 用例图..............................................................................................................................错误!未定义书签。4 数据库设计............................................................................................................................错误!未定义书签。4.1 数据库概念设计..............................................................................................................错误!未定义书签。4.2 数据库逻辑结构设计......................................................................................................错误!未定义书签。5 详细设计................................................................................................................................错误!未定义书签。5.1 系统主窗体......................................................................................................................错误!未定义书签。5.2 数据库连接......................................................................................................................错误!未定义书签。5.3 用户登陆界面..................................................................................................................错误!未定义书签。5.4 用户功能选择..................................................................................................................错误!未定义书签。5.5 用户信息录入..................................................................................................................错误!未定义书签。5.6 查询功能窗体..................................................................................................................错误!未定义书签。5.7 数据备份和还原窗体......................................................................................................错误!未定义书签。5.8 工作日记及工作日记管理..............................................................................................错误!未定义书签。5.9 用户管理及用户密码修改..............................................................................................错误!未定义书签。
5.10 打印报表模块................................................................................................................错误!未定义书签。5.11 数据公用模块................................................................................................................错误!未定义书签。5.12 其它模块........................................................................................................................错误!未定义书签。6 总
结....................................................................................................................................错误!未定义书签。参考文献....................................................................................................................................错误!未定义书签。致谢............................................................................................................................................错误!未定义书签。
人事管理系统
网络工程
雷灵明
指导老师:曹步青
摘要:随着企业自身人力资源的日益庞大、复杂程度逐渐增强,人机作坊再也无法适应如今企业的人事管理了,取代的是运用各种领域的知识,结合计算机科学而开发的人事管理系统。人事管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求应用程序功能完备,易使用等特点。人事管理系统是对工作人员进行统一的管理,可以方便的进行录入,查询,修改,删除,退出。经过以上分析,本系统使用Delphi 7.0作为界面和功能开发工具和SQL Sever 2000作为后台数据库,利用其提供的各种面向对象的开发工具进行界面和数据库开发。软件过程结合了快速原型模型与增量模型的优点:首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成可行系统。
关键词:人事管理;DEPHI;ADO;SQL server 2000
Personnel Management System
Network engineering
Lei Lingming Teacher:Cao Buqing
Abstract: Along with their own human resources increasing, complexity growing, the man-machine workshop also is unable adapt the present enterprise’s personnel management again, but the personnel management system that make use of knowledge in different fields and computer science and technology.Personnel management system is a typical management information system(MIS), including the establishment and maintenance of the background-database and front-end application development.To the former, the request for the data which is powerful in consistency and integrity, database which is good in security.For the latter, the request for the applications program which is integrity and easy to easy, Personnel management system can manage the staff and admit input, enquiries, modify, delete, and exit.Through such analysis, the system use Delphi 7.0 as the interface and functions of development tools and take SQL Sever 2000 database as background-database, the development of the interface and database which made use of its object-oriented tools, the software process is formed which is combine the advantage of rapid prototype models and incremental model, as follows: At first application prototype of system is built in a short time, Secondly, the initial prototype system needs to be revised and improved, Finally, it is feasible that the system is built.Key words: human resource management;DEPHI;ADO;SQL server 2000
前 言
背景
在竞争越来越激烈的社会里,企业人事管理就越显示出其不可缺性,成为企业一个非常重要的模块。企业人事管理系统主要是用于员工个人相关信息的管理。使用人事管理系统,便于公司领导掌握人员的动向和人员的综合素质,及时调整人才的分配,使用计算机对人事劳资信息进行管理,具有检索迅速、查找方便、可靠性高、存储量大、保密性好、成本低等优点,能够极大地提高人事资源管理的效率,也是企业科学化、正规化管理的重要条件。目标 设计一个企业人事信息管理系统,此系统要以人为中心,为企业提供全面的人事管理解决方案; a)为企业建立规范化、实时化人事管理机制;
b)提高企业人事管理的效率、节约相关的管理成本,增强人事管理的安全性; c)满足企业管理层,人事业务操作层和全体员工的不同层次和不同方面的需要; d)对企业将来的整体信息化建设提供必要的支持。需求分析
需求分析是系统开发必要环节,也是重中之重。作为该过程的结果,需求规格说明书是对系统的功能和行为完整的描述。系统设计将来自于需求分析的抽象规格说明转变为面向真实世界的设计。一旦构建完成,该系统就会投入使用,同时会不可避免地产生更多的新需求。同时,需求过程与分析活动之间有相当程度的重叠,分析建模对于设定工作的范围和其他一些事来说是必要的,所以我们利用分析模型来描述需求过程,随着开发工作的继续,分析活动在工作中占的比例将变得越来越大,直到所有需求都已知。[1]
1.1 系统需求
企业的人事管理职能主要分为人事档案信息管理、人事变动管理、员工培训管理、奖惩管理等内容。a)在人事系统开发时应考虑以下需求: b)满足人事管理职能的基本要求;
c)进行多层次数据汇总,为各层次管理者的决策分析提供数据; d)具有完整的系统接口,满足灵活的数据导入与导出; e)对操作人员的技能要求比较低,操作方便; f)能够实现方便的扩展,满足企业发展的需要;
g)能够保障人事管理数据的安全、准确。1.1 功能需求
基于系统需求分析,该系统需要实现以下基本功能:
a)用户管理:管理系统操作人员,设置操作人员口令和权限。在满足不同系统用户的操作需求的基础上,提高系统的安全性。
b)人事档案管理:完成企业对员工个人档案(包括员工的基本档案和在职信息)的管理及相关操作。操作员进行员工档案信息录入及更改,其中包括员工的基本信息、工作经历、家庭关系、奖惩记录和培训经历,要求对这些员工档案信息进行新增、修改、删除操作,同时可以进行查询和浏览操作。该模块是本系统的重点,用户可以通过该模块为单位建立一个比较完整的人事档案系统,同时可以对档案进行查看。
c)基础数据管理:维护人事管理相关的一些基础数据。主要包括以下功能:
(a)民族档案设置:维护职工中民族档案信息;
(b)职工类型设置:维护当前企业职工与企业的关系的类别信息;(c)文化程度设置:维护企业职工的文化程度类别信息;(d)政治面貌设置:维护企业职工的政治面貌类别信息;(e)部门类别设置:维护企业中设立的部门类别信息;(f)职务类别设置:维护企业中设立的职务类别信息;
(h)职称类别设置:维护企业职工的职称类别信息;
d)人事变动管理:对于人事上的变动调整进行管理,对人员档案的信息进行更新(如:员工职务、员工职称、员工性质等的变动)。
e)工作日志管理:记录部门或系统用户的一些备忘信息,包括日常的一些事件记录,以及工作日记的管理维护。f)数据库管理:对现有的数据库进行管理,包括数据备份和恢复,以方便用户对数据库的管理和维护工作,提高系统的数据安全性。1.3 可靠性要求
a)计算机稳定可靠,网络服务和数据库服务稳定可靠;
b)网络通畅、稳定;软件运行稳定;数据计算及数据传输无误;提供数据备份和数据恢复方案。1.4 性能需求 1)硬件环境
在最低配置的情况下,系统的性能往往不尽如人意,现在的硬件性能已经相当出色,且 价格也很便宜,因此通常给服务器端配置高性能硬件。推荐配置为:
·处理器:Intel 奔腾Ⅲ 或更高 ·内存:128MB ·硬盘空间:40GB ·显卡:Geforce系列显示适配器或更高。2)软件环境
·操作系统:windows 98/ME/2000/N ·数据库:Microsoft SQL server 2000 开发环境简介
2.1 Delphi简介
Delphi这个名字源于古希腊的城市名。它集中了第三代语言的优点。以Object Pascal为基础,扩充了面向对象的能力,并且完美地结合了可视化的开发手段。Delphi自1995年3月一推出就受到了人们的关注,并在当年一举夺得了多项大奖。
Delphi的出现打破了Visual系列可视化编程领域一统天下的局面。并且Delphi使用了本地编译器直接生成技术,使程序的执行性能远远高于其它产品生成的程序。它还是真正的面向对象的编程语言。PASCAL语言的严谨加上可视化的优势和强大的数据库功能使得它有充分的资本和微软的VB叫板。许多人当时都认为Pascal 是最有前途的程序设计语言,并预测Delphi将会成为可视化编程的主流环境。
Delphi在你编好程序后自动转换成。EXE文件它运行时速度比VB快,而且编译后不需要其他的支持库就能运行。它的数据库功能也挺强的,是开发中型数据库软件理想的编程工具。Delphi适用于应用软件、数据库系统、系统软件等类型的开发。而且它拥有和VB差不多一样的功能,而且一样能应用API函数,这在控制Windows很有用。
Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language)、当今世界上最快的编辑器、最为领先的数据库技术。对于广大的程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,您将会发现编程不再是枯燥无味的工作——Delphi的每一个设计细节,都将带给您一份欣喜。
Delphi实际上是Pascal语言的一种版本,但它与传统的Pascal语言有天壤之别。一个Delphi程序首先是应用程序框架,而这一框架正是应用程序的“骨架”。在骨架上即使没有附着任何东西,仍可以严格地按照设计运行。您的工作只是在“骨架”中加入您的程序。缺省的应用程序是一个空白的窗体(Form),您可以运行它,结果得到一个空白的窗口。这个窗口具有Windows窗口的全部性质:可以被放大缩小、移动、最大最小化等,但您却没有编写一行程序。因此,可以说应用程序框架通过提供所有应用程序共有的东西,为用户应用程序的开发打下了良好的基础。
Delphi已经为您做好了一切基础工作——程序框架就是一个已经完成的可运行应用程序,只是不处理任何事情。您所需要做的,只是在程序中加入完成您所需功能的代码而已。在空白窗口的背后,应用程序的框架正在等待用户的输入。由于您并未告诉它接收到用户输入后作何反应,窗口除了响应所有Windows的基本操作(移动、缩放等)外,它只是接受用户的输入,然后再忽略。Delphi把Windows编程的回调、句柄处理等繁复过程都放在一个不可见的Romulam覆盖物下面,这样您可以不为它们所困扰,轻松从容地对可视部件进行编程。
面向对象的程序设计(Object-Oriented Programming,简记为OOP)是Delphi诞生的基础。OOP立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者。它通过给程序中加入扩展语句,把函数“封装”进Windows编程所必需的“对象”中。面向对象的编程语言使得复杂的工作条理清晰、编写容易。
说它是一场革命,不是对对象本身而言,而是对它们处理工作的能力而言。对象并不与传统程序设计和编程方法兼
其中多媒体音频视频播放器是通过TMediaPlayer组件来实现的,支持的格式与系统已安装的解码器有关。总
结
6.1 程序设计风格
在设计的时候采用了增量模型的思想:把软件作为一系列的构件来设计,编码,集成和测试。用户管理,密码修改,用户登陆,万年历,这些模块都有高度的独立性,因此他们的可重用性比较高,基本上是一个单元完成一个功能,模块规模也比较小,模块的作用域在控制域之内,只使用了两个全局变量来存储用户名和用户权限。[1]
在人机界面设计方面,本系统做到了以下几点: a)保持一致性(界面,背景的致性);
b)提供有意义的反馈(用户验证和用户管理,提供了比较精确的反馈信息); c)在执行有较大破坏性的动作之前要求用户确认(数据备份与还原); d)允许大多数取消操作(大多数单元有取消操作功能);
e)允许犯错误(由于权限的限制,系统能保护自己不受严重错误的破坏); f)按功能对动作分类(在主窗口就是按动作类型组织菜单的); 6.2 有待加强项
a)帮助的制作 一个完整的应用程序必须具有完整的帮助系统;帮助系统可以在必要的时候给用户信息提示和一些系统相关服务。
b)声音制作 在这里主要是对声音的加载,我们可以加载一些一般的声音;主要来源有:音频CD盘;波形音频文件;MP3文件等等。其中波形音频文件以WAV作为文件的后缀,我们可以播放现成的,也可以播放自己录制的文件。
c)我们还可以使用各种组件和ActiveX控件等技术来完善系统。利用一些做好的activeX组件,会缩短开发周期。
由于在开发工程方面缺少经验,所以这个系统还存在着许多不足之处,在测试过程中总结如下: a)数据表的设计还不是很合理;
b)数据异常处理要更加人性化,错误信息的反馈要更加精确; 6.3 心得
经过一个月的设计和开发,人事管理系统基本开发完毕,其基本功能符合用户需求,能够完成基础数据录入,数据查询等基本功能,以及相关报表的打印。
在这次毕业设计中,我获益良多。首先我明白了需求分析对于一个系统的开发的重要性。其次我还学到了如何把一个软件作为一个工程来做,在真正的软件开发中,一个软件系统的开发不是一个人来做,而是很多人合作来完成的,另外还有软件的后期维护等等,这时就显现出了把软件作为一个工程来做的优越性,而这些都离不开数据流图和模块的分解。
Delphi是一个非常强大的开发工具,它具有运行速度快、易于学习和使用以及开发效率高的特点,使用起来真的是很顺手。学习好一门编程语言以后可以为今后的学习和工作带来很大的便利。
虽然本系统实现了基本的用户需求功能,但是还有待于完善和加强,总之通过这次设计和开发过程,我对软件开发有了进一步的了解。
参考文献
[1] 张海藩编著.软件工程导论[M].清华大学出版社出版,2003,1-173.
[2] 宋一兵,赵景波,李春艳著.Delphi 7.0基础教程[M].机械工业出版社,2003,2-30. [3] 刘瑶儒著.新概念SQL Server2000教程[M].北京科海集团公司出,2001,12-23. [4] 韩强编著.SQL SERVER 2000 程序员手册[M].机械工业出版社出版,2000,4-35. [5] 萨师煊著.数据库系统概论(第二版)[M].高等教育出版社,1991,8-40. [6] 施伯乐,丁宝康,汪卫著.数据库系统教程[M].高等教育出版社,2002,1-202.
[7] 肖健著.SQL Server2000实践与提高[M].中国电子出版社,2002,13-53. [8] 林金霖著.Delphi6 实务经典[M].中国铁道出版社,2002年5月,6-110.
[9] 黄超,王志伟著.Delphi企业经营管理系统开发实例导航[M].人民邮电出版社,2003,20-90. [10] 程文刚主编.Delphi数据库实用编程100例[M].中国铁道出版社,2004,8-63. [11] 王晟,万科著.Delphi数据库开发经典案例解析[M].清华大学出版社,2005,85-89. [12] 王惠刚,唐晨光 彭为著.delphi7/8程序设计[M].清华大学出版社, 2002,42-63.
[13] 潇湘工作室,邢增平著.Delphi 6.0最佳专辑[M].人民邮电出版社,2003,1-404. [14] 心铃.Delphi问答.软件报[N],2004-07-5.
[15] 高永惠.浅谈Delphi中的异常处理方法[J].湖南轻工业高等专科学校学报,2002-04,9-10.
[16] 徐萌飞.在Delphi中使用ADO技术对数据库操作[J].中国学术期刊(光盘版)电子杂志社,2001,12-13. [17] 陈建兵.Delphi中基于安全灵活的动态连接远程数据库SQL的实现[J].福建电脑,2005,12-13. [18] 孙育红.关于地方法院管理信息系统分析设计与实施[D].中国学术期刊电子杂志社,2001,8-9.
[19] 岳冰.南部引嫩工程信息管理系统开发[D].中国学术期刊电子杂志社,2003,20-21.
[20] 庞芳,王丽玫.南宁市自动气象站业务服务数据库系统[D].中国学术期刊电子杂志社,2004,21-23.
[21] 徐军.研究生院综合管理信息系统的研究与实现[D].中国学术期刊)电子杂志社,2004,32-33.
[22] 鲁媛媛.硕士生导师综合素质能力评价指标体系的研究[D].中国学术期刊电子杂志社,2005,18-19.
致谢
在这里我要我对给予我指导和帮助的曹步青老师以及在测试阶段提供机器和意见的同学表示我诚至的谢意。曹老师认真负责的工作态度,严谨的治学精神使我受益匪浅。无论在理论和实践中,都给了我很大的帮助,使我综合素质提高不少,这对于我以后的学习和工作都有一种很大的帮助。
暨毕业论文答辩之际,我要忠心感谢湖南科技大学和计算机科学与工程学院的各位老师大学四年来对我的辛勤培养和悉心教育,是科大提供了学习机会,是各位老师传授了我专业知识和做人的道理。
最后,再一次感谢我的恩师!感谢我的母校!祝各位老师身体健康,工作顺心!愿我校的教育事业蓬勃发展!
参考文献
[23] 张海藩编著.软件工程导论[M].清华大学出版社出版,2003,1-173.
[24] 宋一兵,赵景波,李春艳著.Delphi 7.0基础教程[M].机械工业出版社,2003,2-30. [25] 刘瑶儒著.新概念SQL Server2000教程[M].北京科海集团公司出,2001,12-23. [26] 韩强编著.SQL SERVER 2000 程序员手册[M].机械工业出版社出版,2000,4-35. [27] 萨师煊著.数据库系统概论(第二版)[M].高等教育出版社,1991,8-40. [28] 施伯乐,丁宝康,汪卫著.数据库系统教程[M].高等教育出版社,2002,1-202.
[29] 肖健著.SQL Server2000实践与提高[M].中国电子出版社,2002,13-53. [30] 林金霖著.Delphi6 实务经典[M].中国铁道出版社,2002年5月,6-110.
[31] 黄超,王志伟著.Delphi企业经营管理系统开发实例导航[M].人民邮电出版社,2003,20-90. [32] 程文刚主编.Delphi数据库实用编程100例[M].中国铁道出版社,2004,8-63. [33] 王晟,万科著.Delphi数据库开发经典案例解析[M].清华大学出版社,2005,85-89. [34] 王惠刚,唐晨光 彭为著.delphi7/8程序设计[M].清华大学出版社, 2002,42-63.
[35] 潇湘工作室,邢增平著.Delphi 6.0最佳专辑[M].人民邮电出版社,2003,1-404. [36] 心铃.Delphi问答.软件报[N],2004-07-5.
[37] 高永惠.浅谈Delphi中的异常处理方法[J].湖南轻工业高等专科学校学报,2002-04,9-10.
[38] 徐萌飞.在Delphi中使用ADO技术对数据库操作[J].中国学术期刊(光盘版)电子杂志社,2001,12-13. [39] 陈建兵.Delphi中基于安全灵活的动态连接远程数据库SQL的实现[J].福建电脑,2005,12-13. [40] 孙育红.关于地方法院管理信息系统分析设计与实施[D].中国学术期刊电子杂志社,2001,8-9. [41] 岳冰.南部引嫩工程信息管理系统开发[D].中国学术期刊电子杂志社,2003,20-21.
[42] 庞芳,王丽玫.南宁市自动气象站业务服务数据库系统[D].中国学术期刊电子杂志社,2004,21-23.
[43] 徐军.研究生院综合管理信息系统的研究与实现[D].中国学术期刊)电子杂志社,2004,32-33.
[44] 鲁媛媛.硕士生导师综合素质能力评价指标体系的研究[D].中国学术期刊电子杂志社,2005,18-19.
致谢
在这里我要我对给予我指导和帮助的曹步青老师以及在测试阶段提供机器和意见的同学表示我诚至的谢意。曹老师认真负责的工作态度,严谨的治学精神使我受益匪浅。无论在理论和实践中,都给了我很大的帮助,使我综合素质提高不少,这对于我以后的学习和工作都有一种很大的帮助。
暨毕业论文答辩之际,我要忠心感谢湖南科技大学和计算机科学与工程学院的各位老师大学四年来对我的辛勤培养和悉心教育,是科大提供了学习机会,是各位老师传授了我专业知识和做人的道理。
最后,再一次感谢我的恩师!感谢我的母校!祝各位老师身体健康,工作顺心!愿我校的教育事业蓬勃发展!
第二篇:企业人事管理系统毕业论文设计[推荐]
江苏广播电视大学楚州学院
毕业设计(论文)
企业人事管理系统的设计与实现
学 院 楚州学院 专 业 计算机信息管理 年级班别 2009年 学 号 20097320081048 学生姓名 张 美 玲 指导教师 张 震
摘 要
在当今社会,互联网空前的发展,给人们的工作和生活带来了极大的便利和高效,信息化,电子化已经成为节约运营成本,提高工作效率的首选。考虑到当前大量企业的人事管理尚处于手工作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏。因此根据部分企业提供的需求,设计此企业人事管理系统,以帮助企业达到人事管理办公自动化、节约管理成本、提高企业工作效率的目的。
本企业人事管理系统采用C/S结构,主要对企业员工的信息以及跟人事相关的工作流程进行集中的管理,方便企业建立一个完善的、强大的员工信息数据库。它是以.NET2005.和SQL 2005 Express数据库作为开发平台。使用C# 设计操作控件和编写操作程序,完成数据输入、修改、存储、调用查询等功能;并使用SQL 2005数据库形成数据表,进行数据存储。
本文详细介绍了企业人事管理系统的功能需求,系统设计和具体实现。并简要介绍了系统开发采用的过程方法。
关键词
企业人事管理系统;C/S;员工信息数据库
II
1企业人事管理系统
企业人事管理系统....................................................3 1前言..............................................................3
1.1 应用的目的与意义............................................3 1.2 人事管理系统发展趋势.......................................3
1.2.2 世界趋势...............................................3 1.2.3 技术革新...............................................4 1.2.4 工作目标和价值观的改变.................................4 1.3 系统调研....................................................4
1.3.1 社会可行性分析.........................................4 1.3.2 技术可行性分析.........................................4 1.3.3 经济可行性分析.........................................5 1.3.4 管理可行性分析.........................................5 1.4 研究内容....................................................5 2开发工具及其语言特点..............................................6
2.1 Visual Studio.NET主要特点如下...............................6
2.2.1简洁的语法.............................................7 2.2.2精心地面向对象设计.....................................8 2.2.3与Web的紧密结合.......................................8 2.2.4完整的安全性与错误处理.................................9 2.2.5版本处理技术...........................................9 2.2.6灵活性和兼容性........................................10 3.1SQL2005主要特点.............................................10 3.1.1.NET框架..............................................10 3.1.2XML技术...............................................11 3.1.3ADO.NET2.0版本........................................11 3.1.4增强的安全性..........................................11 3.1.5Transact-SQL的增强性能................................11 3.1.6SQL服务中介...........................................11 3.1.7通告服务..............................................11 3.1.8Web服务...............................................12 3.1.9报表服务..............................................12 3.1.10全文搜索功能的增强...................................12 3.2C#与ADO.NET.................................................12 3.2.1 C#中的数据库访问.....................................12 3.2.2 数据绑定..............................................23 3.3 SQL语言...................................................24 3.3.1表定义语句............................................24 3.3.2视图定义语句..........................................24 3.3.3索引定义语句..........................................24 3.3.4数据操纵语句..........................................25 3.3.5INSERT语句............................................25 3.3.6UPDATE语句............................................25 3.3.7DELETE语句............................................25 3.3.8查询语句..............................................25
第1页
2企业人事管理系统
3.3.9条件查询..............................................26 3.3.10查询排序.............................................26 3.3.11统计查询.............................................26 3.3.12Group by子句.........................................26 3.3.13Distinct关键词.......................................26 3.3.14Top关键词............................................27 3.3.15多表查询.............................................27 3.3.16多重查询.............................................27 3.3.17EXISTS关键词.........................................27 4系统需求分析.....................................................28 4.1系统流程图如下..............................................28 5 致谢.............................................................49 附录F 各模块实现的主要源代码.....................................47 F1.1登录模块的设计与实现的主要代码.............................47 }..............................................................48 F1.2登陆实体类:...............................................48 F1.3 员工管理模块的设计与实现的主要代码.......................49 F1.3.1员工管理实现的主要代码:.................................49 F1.3.2 部门管理实现主要代码:.................................50 }..............................................................52 F1.3.3工资管理主要代码:.......................................53 }..............................................................56 F1.3.4考勤信息设计与实现主要代码:.............................56 }..............................................................60 F1.4 数据访问类:..............................................60 }..............................................................62 F1.5生日提醒主要代码:.........................................62 F1.6启动第三方EXE文件操作类:.................................63 }..............................................................63
第2页
3企业人事管理系统
企业人事管理系统
1前言
1.1 应用的目的与意义
人的管理是一切管理工作的核心。员工代表一个企业的形象,因而人事管理机制设计的好坏,直接影响一个企业的成败。
员工的档案管理是企业人事管理的基础,在企业员工普遍流失的今天,一个准确而及时的人事管理系统,有利于人事部门对员工流动进行分析、编制,为企业所需人员提供了保障。
人力资源部那些重复的,事务性的工作交给HRP(Human Resource Planning,人力资源管理系统)来解决,可以省去用户以往人力资源管理工作的繁琐、枯燥;用领先的人力资源管理理念,把人力资源管理的作业流程控制和战略规划设计巧妙地集合于一体;系统重点涉及到人力资源管理工作中的薪资、考勤、绩效、调动、基本信息、用户管理以及用户切换等方面,并有综合的系统安全设置、报表综合管理模块。可以很好地为用户的人力资源管理部门在对员工的成本管理、知识管理、绩效管理等综合管理给予帮助。以每个月中所发工资为例,其中包括考勤、人事信息变动、奖惩、迟到和旷工对本月的薪资计算都有影响,为了及时的计算发放工资往往要提前一个星期花费大量时间,加班加点才能及时完成,而这样做无论从工作效率还是准确度方面,都不允许,而且还浪费大量的人力财力。如果改用HRP管理做到高效、高精度,还可以减少管理时带来的一些繁琐的工作,节约管理带来的开支。1.2 人事管理系统发展趋势 1.2.2 世界趋势
人力资源管理系统主导21世纪,无论是发达国家还是发展中国家,对人力资源的战略性意义都有了深刻的认识,并开始付诸行动。世界公认,21世纪将是人力资源的世纪;人力资源问题将主导整个21世纪甚至更为遥远,这种状况的变化起因于竞争压力。目前,世界经济趋向全球化。世界经济的全球化过程和国
第3页
4企业人事管理系统
家的开放过程,要求组织的管理部门降低管理成本以减少竞争压力和增强竞争能力。对于不同的组织,人力资源成本在总成本中的比例是不一样的。1.2.3 技术革新
无论是现在还是将来,工业的发展越来越多地取决于科学和技术、知识与技能。高新科技产业更是如此。这不仅要求员工尤其是技术人员掌握新的科学知识和技术能力,而且更重要的在于要求员工深入而快捷地掌握和应用这些知识和技能。这就导致了两个问题。第一,随着这种技术革新的发展和知识更新速度的加快,人们有更多的职业选择机会。第二,伴随着这种发展以及职业选择机会的增多,人力资源管理活动和频繁程度加剧;而且这种活动对科学技术的要求与它的反应程度也更高了,进而提高了人力资源成本。1.2.4 工作目标和价值观的改变
随着社会政治和经济的发展,人们的工作目标和价值观也都发生了重要的变化。这就对人事管理部门和管理人员提出了新的要求和新的问题,不得不考虑诸如工作类型设计、岗位分析、充分尊重员工以及为他们提供良好的个人发展和自我价值实现的环境与条件等问题。这样,人力资源管理就派上了用场。1.3 系统调研
1.3.1 社会可行性分析
随着计算机的发展与普及,以及互联网技术的扩展,日常劳资人事管理必将实现无纸化办公,并且加入到公司内部的Intranet或者是Internet上去,实现数据的共享,这样有利于劳资人事信息在单位内部的查询,提高了数据资源的利用,并且能及时的得到更新,不需要象过去那样浪费大量的人力物力去进行抄写,提高了工作的效率 1.3.2 技术可行性分析
Visual Studio.NET提供了一个统一的、紧密集成的可视化编程环境,简化了开发应用程序的过程,缩短了实用方法的时间。利用Visual Studio.NET,可
第4页
5企业人事管理系统
以非常轻松地创建具有自动伸缩能力的可靠的应用程序和组件。而且微软的优秀成果c#语言保持了c/c++所特有的强大功能和控制能力。与c++十分相似的模型和语法,具有与COM+服务完全的交互性和完全支持能力,能够轻松地迁移现有的代码。数据库方面SQL2005已经可以满足中小型企业的数据要求,甚至有些大型企业都可以达到要求。如今进算计普及程度日益推广,计算机配置日新月异,能承载此系统的机器就如办公的机器都可以达到要求。所以说本系统具有技术可行性。
1.3.3 经济可行性分析 采用传统的手工输入方法,不仅工作繁琐而且需要人力输入多,记录容易出错,那样产生了成本高,效果差的弊病,对于一个企业的资料库建立是十分困难和麻烦的。而采用这种系统所发费的成本,精力都远远低于手工,并且实用十分方便,更新也简易,每个部门只需一个人统一管理,对企业实现办公无纸化能起到很大的作用。所以此系统经济可行性也具备了。1.3.4 管理可行性分析
本系统采用了系统数据备份、恢复的功能,而且界面层次分明,一目了然,加上设计方面加入了人性化元素。管理此系统并不难,易学易会。1.4 研究内容
本论文共分为5章。第1章绪论,介绍了本课题的应用目的和意义、人事管理系统、可行性分析和研究内容。第2章介绍了开发工具及其特点、数据库技术。第3章主要介绍了系统的设计与分析,包括总体设计、数据库设计、详细设计等。第4章主要介绍系统实现,即系统各种模块的功能实现。第5章为本课题完成成果和发展期望的总结。
本论文主要利用C#可视化技术及SQL数据库开发技术,对员工管理与考勤管理系统进行系统化、细致化和完善化的分析研究。
第5页
6企业人事管理系统
2开发工具及其语言特点
2.1 Visual Studio.NET主要特点如下 2.1.1提供加速开发过程的高效工具
Visual Studio.NET提供了一个统一的、紧密集成的可视化编程环境,以帮助用户简化开发网络应用程序的过程,缩短学习使用方法的时间。它提供了一种新的语言——C#。通过共享的HTML、XML和样式单编辑器,用户可以轻松地借助包括C#在内的任何一种Visual Studio语言来开发网络应用程序。2.1.2 提供对各种网络应用程序的快速设计能力
借助Web Form,用户可以用他们在开发基于窗体的桌面应用程序时所使用的技巧来创建跨平台、跨浏览器的网络应用程序。2.1.3 利用XML和Web Service来简化分布式计算
Web Service借助标准的Intemet协议在网络上调用商务逻辑。HTTP被作为Web Service传输的基础协议,该协议使得对功能的请求能够穿越各种团体所使用的防火墙。XML被用来对上述功能请求的参数进行格式统一,从而使这些请求能够使用于所有的软件和硬件。这样使得对Web Service的访问可以通过任何一种语言、使用任何一种组件模型在任何一种操作系统上实现。2.1.4快速构建中间层商务组件
Visual Studio的一个核心目标就是要为基于服务器的应用程序提供应用程序快速部署工具。利用Visual Studio.NET创建的组件将为您的商务运作提供足够的功能和伸缩性。
2.1.5构建可靠的可伸缩解决方案
利用Visual Studio.NET,用户可以非常轻松地创建具有自动伸缩能力的可靠的应用程序和组件。2.2 C#技术概述
C#在带来对应用程序的快速开发能力的同时,并没有牺牲C与C++程序员所关心的各种特性。它忠实地继承了C和C++的优点。如果你对C或C++有所了解,你会发现它是那样的熟悉。即使你是一位新手,C#也不会给你带来任何其它的麻烦,第6页
7企业人事管理系统
快速应用程序开发(Rapid Application Development,RAD)的思想与简洁的语法将会使你迅速成为一名熟练的开发人员。
C#是专门为.NET应用而开发出的语言。这从根本上保证了C#与.NET框架的完美结合。在.NET运行库的支持下,.NET框架的各种优点在C#中表现得淋漓尽致。C#的一些突出的特点 ●简洁的语法
●精心地面向对象设计 ●与Web的紧密结合 ●完整的安全性与错误处理 ●版本处理技术 ●灵活性与兼容性 2.2.1简洁的语法
在缺省的情况下,C#的代码在.NET框架提供的“可操纵”环境下运行,不允许直接地内存操作。它所带来的最大的特色是没有了指针。与此相关的是,那些在C++中被疯狂使用的操作符(例如:“::”、“->”和“.,”)已经不再出现。C#只支持一个“.”,对于我们来说,现在需要理解的一切仅仅是名字的嵌套而已。
C#用真正的关键字换掉了那些把活动模板库(Active Template Library,ALT)和COM搞得乱糟糟的伪关键字,如OLE_COLOR、BOOL、VARIANT_BOOL、DISPID_XXXXX等等。每种C#操作符在.NET类库中都有了新名字。
语法中的冗余是C++中的常见的问题,比如“const”和“#define”、各种各样的字符类型等等。C#对此进行了简化,只保留了常见的形式,而别的冗余形式从它的语法结构中被清除了出去。
第7页
8企业人事管理系统
2.2.2精心地面向对象设计
从Smalltalk开始,面向对象的话题就始终缠绕着任何一种现代程序设计语言。的确,C#具有面向对象的语言所应有的一切特性:封装、继承与多态性,这并不出奇。然而,通过精心地面向对象设计,从高级商业对象到系统级应用,C#建造广泛组件的绝对选择。在C#的类型系统中,每种类型都可以看作一个对象。C#提供了一个叫做装箱(boxing)与拆箱(unboxing)的机制来完成这种操作,而不给使用者带来麻烦,这在以后的章节中将进行更为详细的介绍。
C#只允许单继承,即一个类不会有多个基类,从而避免了类型定义的混乱。在后面的学习中你很快会发现,C#中没有了全局函数,没有了全局变量,也没有了全局常数。一切的一切,都必须封装在一个类之中。你的代码将具有更好的可读性,并且减少了发生命名冲突的可能。整个C#的类模型是建立在.NET虚拟对象系统(Visual Object System,VOS)的基础之上,其对象模型是.NET基础架构的一部分,而不再是其本身的组成部分。在下面将会谈到,这样做的另一个好处是兼容性。
借助于从VB中得来的丰富的RAD经验,C#具备了良好的开发环境。结合自身强大的面向对象功能,C#使得开发人员的生产效率得到极大的提高。对于公司而言,软件开发周期的缩短将能使它们更好应付网络经济的竞争。在功能与效率的杠杆上人们终于找到了支点。2.2.3与Web的紧密结合
.NET中新的应用程序开发模型意味着越来越多的解决方案需要与Web标准相统一,例如超文本标记语言(Hypertext Markup Language,HTML)和XML。由于历史的原因,现存的一些开发工具不能与Web紧密地结合。SOAP的使用使得C#克服了这一缺陷,大规模深层次的分布式开发从此成为可能。
由于有了Web服务框架的帮助,对程序员来说,网络服务看起来就象是C#的本地对象。程序员们能够利用他们已有的面向对象的知识与技巧开发Web服务。仅需要使用简单的C#语言结构,C#组件将能够方便地为Web服务,并允许它们通
第8页
9企业人事管理系统
过Internet被运行在任何操作系统上的任何语言所调用。举个例子,XML已经成为网络中数据结构传递的标准,为了提高效率,C#允许直接将XML数据映射成为结构。这样就可以有效的处理各种数据。2.2.4完整的安全性与错误处理
语言的安全性与错误处理能力,是衡量一种语言是否优秀的重要依据。任何人都会犯错误,即使是最熟练的程序员也不例外:忘记变量的初始化,对不属于自己管理范围的内存空间进行修改,这些错误常常产生难以预见的后果。一旦这样的软件被投入使用,寻找与改正这些简单错误的代价将会是让人无法承受的。C#的先进设计思想可以消除软件开发中的许多常见错误,并提供了包括类型安全在内的完整的安全性能。为了减少开发中的错误,C#会帮助开发者通过更少的代码完成相同的功能,这不但减轻了编程人员的工作量,同时更有效地避免了错误的发生。
.NET运行库提供了代码访问安全特性,它允许管理员和用户根据代码的ID来配置安全等级。在缺省情况下,从Internet和Intranet下载的代码都不允许访问任何本地文件和资源。比方说,一个在网络上的共享目录中运行的程序,如果它要访问本地的一些资源,那么异常将被触发,它将会无情地被异常扔出去,若拷贝到本地硬盘上运行则一切正常。内存管理中的垃圾收集机制减轻了开发人员对内存管理的负担。.NET平台提供的垃圾收集器(Garbage Collection,GC)将负责资源的释放与对象撤销时的内存清理工作。
变量类型是安全的。C#中不能使用未初始化的变量,对象的成员变量由编译器负责将其置为零,当局部变量未经初始化而被使用时,编译器将做出提醒;C#不支持不安全的指向,不能将整数指向引用类型,例如对象,当进行下行指向时,C#将自动验证指向的有效性;C#中提供了边界检查与溢出检查功能。2.2.5版本处理技术
C#提供内置的版本支持来减少开发费用,使用C#将会使开发人员更加轻易地开发和维护各种商业用户。升级软件系统中的组件(模块)是一件容易产生错
第9页
10企业人事管理系统
误的工作。在代码修改过程中可能对现存的软件产生影响,很有可能导致程序的崩溃。为了帮助开发人员处理这些问题,C#在语言中内置了版本控制功能。例如:函数重载必须被显式声明,而不会象在C++或java中经常发生的那样不经意地被进行,这可以防止代码级错误和保留版本化的特性。另一个相关的特性是接口和接口继承的支持。这些特性可以保证复杂的软件可以被方便地开发和升级。2.2.6灵活性和兼容性
在简化语法的同时,C#并没有失去灵活性。尽管它不是一种无限制语言,比如:它不能用来开发硬件驱动程序,在默认的状态下没有指针等等,但是,在学习过程中你将发现,它仍然是那样的灵巧。
如果需要,C#允许你将某些类或者类的某些方法声明为非安全的。这样一来,你将能够使用指针、结构和静态数组,并且调用这些非安全代码不会带来任何其它的问题。此外,它还提供了一个另外的东西(这样的称呼多少有些不敬)来模拟指针的功能--delegates,代表。再举一个例子:C#不支持类的多继承,但是通过对接口的继承,你将获得这一功能。2.2.7安全性
正是由于其灵活性,C#允许与C风格的需要传递指针型参数的API进行交互操作,DLL的任何入口点都可以在程序中进行访问。C#遵守.NET公用语言规范(Common Language Specification,CLS),从而保证了C#组件与其它语言组件间的互操作性。元数据(Metadata)概念的引入既保证了兼容性,又实现了类型安全。3.1SQL2005主要特点 3.1.1.NET框架
使用SQL Server2005,开发人员通过使用相似的语言,例如微软的VisualC#.NET和微软的VisualBasic,将能够创立数据库对象。开发人员还将能够建立两个新的对象——用户定义的类和集合。
第10页
11企业人事管理系统
3.1.2XML技术
在使用本地网络和互联网的情况下,在不同应用软件之间散步数据的时候,可扩展标记语言(XML)是一个重要的标准。SQL Server2005将会自身支持存储和查询可扩展标记语言文件。3.1.3ADO.NET2.0版本
从对SQL类的新的支持,到多活动结果集(MARS),SQL Server2005中的ADO.NET将推动数据集的存取和操纵,实现更大的可升级性和灵活性。3.1.4增强的安全性
SQL Server2005中的新安全模式将用户和对象分开,提供fine-grainaccess存取、并允许对数据存取进行更大的控制。另外,所有系统表格将作为视图得到实施,对数据库系统对象进行了更大程度的控制。3.1.5Transact-SQL的增强性能
SQL Server2005为开发可升级的数据库应用软件,提供了新的语言功能。这些增强的性能包括处理错误、递归查询功能、关系运算符PIVOT,APPLY,ROW_NUMBER和其他数据列排行功能,等等。3.1.6SQL服务中介
SQL服务中介将为大型、营业范围内的应用软件,提供一个分布式的、异步应用框架。3.1.7通告服务
通告服务使得业务可以建立丰富的通知应用软件,向任何设备,提供个人化的和及时的信息,例如股市警报、新闻订阅、包裹递送警报、航空公司票价等。
第11页
12企业人事管理系统
在SQL Server2005中,通告服务和其他技术更加紧密地融合在了一起,这些技术包括分析服务、SQLServerManagementStudio。3.1.8Web服务
使用SQL Server2005,开发人员将能够在数据库层开发Web服务,将SQL Server当作一个超文本传输协议(HTTP)侦听器,并且为网络服务中心应用软件提供一个新型的数据存取功能。3.1.9报表服务
利用SQL Server2005,报表服务可以提供报表控制,可以通过VisualStudio2005发行。3.1.10全文搜索功能的增强
SQL Server2005将支持丰富的全文应用软件。服务器的编目功能将得到增强,对编目的对象提供更大的灵活性。查询性能和可升级性将大幅得到改进,同时新的管理工具将为有关全文功能的运行,提供更深入的了解。3.2C#与ADO.NET
3.2.1 C#中的数据库访问
用.NET框架编写的(当然也包括用C#编写的应用程序)应用程序需要访问数据库时,将使用ADO.NET来实现数据库访问。数据绑定是一种非常有用的访问数据库的方法,能够减少需要编写的代码量。很多简单任务可以通过纯粹声明式代码来完成。<1> ADO.NET ADO.NET是微软的数据访问框架的最新产物,它是.NET框架的一部分。在ADO.NET之前,程序员在ASP(Active Server Pages)或Visual Basic中使用
第12页
13企业人事管理系统
ADO(AtiveX Data Objects),这是一组COM(Component Object Model,组件对象模型)组件,它通过一个易于使用的封装类提供对底层数据访问代码的访问。虽然ADO大大简化了数据库访问,但更高级的程序员(特别是C++程序员)通常更喜欢使用更直接、更快的代码,如OLE DB(Object Linking and Embedding for Databases)代码库。
ADO.NET比ADO的功能更强大。它是在.NET代码中访问数据库的最好工具。
.NET框架中的ADO.NET类型(在System.Data命名空间及其子空间下的所有类型)包括那些为访问SQL Server、OLE DB、ODBC和Oracle数据库而优化的类型。它们都是基于通用类的,因此使用ADO.NET访问不同的DBMS是相似的。ADO.NET类型实现两个主要的功能。
● 数据访问:用于访问数据库中数据和操作数据库的类型;
● 数据表示:用于包含数据库数据(如数据表)的类型。
这两种类型之间联系密切,在数据库开发中两种类型都会用到。严格地说,可以只用一种数据库访问类型。然而,如果使用数据访问类型来填充数据表示类型将节省大量工作。
ADO.NET包含7个重要的基类,其中4个是数据访问类:
● DbConnection;
● DbCommand;
● DbDataReader;
● DbDataAdapter。其他3个类是数据表示类:
● DataTable;
● DataRelation;
● DataSet。
DataTable类使用了其他一些重要的类:DataColum、Constraint和DataRow,本节也将介绍它们。1.DbConnection DbConnection类提供与数据库的连接。创建DbConnection对象时,应提供与DBMS通信所需的所有信息,如数据库的位置、用于认证的用户名和密码以
第13页
14企业人事管理系统
及要访问的DBMS中的数据库。
所有其他ADO.NET数据访问类都依靠DbConnection与数据库进行通信。DbConnection类的扮演角色如图2.1所示。
图3.2.1 DbConnection类
在从DbConnection派生而来的类中,到数据库的连接都是由连接字符串定义的,该字符串存储在属性DbConnection.ConnectionString中。
数据库连接应只在传输数据时才打开,因此创建DbConnection实例时并不自动连接到数据库。DbConnection类定义了Open()方法和Close()方法,用于控制连接何时可用。很多其他的ADO.NET类也能控制连接状态,例如,有些类在完成操作后关闭它们使用的连接。
DbConnection对象还能参与事务。可用DbConnection.BeginTransaction()方法开始事务,或使用DbConnection.EnlistTransaction()作为已有事务的一部分执行操作。
访问SQL Server或SQL Server速成版中的数据时,使用SqlConnection,该类是DbConnection的子类。一般来说,DbConnection和SqlConnection及其他子类都称为连接类。2.DbCommand DbCommand类提供与数据库交互的主要方法。可以用DbCommand对象来执行SQL语句、运行存储过程等。DbCommand及其派生类称为命令类。
大部分时候并不直接使用DbCommand,而是用封装了DbCommand的其他对象。但有时候需要对数据库通信进行更多的控制,这时就可以使用DbCommand对象。DbCommand对象的扮演角色如图2.2所示。
第14页
15企业人事管理系统
图3.2.2 DbCommand类
DbCommand中最重要的属性是DbCommand.CommandText。要执行SQL语句,就要将语句文本放在这个属性中。可以用DbCommand.CommandType来指定要执行的语句类型,使用DbCommand.Connection和DbCommand.Tranction来访问底层的连接或事务。
要注意,DbCommand对象可能有参数化的命令字符串,命令中的参数来自类型为DbCommand.Parameters集合的属性。这与直接在命令字符串中输入参数相比有很多优点,在本书后面部分将会看到。
要使用DbCommand对象执行命令,有三种选择,这取决于要执行的命令是什么。有些命令不返回结果,这种情况下可以用DbCommand.ExecuteNonQuery()方法;有些命令返回一个结果,这时可用DbCommand.ExecuteScalar()方法;最后,有很多命令返回多行数据,这时可用DbCommand.ExecuteReader()方法,它将返回一个DbDataReader对象(下一小节将解释)。
SQL Server的DbCommand版本名为SqlCommand。它有自己的一些特殊方法,如SqlCommand.ExecuteXmlReader()方法,它直接以XML格式返回结果。3.DbDataReader 使用DbDataReader类可以从结果集中读取数据,如从执行存储在命令对象中的命令生成的结果集中读取数据。该类经过高度优化,可以很快地访问数据库中的数据。然而,这种优化也有些副作用,例如,只能以串行方式一次读取一行数据。不能读完两行后再返回去读取第一行。通常,可以用DbDataReader对象(更确切地说,是数据阅读器的子类对象)来提取要使用的行数据,并将其存储在其他对象中。例如,可以读取一个结果集中的每行,将其存储到在自定义集合或泛型列表对象中的自定义类中。
第15页
16企业人事管理系统
与命令对象一样,很多时候数据阅读器对象是由ADO.NET命名空间下的其他类使用的,用户不必直接使用它们。
图3.2.3说明了如何在数据库应用程序中使用数据阅读器。
要使用数据阅读器对象,首先必须调用DbDataReader.Read()方法选择结果集中的第一行。可不断调用该方法来移动数据阅读器,使数据阅读器像结果集中的游标一样总是指向一行。获取一行时,Read()方法返回true;否则返回false—如当所有行都已经读完时。也可以用DbDataReader.HasRows属性来判断结果集中是否还有其他行。
图3.2.4 DbDataReader类
很多属性和方法可用于检查当前选中的行。DbDataReader.FieldCount查看当前行包含多少列,并用DbDataReader的重载索引器访问各列。如果知道要访问的列名,可用基于字符串的索引器来获得列值,也可以使用基于整数的索引器通过位置获得列。在这两种情况下,这种方法都将返回object值,可将其转化为其他类型的数据。
也可以使用DbDataReader提供的多个方法直接获得类型化数据,如GetString()和GetInt32()分别将指定列以string和int值返回,列通过其索引选择。要使用这些方法获得值类型,必须首先使用DbDataReader.IsDBNull检查空值;否则,空值将引发异常。检查空值是必须的,因为不管什么数据库类型都可以为空。这与.NET中的值类型不同,可为空的值类型(如int)在这种上下文环境中是不受支持的。
DbDataReader也能够获得关于它包含的数据的元信息—使用
第16页
17企业人事管理系统
DbDataReader.GetSchema Table()方法,这样就可以知道列的名称、数据类型和其他信息,如列是否包含空值。
与前面的其他类一样,也有专门用于SQL Server的数据阅读器类,这就是SqlDataReader,本书将使用该类。该类继承DbDataReader,提供将数据读取为本地SQL类型的方法,这样就能够避免空类型的问题。这些类型包含在System.Data.Sqltypes命名空间中,是可为空的;如SqlDouble和SqlInt32。虽然这些类型也可以像标准的值类型那样进行操作,但它们实际上是引用类型。4.DbDataAdapter 在ADO.NET的核心数据访问类中,最后一个是DbDataAdapter类。它比前面介绍过的类型要复杂得多,设计该类的目的只有一个:减少存储在数据集对象中的数据与数据库进行数据交换时的干扰。与前面的类一样,DbDataAdapter类也有很多派生类,它们统称为数据适配器类。
稍后将详细解释什么是数据集对象,简单地说,它们是能够以.NET对象的形来表示数据库中数据的对象。数据集对象可以包含整个表或多个表的数据。数据适配器既可以将数据库中的数据传输给包含在数据集中的表,也可以将数据集中的数据传输到数据库中。
这个功能由命令对象和数据阅读器对象执行,因此大部分时候用户不必考虑它。然而,DbDataAdapter最重要的(也是最有用的)特性之一是,它用于传输数据的命令对象被暴露出来,因此可以根据需要对它们进行定制。图2.4说明了DbDataAdapter类的工作原理,包括它包含的命令对象。
第17页
18企业人事管理系统
图3.2.4 DbDataAdapter类
数据适配器使用的4个命令对象存储在4个属性中:SelectCommand(用于查询数据)、InsertCommand(用于添加数据)、UpdateCommand(用于编辑数据)和DeleteCommand(用于删除数据)。要使用适配器,并不一定全部用到这4个属性,例如,可以只用适配器来查询数据。另外,.NET框架可以根据其他命令的值推断出命令的值,例如,可以根据查询命令来生成更新、插入和删除命令。然而,这种自动生成的命令的效率可能不如手工提供的高。本书稍后还会讨论这个问题。
数据适配器中最常用的两个方法是
DbDataAdapter.Fill()和DbDataAdapter.Update()。Fill()方法从数据库中获取数据;Update()方法更新数据库中的数据。这两个方法都可以用于数据集或单个数据表。另外,可以使用DbDataAdapter.FillSchema()获取架构数据。
SQL Server中的DbDataAdapter版本是Sql DbDataAdapter。5.DataTable DataTable是ADO.NET提供的第一个数据表示类。与数据访问类不同,数据表示类没有专门用于特定数据库管理系统(如SQL Server)的子类,它们独立于平台。实际上,如果需要的话,数据表示类完全可以独立于数据库使用,它们只是存储数据的一种方便的方法。
DataTable类用于存储(读者可能对此感到不解)数据表。在继续讨论这个类之
第18页
19企业人事管理系统
前需要澄清一件事情:以DataTable对象存储的表不一定要映射到数据库中的表。DataTable可能包含表中数据的一个子集,该子集可能只包含数据库表的部分行、部分列,可能是由数据库中多个表组合而成的数据,还可能是所有这些的组合,这取决于用于获得数据的查询语句。通常,DataTable与数据库中的表匹配,但仍然要知道上面提到的事实。
图3.2.5说明了DataTable与其他ADO.NET对象之间的关系。
图2.5 DataTable 要获得完全填充的DataTable,可使用数据适配器。有包含数据的DataTable后,就可以访问行、列、约束和它包含的其他信息。这些信息可以通过命名恰切的属性来访问,包括Rows、Columns和Contraints等。
上面提到的3个属性都返回一个集合类(DataRowCollection、DataColumnCollection和ConstaintCollection)对象。与其他集合类一样,这些类可用于在它们包含的对象集合中导航,添加或删除项等。稍后将介绍这些集合包含的类。
DataTable类另一个非常重要的方面是,如何处理数据修改。例如,如果删除DataTable中的一行,数据适配器如何知道在数据库中删除对应的数据?DataTable对象记录了对原始数据的修改,而不只是数据的当前状态。从DataTable中删除一行并不会真的删除这些数据,而只是数据被标记为已删除。在DataTable对象的消费方(如应用程序)看来,就像数据已被删除,但实际上并没有删除。
任何时候都可以使用GetChanges()方法获得关于对DataTable对象所做的修改
第19页
20企业人事管理系统
列表(以另一个DataTable对象的形式)。可以在适当时使用AcceptChanges()方法接受已做的修改,从而覆盖原来的数据。例如,可以在修改提交到数据库后这样做。也可以使用RejectChanges()撤销所有的修改,如当最终用户单击“取消”按钮时。
DataTable对象也暴露了很多事件,在应用程序中可以定制这些事件,如RowDeleted和ColumnChanged。使用这些事件可以保证应用程序对事件进行响应,还可以实现其他功能,例如,确保底层数据库在数据发生修改时立即更新。(1)DataColumn。
DataColumn存储了在数据表中定义列所需的所有信息。在DataTable中,Columns属性包含一个DataColumnCollection,这是一个DataColumn对象集合。DataColumn还包含与DBMD匹配的属性,包括ColumnName、Dataype、AllowDBNull和DefaultValue。它的属性可能比使用的DBMS的属性还要多,但如果使用过不同的DBMS,这一点将显而易见。对于SQL Server,这并不是问题。(2)Constaint。
Constaint对象(在ConstaintCollection中,可通过DataTable.Constaints访问)用于包含表的所有元数据,这些数据不包含在DataColumn对象中。Constaint类作为更具体类的基类,这些具体类包括UniqueConstaint—用于确保给定列或列组合的值是唯一的(例如,这对于主键是必须的)和ForeingKeyConstaint—用于实现表之间的关系。(3)DataRow。
DataRow类用于存储表中一行包含的数据。通过DataTable.Rows属性可以访问DataRow Collection对象,后者存储了组成表数据的多个DataRow对象。一行数据中的各列可通过索引器来访问,索引器让你能够通过列名、索引和版本(例如,如果行被修改)来访问列。
行的当前状态,即它是否被修改、删除或以某种方式改变,可通过DataRowState属性访问。该属性的值为DataRowState类型,这是一种包含所有可能行状态的枚举类型。各个DataRow对象也有与DataTable对应的方法,用于接受、拒绝和获得更改。例如,可以推断出,调用DataTable.AcceptChanges()将级联地对表的每行调用DataRow AcceptChanges()。
第20页
21企业人事管理系统
6.DataRelation 在处理多个DataTable对象时,通常需要表示(并实施)表数据之间的关系。这由DataRelation类来完成。可将多个DataRelation对象组合起来,构成一个DataRelationCollection对象。
关系可以用DataRelation类的多个属性来定义,包括ChildTable、ChildColumns、ChildKeyConstraint、ParentTable和ParentKeyConstraint等。这些属性都是对相应的对象的引用,如DataTable和DataColumn对象。关系名也被存储在DataRelation.RelationName属性中。
现在还不用太担心DataRelation对象,因为它们封装了ADO.NET比较高级的方面,这在本书后面将介绍。7.DataSet 现在到了ADO.NET中最重要的类—DataSet。从某种程度上说,该类只是DataTable对象和DataRelation对象的集合(如图2.6所示)。然而,DataSet的强大功能体现在与其他对象结合使用,包括用于Web应用程序和Windows应用程序的控件、Web服务和XML文档。
DataSet类包含很多属性和方法;其中很多与其组成部分的属性和方法类似,例如,GetChanges()和RejectChanges()。还有一些重要的属性,如Tables(以DataTableCollection类的形式包含DataSet中的表集合)、Relations(包含一个DataRelation Collection类,其中的Relation对象定义了表之间的关系)。数据表之间的关系及应用于数据的约束使得对DataSet的操作很麻烦。例如,如果两个表之间存在一对多关系,则添加一行到其中一个表中,可能要求另一个表中存在一行。而这行可能不存在(例如,如果两行同时添加时),这时,为避免错误,添加这些行的顺序将很重要;必须先添加位于关系“一”端的行。也可以将DataSet.Enforce Constraints属性设置为false,这样在执行编辑操作时将忽略关系。
(1)DataSet对象和XML之间的关系。
第21页
22企业人事管理系统
与ADO.NET的其他对象一样,设计DataSet对象时也考虑了XML数据。使用DataSet.GetXml()方法,可将数据集转换为XML文档;还可以使用DataSet.GetXmlSchema()方法只提取数据集中的架构(包括数据集包含的所有表和其他对象的架构)作为XML文档。还可使用序列化技术在DataSet和XML文档之间进行转换,因为DataSet类实现了IxmlSeria-lizable接口。
DataSet对象与XML之间的关系以及使用序列化在这两种表示格式之间进行转换,在.NET框架中运用相当广泛。它提供了一种在应用程序层之间和通过Internet交换数据的很好方法。特别地,有了数据集的XML表示形式后,就可以在Web服务之间进行交换DataSet对象。(2)类型化数据集(typed data set)。
DataSet对象的功能很强大,但它们并不是最容易使用或最合乎逻辑的。例如,要访问表中的特定行,使用它就显得很笨拙。必须使用DataSet.Tables集合获得正确的表,用DataTable.Rows集合获得正确的行,然后以对象引用的形式或通过DataColumn的方法提取列数据—这些都不容易。访问特定列的代码行可能如下所示: int
result
=(int)myDataSet.Tables[“myTable”].Rows[5][ “IntegerColumn”];还有一种方法,那就是使用类型化数据集。类型化数据集是DataSet的子类,但它包含强类型属性和方法,使得数据操作更容易。如果使用类型化数据集,上面的代码就可以简化为如下所示:
int result = myTypedDataSet.MyTable[5].IntegerColumn;虽然这并不影响代码的功能,但输入更容易(尤其是启用了智能感知功能时),以后阅读代码时也更容易理解。
唯一的限制是,需要在设计时就知道数据集中将包含的数据的结构。然而,因为数据库的结构不大可能有很大的改变,因此这通常不成问题。
可以使用xsd.exe工具或通过Visual C#速成版界面自动创建类型化数据集。xsd.exe工具要求提供一个架构(schema),这是以扩展名为.xsd的XML架构文件提供的。Visual C#速成版在创建类型化数据集时也要使用架构信息,但它直接从数据库获取这些信息,这使得对数据集的结构进行操作更容易。
第22页
23企业人事管理系统
(3)性能。
有些人认为应尽量避免使用数据集。这是因为它们是“重量级”对象,带来的开销在高性能应用程序中可能很大。另外,以数据集的形式通过Web传输数据可能意味着要传输大量的XML数据。
从某种程度上说,这些担忧是正确的。如果性能很重要,可以设计自己的类,并直接使用数据阅读器提供的数据进行填充。然而,数据集(特别是类型化数据集)自有它们的用处。它们提供了很多特性,只需少量代码就可以使用这些特性,且用于操作它们的代码通常很简单。例如,如果不没有数据集,要表示数据库的数据,同时在类中记录所有编辑,且这些编辑可以很容易地传输到数据库,可能需要大量的代码,且实现起来相当困难。3.2.2 数据绑定
数据绑定是程序员只需做少量工作就可以用数据库中的数据填充Windows或Web控件的一种技术。.NET框架让程序员只需使用简单的代码就可以将数据源与控件关联起来,实际上,可以通过GUI实现很多功能,而不需要编写大量C#代码。数据绑定有两点要求:数据源和要绑定数据的控件。数据源包括数据库连接,但不仅限于此,也可以使用对象或来自Web服务的数据作为数据源。使用对象作为数据源是一种功能强大的方法,可以利用自定义的集合和自己设计的类,但这有点偏题了。本书大部分时候使用的数据源类型都是数据库数据源,它有Web控件形式,也有Windows控件形式。
生成数据库数据源时,通常不仅需要配置连接。数据库数据源包括关于要访问数据库中哪些对象的信息。实际上,在幕后通常将生成类型化数据集。此外,幕后还将用到前面介绍的ADO.NET对象(连接、命令、数据阅读器和数据适配器协同工作来创建数据源)。然而,程序员不必太担心这一点,而只需创建一个数据源并将它绑定到控件,如图2.7所示。
图2.7 数据绑定
第23页
24企业人事管理系统
要绑定到控件,需要将控件的属性设置为数据源的元素(从而间接地设置为数据库的元素)。对于简单控件,如标签或文本框,只要将控件的Text属性设置为数据库中类型为文本的列。还可以将数据绑定到列表控件(包括下拉列表),这样列表中的每项都绑定到数据库表中的一行。更高级的控件(如GridView)可用于查看整个表的内容。另外,也可以提供自定义的控件和自定义的数据绑定架构,以便使用和编辑数据库中的数据。3.3 SQL语言
通用的SQL语言,最早于1974年提出,当时称为SEQUEL语言,后来被国际标准化组织ISO采纳为国际标准,现在大多数数据库管理系统都支持SQL语言。SQL是一种处理数据的高级语言,是非过程化语言,在查询数据时,只需指出“要什么”,而不需指出如何实现的过程。SQL语言包括数据定义、查询、操纵和控制功能。SQL语言的语法格式简单,使用方便灵活。3.3.1表定义语句
广义上讲,表定义语句包括数据表的创建语句(Create语句)、数据表修改语句(Alter语句)和数据表删除语句(Drop语句)。3.3.2视图定义语句
视图是对数据表中数据的一种显示方式,用一个数据表可以有多个视图,以根据用户的不同需求,将数据表中用户所关心的数据提取出来,显示给用户,忽略数据表中其他数据。视图也可以理解为一种预先定义好的查询。实际上,查询的优点在于可在多个数据表之间按指定的条件对数据进行筛选显示。3.3.3索引定义语句
索引是加速数据查询的重要手段,索引一旦被建立起来,就成为了数据库的一部份,并占用数据库的存储空间。使用索引的突出优点就是加快数据的查询速度,但是,对于数据的插入、删除和修改操作来说,索引却降低了执行效率。
第24页
25企业人事管理系统
3.3.4数据操纵语句
数据操纵包括数据的插入、更新和删除等操作,数据操纵语句是应用程序编制过程中使用较多的语句之一。3.3.5INSERT语句
INSERT语句所实现的功能是向数据库中插入新的数据,该语句的一般语法如下: Insert into tableName [(fieldList)] values(valueList)3.3.6UPDATE语句
UPDATE语句用于更新数据表中的数据。所谓的更新是指数据已经存在于数据表,但需要对其中的数据进行修改,此时可以使用UPDATE语句实现。3.3.7DELETE语句
如果某些数据需要从数据表中删除,则可以使用DELETE语句进行,该语句的基本语法如下:
Delete from tableName [Where select_conditon] 3.3.8查询语句
查询语句是SQL语言中使用最为频繁的语句,查询可以根据需要在数据表内或者多个数据表之间进行数据筛选。熟练掌握数据查询语句,才能编写出高质量的数据库管理软件。
查询是SQL语言最重要最核心的功能之一。在SQL语言中查询是通过Select语句实现的,最简单的SQL语句结构如下: Select字段列表 From表名
第25页
26企业人事管理系统
3.3.9条件查询
Select语句除了可以对字段进行筛选以外,还可以对记录进行筛选和操作,此时,要用到Where字句。Where子句在Select语句中用于指定查询条件,其结构一般如下:
Select 字段列表 from 表名 Where 条件表达式 3.3.10查询排序
SQL语句还可以对查询的结果进行排序,此时,要用到Order by子句。另外,还要用到两个负责排序方式的关键词ASC和DESC,ASC指明按升序排列查询结果;DESC则指明按降序进行排列。排序查询的结构一般如下: Select fieldlist From tableName [Where select_conditon] Order by field1 [ASC|DESC],field2 [ASC|DESC] 3.3.11统计查询
SQL语言对数值型的字段具有统计的功能,该功能涉及到5个统计函数,介绍如下:Count(*):统计符合查询条件的记录的个数。AVG(field):计算某个数值型字段的平均值。Max(field):返回某个数值型字段的最大值。Min(field):返回某个数值型字段的最小值。Sum(field):计算某个数值型字段所有记录的和。3.3.12Group by子句
Group by子句的作用是将查询结果中的数据按指定字段分组,Group by子句常与统计函数一起使用,以对查询数据实现分组统计。Group by子句的一般语法如下:
Group by 字段1,字段2 3.3.13Distinct关键词
在数据表的某个字段中可能会出现多个重复的值,使用Distinct关键字可以避
第26页
27企业人事管理系统
免查询结果中出现重复的记录。含Distinct关键词的SQL语句结构一般如下: Select Distinct 字段名列表 From 表名 Where 条件表达式 3.3.14Top关键词
Top关键词的作用是限制查询结果的返回数目。该关键词常被用来限制显示查询结果中前多少个或者前百分之多少的记录。因此,Top关键词经常和Order by子句一起出现。Top关键词的基本语法: Top n Top n Percent 3.3.15多表查询
SQL语言还可以实现在同一个数据库中的不同数据表之间进行查询。3.3.16多重查询
SQL语句允许嵌套使用,这种查询一般是把其中一个查询的结果作为另一个查询语句的查询条件。多重查询中一般会出现In、Not In、All、Some或者Any等关键词。In和Not In用来指定某值在和不在某区间或者集合;All表示集合中的全部,而Some和Any则表示集合中的一部分。3.3.17EXISTS关键词
EXISTS(NOT EXISTS)关键词是复合查询语句中的常用关键词,其作用是判断复合查询语句的内层查询是否存在查询结果。使用EXISTS关键词时内层查询只是起到一个判断是否存在查询结果的作用,其筛选出的数据对整个查询没有任何作用。
第27页
28企业人事管理系统
4系统需求分析
4.1系统流程图如下
员工管理准备员工信息管理登陆社会关系学习经历维护数据备份判定数据清空系统主界面部门设置设置清空员工管理系统设置岗位调整工资考勤信息管理下载考勤信息考评管理税率管理奖惩管理工资调整管理工资项目管理工资汇总统计子模块员工管理功能图如下:
部门设置用户管理岗位调整员工管理学习经历维护员工基本信息社会关系第28页
29企业人事管理系统
用户管理:主要用于管理不同职能的员工信息,可以实现创建,修改,删除员工职能信息的功能。
系统运行界面图如下:
对应的数据库设计图:
员工基本信息:企业人事档案管理信息化模块;具有快速、无限量员工数
第29页
30企业人事管理系统
据输入及保存功能;由特定权限的管理员统一管理员工档案。对员工从进入公司开始直至离职的整个过程进行人面管理,档案信息包括,职员编号,职员姓名,出生年月,职工学历,定时检查更新员工信息,具有权限的使用者可以登记、查询、修改、统计部门信息、岗位设置情况。图如下:
对应的数据库设计如下:
第30页
31企业人事管理系统
社会关系:主要用于建立和保存职员的社会关系,以备侯用。运行图如下:
第31页
32企业人事管理系统
对应的数据库系统设计:
第32页
33企业人事管理系统
学习经历维护:主要记录员工各个阶段不同部门学习的情况。系统运行图
对应的数据库设计:
第33页
34企业人事管理系统
部门设置:可以添加、修改、删除部门。系统运行图:
对应的数据库设计:
岗位调整:主要用于让公司找到员工的强项并让员工发挥最大作用。
第34页
35企业人事管理系统
对应的数据库设计:
工资考勤信息管理功能图如下:
第35页
36企业人事管理系统
工资汇总统计下载考勤信息税率管理考评管理工资考勤信息管理工资项目管理奖惩管理工资调整管理下载考勤信息:用于记录员工的考勤情况。系统运行图如下:
对应的数据库设计图:
第36页
37企业人事管理系统
考评管理:用于实时调查员工的工作情况,调整好他们最佳工作状态,可以促进良性竞争和增强企业的活力。系统运行图:
第37页
38企业人事管理系统
对应的数据库设计图如下:
税率管理:主要用于计算税率,可以升级工资模块,跟时代同步。系统运行图如下:
相应的数据库设计如图:
第38页
39企业人事管理系统
奖惩管理:赏罚分明,调动企业工作气氛。系统运行图如下:
对应的数据库设计图如下:
第39页
40企业人事管理系统
工资调整管理:工资的合理调整可以有效调动员工积极性。系统运行图如下:
对应的数据库设计图如下:
第40页
41企业人事管理系统
工资项目管理:用于基本工资和参数的记录和调整。系统运行图如下:
对应数据库设计图如下:
第41页
42企业人事管理系统
工资汇总统计:用于员工工资的报表显示。如图:
系统设置图如下:
数据备份系统设置数据清空设置清空 系统设置:主要用于数据库的备份和维护。
第42页
43企业人事管理系统
运行图如下: 连接到数据库:
进行数据库备份或者恢复:
第43页
44企业人事管理系统
系统大概流程和功能介绍:
系统登陆:安全作用,设置管理员的账号用于登陆与维护。
系统主界面:
第44页
45企业人事管理系统
增强更为人性化的功能: 比如操作助手:
企业员工生日提醒如图:
第45页
46企业人事管理系统
增强更为美观的界面:
参考文献:
[1] 王珊,陈红.数据库系统原理教程[M].北京:清华大学出版社,2008。[2] 李晓喆.SQL Server 2000管理及应用系统开发[M].北京:人民邮电出版社,2002。
[3] 侯晓霞,柴洪辉.C#技术内幕[M].北京:清华大学出版社,2002。[4] 李敏波.C#高级编程[M].北京:清华大学出版社,2005。[5] 张志华,刘云鹏.C#设计模式[M].北京:电子工业出版社,2003。[6] 张晓坤,谭立平,车树良.C#编程语言详解[M].北京:电子工业出版社,2004。
[7] 周存杰.Visual.C#.NET.网络核心编程[M].北京:清华大学出版社,2002。[8] 姜力,高群.SQL Server数据库设计与管理[M].北京:中国林业出版社,2006
第46页
47企业人事管理系统
致谢
首先衷心感谢我的导师谢光强老师对我学术上的指导和帮助。在毕业设计和论文写作的过程中,谢老师给我提供了各种意见与支持,并引导我逐步解决各种问题,使我的毕业论文条理化、规范化,同时使我增长了见识、提高了水平。谢老师学识渊博、治学严谨,作为我的导师让我感到万分的荣幸。
同时感谢同事,他为我提供了一些c#学习资料。最后,还要感谢所有帮助过我和关心过我的人。忠心的说一声“谢谢”。
附录F 各模块实现的主要源代码
F1.1登录模块的设计与实现的主要代码 if(tbxUserCode.Text.Trim()== “"){ BigMessageBox.Show(”请您输入用户或密码!“, ”警告“, MessageBoxButtons.OK, MessageBoxIcon.Stop);this.tbxUserCode.Text = ”“;this.tbxUserCode.Text = ”“;this.tbxUserCode.Focus();return;} else { EmployeeInfo emp = null;switch(User.LoginValidate(tbxUserCode.Text.Trim(), tbxUserPwd.Text.Trim(), out emp)){ case User.LoginResult.NoUser: { BigMessageBox.Show(”没有该用户信息“, ”用户验证“, MessageBoxButtons.OK, MessageBoxIcon.Stop);tbxUserCode.Text = ”“;tbxUserCode.Focus();break;} case User.LoginResult.PasswordError: { BigMessageBox.Show(”用户密码错误!“, ”用户验证“, MessageBoxButtons.OK, MessageBoxIcon.Stop);tbxUserPwd.Text = ”“;
第47页
48企业人事管理系统
tbxUserPwd.Focus();break;} case User.LoginResult.Success: { FormMain objMain = new FormMain();this.Hide();objMain.Show();break;} default: break;}
} F1.2登陆实体类:
StringBuilder strSql = new StringBuilder();strSql.Append(”select EmpID, LoginName, LoginCode, Password, RoleID, IsUsed, CreateName,CreateDatetime,Remark FROM Login “);strSql.Append(” where LoginrCode=“ + LoginrCode);Login model = new Login();DataTable dt = DbHelperSQL.Instance.GetDataTable(strSql.ToString());
if(dt.Rows.Count > 0){
model.EmpNO = dt.Rows[0][”EmpNO“].ToString();model.LoginName = dt.Rows[0][”LoginName“].ToString();model.LoginrCode = dt.Rows[0][”LoginCode“].ToString();model.Password = dt.Rows[0][”Password“].ToString();if(dt.Rows[0][”RoleID“].ToString()!= ”“){ model.RoleID = int.Parse(dt.Rows[0][”RoleID“].ToString());} model.IsUsed = dt.Rows[0][”IsUsed“].ToString();model.CreateName = dt.Rows[0][”CreateName“].ToString();if(dt.Rows[0][”CreateDatetime“].ToString()!= ”"){
第48页
第三篇:企业人事管理系统毕业论文设计-企业人事管理系统的
毕业设计(论文)
企业人事管理系统的
设计与实现
摘要
在当今社会,互联网空前的发展,给人们的工作和生活带来了极大的便利和高效,信息化,电子化已经成为节约运营成本,提高工作效率的首选。考虑到当前大量企业的人事管理尚处于手工作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏。因此根据部分企业提供的需求,设计此企业人事管理系统,以帮助企业达到人事管理办公自动化、节约管理成本、提高企业工作效率的目的。
本企业人事管理系统采用C/S结构,主要对企业员工的信息以及跟人事相关的工作流程进行集中的管理,方便企业建立一个完善的、强大的员工信息数据库。它是以.NET2005.和SQL 2005 Express数据库作为开发平台。使用C# 设计操作控件和编写操作程序,完成数据输入、修改、存储、调用查询等功能;并使用SQL 2005数据库形成数据表,进行数据存储。
本文详细介绍了企业人事管理系统的功能需求,系统设计和具体实现。并简要介绍了系统开发采用的过程方法。
关键词
企业人事管理系统;C/S;员工信息数据库
II
The Design and Implementation of Enterprise Personnel Management System Based on C/S
Abstract
Author:Jing Zhu
Tutor:Weigen Qiu
In our society, the unprecedented development of Internet has brought us great convenience and efficiency.Informatization and electronization have become the first choice of saving operation cost and improving work efficiency.Many enterprises' personnel administration systems lie in the phase of manual management which 阿惹 inefficient and easy to go wrong by carelessness.Therefore, this MIS(Management Information System)is designed to make the personnel administration more scientific, normative and efficient.The system adopts the structure mode of client/server(C/S), Windows XP as the operation system,SQL 2005 Express as the background database, and Microsoft Visual Studio.NET 2005 as the developing tool.It can help enterprises to establish a perfect, strong staff information database, which facilitates the centralized management of staff information and workflow.The paper explains the course design, system design and implementation of MIS, also briefly introduces the process of the system development.Key words: Personnel Management System;C/S;Employee Information Database
III
企业人事管理系统...........................................................................................................................3 1前言...............................................................................................................................................3
1.1 应用的目的与意义............................................................................................................3 1.2 人事管理系统发展趋势..................................................................................................3
1.2.2 世界趋势.................................................................................................................3 1.2.3 技术革新.................................................................................................................4 1.2.4 工作目标和价值观的改变.....................................................................................4 1.3 系统调研............................................................................................................................4
1.3.1 社会可行性分析.....................................................................................................4 1.3.2 技术可行性分析.....................................................................................................4 1.3.3 经济可行性分析.....................................................................................................5 1.3.4 管理可行性分析.....................................................................................................5 1.4 研究内容............................................................................................................................5 2开发工具及其语言特点................................................................................................................6
2.1 Visual Studio.NET主要特点如下......................................................................................6
2.2.1简洁的语法..............................................................................................................7 2.2.2精心地面向对象设计..............................................................................................8 2.2.3与Web的紧密结合.................................................................................................8 2.2.4完整的安全性与错误处理......................................................................................9 2.2.5版本处理技术........................................................................................................10 2.2.6灵活性和兼容性....................................................................................................10 3.1SQL2005主要特点...........................................................................................................10 3.1.1.NET框架...............................................................................................................11 3.1.2XML技术...............................................................................................................11 3.1.3ADO.NET2.0版本.................................................................................................11 3.1.4增强的安全性........................................................................................................11 3.1.5Transact-SQL的增强性能.....................................................................................11 3.1.6SQL服务中介........................................................................................................11 3.1.7通告服务................................................................................................................12 3.1.8Web服务................................................................................................................12 3.1.9报表服务................................................................................................................12 3.1.10全文搜索功能的增强..........................................................................................12 3.2C#与ADO.NET.................................................................................................................12 3.2.1 C#中的数据库访问.............................................................................................12 3.2.2 数据绑定...............................................................................................................23 3.3 SQL语言.......................................................................................................................24 3.3.1表定义语句............................................................................................................24 3.3.2视图定义语句........................................................................................................24 3.3.3索引定义语句........................................................................................................24 3.3.4数据操纵语句........................................................................................................24 3.3.5INSERT语句..........................................................................................................25 3.3.6UPDATE语句........................................................................................................25 3.3.7DELETE语句.........................................................................................................25 3.3.8查询语句................................................................................................................25 广东工业大学
企业人事管理系统__朱竞
2009-11-30
第1页
3.3.9条件查询................................................................................................................25 3.3.10查询排序..............................................................................................................26 3.3.11统计查询..............................................................................................................26 3.3.12Group by子句......................................................................................................26 3.3.13Distinct关键词.....................................................................................................26 3.3.14Top关键词............................................................................................................27 3.3.15多表查询..............................................................................................................27 3.3.16多重查询..............................................................................................................27 3.3.17EXISTS关键词....................................................................................................27 4系统需求分析..............................................................................................................................28 4.1系统流程图如下...............................................................................................................28 5 致谢............................................................................................................................................49 附录F 各模块实现的主要源代码..............................................................................................52 F1.1登录模块的设计与实现的主要代码.............................................................................52 }...............................................................................................................................................53 F1.2登陆实体类:................................................................................................................53 F1.3 员工管理模块的设计与实现的主要代码..................................................................54 F1.3.1员工管理实现的主要代码:......................................................................................54 F1.3.2 部门管理实现主要代码:.......................................................................................55 }...............................................................................................................................................57 F1.3.3工资管理主要代码:.................................................................................................57 }...............................................................................................................................................61 F1.3.4考勤信息设计与实现主要代码:..............................................................................61 }...............................................................................................................................................64 F1.4 数据访问类:...............................................................................................................64 }...............................................................................................................................................67 F1.5生日提醒主要代码:.....................................................................................................67 F1.6启动第三方EXE文件操作类:...................................................................................67 }...............................................................................................................................................68
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第2页
企业人事管理系统
1前言
1.1 应用的目的与意义
人的管理是一切管理工作的核心。员工代表一个企业的形象,因而人事管理机制设计的好坏,直接影响一个企业的成败。
员工的档案管理是企业人事管理的基础,在企业员工普遍流失的今天,一个准确而及时的人事管理系统,有利于人事部门对员工流动进行分析、编制,为企业所需人员提供了保障。
人力资源部那些重复的,事务性的工作交给HRP(Human Resource Planning,人力资源管理系统)来解决,可以省去用户以往人力资源管理工作的繁琐、枯燥;用领先的人力资源管理理念,把人力资源管理的作业流程控制和战略规划设计巧妙地集合于一体;系统重点涉及到人力资源管理工作中的薪资、考勤、绩效、调动、基本信息、用户管理以及用户切换等方面,并有综合的系统安全设置、报表综合管理模块。可以很好地为用户的人力资源管理部门在对员工的成本管理、知识管理、绩效管理等综合管理给予帮助。以每个月中所发工资为例,其中包括考勤、人事信息变动、奖惩、迟到和旷工对本月的薪资计算都有影响,为了及时的计算发放工资往往要提前一个星期花费大量时间,加班加点才能及时完成,而这样做无论从工作效率还是准确度方面,都不允许,而且还浪费大量的人力财力。如果改用HRP管理做到高效、高精度,还可以减少管理时带来的一些繁琐的工作,节约管理带来的开支。1.2 人事管理系统发展趋势 1.2.2 世界趋势
人力资源管理系统主导21世纪,无论是发达国家还是发展中国家,对人力资源的战略性意义都有了深刻的认识,并开始付诸行动。世界公认,21世纪将是人力资源的世纪;人力资源问题将主导整个21世纪甚至更为遥远,这种状况的变化起因于竞争压力。目前,世界经济趋向全球化。世界经济的全球化过程和国广东工业大学
企业人事管理系统__朱竞
2009-11-30
第3页
家的开放过程,要求组织的管理部门降低管理成本以减少竞争压力和增强竞争能力。对于不同的组织,人力资源成本在总成本中的比例是不一样的。1.2.3 技术革新
无论是现在还是将来,工业的发展越来越多地取决于科学和技术、知识与技能。高新科技产业更是如此。这不仅要求员工尤其是技术人员掌握新的科学知识和技术能力,而且更重要的在于要求员工深入而快捷地掌握和应用这些知识和技能。这就导致了两个问题。第一,随着这种技术革新的发展和知识更新速度的加快,人们有更多的职业选择机会。第二,伴随着这种发展以及职业选择机会的增多,人力资源管理活动和频繁程度加剧;而且这种活动对科学技术的要求与它的反应程度也更高了,进而提高了人力资源成本。1.2.4 工作目标和价值观的改变
随着社会政治和经济的发展,人们的工作目标和价值观也都发生了重要的变化。这就对人事管理部门和管理人员提出了新的要求和新的问题,不得不考虑诸如工作类型设计、岗位分析、充分尊重员工以及为他们提供良好的个人发展和自我价值实现的环境与条件等问题。这样,人力资源管理就派上了用场。1.3 系统调研 1.3.1 社会可行性分析
随着计算机的发展与普及,以及互联网技术的扩展,日常劳资人事管理必将实现无纸化办公,并且加入到公司内部的Intranet或者是Internet上去,实现数据的共享,这样有利于劳资人事信息在单位内部的查询,提高了数据资源的利用,并且能及时的得到更新,不需要象过去那样浪费大量的人力物力去进行抄写,提高了工作的效率 1.3.2 技术可行性分析
Visual Studio.NET提供了一个统一的、紧密集成的可视化编程环境,简化了开发应用程序的过程,缩短了实用方法的时间。利用Visual Studio.NET,可以非常广东工业大学
企业人事管理系统__朱竞
2009-11-30
第4页
轻松地创建具有自动伸缩能力的可靠的应用程序和组件。而且微软的优秀成果c#语言保持了c/c++所特有的强大功能和控制能力。与c++十分相似的模型和语法,具有与COM+服务完全的交互性和完全支持能力,能够轻松地迁移现有的代码。数据库方面SQL2005已经可以满足中小型企业的数据要求,甚至有些大型企业都可以达到要求。如今进算计普及程度日益推广,计算机配置日新月异,能承载此系统的机器就如办公的机器都可以达到要求。所以说本系统具有技术可行性。
1.3.3 经济可行性分析 采用传统的手工输入方法,不仅工作繁琐而且需要人力输入多,记录容易出错,那样产生了成本高,效果差的弊病,对于一个企业的资料库建立是十分困难和麻烦的。而采用这种系统所发费的成本,精力都远远低于手工,并且实用十分方便,更新也简易,每个部门只需一个人统一管理,对企业实现办公无纸化能起到很大的作用。所以此系统经济可行性也具备了。1.3.4 管理可行性分析
本系统采用了系统数据备份、恢复的功能,而且界面层次分明,一目了然,加上设计方面加入了人性化元素。管理此系统并不难,易学易会。1.4 研究内容
本论文共分为5章。第1章绪论,介绍了本课题的应用目的和意义、人事管理系统、可行性分析和研究内容。第2章介绍了开发工具及其特点、数据库技术。第3章主要介绍了系统的设计与分析,包括总体设计、数据库设计、详细设计等。第4章主要介绍系统实现,即系统各种模块的功能实现。第5章为本课题完成成果和发展期望的总结。
本论文主要利用C#可视化技术及SQL数据库开发技术,对员工管理与考勤管理系统进行系统化、细致化和完善化的分析研究。
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第5页
2开发工具及其语言特点
2.1 Visual Studio.NET主要特点如下 2.1.1提供加速开发过程的高效工具
Visual Studio.NET提供了一个统一的、紧密集成的可视化编程环境,以帮助用户简化开发网络应用程序的过程,缩短学习使用方法的时间。它提供了一种新的语言——C#。通过共享的HTML、XML和样式单编辑器,用户可以轻松地借助包括C#在内的任何一种Visual Studio语言来开发网络应用程序。2.1.2 提供对各种网络应用程序的快速设计能力
借助Web Form,用户可以用他们在开发基于窗体的桌面应用程序时所使用的技巧来创建跨平台、跨浏览器的网络应用程序。2.1.3 利用XML和Web Service来简化分布式计算
Web Service借助标准的Intemet协议在网络上调用商务逻辑。HTTP被作为Web Service传输的基础协议,该协议使得对功能的请求能够穿越各种团体所使用的防火墙。XML被用来对上述功能请求的参数进行格式统一,从而使这些请求能够使用于所有的软件和硬件。这样使得对Web Service的访问可以通过任何一种语言、使用任何一种组件模型在任何一种操作系统上实现。2.1.4快速构建中间层商务组件
Visual Studio的一个核心目标就是要为基于服务器的应用程序提供应用程序快速部署工具。利用Visual Studio.NET创建的组件将为您的商务运作提供足够的功能和伸缩性。
2.1.5构建可靠的可伸缩解决方案
利用Visual Studio.NET,用户可以非常轻松地创建具有自动伸缩能力的可靠的应用程序和组件。2.2 C#技术概述
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第6页
C#在带来对应用程序的快速开发能力的同时,并没有牺牲C与C++程序员所关心的各种特性。它忠实地继承了C和C++的优点。如果你对C或C++有所了解,你会发现它是那样的熟悉。即使你是一位新手,C#也不会给你带来任何其它的麻烦,快速应用程序开发(Rapid Application Development,RAD)的思想与简洁的语法将会使你迅速成为一名熟练的开发人员。
C#是专门为.NET应用而开发出的语言。这从根本上保证了C#与.NET框架的完美结合。在.NET运行库的支持下,.NET框架的各种优点在C#中表现得淋漓尽致。C#的一些突出的特点 ●简洁的语法
●精心地面向对象设计 ●与Web的紧密结合 ●完整的安全性与错误处理 ●版本处理技术 ●灵活性与兼容性 2.2.1简洁的语法
在缺省的情况下,C#的代码在.NET框架提供的“可操纵”环境下运行,不允许直接地内存操作。它所带来的最大的特色是没有了指针。与此相关的是,那些在C++中被疯狂使用的操作符(例如:“::”、“->”和“.,”)已经不再出现。C#只支持一个“.”,对于我们来说,现在需要理解的一切仅仅是名字的嵌套而已。
C#用真正的关键字换掉了那些把活动模板库(Active Template Library,ALT)和COM搞得乱糟糟的伪关键字,如OLE_COLOR、BOOL、VARIANT_BOOL、DISPID_XXXXX等等。每种C#操作符在.NET类库中都有了新名字。
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第7页
语法中的冗余是C++中的常见的问题,比如“const”和“#define”、各种各样的字符类型等等。C#对此进行了简化,只保留了常见的形式,而别的冗余形式从它的语法结构中被清除了出去。2.2.2精心地面向对象设计
从Smalltalk开始,面向对象的话题就始终缠绕着任何一种现代程序设计语言。的确,C#具有面向对象的语言所应有的一切特性:封装、继承与多态性,这并不出奇。然而,通过精心地面向对象设计,从高级商业对象到系统级应用,C#建造广泛组件的绝对选择。在C#的类型系统中,每种类型都可以看作一个对象。C#提供了一个叫做装箱(boxing)与拆箱(unboxing)的机制来完成这种操作,而不给使用者带来麻烦,这在以后的章节中将进行更为详细的介绍。
C#只允许单继承,即一个类不会有多个基类,从而避免了类型定义的混乱。在后面的学习中你很快会发现,C#中没有了全局函数,没有了全局变量,也没有了全局常数。一切的一切,都必须封装在一个类之中。你的代码将具有更好的可读性,并且减少了发生命名冲突的可能。整个C#的类模型是建立在.NET虚拟对象系统(Visual Object System,VOS)的基础之上,其对象模型是.NET基础架构的一部分,而不再是其本身的组成部分。在下面将会谈到,这样做的另一个好处是兼容性。
借助于从VB中得来的丰富的RAD经验,C#具备了良好的开发环境。结合自身强大的面向对象功能,C#使得开发人员的生产效率得到极大的提高。对于公司而言,软件开发周期的缩短将能使它们更好应付网络经济的竞争。在功能与效率的杠杆上人们终于找到了支点。2.2.3与Web的紧密结合
.NET中新的应用程序开发模型意味着越来越多的解决方案需要与Web标准相统一,例如超文本标记语言(Hypertext Markup Language,HTML)和XML。由于历史的原因,现存的一些开发工具不能与Web紧密地结合。SOAP的使用使得C#克服了这一缺陷,大规模深层次的分布式开发从此成为可能。
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第8页
由于有了Web服务框架的帮助,对程序员来说,网络服务看起来就象是C#的本地对象。程序员们能够利用他们已有的面向对象的知识与技巧开发Web服务。仅需要使用简单的C#语言结构,C#组件将能够方便地为Web服务,并允许它们通过Internet被运行在任何操作系统上的任何语言所调用。举个例子,XML已经成为网络中数据结构传递的标准,为了提高效率,C#允许直接将XML数据映射成为结构。这样就可以有效的处理各种数据。2.2.4完整的安全性与错误处理
语言的安全性与错误处理能力,是衡量一种语言是否优秀的重要依据。任何人都会犯错误,即使是最熟练的程序员也不例外:忘记变量的初始化,对不属于自己管理范围的内存空间进行修改,这些错误常常产生难以预见的后果。一旦这样的软件被投入使用,寻找与改正这些简单错误的代价将会是让人无法承受的。C#的先进设计思想可以消除软件开发中的许多常见错误,并提供了包括类型安全在内的完整的安全性能。为了减少开发中的错误,C#会帮助开发者通过更少的代码完成相同的功能,这不但减轻了编程人员的工作量,同时更有效地避免了错误的发生。
.NET运行库提供了代码访问安全特性,它允许管理员和用户根据代码的ID来配置安全等级。在缺省情况下,从Internet和Intranet下载的代码都不允许访问任何本地文件和资源。比方说,一个在网络上的共享目录中运行的程序,如果它要访问本地的一些资源,那么异常将被触发,它将会无情地被异常扔出去,若拷贝到本地硬盘上运行则一切正常。内存管理中的垃圾收集机制减轻了开发人员对内存管理的负担。.NET平台提供的垃圾收集器(Garbage Collection,GC)将负责资源的释放与对象撤销时的内存清理工作。
变量类型是安全的。C#中不能使用未初始化的变量,对象的成员变量由编译器负责将其置为零,当局部变量未经初始化而被使用时,编译器将做出提醒;C#不支持不安全的指向,不能将整数指向引用类型,例如对象,当进行下行指向时,C#将自动验证指向的有效性;C#中提供了边界检查与溢出检查功能。
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第9页
2.2.5版本处理技术
C#提供内置的版本支持来减少开发费用,使用C#将会使开发人员更加轻易地开发和维护各种商业用户。升级软件系统中的组件(模块)是一件容易产生错误的工作。在代码修改过程中可能对现存的软件产生影响,很有可能导致程序的崩溃。为了帮助开发人员处理这些问题,C#在语言中内置了版本控制功能。例如:函数重载必须被显式声明,而不会象在C++或java中经常发生的那样不经意地被进行,这可以防止代码级错误和保留版本化的特性。另一个相关的特性是接口和接口继承的支持。这些特性可以保证复杂的软件可以被方便地开发和升级。
2.2.6灵活性和兼容性
在简化语法的同时,C#并没有失去灵活性。尽管它不是一种无限制语言,比如:它不能用来开发硬件驱动程序,在默认的状态下没有指针等等,但是,在学习过程中你将发现,它仍然是那样的灵巧。
如果需要,C#允许你将某些类或者类的某些方法声明为非安全的。这样一来,你将能够使用指针、结构和静态数组,并且调用这些非安全代码不会带来任何其它的问题。此外,它还提供了一个另外的东西(这样的称呼多少有些不敬)来模拟指针的功能--delegates,代表。再举一个例子:C#不支持类的多继承,但是通过对接口的继承,你将获得这一功能。2.2.7安全性
正是由于其灵活性,C#允许与C风格的需要传递指针型参数的API进行交互操作,DLL的任何入口点都可以在程序中进行访问。C#遵守.NET公用语言规范(Common Language Specification,CLS),从而保证了C#组件与其它语言组件间的互操作性。元数据(Metadata)概念的引入既保证了兼容性,又实现了类型安全。3.1SQL2005主要特点
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第10页
3.1.1.NET框架
使用SQL Server2005,开发人员通过使用相似的语言,例如微软的VisualC#.NET和微软的VisualBasic,将能够创立数据库对象。开发人员还将能够建立两个新的对象——用户定义的类和集合。
3.1.2XML技术
在使用本地网络和互联网的情况下,在不同应用软件之间散步数据的时候,可扩展标记语言(XML)是一个重要的标准。SQL Server2005将会自身支持存储和查询可扩展标记语言文件。
3.1.3ADO.NET2.0版本
从对SQL类的新的支持,到多活动结果集(MARS),SQL Server2005中的ADO.NET将推动数据集的存取和操纵,实现更大的可升级性和灵活性。
3.1.4增强的安全性
SQL Server2005中的新安全模式将用户和对象分开,提供fine-grainaccess存取、并允许对数据存取进行更大的控制。另外,所有系统表格将作为视图得到实施,对数据库系统对象进行了更大程度的控制。
3.1.5Transact-SQL的增强性能
SQL Server2005为开发可升级的数据库应用软件,提供了新的语言功能。这些增强的性能包括处理错误、递归查询功能、关系运算符PIVOT,APPLY,ROW_NUMBER和其他数据列排行功能,等等。
3.1.6SQL服务中介
SQL服务中介将为大型、营业范围内的应用软件,提供一个分布式的、异步应用框架。
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第11页
3.1.7通告服务
通告服务使得业务可以建立丰富的通知应用软件,向任何设备,提供个人化的和及时的信息,例如股市警报、新闻订阅、包裹递送警报、航空公司票价等。在SQL Server2005中,通告服务和其他技术更加紧密地融合在了一起,这些技术包括分析服务、SQLServerManagementStudio。
3.1.8Web服务
使用SQL Server2005,开发人员将能够在数据库层开发Web服务,将SQL Server当作一个超文本传输协议(HTTP)侦听器,并且为网络服务中心应用软件提供一个新型的数据存取功能。
3.1.9报表服务
利用SQL Server2005,报表服务可以提供报表控制,可以通过VisualStudio2005发行。
3.1.10全文搜索功能的增强
SQL Server2005将支持丰富的全文应用软件。服务器的编目功能将得到增强,对编目的对象提供更大的灵活性。查询性能和可升级性将大幅得到改进,同时新的管理工具将为有关全文功能的运行,提供更深入的了解。3.2C#与ADO.NET
3.2.1 C#中的数据库访问
用.NET框架编写的(当然也包括用C#编写的应用程序)应用程序需要访问数据库时,将使用ADO.NET来实现数据库访问。数据绑定是一种非常有用的访问数据库的方法,能够减少需要编写的代码量。很多简单任务可以通过纯粹声明式代广东工业大学
企业人事管理系统__朱竞
2009-11-30
第12页
码来完成。<1> ADO.NET ADO.NET是微软的数据访问框架的最新产物,它是.NET框架的一部分。在ADO.NET之前,程序员在ASP(Active Server Pages)或Visual Basic中使用ADO(AtiveX Data Objects),这是一组COM(Component Object Model,组件对象模型)组件,它通过一个易于使用的封装类提供对底层数据访问代码的访问。虽然ADO大大简化了数据库访问,但更高级的程序员(特别是C++程序员)通常更喜欢使用更直接、更快的代码,如OLE DB(Object Linking and Embedding for Databases)代码库。
ADO.NET比ADO的功能更强大。它是在.NET代码中访问数据库的最好工具。
.NET框架中的ADO.NET类型(在System.Data命名空间及其子空间下的所有类型)包括那些为访问SQL Server、OLE DB、ODBC和Oracle数据库而优化的类型。它们都是基于通用类的,因此使用ADO.NET访问不同的DBMS是相似的。
ADO.NET类型实现两个主要的功能。
● 数据访问:用于访问数据库中数据和操作数据库的类型;
● 数据表示:用于包含数据库数据(如数据表)的类型。
这两种类型之间联系密切,在数据库开发中两种类型都会用到。严格地说,可以只用一种数据库访问类型。然而,如果使用数据访问类型来填充数据表示类型将节省大量工作。
ADO.NET包含7个重要的基类,其中4个是数据访问类:
● DbConnection;
● DbCommand;
● DbDataReader;
● DbDataAdapter。其他3个类是数据表示类:
● DataTable;
● DataRelation;
● DataSet。
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第13页
DataTable类使用了其他一些重要的类:DataColum、Constraint和DataRow,本节也将介绍它们。1.DbConnection DbConnection类提供与数据库的连接。创建DbConnection对象时,应提供与DBMS通信所需的所有信息,如数据库的位置、用于认证的用户名和密码以及要访问的DBMS中的数据库。
所有其他ADO.NET数据访问类都依靠DbConnection与数据库进行通信。DbConnection类的扮演角色如图2.1所示。
图3.2.1 DbConnection类
在从DbConnection派生而来的类中,到数据库的连接都是由连接字符串定义的,该字符串存储在属性DbConnection.ConnectionString中。
数据库连接应只在传输数据时才打开,因此创建DbConnection实例时并不自动连接到数据库。DbConnection类定义了Open()方法和Close()方法,用于控制连接何时可用。很多其他的ADO.NET类也能控制连接状态,例如,有些类在完成操作后关闭它们使用的连接。
DbConnection对象还能参与事务。可用DbConnection.BeginTransaction()方法开始事务,或使用DbConnection.EnlistTransaction()作为已有事务的一部分执行操作。
访问SQL Server或SQL Server速成版中的数据时,使用SqlConnection,该类是DbConnection的子类。一般来说,DbConnection和SqlConnection及其他子类都称为连接类。2.DbCommand DbCommand类提供与数据库交互的主要方法。可以用DbCommand对象来执行广东工业大学
企业人事管理系统__朱竞
2009-11-30
第14页
SQL语句、运行存储过程等。DbCommand及其派生类称为命令类。
大部分时候并不直接使用DbCommand,而是用封装了DbCommand的其他对象。但有时候需要对数据库通信进行更多的控制,这时就可以使用DbCommand对象。
DbCommand对象的扮演角色如图2.2所示。
图3.2.2 DbCommand类
DbCommand中最重要的属性是DbCommand.CommandText。要执行SQL语句,就要将语句文本放在这个属性中。可以用DbCommand.CommandType来指定要执行的语句类型,使用DbCommand.Connection和DbCommand.Tranction来访问底层的连接或事务。
要注意,DbCommand对象可能有参数化的命令字符串,命令中的参数来自类型为DbCommand.Parameters集合的属性。这与直接在命令字符串中输入参数相比有很多优点,在本书后面部分将会看到。
要使用DbCommand对象执行命令,有三种选择,这取决于要执行的命令是什么。有些命令不返回结果,这种情况下可以用DbCommand.ExecuteNonQuery()方法;有些命令返回一个结果,这时可用DbCommand.ExecuteScalar()方法;最后,有很多命令返回多行数据,这时可用DbCommand.ExecuteReader()方法,它将返回一个DbDataReader对象(下一小节将解释)。
SQL Server的DbCommand版本名为SqlCommand。它有自己的一些特殊方法,如SqlCommand.ExecuteXmlReader()方法,它直接以XML格式返回结果。3.DbDataReader 使用DbDataReader类可以从结果集中读取数据,如从执行存储在命令对象中的命令生成的结果集中读取数据。该类经过高度优化,可以很快地访问数据库中的广东工业大学
企业人事管理系统__朱竞
2009-11-30
第15页
数据。然而,这种优化也有些副作用,例如,只能以串行方式一次读取一行数据。不能读完两行后再返回去读取第一行。通常,可以用DbDataReader对象(更确切地说,是数据阅读器的子类对象)来提取要使用的行数据,并将其存储在其他对象中。例如,可以读取一个结果集中的每行,将其存储到在自定义集合或泛型列表对象中的自定义类中。
与命令对象一样,很多时候数据阅读器对象是由ADO.NET命名空间下的其他类使用的,用户不必直接使用它们。
图3.2.3说明了如何在数据库应用程序中使用数据阅读器。
要使用数据阅读器对象,首先必须调用DbDataReader.Read()方法选择结果集中的第一行。可不断调用该方法来移动数据阅读器,使数据阅读器像结果集中的游标一样总是指向一行。获取一行时,Read()方法返回true;否则返回false—如当所有行都已经读完时。也可以用DbDataReader.HasRows属性来判断结果集中是否还有其他行。
图3.2.4 DbDataReader类
很多属性和方法可用于检查当前选中的行。DbDataReader.FieldCount查看当前行包含多少列,并用DbDataReader的重载索引器访问各列。如果知道要访问的列名,可用基于字符串的索引器来获得列值,也可以使用基于整数的索引器通过位置获得列。在这两种情况下,这种方法都将返回object值,可将其转化为其他类型的数据。
也可以使用DbDataReader提供的多个方法直接获得类型化数据,如GetString()和GetInt32()分别将指定列以string和int值返回,列通过其索引选择。要使用这广东工业大学
企业人事管理系统__朱竞
2009-11-30
第16页
些方法获得值类型,必须首先使用DbDataReader.IsDBNull检查空值;否则,空值将引发异常。检查空值是必须的,因为不管什么数据库类型都可以为空。这与.NET中的值类型不同,可为空的值类型(如int)在这种上下文环境中是不受支持的。
DbDataReader也能够获得关于它包含的数据的元信息—使用DbDataReader.GetSchema Table()方法,这样就可以知道列的名称、数据类型和其他信息,如列是否包含空值。
与前面的其他类一样,也有专门用于SQL Server的数据阅读器类,这就是SqlDataReader,本书将使用该类。该类继承DbDataReader,提供将数据读取为本地SQL类型的方法,这样就能够避免空类型的问题。这些类型包含在System.Data.Sqltypes命名空间中,是可为空的;如SqlDouble和SqlInt32。虽然这些类型也可以像标准的值类型那样进行操作,但它们实际上是引用类型。4.DbDataAdapter 在ADO.NET的核心数据访问类中,最后一个是DbDataAdapter类。它比前面介绍过的类型要复杂得多,设计该类的目的只有一个:减少存储在数据集对象中的数据与数据库进行数据交换时的干扰。与前面的类一样,DbDataAdapter类也有很多派生类,它们统称为数据适配器类。
稍后将详细解释什么是数据集对象,简单地说,它们是能够以.NET对象的形来表示数据库中数据的对象。数据集对象可以包含整个表或多个表的数据。数据适配器既可以将数据库中的数据传输给包含在数据集中的表,也可以将数据集中的数据传输到数据库中。
这个功能由命令对象和数据阅读器对象执行,因此大部分时候用户不必考虑它。然而,DbDataAdapter最重要的(也是最有用的)特性之一是,它用于传输数据的命令对象被暴露出来,因此可以根据需要对它们进行定制。图2.4说明了DbDataAdapter类的工作原理,包括它包含的命令对象。
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第17页
图3.2.4 DbDataAdapter类
数据适配器使用的4个命令对象存储在4个属性中:SelectCommand(用于查询数据)、InsertCommand(用于添加数据)、UpdateCommand(用于编辑数据)和DeleteCommand(用于删除数据)。要使用适配器,并不一定全部用到这4个属性,例如,可以只用适配器来查询数据。另外,.NET框架可以根据其他命令的值推断出命令的值,例如,可以根据查询命令来生成更新、插入和删除命令。然而,这种自动生成的命令的效率可能不如手工提供的高。本书稍后还会讨论这个问题。
数据适配器中最常用的两个方法是
DbDataAdapter.Fill()和DbDataAdapter.Update()。Fill()方法从数据库中获取数据;Update()方法更新数据库中的数据。这两个方法都可以用于数据集或单个数据表。另外,可以使用DbDataAdapter.FillSchema()获取架构数据。
SQL Server中的DbDataAdapter版本是Sql DbDataAdapter。5.DataTable DataTable是ADO.NET提供的第一个数据表示类。与数据访问类不同,数据表示类没有专门用于特定数据库管理系统(如SQL Server)的子类,它们独立于平台。实际上,如果需要的话,数据表示类完全可以独立于数据库使用,它们只是存储数据的一种方便的方法。
DataTable类用于存储(读者可能对此感到不解)数据表。在继续讨论这个类之广东工业大学
企业人事管理系统__朱竞
2009-11-30
第18页
前需要澄清一件事情:以DataTable对象存储的表不一定要映射到数据库中的表。DataTable可能包含表中数据的一个子集,该子集可能只包含数据库表的部分行、部分列,可能是由数据库中多个表组合而成的数据,还可能是所有这些的组合,这取决于用于获得数据的查询语句。通常,DataTable与数据库中的表匹配,但仍然要知道上面提到的事实。
图3.2.5说明了DataTable与其他ADO.NET对象之间的关系。
图2.5 DataTable 要获得完全填充的DataTable,可使用数据适配器。有包含数据的DataTable后,就可以访问行、列、约束和它包含的其他信息。这些信息可以通过命名恰切的属性来访问,包括Rows、Columns和Contraints等。
上面提到的3个属性都返回一个集合类(DataRowCollection、DataColumnCollection和ConstaintCollection)对象。与其他集合类一样,这些类可用于在它们包含的对象集合中导航,添加或删除项等。稍后将介绍这些集合包含的类。
DataTable类另一个非常重要的方面是,如何处理数据修改。例如,如果删除DataTable中的一行,数据适配器如何知道在数据库中删除对应的数据?DataTable对象记录了对原始数据的修改,而不只是数据的当前状态。从DataTable中删除一行并不会真的删除这些数据,而只是数据被标记为已删除。在DataTable对象的消费方(如应用程序)看来,就像数据已被删除,但实际上并没有删除。任何时候都可以使用GetChanges()方法获得关于对DataTable对象所做的修改列表(以另一个DataTable对象的形式)。可以在适当时使用AcceptChanges()方法广东工业大学
企业人事管理系统__朱竞
2009-11-30
第19页
接受已做的修改,从而覆盖原来的数据。例如,可以在修改提交到数据库后这样做。也可以使用RejectChanges()撤销所有的修改,如当最终用户单击“取消”按钮时。
DataTable对象也暴露了很多事件,在应用程序中可以定制这些事件,如RowDeleted和ColumnChanged。使用这些事件可以保证应用程序对事件进行响应,还可以实现其他功能,例如,确保底层数据库在数据发生修改时立即更新。(1)DataColumn。
DataColumn存储了在数据表中定义列所需的所有信息。在DataTable中,Columns属性包含一个DataColumnCollection,这是一个DataColumn对象集合。DataColumn还包含与DBMD匹配的属性,包括ColumnName、Dataype、AllowDBNull和DefaultValue。它的属性可能比使用的DBMS的属性还要多,但如果使用过不同的DBMS,这一点将显而易见。对于SQL Server,这并不是问题。(2)Constaint。
Constaint对象(在ConstaintCollection中,可通过DataTable.Constaints访问)用于包含表的所有元数据,这些数据不包含在DataColumn对象中。Constaint类作为更具体类的基类,这些具体类包括UniqueConstaint—用于确保给定列或列组合的值是唯一的(例如,这对于主键是必须的)和ForeingKeyConstaint—用于实现表之间的关系。(3)DataRow。
DataRow类用于存储表中一行包含的数据。通过DataTable.Rows属性可以访问DataRow Collection对象,后者存储了组成表数据的多个DataRow对象。一行数据中的各列可通过索引器来访问,索引器让你能够通过列名、索引和版本(例如,如果行被修改)来访问列。
行的当前状态,即它是否被修改、删除或以某种方式改变,可通过DataRowState属性访问。该属性的值为DataRowState类型,这是一种包含所有可能行状态的枚举类型。各个DataRow对象也有与DataTable对应的方法,用于接受、拒绝和获得更改。例如,可以推断出,调用DataTable.AcceptChanges()将级联地对表的每行调用DataRow AcceptChanges()。6.DataRelation 广东工业大学
企业人事管理系统__朱竞
2009-11-30
第20页
在处理多个DataTable对象时,通常需要表示(并实施)表数据之间的关系。这由DataRelation类来完成。可将多个DataRelation对象组合起来,构成一个DataRelationCollection对象。
关系可以用DataRelation类的多个属性来定义,包括ChildTable、ChildColumns、ChildKeyConstraint、ParentTable和ParentKeyConstraint等。这些属性都是对相应的对象的引用,如DataTable和DataColumn对象。关系名也被存储在DataRelation.RelationName属性中。现在还不用太担心DataRelation对象,因为它们封装了ADO.NET比较高级的方面,这在本书后面将介绍。7.DataSet 现在到了ADO.NET中最重要的类—DataSet。从某种程度上说,该类只是DataTable对象和DataRelation对象的集合(如图2.6所示)。然而,DataSet的强大功能体现在与其他对象结合使用,包括用于Web应用程序和Windows应用程序的控件、Web服务和XML文档。
DataSet类包含很多属性和方法;其中很多与其组成部分的属性和方法类似,例如,GetChanges()和RejectChanges()。还有一些重要的属性,如Tables(以DataTableCollection类的形式包含DataSet中的表集合)、Relations(包含一个DataRelation Collection类,其中的Relation对象定义了表之间的关系)。数据表之间的关系及应用于数据的约束使得对DataSet的操作很麻烦。例如,如果两个表之间存在一对多关系,则添加一行到其中一个表中,可能要求另一个表中存在一行。而这行可能不存在(例如,如果两行同时添加时),这时,为避免错误,添加这些行的顺序将很重要;必须先添加位于关系“一”端的行。也可以将DataSet.Enforce Constraints属性设置为false,这样在执行编辑操作时将忽略关系。(1)DataSet对象和XML之间的关系。
与ADO.NET的其他对象一样,设计DataSet对象时也考虑了XML数据。使用DataSet.GetXml()方法,可将数据集转换为XML文档;还可以使用DataSet.GetXmlSchema()方法只提取数据集中的架构(包括数据集包含的所有表广东工业大学
企业人事管理系统__朱竞
2009-11-30
第21页
和其他对象的架构)作为XML文档。还可使用序列化技术在DataSet和XML文档之间进行转换,因为DataSet类实现了IxmlSeria-lizable接口。
DataSet对象与XML之间的关系以及使用序列化在这两种表示格式之间进行转换,在.NET框架中运用相当广泛。它提供了一种在应用程序层之间和通过Internet交换数据的很好方法。特别地,有了数据集的XML表示形式后,就可以在Web服务之间进行交换DataSet对象。(2)类型化数据集(typed data set)。
DataSet对象的功能很强大,但它们并不是最容易使用或最合乎逻辑的。例如,要访问表中的特定行,使用它就显得很笨拙。必须使用DataSet.Tables集合获得正确的表,用DataTable.Rows集合获得正确的行,然后以对象引用的形式或通过DataColumn的方法提取列数据—这些都不容易。访问特定列的代码行可能如下所示:
int result =(int)myDataSet.Tables[“myTable”].Rows[5][ “IntegerColumn”];还有一种方法,那就是使用类型化数据集。类型化数据集是DataSet的子类,但它包含强类型属性和方法,使得数据操作更容易。如果使用类型化数据集,上面的代码就可以简化为如下所示:
int result = myTypedDataSet.MyTable[5].IntegerColumn;虽然这并不影响代码的功能,但输入更容易(尤其是启用了智能感知功能时),以后阅读代码时也更容易理解。
唯一的限制是,需要在设计时就知道数据集中将包含的数据的结构。然而,因为数据库的结构不大可能有很大的改变,因此这通常不成问题。
可以使用xsd.exe工具或通过Visual C#速成版界面自动创建类型化数据集。xsd.exe工具要求提供一个架构(schema),这是以扩展名为.xsd的XML架构文件提供的。Visual C#速成版在创建类型化数据集时也要使用架构信息,但它直接从数据库获取这些信息,这使得对数据集的结构进行操作更容易。(3)性能。
有些人认为应尽量避免使用数据集。这是因为它们是“重量级”对象,带来的开销在高性能应用程序中可能很大。另外,以数据集的形式通过Web传输数据可能意味着要传输大量的XML数据。
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第22页
从某种程度上说,这些担忧是正确的。如果性能很重要,可以设计自己的类,并直接使用数据阅读器提供的数据进行填充。然而,数据集(特别是类型化数据集)自有它们的用处。它们提供了很多特性,只需少量代码就可以使用这些特性,且用于操作它们的代码通常很简单。例如,如果不没有数据集,要表示数据库的数据,同时在类中记录所有编辑,且这些编辑可以很容易地传输到数据库,可能需要大量的代码,且实现起来相当困难。3.2.2 数据绑定
数据绑定是程序员只需做少量工作就可以用数据库中的数据填充Windows或Web控件的一种技术。.NET框架让程序员只需使用简单的代码就可以将数据源与控件关联起来,实际上,可以通过GUI实现很多功能,而不需要编写大量C#代码。
数据绑定有两点要求:数据源和要绑定数据的控件。数据源包括数据库连接,但不仅限于此,也可以使用对象或来自Web服务的数据作为数据源。使用对象作为数据源是一种功能强大的方法,可以利用自定义的集合和自己设计的类,但这有点偏题了。本书大部分时候使用的数据源类型都是数据库数据源,它有Web控件形式,也有Windows控件形式。
生成数据库数据源时,通常不仅需要配置连接。数据库数据源包括关于要访问数据库中哪些对象的信息。实际上,在幕后通常将生成类型化数据集。此外,幕后还将用到前面介绍的ADO.NET对象(连接、命令、数据阅读器和数据适配器协同工作来创建数据源)。然而,程序员不必太担心这一点,而只需创建一个数据源并将它绑定到控件,如图2.7所示。
图2.7 数据绑定
要绑定到控件,需要将控件的属性设置为数据源的元素(从而间接地设置为数据库的元素)。对于简单控件,如标签或文本框,只要将控件的Text属性设置为数广东工业大学
企业人事管理系统__朱竞
2009-11-30
第23页
据库中类型为文本的列。还可以将数据绑定到列表控件(包括下拉列表),这样列表中的每项都绑定到数据库表中的一行。更高级的控件(如GridView)可用于查看整个表的内容。另外,也可以提供自定义的控件和自定义的数据绑定架构,以便使用和编辑数据库中的数据。3.3 SQL语言
通用的SQL语言,最早于1974年提出,当时称为SEQUEL语言,后来被国际标准化组织ISO采纳为国际标准,现在大多数数据库管理系统都支持SQL语言。
SQL是一种处理数据的高级语言,是非过程化语言,在查询数据时,只需指出“要什么”,而不需指出如何实现的过程。SQL语言包括数据定义、查询、操纵和控制功能。SQL语言的语法格式简单,使用方便灵活。3.3.1表定义语句
广义上讲,表定义语句包括数据表的创建语句(Create语句)、数据表修改语句(Alter语句)和数据表删除语句(Drop语句)。3.3.2视图定义语句
视图是对数据表中数据的一种显示方式,用一个数据表可以有多个视图,以根据用户的不同需求,将数据表中用户所关心的数据提取出来,显示给用户,忽略数据表中其他数据。视图也可以理解为一种预先定义好的查询。实际上,查询的优点在于可在多个数据表之间按指定的条件对数据进行筛选显示。3.3.3索引定义语句
索引是加速数据查询的重要手段,索引一旦被建立起来,就成为了数据库的一部份,并占用数据库的存储空间。使用索引的突出优点就是加快数据的查询速度,但是,对于数据的插入、删除和修改操作来说,索引却降低了执行效率。3.3.4数据操纵语句
数据操纵包括数据的插入、更新和删除等操作,数据操纵语句是应用程序编制过广东工业大学
企业人事管理系统__朱竞
2009-11-30
第24页
程中使用较多的语句之一。3.3.5INSERT语句
INSERT语句所实现的功能是向数据库中插入新的数据,该语句的一般语法如下: Insert into tableName [(fieldList)] values(valueList)3.3.6UPDATE语句
UPDATE语句用于更新数据表中的数据。所谓的更新是指数据已经存在于数据表,但需要对其中的数据进行修改,此时可以使用UPDATE语句实现。3.3.7DELETE语句
如果某些数据需要从数据表中删除,则可以使用DELETE语句进行,该语句的基本语法如下:
Delete from tableName [Where select_conditon] 3.3.8查询语句
查询语句是SQL语言中使用最为频繁的语句,查询可以根据需要在数据表内或者多个数据表之间进行数据筛选。熟练掌握数据查询语句,才能编写出高质量的数据库管理软件。
查询是SQL语言最重要最核心的功能之一。在SQL语言中查询是通过Select语句实现的,最简单的SQL语句结构如下: Select字段列表 From表名 3.3.9条件查询
Select语句除了可以对字段进行筛选以外,还可以对记录进行筛选和操作,此时,要用到Where字句。Where子句在Select语句中用于指定查询条件,其结构一般广东工业大学
企业人事管理系统__朱竞
2009-11-30
第25页
如下:
Select 字段列表 from 表名 Where 条件表达式 3.3.10查询排序
SQL语句还可以对查询的结果进行排序,此时,要用到Order by子句。另外,还要用到两个负责排序方式的关键词ASC和DESC,ASC指明按升序排列查询结果;DESC则指明按降序进行排列。排序查询的结构一般如下: Select fieldlist From tableName [Where select_conditon] Order by field1 [ASC|DESC],field2 [ASC|DESC] 3.3.11统计查询
SQL语言对数值型的字段具有统计的功能,该功能涉及到5个统计函数,介绍如下:Count(*):统计符合查询条件的记录的个数。AVG(field):计算某个数值型字段的平均值。Max(field):返回某个数值型字段的最大值。Min(field):返回某个数值型字段的最小值。Sum(field):计算某个数值型字段所有记录的和。3.3.12Group by子句
Group by子句的作用是将查询结果中的数据按指定字段分组,Group by子句常与统计函数一起使用,以对查询数据实现分组统计。Group by子句的一般语法如下:
Group by 字段1,字段2 3.3.13Distinct关键词
在数据表的某个字段中可能会出现多个重复的值,使用Distinct关键字可以避免查询结果中出现重复的记录。含Distinct关键词的SQL语句结构一般如下: Select Distinct 字段名列表 From 表名 Where 条件表达式
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第26页
3.3.14Top关键词
Top关键词的作用是限制查询结果的返回数目。该关键词常被用来限制显示查询结果中前多少个或者前百分之多少的记录。因此,Top关键词经常和Order by子句一起出现。Top关键词的基本语法: Top n Top n Percent 3.3.15多表查询
SQL语言还可以实现在同一个数据库中的不同数据表之间进行查询。3.3.16多重查询
SQL语句允许嵌套使用,这种查询一般是把其中一个查询的结果作为另一个查询语句的查询条件。多重查询中一般会出现In、Not In、All、Some或者Any等关键词。In和Not In用来指定某值在和不在某区间或者集合;All表示集合中的全部,而Some和Any则表示集合中的一部分。3.3.17EXISTS关键词
EXISTS(NOT EXISTS)关键词是复合查询语句中的常用关键词,其作用是判断复合查询语句的内层查询是否存在查询结果。使用EXISTS关键词时内层查询只是起到一个判断是否存在查询结果的作用,其筛选出的数据对整个查询没有任何作用。
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第27页
4系统需求分析
4.1系统流程图如下
员工管理准备员工信息管理登陆社会关系学习经历维护数据备份判定数据清空系统主界面部门设置设置清空员工管理系统设置岗位调整工资考勤信息管理下载考勤信息考评管理税率管理奖惩管理工资调整管理工资项目管理工资汇总统计子模块员工管理功能图如下:
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第28页
部门设置用户管理岗位调整员工管理学习经历维护员工基本信息社会关系用户管理:主要用于管理不同职能的员工信息,可以实现创建,修改,删除员工职能信息的功能。
系统运行界面图如下:
对应的数据库设计图:
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第29页
员工基本信息:企业人事档案管理信息化模块;具有快速、无限量员工数据输入及保存功能;由特定权限的管理员统一管理员工档案。对员工从进入公司开始直至离职的整个过程进行人面管理,档案信息包括,职员编号,职员姓名,出生年月,职工学历,定时检查更新员工信息,具有权限的使用者可以登记、查询、修改、统计部门信息、岗位设置情况。图如下:
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第30页
对应的数据库设计如下:
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第31页 社会关系:主要用于建立和保存职员的社会关系,以备侯用。运行图如下:
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第32页
对应的数据库系统设计:
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第33页
学习经历维护:主要记录员工各个阶段不同部门学习的情况。系统运行图
对应的数据库设计:
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第34页
部门设置:可以添加、修改、删除部门。系统运行图:
对应的数据库设计:
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第35页
岗位调整:主要用于让公司找到员工的强项并让员工发挥最大作用。
对应的数据库设计:
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第36页
工资考勤信息管理功能图如下:
下载考勤信息税率管理工资汇总统计考评管理工资考勤信息管理工资项目管理奖惩管理工资调整管理下载考勤信息:用于记录员工的考勤情况。系统运行图如下:
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第37页
对应的数据库设计图:
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第38页
考评管理:用于实时调查员工的工作情况,调整好他们最佳工作状态,可以促进良性竞争和增强企业的活力。系统运行图:
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第39页
对应的数据库设计图如下:
税率管理:主要用于计算税率,可以升级工资模块,跟时代同步。系统运行图如下:
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第40页
相应的数据库设计如图:
奖惩管理:赏罚分明,调动企业工作气氛。系统运行图如下:
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第41页
对应的数据库设计图如下:
工资调整管理:工资的合理调整可以有效调动员工积极性。系统运行图如下:
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第42页
对应的数据库设计图如下:
工资项目管理:用于基本工资和参数的记录和调整。系统运行图如下:
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第43页
对应数据库设计图如下:
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第44页
工资汇总统计:用于员工工资的报表显示。如图:
系统设置图如下:
数据备份系统设置数据清空设置清空 系统设置:主要用于数据库的备份和维护。
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第45页
运行图如下: 连接到数据库:
进行数据库备份或者恢复:
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第46页
广东工业大学
企业人事管理系统__朱竞
2009-11-30
第47页
第四篇:人事管理系统毕业论文设计
目录
前 言..........................................................................................................................................................................1 1 需求分析..................................................................................................................................................................2 1.1 系统需求............................................................................................................................................................2 1.1 功能需求............................................................................................................................................................2 1.3 可靠性要求........................................................................................................................................................3 1.4 性能需求............................................................................................................................................................3 2 开发环境简介...........................................................................................................................................................4 2.1 DELPHI简介.......................................................................................................................................................4 2.1.1 Delphi7的集成开发环境(IDE)..........................................................................错误!未定义书签。2.1.2 Pascal简介...............................................................................................................错误!未定义书签。2.2 SQL SERVER 2000 简介..................................................................................................错误!未定义书签。2.2.1 SQL Server 数据平台..............................................................................................错误!未定义书签。2.3 TQUERY部件在SQL编程中的运用...............................................................................错误!未定义书签。3 总体设计................................................................................................................................错误!未定义书签。3.1 基本设计..........................................................................................................................错误!未定义书签。3.1.1 设计概念..................................................................................................................错误!未定义书签。3.1.2 功能分析..................................................................................................................错误!未定义书签。3.1.3 数据流图..................................................................................................................错误!未定义书签。3.1.4 系统模块..................................................................................................................错误!未定义书签。3.2 用例图..............................................................................................................................错误!未定义书签。4 数据库设计............................................................................................................................错误!未定义书签。4.1 数据库概念设计..............................................................................................................错误!未定义书签。4.2 数据库逻辑结构设计......................................................................................................错误!未定义书签。5 详细设计................................................................................................................................错误!未定义书签。5.1 系统主窗体......................................................................................................................错误!未定义书签。5.2 数据库连接......................................................................................................................错误!未定义书签。5.3 用户登陆界面..................................................................................................................错误!未定义书签。5.4 用户功能选择..................................................................................................................错误!未定义书签。5.5 用户信息录入..................................................................................................................错误!未定义书签。5.6 查询功能窗体..................................................................................................................错误!未定义书签。5.7 数据备份和还原窗体......................................................................................................错误!未定义书签。5.8 工作日记及工作日记管理..............................................................................................错误!未定义书签。5.9 用户管理及用户密码修改..............................................................................................错误!未定义书签。
5.10 打印报表模块................................................................................................................错误!未定义书签。5.11 数据公用模块................................................................................................................错误!未定义书签。5.12 其它模块........................................................................................................................错误!未定义书签。6 总
结......................................................................................................................................................................5 参考文献......................................................................................................................................................................7 致谢..............................................................................................................................................................................8
企业人事管理系统
摘要:在竞争越来越激烈的社会里,企业人事管理就越显示出其不可缺性,成为企业一个非常重要的模块。企业人事管理系统主要是用于员工个人相关信息的管理。使用人事管理系统,便于公司领导掌握人员的动向和人员的综合素质,及时调整人才的分配,使用计算机对人事劳资信息进行管理,具有检索迅速、查找方便、可靠性高、存储量大、保密性好、成本低等优点,能够极大地提高人事资源管理的效率,也是企业科学化、正规化管理的重要条件。
随着企业自身人力资源的日益庞大、复杂程度逐渐增强,人机作坊再也无法适应如今企业的人事管理了,取代的是运用各种领域的知识,结合计算机科学而开发的人事管理系统。企业人事管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求应用程序功能完备,易使用等特点。企业人事管理系统是对工作人员进行统一的管理,可以方便的进行录入,查询,修改,删除,退出。经过以上分析,本系统使用Delphi 7.0作为界面和功能开发工具和SQL Sever 2000作为后台数据库,利用其提供的各种面向对象的开发工具进行界面和数据库开发。软件过程结合了快速原型模型与增量模型的优点:首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成可行系统。
关键词:企业人事管理;DEPHI;ADO;SQL server 2000
Personnel Management System
Abstract: Along with their own human resources increasing, complexity growing, the man-machine workshop also is unable adapt the present enterprise’s personnel management again, but the personnel management system that make use of knowledge in different fields and computer science and technology.Personnel management system is a typical management information system(MIS), including the establishment and maintenance of the background-database and front-end application development.To the former, the request for the data which is powerful in consistency and integrity, database which is good in security.For the latter, the request for the applications program which is integrity and easy to easy, Personnel management system can manage the staff and admit input, enquiries, modify, delete, and exit.Through such analysis, the system use Delphi 7.0 as the interface and functions of development tools and take SQL Sever 2000 database as background-database, the development of the interface and database which made use of its object-oriented tools, the software process is formed which is combine the advantage of rapid prototype models and incremental model, as follows: At first application prototype of system is built in a short time, Secondly, the initial prototype system needs to be revised and improved, Finally, it is feasible that the system is built.Key words: human resource management;DEPHI;ADO;SQL server 2000
前 言
背景
在竞争越来越激烈的社会里,企业人事管理就越显示出其不可缺性,成为企业一个非常重要的模块。企业人事管理系统主要是用于员工个人相关信息的管理。使用人事管理系统,便于公司领导掌握人员的动向和人员的综合素质,及时调整人才的分配,使用计算机对人事劳资信息进行管理,具有检索迅速、查找方便、可靠性高、存储量大、保密性好、成本低等优点,能够极大地提高人事资源管理的效率,也是企业科学化、正规化管理的重要条件。
目标 设计一个企业人事信息管理系统,此系统要以人为中心,为企业提供全面的人事管理解决方案; a)为企业建立规范化、实时化人事管理机制;
b)提高企业人事管理的效率、节约相关的管理成本,增强人事管理的安全性; c)满足企业管理层,人事业务操作层和全体员工的不同层次和不同方面的需要; d)对企业将来的整体信息化建设提供必要的支持。需求分析
需求分析是系统开发必要环节,也是重中之重。作为该过程的结果,需求规格说明书是对系统的功能和行为完整的描述。系统设计将来自于需求分析的抽象规格说明转变为面向真实世界的设计。一旦构建完成,该系统就会投入使用,同时会不可避免地产生更多的新需求。同时,需求过程与分析活动之间有相当程度的重叠,分析建模对于设定工作的范围和其他一些事来说是必要的,所以我们利用分析模型来描述需求过程,随着开发工作的继续,分析活动在工作中占的比例将变得越来越大,直到所有需求都已知。[1]
1.1 系统需求
企业的人事管理职能主要分为人事档案信息管理、人事变动管理、员工培训管理、奖惩管理等内容。a)在人事系统开发时应考虑以下需求: b)满足人事管理职能的基本要求;
c)进行多层次数据汇总,为各层次管理者的决策分析提供数据; d)具有完整的系统接口,满足灵活的数据导入与导出; e)对操作人员的技能要求比较低,操作方便; f)能够实现方便的扩展,满足企业发展的需要;
g)能够保障人事管理数据的安全、准确。1.1 功能需求
基于系统需求分析,该系统需要实现以下基本功能:
a)用户管理:管理系统操作人员,设置操作人员口令和权限。在满足不同系统用户的操作需求的基础上,提高系统的安全性。
b)人事档案管理:完成企业对员工个人档案(包括员工的基本档案和在职信息)的管理及相关操作。操作员进行员工档案信息录入及更改,其中包括员工的基本信息、工作经历、家庭关系、奖惩记录和培训经历,要求对这些员工档案信息进行新增、修改、删除操作,同时可以进行查询和浏览操作。该模块是本系统的重点,用户可以通过该模块为单位建立一个比较完整的人事档案系统,同时可以对档案进行查看。
c)基础数据管理:维护人事管理相关的一些基础数据。主要包括以下功能:
(a)民族档案设置:维护职工中民族档案信息;
(b)职工类型设置:维护当前企业职工与企业的关系的类别信息;(c)文化程度设置:维护企业职工的文化程度类别信息;(d)政治面貌设置:维护企业职工的政治面貌类别信息;(e)部门类别设置:维护企业中设立的部门类别信息;(f)职务类别设置:维护企业中设立的职务类别信息;
(h)职称类别设置:维护企业职工的职称类别信息;
d)人事变动管理:对于人事上的变动调整进行管理,对人员档案的信息进行更新(如:员工职务、员工职称、员工性质等的变动)。
e)工作日志管理:记录部门或系统用户的一些备忘信息,包括日常的一些事件记录,以及工作日记的管理维护。f)数据库管理:对现有的数据库进行管理,包括数据备份和恢复,以方便用户对数据库的管理和维护工作,提高系统的数据安全性。1.3 可靠性要求
a)计算机稳定可靠,网络服务和数据库服务稳定可靠;
b)网络通畅、稳定;软件运行稳定;数据计算及数据传输无误;提供数据备份和数据恢复方案。1.4 性能需求 1)硬件环境
在最低配置的情况下,系统的性能往往不尽如人意,现在的硬件性能已经相当出色,且 价格也很便宜,因此通常给服务器端配置高性能硬件。推荐配置为:
·处理器:Intel 奔腾Ⅲ 或更高 ·内存:128MB ·硬盘空间:40GB ·显卡:Geforce系列显示适配器或更高。2)软件环境
·操作系统:windows 98/ME/2000/N ·数据库:Microsoft SQL server 2000 开发环境简介
2.1 Delphi简介
Delphi这个名字源于古希腊的城市名。它集中了第三代语言的优点。以Object Pascal为基础,扩充了面向对象的能力,并且完美地结合了可视化的开发手段。Delphi自1995年3月一推出就受到了人们的关注,并在当年一举夺得了多项大奖。
Delphi的出现打破了Visual系列可视化编程领域一统天下的局面。并且Delphi使用了本地编译器直接生成技术,使程序的执行性能远远高于其它产品生成的程序。它还是真正的面向对象的编程语言。PASCAL语言的严谨加上可视化的优势和强大的数据库功能使得它有充分的资本和微软的VB叫板。许多人当时都认为Pascal 是最有前途的程序设计语言,并预测Delphi将会成为可视化编程的主流环境。
Delphi在你编好程序后自动转换成。EXE文件它运行时速度比VB快,而且编译后不需要其他的支持库就能运行。它的数据库功能也挺强的,是开发中型数据库软件理想的编程工具。Delphi适用于应用软件、数据库系统、系统软件等类型的开发。而且它拥有和VB差不多一样的功能,而且一样能应用API函数,这在控制Windows很有用。
Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language)、当今世界上最快的编辑器、最为领先的数据库技术。对于广大的程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,您将会发现编程不再是枯燥无味的工作——Delphi的每一个设计细节,都将带给您一份欣喜。
Delphi实际上是Pascal语言的一种版本,但它与传统的Pascal语言有天壤之别。一个Delphi程序首先是应用程序框架,而这一框架正是应用程序的“骨架”。在骨架上即使没有附着任何东西,仍可以严格地按照设计运行。您的工作只是在“骨架”中加入您的程序。缺省的应用程序是一个空白的窗体(Form),您可以运行它,结果得到一个空白的窗口。这个窗口具有Windows窗口的全部性质:可以被放大缩小、移动、最大最小化等,但您却没有编写一行程序。因此,可以说应用程序框架通过提供所有应用程序共有的东西,为用户应用程序的开发打下了良好的基础。
Delphi已经为您做好了一切基础工作——程序框架就是一个已经完成的可运行应用程序,只是不处理任何事情。您所需要做的,只是在程序中加入完成您所需功能的代码而已。在空白窗口的背后,应用程序的框架正在等待用户的输入。由于您并未告诉它接收到用户输入后作何反应,窗口除了响应所有Windows的基本操作(移动、缩放等)外,它只是接受用户的输入,然后再忽略。Delphi把Windows编程的回调、句柄处理等繁复过程都放在一个不可见的Romulam覆盖物下面,这样您可以不为它们所困扰,轻松从容地对可视部件进行编程。
面向对象的程序设计(Object-Oriented Programming,简记为OOP)是Delphi诞生的基础。OOP立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者。它通过给程序中加入扩展语句,把函数“封装”进Windows编程所必需的“对象”中。面向对象的编程语言使得复杂的工作条理清晰、编写容易。
说它是一场革命,不是对对象本身而言,而是对它们处理工作的能力而言。对象并不与传统程序设计和编程方法兼
其中多媒体音频视频播放器是通过TMediaPlayer组件来实现的,支持的格式与系统已安装的解码器有关。总
结
6.1 程序设计风格
在设计的时候采用了增量模型的思想:把软件作为一系列的构件来设计,编码,集成和测试。用户管理,密码修改,用户登陆,万年历,这些模块都有高度的独立性,因此他们的可重用性比较高,基本上是一个单元完成一个功能,模块规模也比较小,模块的作用域在控制域之内,只使用了两个全局变量来存储用户名和用户权限。[1]
在人机界面设计方面,本系统做到了以下几点: a)保持一致性(界面,背景的致性);
b)提供有意义的反馈(用户验证和用户管理,提供了比较精确的反馈信息); c)在执行有较大破坏性的动作之前要求用户确认(数据备份与还原); d)允许大多数取消操作(大多数单元有取消操作功能);
e)允许犯错误(由于权限的限制,系统能保护自己不受严重错误的破坏); f)按功能对动作分类(在主窗口就是按动作类型组织菜单的); 6.2 有待加强项
a)帮助的制作 一个完整的应用程序必须具有完整的帮助系统;帮助系统可以在必要的时候给用户信息提示和一些系统相关服务。
b)声音制作 在这里主要是对声音的加载,我们可以加载一些一般的声音;主要来源有:音频CD盘;波形音频文件;MP3文件等等。其中波形音频文件以WAV作为文件的后缀,我们可以播放现成的,也可以播放自己录制的文件。
c)我们还可以使用各种组件和ActiveX控件等技术来完善系统。利用一些做好的activeX组件,会缩短开发周期。
由于在开发工程方面缺少经验,所以这个系统还存在着许多不足之处,在测试过程中总结如下: a)数据表的设计还不是很合理;
b)数据异常处理要更加人性化,错误信息的反馈要更加精确; 6.3 心得
经过一个月的设计和开发,人事管理系统基本开发完毕,其基本功能符合用户需求,能够完成基础数据录入,数据查询等基本功能,以及相关报表的打印。
在这次毕业设计中,我获益良多。首先我明白了需求分析对于一个系统的开发的重要性。其次我还学到了如何把一个软件作为一个工程来做,在真正的软件开发中,一个软件系统的开发不是一个人来做,而是很多人合作来完成的,另外还有软件的后期维护等等,这时就显现出了把软件作为一个工程来做的优越性,而这些都离不开数据流图和模块的分解。
Delphi是一个非常强大的开发工具,它具有运行速度快、易于学习和使用以及开发效率高的特点,使用起来真的是很顺手。学习好一门编程语言以后可以为今后的学习和工作带来很大的便利。
虽然本系统实现了基本的用户需求功能,但是还有待于完善和加强,总之通过这次设计和开发过程,我对软件开发有了进一步的了解。
参考文献
[1] 张海藩编著.软件工程导论[M].清华大学出版社出版,2003,1-173.
[2] 宋一兵,赵景波,李春艳著.Delphi 7.0基础教程[M].机械工业出版社,2003,2-30. [3] 刘瑶儒著.新概念SQL Server2000教程[M].北京科海集团公司出,2001,12-23. [4] 韩强编著.SQL SERVER 2000 程序员手册[M].机械工业出版社出版,2000,4-35. [5] 萨师煊著.数据库系统概论(第二版)[M].高等教育出版社,1991,8-40. [6] 施伯乐,丁宝康,汪卫著.数据库系统教程[M].高等教育出版社,2002,1-202.
[7] 肖健著.SQL Server2000实践与提高[M].中国电子出版社,2002,13-53. [8] 林金霖著.Delphi6 实务经典[M].中国铁道出版社,2002年5月,6-110.
[9] 黄超,王志伟著.Delphi企业经营管理系统开发实例导航[M].人民邮电出版社,2003,20-90. [10] 程文刚主编.Delphi数据库实用编程100例[M].中国铁道出版社,2004,8-63. [11] 王晟,万科著.Delphi数据库开发经典案例解析[M].清华大学出版社,2005,85-89. [12] 王惠刚,唐晨光 彭为著.delphi7/8程序设计[M].清华大学出版社, 2002,42-63.
[13] 潇湘工作室,邢增平著.Delphi 6.0最佳专辑[M].人民邮电出版社,2003,1-404. [14] 心铃.Delphi问答.软件报[N],2004-07-5.
[15] 高永惠.浅谈Delphi中的异常处理方法[J].湖南轻工业高等专科学校学报,2002-04,9-10.
[16] 徐萌飞.在Delphi中使用ADO技术对数据库操作[J].中国学术期刊(光盘版)电子杂志社,2001,12-13. [17] 陈建兵.Delphi中基于安全灵活的动态连接远程数据库SQL的实现[J].福建电脑,2005,12-13. [18] 孙育红.关于地方法院管理信息系统分析设计与实施[D].中国学术期刊电子杂志社,2001,8-9.
[19] 岳冰.南部引嫩工程信息管理系统开发[D].中国学术期刊电子杂志社,2003,20-21.
[20] 庞芳,王丽玫.南宁市自动气象站业务服务数据库系统[D].中国学术期刊电子杂志社,2004,21-23.
[21] 徐军.研究生院综合管理信息系统的研究与实现[D].中国学术期刊)电子杂志社,2004,32-33.
[22] 鲁媛媛.硕士生导师综合素质能力评价指标体系的研究[D].中国学术期刊电子杂志社,2005,18-19.
致谢
在这里我要我对给予我指导和帮助的曹步青老师以及在测试阶段提供机器和意见的同学表示我诚至的谢意。曹老师认真负责的工作态度,严谨的治学精神使我受益匪浅。无论在理论和实践中,都给了我很大的帮助,使我综合素质提高不少,这对于我以后的学习和工作都有一种很大的帮助。
暨毕业论文答辩之际,我要忠心感谢湖南科技大学和计算机科学与工程学院的各位老师大学四年来对我的辛勤培养和悉心教育,是科大提供了学习机会,是各位老师传授了我专业知识和做人的道理。
最后,再一次感谢我的恩师!感谢我的母校!祝各位老师身体健康,工作顺心!愿我校的教育事业蓬勃发展!
参考文献
[23] 张海藩编著.软件工程导论[M].清华大学出版社出版,2003,1-173.
[24] 宋一兵,赵景波,李春艳著.Delphi 7.0基础教程[M].机械工业出版社,2003,2-30. [25] 刘瑶儒著.新概念SQL Server2000教程[M].北京科海集团公司出,2001,12-23. [26] 韩强编著.SQL SERVER 2000 程序员手册[M].机械工业出版社出版,2000,4-35. [27] 萨师煊著.数据库系统概论(第二版)[M].高等教育出版社,1991,8-40. [28] 施伯乐,丁宝康,汪卫著.数据库系统教程[M].高等教育出版社,2002,1-202.
[29] 肖健著.SQL Server2000实践与提高[M].中国电子出版社,2002,13-53. [30] 林金霖著.Delphi6 实务经典[M].中国铁道出版社,2002年5月,6-110.
[31] 黄超,王志伟著.Delphi企业经营管理系统开发实例导航[M].人民邮电出版社,2003,20-90. [32] 程文刚主编.Delphi数据库实用编程100例[M].中国铁道出版社,2004,8-63. [33] 王晟,万科著.Delphi数据库开发经典案例解析[M].清华大学出版社,2005,85-89. [34] 王惠刚,唐晨光 彭为著.delphi7/8程序设计[M].清华大学出版社, 2002,42-63.
[35] 潇湘工作室,邢增平著.Delphi 6.0最佳专辑[M].人民邮电出版社,2003,1-404. [36] 心铃.Delphi问答.软件报[N],2004-07-5.
[37] 高永惠.浅谈Delphi中的异常处理方法[J].湖南轻工业高等专科学校学报,2002-04,9-10.
[38] 徐萌飞.在Delphi中使用ADO技术对数据库操作[J].中国学术期刊(光盘版)电子杂志社,2001,12-13. [39] 陈建兵.Delphi中基于安全灵活的动态连接远程数据库SQL的实现[J].福建电脑,2005,12-13. [40] 岳冰.南部引嫩工程信息管理系统开发[D].中国学术期刊电子杂志社,2003,20-21.
第五篇:VB企业人事管理系统毕业论文
摘 要
20世纪,随着全球的紧急的蓬勃发展,企业规模越来越大,人员数量急剧增加,有关人员管理的各种信息也成倍增长。面对庞大的信息量,就需要有人事信息管理系统来提高企业管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。
本系统以此为目标,能够初步的完成企业人员的基本信息、考勤信息、工作业绩、工资信息等方面的管理。本系统的开发顺应了现在单位制度的新要求,有利于推动单位人事信息管理工作走向科学化、规范化,大大提高了人事信息管理的效率和质量。该系统具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。实现过程中使用了面向对象技术、图形用户接口、消息响应、数据库技术、可视化开发等现代软件编制技术,并在界面上参照WINDOWS的标准应用程序,使得系统能够跟WINDOWS达到最佳的兼容性,并且使用户也能够快速的熟悉本系统的使用。
本套软件使用Visual Basic 6.0作为开发工具。通过系统规划、系统分析、系统设计、原代码编辑,后期调试等阶段,力争使系统界面标准、统一、友好、方便。
关键字:记录;数据库;人事信息;管理系统;SQL
目 录
第1章
绪
论................................................错误!未定义书签。
1.1 数据库系统概述 错误!未定义书签。
1.1.1 数据库管理系统与数据库系统....错误!未定义书签。1.1.2 据管理技术的产生和发展........错误!未定义书签。1.1.3 数据库系统的特点..............错误!未定义书签。
1.2 管理信息系统概述 错误!未定义书签。
1.2.1 管理信息系统发展历史与方向....错误!未定义书签。1.2.2 管理系统的特点................错误!未定义书签。1.2.3 管理信息系统的开发............错误!未定义书签。
1.3 开发工具——Visual Basic6.0 错误!未定义书签。
1.4 数据库应用程序——SQLServer2000简介 错误!未定义书签。
第2章 系统设计 错误!未定义书签。
2.1 系统需求分析 错误!未定义书签。
2.1.1 系统可行性分析................错误!未定义书签。2.1.2 系统需求分析..................错误!未定义书签。2.1.3 本系统需要完成的主要功能......错误!未定义书签。
2.2 系统功能模块设计 错误!未定义书签。2.3 数据库设计 错误!未定义书签。
2.3.1 数据库需求分析................错误!未定义书签。2.3.2 数据库概念结构设计............错误!未定义书签。2.3.3 数据库逻辑结构设计............错误!未定义书签。
第3章
系统的总体设计.....................................错误!未定义书签。
3.1 数据库的具体创建 错误!未定义书签。3.1.1 创建数据库....................错误!未定义书签。3.1.2 创建数据库表..................错误!未定义书签。3.1.3 创建存储过程..................错误!未定义书签。3.1.4 创建 ODBC.....................错误!未定义书签。
3.2 系统的主窗体的创建 错误!未定义书签。
3.2.1 创建工程项目..................错误!未定义书签。3.2.2 创建企业人事信息管理系统的主窗体错误!未定义书签。3.2.3 创建主窗体的菜单..............错误!未定义书签。
第4章
用户管理模块的创建.............................错误!未定义书签。
4.1 用户登录窗体的创建 错误!未定义书签。
4.2 注册窗体的创建 错误!未定义书签。
第5章
员工基本信息模块的创建.....................错误!未定义书签。
5.1 添加员工信息窗体的创建 错误!未定义书签。5.2 修改/删除/查询窗体的创建 错误!未定义书签。5.3 其他管理模块的实现 错误!未定义书签。5.3.1 员工考勤管理模块..............错误!未定义书签。5.3.2 员工工作评价管理模块的创建....错误!未定义书签。5.3.3 员工工资信息管理模块的创建.....错误!未定义书签。
第6章
系统的实现与使用说明.........................错误!未定义书签。
6.1 系统的实现 错误!未定义书签。
6.2 系统的使用说明 错误!未定义书签。
第7章
系统测试.................................................错误!未定义书签。
结
束
语.............................................................错误!未定义书签。致
谢.............................................................错误!未定义书签。参 考 文 献...........................................................错误!未定义书签。附
录...........................................................错误!未定义书签。
图3-6 程序主窗体
图4-1用户登录窗体
图4-2 注册窗体
图5-1添加员工基本信 窗体
图5-2员工信息查询列表
图5-3员工考勤信息添加窗体
系统设计 3.1 系统功能描述
该人事管理系统可以在Windows XP平台上运行,开发工具采用Visual Basic语言开发。其工作流程为:用户登录通过权限判断,用户可以修改、阅读和查询信息,用户可以进行信息录入、修改和删除的操作。
系统的主要功能特点有:
系统登录表单
该表单的功能是在系统被访问之前,要对进入系统的用户进行安全性检查,防止非法用户进入系统破坏数据或威胁系统安全,避免不必要的损失。只有合法的用户在输入正确 的密码后方可进入系统。
主界面
在该界面窗口中,共有系统设置、员工档案、考勤管理、工作评价、员工调动、工资管理、帮助等系统功能,用户可以用操作菜单的方式快捷地使用系统。
更改密码:
使用本表单可以方便地修改用户的密码,以防密码泄露后对数据的安全性造成威胁。
打印报表:
本系统可以方便、快捷地打印各种报表,便于用户对人事的管理。
帮助选项:
在帮助选项里,我们可以看到系统主要功能,便于用户对系统的操作。
3.2 系统特点
资源的有效利用:在本系统中,查询,打印使用同一个窗体模块,这避免了不必要的重复和资源浪费。另外,这不仅减小程序的体积,还能适度降低程序在运行中消耗的内存空间。
人性化设计:程序界面简洁、美观和直观。在功能上,尽最大可能为用户操作提供便利,并有用户操作提示和限制等。
权限设计:系统中有普通用户和系统管理员两类用户,各自具有不同的权限。
3.3 系统功能划分
具体图形表示如图所示:(网站略图)
图5-5添加工作评价信息窗体
图5-6 计发员工工资信息窗体,图6-1 展示窗体
图6-2 用户登录窗
图6-3添加员工信息
图6-4 查询员工信息结果。
图6-5 添加考勤信息
图6-6 退出窗体
Powered by 计算机毕业论文网http://www.xiexiebang.com http://www.xiexiebang.com