企业人事管理系统的设计与实现
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关键词:数据库、Delphi、BDE、系统分析、环境、功能、模块、安全、数据表、数据处理处理、考勤、查 询、系统实施。
一、开发工具及数据库
在对多种开发工具进行比较之后,选择了用 Delphi+Paradox 数据库开发具有 C/S 功能的单机数据库。 Delphi 是由美国 Borland 公司推出的一个基于 Windows 的、以 Object Pascal 语言为核心的、快速开发应 用程序的可视化平台,目前已成为与 Microsoft 公司的 Visaul Basic(VB)、Visual C++(VC)等齐名的开发 工具,由于它既具有 VC 的强大功能和高效性,又具有 VB 编程的方便性,因而是当今最为流行且高效率的 Windows 软件开发工具之一。Delphi 提供了灵活的可视化设计工具,将可视化界面与面向对象技术完美、 紧密地结合起来,并封装了 Windows 编程的复杂性。作为一个极为优秀的快速应用程序开发(RAD)工具,其 最大的优势之一是开发数据库应用程序,它不仅提供了大量的数据库组件,如 TTable,TQuery,TStoreProc 等,并配有高效率的数据库引擎 BDE,通过 BDE 可以达到快速访问数据库的目的,但在使用时要求计算机 上必须安装有 BDE 数据库引擎。本系统是通过建立数据库别名(Alias)为”SQPerson”来访问的。
(三)系统功能模块设计
按照上述对软件的功能分析与功能需求,对设计思路再进一步进行整理规纳,设计功能 模块如下:
模块 名称
系 统 维 护
数 据 处 理
查 询 统 计
参 数 设 置
关 于
菜单项 单位基本信息 操作人员管理 登录密码更改 重新登录 数据备份 数据恢复 退出
职员基本表
员工通讯录 工龄自动增减 考勤管理 基本信息查询 基本信息统计 考勤信息查询 各月考勤详录 部门及代码设置 基本参数设置 随系统自动启动 帮助文件 关于程序
二、系统分析
作为适用于企(事)业单位的人事管理系统,除必须提供完备的人事管理功能外,又必须 让操作员对人员的增加、修改、调动、删除、查询、统计、报表及其他辅助信息等的操作异 常的便捷快速。因此,它至少必须拥有以下的特性:
1、界面简洁、美观、大方、友好。这是所有软件使用者都期望的,除可以提升软件的 层次外,也可以让使用者在工作中拥有比较放松的心情。
功能描述
存储单位的信息,如名称、地址等
添加删除用户及更改用户权限
更改当前登录用户的密码
允许不退出程序直接换名登录
备份到当前时间止所有的数据
恢复以前备份的数据
关闭应用程序 实现对每个员工的基本档案、社会关系、工作简历、培训 记录、考评记录、岗位变动、奖惩管理等信息的增加、删 除、修改,以及打印职工基本档案表 记录员工的传统与现代化通讯方式
2、操作简单、高性能、功能实用、稳定性强、安全性高。要能让使用者在没有任何帮
助的情况下即可使用软件,让软件提供的功能尽量满足用户的需求,而且在使用过程中不容 易出错,提供保护数据的措施,如定期备份数据等。
3、外延扩展性强。作为一套软件,不可能是完美无缺的,况且软件面对的用户不是特 定的一家或几家单位,不可能都满足用户的需求,特别是在报表设计方面,因此能从系统数 据库中将数据导出到特定的格式文件是至关重要的,如导出到 Microsoft Excel 文件。
时光行进到 21 世纪,以计算机技术为主体的高新技术群体已经将触角深入到国民经济的方方面面,在 市场经济的大环境下,越来越多的人士逐渐认识到用计算机技术对各行业进行管理、交流的便捷,其中最 突出的要算在企(事)业单位中的人事管理了。因此,企业人事管理系统是为适应当前各个行业对人事信息 管理的迫切需求而设计开发的一个系统。
if not HasLogin Then Application.Terminate Else Close; 2、数据备份 为防止保存的数据被破坏或因为其他原因造成的数据损失,应为用户提供数据备份的功 能,本系统利用简单的文件复制功能进行备份,代码实现如下: procedure TF_BCK.cxButton1Click(Sender: TObject); var
StrLst: TStringList; DBPath,BckPath: String; I: integer; begin BckPath := Label3.Caption; if BckPath = '' then Exit; StrLst := TStringList.Create; //取得当前 SQPerson 数据库中所有扩展名为.db 的文件 Session.GetTableNames('SQPerson','*.db',true,true,StrLst); DBPath := ExtractFilePath(ParamStr(0))+'Data\'; for I := 0 to StrLst.Count-1 do //复制所有文件到新位置
procedure TDM.DataModuleCreate(Sender: TObject); begin
Session.AddPassword(MyPasswords); …
end;
(二)系统安全设计 1、登录安全 在系统启动时,自动弹出登录窗口要求用户输入正确密码,输入错误密码超过 3 次,则
一些帮助用户操作的资料
系统信息提示
(四)数据表设计 这里只列出各个表中各字段所对应的中文名称,表结构如下:
人员基本表 人员编号(Key) 人员姓名 部门 性别 民族 籍贯 婚姻状况 出生日期 身份证号码 户口性质 行政级别
工作简历表 人员编号 工作单位 起始时间 终止时间 所在部门 担任职务 级别 备注信息
系统自动终止运行,界面设计如附录中图(1)。 为防止用户按“关闭”按钮关掉登录窗口而直接进入主程序,必须在主程序中加入一个
全局变量判断是否已经登录,如是未登录则在窗口关闭时终止程序,如:在主程序中加入 var HasLogin: Boolean;在登录窗口的 FormClose 事件中加入如下代码:
员工 通讯
录 员工 姓名 办公 电话 手机 号码 小灵 通号 家庭 电话 邮政 编码
单位 信息 表 单位 名称 法人 代表 办公 电话 传真 号码 办公 电话 邮政
四、系统实施
(-)创建数据模块 将数据模块取名为 DM,保存为 U_DM.pas,在其他窗口调用该模块时必须在 uses 语句
中加入“U_DM”,在数据模块上放置各个窗体访问数据库所需的 TTable、TQuery、TdataSource 控件,将所有 TTable 组件和 TQuery 组件的 DatabaseName 属性设置为”SQPerson”。因为已 经对所有的表格都设置了打开密码,为避免在使用时每次访问都要传入密码,因此通过以下 语句向数据库传入密码:
会关系等表。修改用户的部门及编号即可实现用户的部门调动,“打印”按钮可以预览并打 印当前记录的档案卡,如图(3)所示。
在这个模块中涉及到一个问题,即在修改职工编号的同时必须连带着修改其他表中的员 工编号,否则将在其他表查询不到中该职工的记录,同理,在删除一个员工时也必须将其他 表中的对应职工记录删除。实现删除记录的代码(自定义过程)如下:
在年初时对全部职工增加工龄
按部门对职工的出勤情况进行登记
对职工的基本信息进行查询及导出
按各类别,如民族,对职工进行统计 按部门、个人、月份、年份对正常上班、延迟上班等出勤 情况进行查询统计 记录每个月从月初到月末所有的考勤信息并可导出到 Excel 文件 添加删除部门名称及部门代码 对民族、职务、社会关系、考评主题、奖惩名称、行政级 别等 22 个类别进行设置 系统启动时自动启动本程序
企业人事管理系统的设计与实现
作者:苏清泉
专业:计算机
学号:10908021072
内容摘要
企业人事管理是企业管理的一个重要内容,随着时代的进步,企业逐渐变得庞大起来。如何管理好企 业内部员工的信息,成为企业管理中的一个大的问题,而最初的人事管理,都是依靠人力来完成的。当企 业规模较小的时候,人力可以完成,但随着企业的规模越来越大、企业的员工人数越来越多,仍然维持着 以人力进行管理,必然会造成工作效率低、工作错误率增高的问题。因此,在这种情况下,一个可以规范 化、自动化的企业人事管理系统就显得非常重要。
及说明 考评结果 考评人 考评时间
岗位变动表 人员编号 变动类型 原部门 原职务 新部门 新职务 变动时间 生效时间 备注
பைடு நூலகம்
奖惩记录表 人员编号 奖惩名称 原因摘要 详细原因 批准部门 批准人 批准日期 生效日期 撤销日期 撤销部门 撤销理由
考勤统计表 部门 人员编号 姓名 考勤年份 考勤月份 正常上班 正常休息 公事出差 遇事请假 无故旷工
三、系统设计
(一)、软件开发和运行环境选择
项目
要求及内容
操作系统 数据库 开发软件 数据引擎 计算机硬件 打印机
Windows 98/ME/2K/XP Paradox 7.0 Borland Delphi 7.0 Enterprise Borland Database Engine(BDE) PⅢ 733M/32M/10G 任意打印机
使用环境
开发/应用 开发 开发 开发/应用 开发/应用 开发/应用
(二)、系统功能分析 1、内容丰富、翔实的人员录入、修改、删除模块。只有企业职工的基本信息比较完整 的录入,才能丰富软件的其他功能,因此必须将本模块作为整个系统的重点来完善。 2、完备的人事管理查询与统计模块。由于必须使用管理软件的企业的规模都是十分庞 大的,因此,为企业快速、准确地提供符合某些条件的人员基本信息变得十分的重要,而因 为企业的人员是流动的,因此必须将查询设置为支持条件选择及动态的查询方式。 3、企业的日常考勤统计模块。一家大的企业的人员考勤统计,除非利用考勤软件,否 则也是一个极为麻烦的问题,因此,一个基本的考勤统计模块的重要性也十分凸显,通过该 模块,企业可以实时查询统计结果,与奖惩措施结合,从而提高企业的内部激励机制水平, 因此考勤模块也列为本系统的一个重点。 4、附加信息模块。包括企业员工的工作简历、主要社会关系、培训记录、考评记录、 岗位变动记录、奖惩记录、通讯录等,通过这些附表,可以让企业更加完整的了解员工的基 本情况,拉近与职工的心理距离,从而焕发职工的积极性。 5、打印主要报表。用计算机技术管理人事资料,必须保证资料的安全,必须经常的输 出为以纸质为载体的存档,因此设计报表打印是十分重要的一环,如打印职工个人基本信息 的卡片等。 6、方便的数据导出功能。从系统的完整性来考虑,最好能支持将员工的数据导出,本 系统选择了典型且被广泛使用的 Microsoft Excel 文件格式。 7、数据库的安全管理。作为与用户直接交互的程序界面,如不对使用权限加以限制, 将有可能造成人为恶意的数据破坏或丢失,所以系统在启动时必须确认用户密码。同时,为 防止因操作系统病毒、硬盘损坏、有意无意的行为造成数据丢失,必须提供数据备份与恢复 功能。
CopyFile(PChar(DBPath+StrLst[I]), PChar(BckPath+'\'+StrLst[I]),False);
StrLst.Free; End;
(三)数据处理 1、职工最基本的数据处理 数据处理的重中之重是对职工基本信息的管理,该模块的设计窗口如下图(2)所示。 用户可以通过选择部门来对人员进行分类,并直接查看其他表的信息,如工作简历、社
社会关系表 人员编号 成员姓名 与本人关系 工作单位 担任职务 所在部门 联系电话 政治面貌 备注信息
考勤
月
(日)
统表 部门 人员 编号 姓名 考勤 年份
部门 表 部门 代码
密码表 编号 姓名 密码 权限
培训记录表 人员编号 开始时间 结束时间 培训主题
或摘要 培训费用 培训教师 附加说明
考评记录表 人员编号 考评主题 考评内容
procedure TF_Basic.DeleteRecord(TableName,Index: String); begin
with DM.Query1 do try
Close; UnPrepare; SQL.Clear; SQL.Add('Delete from '+TableName); SQL.Add('where PeopleIndex="'+index+'"'); Prepare; ExecSQL; Except //屏蔽任何异常 end; end; 2、其他表 如图(4)所示的工作简历页,其他窗口的操作及界面相同,用户可以对所有的记录进行 操作,就不再赘述。 3、考勤管理 作为企业人事管理系统重要的一部份,用户可以在每日对职工按出勤类别进行保存,在 月份终了时进行月统和年统,如图(5)。其中年统代码实现如下: with DM.Query1 do begin Close; Sql.Clear; Sql.Add('Delete from KQCNT.db where KQYear="'+Nowyear+'"'); Prepare; ExecSQL;//删除数据库中重复的记录 Close; Unprepare; Sql.Clear; Sql.Add('Insert into KQCNT.db Select PeopleIndex,PeopleName,'); Sql.Add('Department,KQyear,Months,c1,c2,c3,c4,c4,c6,c7'); Sql.Add('from KQ'+Nowyear); //用 Insert Into 存储到已有表格中 Prepare; ExecSQL; end;