《人事管理系统delphi课程设计报告.doc》由会员分享,可在线阅读,更多相关《人事管理系统delphi课程设计报告.doc(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 数据库应用与开发课程设计指导孙鸿飞东北电力大学经济管理学院目 录第1章 人力资源管理系统概述21.1 人力资源管理系统简介21.2 人力资源管理系统功能描述2第2章 需求分析32.1 系统目标32.2 业务流程32.3 数据流程42.4 数据字典4第3章 系统设计63.1系统功能63.2 系统结构6第4章 数据库设计74.1 E-R图7第5章 主窗体设计85.1 主窗体设计85.2 功能导航栏设计12第6章 程序设计与编码136.1 系统登陆窗体的设计136.2 操作员管理窗体的设计146.3 修改密码窗体的设计146.4 人事信息窗体的设计15第7章 系统测试167.1 系统测试目的167
2、.2 系统测试17第8章 心得总结18参考文献19附 录20第1章 人力资源管理系统概述经济管理学院本科课程设计论文1.1 人力资源管理系统简介随着全球对知识和人才的重视,企业对人力资源管理重要性的认识逐渐深化,人才的全球化竞争使企业的人力资源管理面临前所未有的挑战。在新形势下,人力资源管理系统是一个企业单位不可缺少的部分,是适应现代企业制度,推动企业人力资源管理走向科学化、规范化、自动化的必要条件;是应对挑战、适应环境变化、提高企业管理效率、提升核心竞争力的关键措施。它所包含内容对于企业的决策者和管理者来说至关重要。目前市场上的人力资源系统很多,但要找到一款真正称心、符合公司实际情况的并不容
3、易。由于存在这样那样的不足,使企业浪费了大量的人力、物力等大量资源,难以真正提升企业人力资源的管理水平,提高工作效率及降低管理成本的效果也不明显。因此,为了加快公司信息化的步伐,提高公司的管理水平,并在激烈的社会竞争中立于不败之地,建立及完善人力资源管理系统已变得十分必要和迫切。人力资源管理系统主要是管理员工企业日常事务中的人事工作,使用人力资源管理系统会降低了资源管理成本,使管理者能集中精力在企业战略目标;另一方面,通过软件及时收集与整理分析大量的人力资源管理数据,为企业战略决策的生成与实施控制提供强有力的支持,以提高组织目标实现的可能性。1.2 人力资源管理系统功能描述人事管理系统就是要实
4、现对某单位的职工进行管理,整个系统包括人事资料的录入、资料查询和资料删除等功能。 人力资源管理系统应该能够灵活有效的管理,体现多角色、多层次特色。不同的企业其人力资源管理业务与流程各不相同,随着管理要求的提高,人力资源管理软件需要具备人事业务流程的制订、修改、控制等操作。通过人力资源管理系统使得管理者快速高效地完成企业日常事务中的人事工作,降低了人力资源管理成本,使管理者能集中精力在企业战略目标;另一方面,通过软件及时收集与整理分析大量的人力资源管理数据,为企业战略决策的生成与实施控制提供强有力的支持,以提高组织目标实现的可能性。第2章 需求分析第2章 需求分析2.1 系统目标人事管理系统就是
5、要实现对某单位的职工进行管理,整个系统主要实现包括人事资料的录入、资料查询和资料删除等功能。 在应用系统使用中,为保证系统的安全,必须设置用户检测程序。合法用户可进入,非合法用户拒绝登陆。同时要能够设置用户的使用权限,用户登录后只能进行其权限所允许的操作。用户可以修改本人的密码,系统管理员可以修改、冻结或删除普通用户。2.2 业务流程图查询管理职员信息存档公司职工职工名单添加新职工信息删除离职员工信息修改有误职工信息部门信息存档统计信息管理管理者操作员管理业务流程图经济管理学院本科课程设计论文2.3 数据流程图登陆系统公司职员查询信息添加信息修改信息删除信息退出系统个人权限2.4 数据字典数据
6、字典就是将数据元素、数据流、数据存储、处理功能和外部实体等的详细情况加以记录,并按照一定方式进行排列所形成的一部关于数据的字典。数据字典是有关数据的信息的收集、维护和发布的机制,是有关数据的数据即元数据的中心仓库,数据字典是提供关于数据元素、元素组、记录信息的定义和使用机制,以及数据实体之间的联系。2.4.1建立数据元素 表-1 操作员数据结构序号字段名称数据类型说明1UsernameVarChar用户名,主键2PasswordVarChar密码3DepartmentVarChar所在单位4Right1VarChar管理权限5Right2VarChar操作权限6Right3VarChar查询权
7、限7StampDatetime最后操作时间第2.4节 数据字典 表-2 人事信息数据结构序号字段名称数据类型说明1NoVarChar职工编号2NameVarChar职工姓名3SexVarChar性别4BirthDatetime出生年月5IdVarChar身份证号6AddrVarChar地址7TelVarChar联系电话8UnitVarChar单位9SalaryMoney工资10StartworkDatetime参加工作时间11DutyVarChar职务12SpecialityVarChar专业13MemoVarChar备注14OperatorChar操作员15StampDatetime最后操作
8、时间2.4.2建立数据流数据流表明了数据的流动方向及其名称,是数据载体的表现形式之一。在数据字典中所定义的数据流有两类:一类是从外部实体输入到系统中的数据流,二是从系统输出到外部实体的数据流。定义数据流表如下 表-3 数据流表数据流名称来源去向新的员工信息新员工用户管理员录入的员工信息用户管理员员工信息数据库表中员工基本信息人事信息数据库管理员 表中的员工信息员工信息数据库管理员经济管理学院本科课程设计论文第3章 系统设计3.1系统功能1、用户管理模块。主要是实现操作用户的增加、删除、修改。2、密码修改模块。该模块主要实现各操作用户修改自己的操作密码,系统管理用户可以修改其他用户的密码。3、系
9、统初始化模块。主要用来实现初始化功能,即清除所有数据表中的信息,只在operator.db数据表中保留一条默认的管理员信息。4、退出模块。就是退出系统。3.2 系统结构人力资源管理系统系统管理人事管理信息查询系统初始化修改密码退出系统操作员管理第4章 数据库设计第4章 数据库设计4.1 E-R图管理员工资部门职员担任调动实体属性一览表:管理员(用户名,密码,部门,联系电话,工资,职务,操作权限,查询权限,管理权限,最后操作时间)职员(职工编号,职工姓名,性别,出生年月,身份证号,地址,联系电话,单位,工资,职务,专业,参加工作时间,离职时间)部门(部门编号,部门名称,主管)经济管理学院本科课程
10、设计论文第5章 主窗体设计5.1 主窗体设计5.1.1界面设计创建一个新的工程文件,保存源程序文件名为main.pas,工程文件名为rlzygl.dpr,在窗体中添加一个mainmenu组件,一个toolbar组件,在toolbar组件中添加6个toolbutton组件,一个imagelist组件,双击imagelist组件打开对话框添加6个图片程序设计界面如下图5-1所示。 图5-1 程序的主窗体5.1.2属性设置 窗体所涉及的组件有mainmenu,toolbutton,toolbar等。其属性设置具体如下第5.1节窗体属性设置表5-1 窗体及组建的属性设置对象属性属性值说明Form1na
11、meMain_Form窗体名称Caption人力资源管理系统窗体标题 Toolbar1ImagesImagelist工具栏图标 Toolbutton1Hint操作员管理提示showhintTrue显示提示 Toolbutton2Hint密码修改提示showhintTrue显示提示 Toolbutton3Hint系统初始化提示showhintTrue显示提示 Toolbutton4Hint人事管理提示showhintTrue显示提示 Toolbutton5Hint信息查询提示showhintTrue显示提示Toolbutton6Hint关闭提示showhintTrue显示提示MainmenuIt
12、ems见窗体菜单项5.1.3 程序设计代码如下:var main_Form:Tmain_Form; username:string; password:string; R1,R2,R3:boolean;implementationuses login, Unit3, Unit4, Unit5, Unit6;$R *.dfmprocedure Tmain_Form.FormActivate(Sender: TObject);经济管理学院本科课程设计论文begin username:=; password:=; R1:=false; R2:=false; R3:=false; F_login.sh
13、owModal(); if username then begin if R1=true then begin n4.Enabled:=true; n6.Enabled:=true; toolbutton1.Enabled:=true; toolbutton3.Enabled:=true; end else begin n4.Enabled:=false; n6.Enabled:=false; toolbutton1.Enabled:=false; toolbutton3.Enabled:=false; end; if R2=true then begin n2.Enabled:=true;
14、toolbutton4.Enabled:=true; end else begin n3.Enabled:=false; toolbutton4.Enabled:=false; end; if R3=true then begin第5.1.3节主窗体代码设计 n3.Enabled:=true; toolbutton5.Enabled:=true; end else begin n3.Enabled:=false; toolbutton5.Enabled:=false; end; end else close;end;procedure Tmain_Form.N3Click(Sender: TO
15、bject);begin F_check.showModal();end;procedure Tmain_Form.N8Click(Sender: TObject);begin close;end;procedure Tmain_Form.N2Click(Sender: TObject);begin F_rsInfo.showModal();end;procedure Tmain_Form.N5Click(Sender: TObject);begin F_changepw.showmodal();end;procedure Tmain_Form.N4Click(Sender: TObject)
16、;begin F_operator.showmodal();end;procedure Tmain_Form.N6Click(Sender: TObject);var Tabel1:TTable;经济管理学院本科课程设计论文begin Table1:=TTable.create(self); Table1.DatabaseName:=RLZYGL; Table1.TableName:=opertaor.db; Table1.EmptyTable; Table1.open; Table1.Append; Table1.fieldbyname(username).asstring:=admin;
17、Table1.fieldbyname(password).asstring:=admin; Table1.fieldbyname(department).asstring:=计算机系; Table1.fieldbyname(stamp).asdatetime:=date(); Table1.fieldbyname(right1).asboolean:=true; Table1.fieldbyname(right2).asboolean:=true; Table1.fieldbyname(right3).asboolean:=true; Table1.post; Table1.close; Ta
18、ble1.Tablename:=info.db; Table1.emptytable; Application.MessageBox(初始化结束!,提示信息,mb_ok);end;procedure Tmain_Form.Button1Click(Sender: TObject);begin F_login.show;end;end.第6章 程序设计与编码第6章 程序设计与编码6.1 系统登陆窗体的设计图6-1 登陆窗口用户名为:admin,密码为:admin进入人力资源管理系统,非法用户不可以进入系统。程序代码在附录里显示。经济管理学院本科课程设计6.2 操作员管理窗体的设计 图6-2 操作
19、员管理窗口6.3 修改密码窗体的设计 图6-3 修改密码窗口第6章 程序代码与编码6.4 人事信息窗体的设计 图6-4 人事信息窗口经济管理学院本科课程设计论文第7章 系统测试7.1 系统测试目的对程序设计工作的检验是进行系统测试,是保证系统质量和可靠性的关键步骤。总之,测试的目的是发现软件中的错误,应该把查出新错误的测试看做是成功的测试,没有发现新错误的测试是失败的测试。但发现错误不是目的,目的是开发出高质量的完全符合用户需要的软件。7.2 系统测试系统测试是把经过测试的子系统装配成一个完整的系统然后进行测试。在这个过程中不仅能发现设计和编码的错误还能验证系统是否提供需求说明中指定的功能,而
20、且能验证系统的动态特性是否预订要求。人力资源管理系统连接数据库正确,但是无法正常运行,也没有办法进行验证测试,功能没有实现。第8章 心得体会第8章 心得总结通过本次的课程设计,学到了很多关于Delphi的知识。程序主要是利用delphi来实现对学校的人事管理。 经过此次数据库课程设计我对的delphi语言有了一定的了解,delphi编程很类似,界面设计较简单和代码编译速度相对也较快。在编程的过程中遇到了些问题,通过我自己翻书,上网查资料及向老师同学们请教,这些问题也得到了解决。经历了这次课程设计,不仅对我的学习提供了帮助,而且在各方面也得到了锻炼。没有足够的耐力和信心就很难坚持对课程设计每一步
21、的顺利进行。同时我还要非常感谢我的任课老师向老师对此次课程设计的精心安排和耐心指导。在课程设计过程中,向老师无论是在理论上还是在实践中,都给了我很大的帮助。使我在程序的开发等各个方面得到了很大的提高。向老师治学态度严谨,工作态度认真负责,为人亲切和蔼,学术理论和实践经验丰富,是我们学习的好榜样。同时感谢和我合作的本小组成员。在开发系统的过程中,我们团结合作,充分发挥了集体的力量,很好的完成了此次的课程设计。 参考文献参考文献1 杨长春,刘俊,石林高等学校教材计算机科学与技术Delphi程序设计教程,2008,2 梁水,赛奎春 Delphi开发典型模块大全,人民邮电出版社,2010,3 陈紫红,
22、赛奎春Delphi程数据库开发实例解析,机械工程出版社,2006,4 赵应丁 Delphi课程设计案例精编,中国水利水电出版社2003,5 钱辰,王晓龙Delphi必做练习题,北京大学出版社,2008,附 录附录1操作员管理代码procedure TF_operator.SpeedButton1Click(Sender: TObject);begin Table1:=TTable.creat(self); Table1.DatabaseName:=1220; Table1.TableName:=opertaor.db; Table1.open; Table1.setkey; Table1.Fi
23、eldbyname(name).asstring:=edit1.text; if table1.gotokey then begin if Radiobutton1.Checked then begin Application.MessageBox(用户名相同,请检查!,提示信息,mb_ok); edit1.Text:=; edit2.Text:=; edit3.Text:=; edit1.SetFocus; end else if Radio2.checked then begin Table1.edit; savetotable; table1.post; end else begin T
24、able1.edit; table1.Delete; table1.first; loadfromtable; end; end else begin if Radiobutton1.Checked then begin Table1.Append; table1.edit; savetotable; table1.post; end else begin Application.MessageBox(没有该用户,请检查!,提示信息,mb_ok); edit1.Text:=; edit2.Text:=; edit3.Text:=; edit1.SetFocus; end; end; table
25、1.close;end;procedure TF_operator.FormActivate(Sender: TObject);begin edit1.Text:=; edit2.Text:=; edit3.Text:=; edit4.Text:=; edit4.Readonly:=true; edit4.Tabstop:=false; checkbox1.Checked:=false; checkbox2.Checked:=false; checkbox3.Checked:=false; edit4.Text:=datetostr(date(); Table1:=TTable.creat(s
26、elf); Table1.DatabaseName:=1220; Table1.TableName:=opertaor.db; Table1.open; if not Table1.Eof then LoadFormTable; Table1.Close; Radiobutton2.Checked:=true;end;procedure TF_operator.loadFormtable;begin edit1.text:=table1.fieldbyname(username).asstring; edit2.text:=table1.fieldbyname(password).asstri
27、ng; edit3.text:=table1.fieldbyname(department).asstring; edit4.text:=datetostr(table1.fieldbyname(stamp).asdatetime); checkbox1.checked:=table1.fieldbyname(right1).asboolean; checkbox2.checked:=table1.fieldbyname(right2).asboolean; checkbox3.checked:=table1.fieldbyname(right3).asboolean;end;procedur
28、e TF_operator.savetotable;begin table1.fieldbyname(username).asstring:=edit1.text; table1.fieldbyname(password).asstring:=edit2.text; table1.fieldbyname(department).asstring:=edit3.text; table1.fieldbyname(stamp).asdatetime:=strtodate(edit4.text); table1.fieldbyname(right1).asboolean:=checkbox1.chec
29、ked; table1.fieldbyname(right2).asboolean:=checkbox2.checked; table1.fieldbyname(right3).asboolean:=checkbox3.checked;end;procedure TF_operator.SpeedButton2Click(Sender: TObject);begin close;end;procedure TF_operator.RadioButton1Click(Sender: TObject);begin edit1.Text:=; edit2.Text:=; edit3.Text:=;
30、edit4.Text:=datetostr(date(); checkbox1.Checked:=false; checkbox2.Checked:=false; checkbox3.Checked:=false; edit1.setfocus;end;procedure TF_operator.Edit1Exit(Sender: TObject);begin if not Radiobutton1.checked then begin table1.open; table1.setkey; table1.Fieldbyname(name).asstring:=edit1.text; if not table1.gotokey then begin Application.MessageBox(没有该用户,请检查!,提示信息,mb_ok); edit1.SetFocus; end else loadformtable; end; table1.close;end;end.- 22 -