1、 本文以Delphi和SQLServer2000为开发工具,设计实现了一套基于B/S模式的中小企业人事管理系统。在文中,首先分析了企业人事管理工作以及工作流程,根据分析结果设计了该系统应具有的功能;其次,对系统的各个功能模块进行了详细的描述,包括用户登录模块、留言板模块、人事部门信息发布模块、系统设置模块、员工管理模块、员工自助模块和操作记录模块;最后结合系统开发阶段和测试阶段中发现的问题以及解决问题的方法,总结了开发此系统所取得的经验和体会。1.2、本课程设计的目的、内容及作者主要贡献(1)目的:目前市面上流行的人事管理系统不少。但是,对于企、事业单位的人事管理系统来说,不需要大型的数据库系
2、统。只需要一个操作方便,功能实用,能满足本中心对数据的管理及需求的系统。我们的目标就是在于开发一个功能实用、操作方便,简单明了的人事管理系统。(2)内容:能够录入人事的基本资料,在操作上能够完成诸如添加、修改、删除、按各种条件进行查询、新用户的设置及密码修改等方面的工作,基本满足人事日常业务的需要。(3)作者的主要贡献:本人独立完成了此课题的研究与开发,包括调研、分析、设计、编码、测试、文档编写等内容。二、需求分析2.1技术可行性:本系统使用的是Delphi实现的。可以自由使用人事工资信息分类,自由赋予用户权限,根据需要灵活使用模版。可以提供给各种场合的信息,人事工资。根据用户的要求,分析其特
3、点,在经济上本项目是可行的,采集,编辑,发布,人员不需要专业的编程知识就可以快速高效地发布高校办公信息。这样加快了信息发布速度,减少了人力的开销,缩短了从采集到发布的时间周期,从而提高了服务的质量,而且由于管理周期缩短和人力开销的减少,可以在高校信息化中获得更多的好处。2.2 经济可行性:系统未运行之前,初期投资比较大,花费相对而言比较多。各部门必须配置电脑、服务器、打印机、传真机及相关的网络设备,但是在整个系统投入运行之后,因为现在计算机已经普及了,相关的人员培训费可以减少很多。而同时又减少了数据的流通环节,提高了工作效率,保证了各项数据的准确性,避免了工作人员的流动造成的收据丢失等问题。因
4、此,从长远的收益来看,经济上完全可行。基于以上分析,系统实现是可行的。2.3业务需求分析: 普通员工可以根据自己的工号来进行查询自己的一些基本信息,管理员可以能够录入人事的基本资料,在操作上能够完成诸如添加、修改、删除、按各种条件进行查询、新用户的设置及密码修改等方面的工作,基本满足人事日常业务的需要。2.4功能需求分析:2.4.1 支持企业实现规范化的管理。2.4.2 支持企业高效率完成劳动人事管理的日常业务,包括新员工加入时人事档案的建立,老员工转出、辞职、退休等。2.4.3 支持企业进行劳动人事管理及其相关方面的科学决策,如企业领导根据现有的员工数目决定招聘的人数等。三、系统设计3.1概
5、念设计在概念设计中首先要画好ER图,是很重要的一步,对于ER图我们4项基本原则,分别是:原则1 (确定实体):能独立存在的事物,例如人、物、事、地、团体、机构、活动、事项等等,在其有多个由基本项描述的特性需要关注时,就应把它作为实体。原则2 (确定联系):两个或多个实体间的关联与结合,如主管,从属,组成,占有,作用,配合,协同等等,当需要予以关注时,应作为联系。实体间的联系可分为一对一、一对多、多对多等三类,在确定联系时还要确定其类型。原则3 (确定属性):实体的属性是实体的本质特征。实体应有标识属性(能把不同个体区分开来的属性组),并指定其中一个作为主标识。联系的属性是联系的结果或状态。原则
6、4(一事一地):信息分析中得到的基本项要在且仅在实体联系图中的一个地方作为属性出现。下面是本次课程设计的系统E-R图如下所示:各个实体ER图:管理员:普通员工:本系统由五大模块组成,即系统,员工基本信息,员工考勤信息,员工调动信息。如下图:系统流程图:3.2逻辑设计:3.2.1 关系模式:职工(职工号,职工,姓名,职工性别,所在部门,职工年龄,基本工资,婚否,简历)管理员(管理员名,密码)下面是创建一个叫企业人事管理的数据库语言:create table 企业人事管理(职工编号 int primary key not null,职工姓名 char(20) not null,职工性别 char(
7、2) not null,所在部门 char(20) not null,职工年龄 int not null,基本工资 int not null,婚否 char(4) not null,简历 char(16) not null,);3.2.2数据表:表设计的好坏会直接影响系统的稳定性、可扩展性、可实现性。在每一个表中,设置“职工号“为主键,作为记录的唯一标识。以下的属性类型中 CHARACTER 代表变长字符串,括号内的数字代表长度上限 NUMERIC 代表整型,括号内的数字代表长度上限 DATA 代表日期类型 例:2010-4-20员工基础资料表: 属 性 数据类型 可否为空 职工编号 nume
8、ric (4) NOT NULL 所在部门 character(8) NULL 职工姓名 character(6) 职工性别 character(2) 现任职务 character(10) 婚姻状况 character(4) 职工年龄 简 历 char(16) NOT NULL 数据库中表截图如下:四、系统实现4.1 数据库实现结合Delphi进行数据库应用开发的特点,设计过程可按如下步骤进行:主要开发步骤:(1) 在Windows开始菜单中执行“所有程序|Microsoft SQL Server|企业管理器”命令,进入“SQL Server Enterprise Manager企业管理器”界
9、面,在SQL Server Enterprise Manager界面中展开SQL Server组,再展开数据库项,选择要建表的数据库“企业人事管理”,在“视图”选项上右击鼠标,弹出的快捷菜单。(2)在“SQL Server Enterprise Manager企业管理器”中创建好的“企业人事管理”数据库中附加添加表“企业人事管理”,截图如下:(3)在Windows开始菜单中执行“控制面板”里的“管理工具”中创建一个“ODBC数据源”来实现前台界面与数据库的联系。(4)通过“Delphi”打开“Unit4.pas”中进行数据源的连接。4.2 前台程序设计4.2.1 系统登陆界面 此模块是员工登陆
10、后的选择界面,是其他模块连接的地方:其代码如下:unit Unit4;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DB, ADODB;type TForm4 = class(TForm) Label1: TLabel; Label2: Edit1: TEdit; Edit2: ComboBox1: TComboBox; Button1: TButton; Button2: ADOQuery1: TADOQuery; Data
11、Source1: TDataSource; ADOConnection1: TADOConnection; procedure ComboBox1Change(Sender: TObject); procedure Button2Click(Sender: procedure Button1Click(Sender: private Private declarations public Public declarations end;var Form4: TForm4;implementationuses unit1;$R *.dfmprocedure TForm4.ComboBox1Cha
12、nge(Sender:begin if ComboBox1.ItemIndex -1 then button1.Enabled := true;end;procedure TForm4.Button2Click(Sender: form4.Close;procedure TForm4.Button1Click(Sender: if (edit1.Text = ) or (edit2.Text = ) then showmessage(用户名或密码不能为空!); if combobox1.ItemIndex = 0 then begin adoquery1.SQL.Clear; ADOQuery
13、1.SQL.Add(select * from manage where users= :s1 and passwd= :s2 and type=0 ADOQuery1.Parameters.ParamByName(s1).Value:=edit1.Text;s2=edit2.Text; ADOQuery1.Open; if (ADOQuery1.Eof = true) and (ADOQuery1.Bof = true) then用户名或密码错误!请重新输入! end else form1.GroupBox1.Visible:= false; form1.GroupBox2.Left :=
14、200; form1.Button1.Visible : form1.Button2.Visible : form1.BitBtn1.Visible : form1.Edit1.Visible : form1.Label1.Visible : edit1.Clear; edit2.Clear; form4.Hide; form1.Show; if combobox1.ItemIndex = 1 thens2 and type=1= 24;end.4.2.2员工基本信息更新这个模块主要用于员工基本信息的更新:可以根据以下条件提供添加、删除、修改功能:根据人事卡片编辑;根据家庭成员表编辑;根据社会
15、关系表编辑。部分代码如下:unit Unit1; Dialogs, DB, Grids, DBGrids, DBTables, StdCtrls, Buttons, ADODB, DBClient, MConnect; TForm1 = class(TForm) DBGrid1: TDBGrid; GroupBox2: TGroupBox; BitBtn1: TBitBtn; BitBtn2: GroupBox1: BitBtn5: procedure BitBtn5Click(Sender: procedure BitBtn2Click(Sender: procedure BitBtn1Cl
16、ick(Sender: procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure Edit1Change(Sender: procedure Edit2Change(Sender: Form1: TForm1;uses Unit2, Unit3,unit4;procedure TForm1.BitBtn5Click(Sender:ADOQuery1.SQL.Clear;ADOQuery1.SQL.Add(select * from 企业人事管理ADOQuery1.Active:=true;procedur
17、e TForm1.BitBtn2Click(Sender:select * from 企业人事管理 where 职工编号 like :ADOQuery1.Parameters.ParamByName(procedure TForm1.BitBtn1Click(Sender:var k:integer;if ADOQuery1.Locate(职工编号,edit1.Text,) thenk:=MessageDlg(确定删除吗?,mtconfirmation,mbyes,mbno,0);if k=mryes thenDELETE from 企业人事管理 where 职工编号 like :ADOQue
18、ry1.ExecSQL;select * from 企业人事管理 ADOQuery1.Open;edit1.Text:=;endelse showmessage(无此职工!请查证!procedure TForm1.Button1Click(Sender:form1.Hide;form2.Show;procedure TForm1.Button2Click(Sender:form3.Show;procedure TForm1.FormClose(Sender: form1.Hide; form4.Show;procedure TForm1.Edit1Change(Sender: if edit1
19、.Text = then bitbtn1.Enabled := false else bitbtn1.Enabled :procedure TForm1.Edit2Change(Sender: if edit2.Text = then bitbtn2.Enabled : else bitbtn2.Enabled :选择“增加”后出现下图:这个操作记录可以进行企业人事添加,删除,保存等操作,完成员工基本信息的更新操作。4.2.3员工基本信息查询此模块用于对员工基础资料方便的查询功能: 可以根据提供条件进行模糊查询,包括逐条查询、浏览字段和全局查询等功能。管理员还可以点击“删除”进行对数据库中的职
20、工信息去掉。管理员还可以通过“修改”来对数据库的职工信息进行修改,来实现员工信息的实时跟新。执行部分代码如下:unit Unit2; Dialogs, DB, ADODB, StdCtrls; TForm2 = class(TForm) Label3: Label4: Label5: Label6: Label7: Label8: ADOQuery2: ADOQuery2DSDesigner: TIntegerField; ADOQuery2DSDesigner2: TStringField; ADOQuery2DSDesigner3: ADOQuery2DSDesigner4: ADOQuery2DSDesigner5: ADOQuery2DSDesigner6: ADOQuery2DSDesigner7: ADOQuery2DSDesigner8: Label9: Edit3: Edit4: Edit5: TEdit
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1