ImageVerifierCode 换一换
格式:DOCX , 页数:67 ,大小:1.46MB ,
资源ID:3549842      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3549842.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(企业人资管理系统实习报告.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

企业人资管理系统实习报告.docx

1、企业人资管理系统实习报告西北农林科技大学信息工程学院企业人资管理系统实习报告学 号2009012899姓 名楼晓丹专业班级信管092指导教师耿楠完成日期2012-1-12一、综合训练目的与要求1综合训练目的(1)基本掌握面向对象程序开发的基本思路和方法。(2)掌握数据库应用程序开发的基本知识。(3)能够利用所学的基本知识和技能,进行简单应用程序设计。(4)能够掌握完整的安全性和错误检验调试。2综合训练要求(1)要求利用面向对象的编程思想以及组件开发原理来完成系统的设计。(2)充分利用面向对象语言(Java)的优势(即组件 、属性和事件等)。(3)体现可视化编程风格,如功能界面通过菜单、工具栏操

2、作,通过状态栏,对话框向用户反馈信息。二、综合训练任务(1)任务描述 利用面向对象思想实现企业人事管理,应该具有人事信息、员工业绩,工资设定等管理功能。经过我们的讨论和协调后,我的任务是负责主界面的登陆,以及员工管理和工资管理两大模块,实现了人员信息修改,人员岗位调整,部门查询,以及工资编辑,工资查询,加班管理等功能,而且对于违法操作要有相应的提示信息。各个界面之间能够很好的衔接到一起。数据库的设计主要包括各种信息表的建立和约束条件的创建。此外,待各个模块设计完成之后,我负责将各个部分综合到一起,最后来完成系统的整体测试。(2)技术路线(1)使用MySql数据库实现数据库的建立和完善。(2)使

3、用SWT可视化界面工具进行界面设计。(3)使用JDBC技术实现数据库与java程序的连接。通过提供主机的IP和密码实现数据库的共享。(4)连接成功后可以通过Java程序修改数据库。 三、总体设计(1)数据库的设计 数据库设计我负责员工管理、工资管理两个模块涉及的内容。数据库的设计主要就是根据各模块的功能设计各种表格和建立相应的外键,其中职工编号是所有表的外键。各模块包含的表格如图1。 在MySql数据库中设置可远程访问,通过提供每个人相应的用户名和密码使每个人都可以远程访问数据库所在的服务器,确保数据库的正确。图1 系统各表关系图(2)系统的设计系统总体布局如图2:图2 系统总功能图(3)接口

4、的设计接口设计分为外部和内部两方面:1. 内部接口:系统界面比较清晰,调理清楚,各个功能模块独立封装成类,并且从各个功能界面均可回到主界面。方便用户使用,而且,才有跳转方式,使出现的窗口尽量少。2. 外部接口:各个模块远程访问数据库,实现数据的共享,动态更新数据库,完成各个模块之间的联系,同时各个模块跨表进行使用,及多表调用,比如工资模块调查时,根据工资信息表id,同时搜索员工表显示员工的姓名。四、详细设计说明(1)数据库的设计(1) 用户管理者信息表如表1所示:表1 登陆信息表字段字段名类型宽度Null1用户编号字符型10否2用户名字符型10否3密码字符型20否(2) 职工信息表如表2所示:

5、表2 职工信息表字段字段名类型宽度Null1职工编号数值型10否2职工姓名字符型10否3籍贯字符型50否4性别字符型4否5民族字符型10否6住址字符型50否7出生日期日期型否8婚否字符型8否9所在部门字符型20否10电话字符型12否11政治面貌字符型8否12进入公司的时间日期型否13职位字符型10否14文化程度字符型10否15工资数值型10否16目前的职位字符型10否17备注字符型50是(3) 部门信息表如表3所示: 表3 部门信息表字段字段名类型宽度Null1部门编号数值型10否2部门名称字符型50否3职能描述字符型200否4职工人数数值型10否(4) 员工部门调整表如表4所示: 表4 员工

6、部门调整表字段字段名类型宽度Null1编号数值型10否2职工编号数值型10否3旧部门字符型50否4新部门字符型50否5调整时间日期型否6备注字符型100是(5) 工资表如表7所示: 表5 工资信息表字段字段名类型宽度Null1工资编号数值型10否2职工编号数值型10否3基本工资字符型20否4奖金字符型20否5加班费数值型10否(6) 职员加班表如表9所示: 表6 职员加班表字段字段名类型宽度Null1表编号数值型10否2职工编号数值型10否3加班费数值型10否4时间日期型否(2)系统功能的实现1、设计思路这次的实习时面向对象,要求我们将方法抽象出来,只进行调用,同时要体现一些面向对象的特性,比

7、如多态,继承之类的。可是这次,我们主要是用java的swt和jdbc以及数据库的知识。所以,在体现上,只能封装,其他方面薄弱了点。在封装方面,我一部分用了功能是通过调用类来实现的,还有一部分功能就是直接在界面的设计过程中完成的类。包括一个DBconnect类,是专门用于数据库的连接和关闭的,凡是涉及到来连接数据库的一律来调用这个类。专门设计这个类是为了实现代码的重用。而且为了保证数据库打开了要随时关闭,调用这个类也是很安全的。这个类的使用也确实带来了很多的好处,每次如果服务器换了,只需要改变一个地方,代码就可以正常运行了。另外,每个界面封装成类,方便了我进行界面的切换和相互调用。减少了代码的累

8、赘。2、登陆模块该部分一个有两个功能一个子界面,就是注册界面,用于注册用户,将信息写入到数据库中的用户表中;功能一是判断用户是否是用户表中的成员,如果不是,跳出对话框提醒。功能二是判断用户选择的身份是什么,根据不同身份,进入不同界面,授以不同权限,具体的系统运行图如下:YesYesYesNo图3 登陆界面运行图3、员工管理模块该模块主要包括了数据的添加、修改 、查看和删除,操作的步骤基本一致,下图以添加信息为例,展示了操作的基本步骤。员工管理模块主要分为三个主要的部分,主要是员工信息,部门信息和岗位调整三个方面。每个方面设计了增删改以及查询,查询的时候是根据特定的职工编号,部门编号,岗位编号,

9、查看对应的信息,每次,只显示一个。增删改的时候,先进行判断,主要是查看内容是否存在于数据库中,如果存在,则进行,不存在,就信息提示。4、工资管理模块 工资管理模块主要分为工资编辑,加班管理,工资调整,三个部分,每个部分都是单独的一个界面。 工资编辑的模块,分为查询,插入,删除,在查询的时候,与员工管理系统不同是,主要是用了表格的操作,用于显示所有员工的信息。缺点是,每一次的查询结果跟在下一个后面。如果是普通用户,则只显示和自己有关的信息,不是显示所有人的相关信息 在插入和删除的时候,先判断,插入删除里面的录入的正确性,然后,才执行对应的操作,问题是,不能成批的操作。五、调试与测试(1)数据库的

10、测试1、管理员表测试图3 用户管理员表2、员工信息表测试图4 员工信息表3、部门信息表测试:图5 部门信息表4、员工部门调整表测试:图6 部门信息表5、工资信息表测试:图7 工资信息表6、加班信息表测试:图8 加班信息表(2)系统调试在测试中,主要存在的问题就是对异常的处理,选择部分内容展示如下。1登陆系统部分:登陆界面显示如果什么都不输入,则出现一个出错的对话框图9 登陆出错界面图注册界面显示情况一:如果用户已经存在,弹出提醒对话框。图10 注册用户存在出错图情况二:成功注册,弹出恭喜的对话框。图11 注册成功图普通用户身份进入后主界面显示图12 普通用户主界面图管理员身份进入后主界面显示图

11、13 管理员主界面图2员工管理系统调试以管理员身份进入后:主界面图14 管理员员工管理界面图员工信息查询以及按下删除记录按钮后界面图15 删除界面图再次查询:图16 删除验证图添加员工后,再次查询记录验证:图17 添加员工验证图部门删除添加以及查询:图18 部门删除出错图图19 部门添加成功图岗位调整功能调试:图20 岗位调整成功图以普通用户身份进入后:1 员工信息部分只能查看不能删除:图21 普通用户查询图2 部门信息只能查看不能增删改:图22 部门查询图3 岗位调整也只能查看岗位信息,不能修改:图23 岗位信息查询图不存在的员工编号,弹出对话框提醒:图24 查看出错图3工资管理模块以管理员

12、身份进入:1 工资管理主界面:图25 管理员工资管理主界面图2 工资编辑,查询按钮,表格显示所有人的工资情况图26 管理员查询结果图3 按插入按钮,插入记录成功:图27 员工工资信息插入成功图如果插入的编号,不在员工信息表中,则报错:图28 员工工资信息插入失败图插入后,再次查询,显示发生变化:图29 插入结果验证图4 按删除按钮,删除记录:如果删除的职工号不存在,则报错:图30 删除信息错误图如果,删除的职工号存在:图31 删除成功图再次查询验证:图32 删除结果验证图5 加班情况,按查询按钮,查看所有的加班信息:图33 加班信息查询结果图6 选择插入按钮,插入一条加班信息:图34 加班信息

13、插入成功图再次查询,验证插入情况:图35 加班插入结果验证图7 选择删除按钮,输入要删除的编号:图36 删除成功图再次查询,检验结果:图37 删除结果验证图8 选择工资调整按钮,输入编号,选择操作为涨,验证:图38 工资调整运行图以普通人员身份进入:1 工资查询部分,只能查询工资组成各部分薪酬:图39 普通用户工资查询图2 加班情况查询,只能查询给定编号的员工情况,显示其加班费用:图40普通用户加班情况查询图六、实习日志2011-12-31: 今天是实习的第一天,题目很早就已经选定了,是关于企业人事管理系统,主要是用到了java的jdbc和数据库知识,虽然上学期已经进行了数据库实习,这个数据库

14、部分应该是比较容易实现的,可是,一个学期的没有接触,导致很多地方都很生疏,不得不查看了原来的教材,进行温故。并且耿楠老师要求我们完成实施计划书,我就和刘婷婷分工了一下,明确了各自的任务,同时,讨论了时间安排和进度安排,并进行实施计划书的撰写。2012-01-03:新年过后实习,放松太久了,手又有生疏的迹象,今天,我听说耿楠老师对我们的实施计划书进行了回复,我认真阅读了老师的意见,并结合老师提出的问题,对我的实施计划书进行了完善和修改,同时,开始正式的开始了系统的编写,首先我分析了我所负责的模块所要完成的功能是什么,因为工程比较大,我先分析了员工管理的模块,主要是实现员工信息的增删改以及查询,还

15、有相关部门的查询和岗位的调整,然后根据这几个功能,确定表的张数。并且着手数据库的设计,工具确定为mysql,因为比较简单,可是一开始,mysql进入需要密码,一直很纠结,最后,经过反复的调试,才发现,首先要对数据库参数进行重新的设置,编码改为了utf8,并且,设置初始密码为123。2012-01-04: 我今天主要做的是根据昨天的讨论和表格的初步设计,完善功能时需要的一些表格,经过昨天的思考和完善,数据库的大体内容已经基本确立,上午的时候我主要就是建立的了这些表格,和完成了主键和外键的建立,并着手开始建立一些触发器,发现非常的困难,在网上查到了基本的语句,却又执行不了,学习了一个下午,没有找到

16、错误的原因在哪里,同时,我开始界面的设计,设计了1个员工管理主界面,4个员工管理功能界面,若干个增删改以及查询界面,工程量巨大。并且,实现了与数据库的连接,把它打包成一个独立的类,以后只要设计到数据库连接部分,直接调用就可以了,用的了面向对象的思想,方便代码使用及实现。2012-01-05:今天关于员工管理那方面的数据库完善的差不多了,主要是用jdbc进行与数据库的连接,并且显示。因为错误的认为把swt当做swing,接下的只能硬着头皮用swt做,发现与swing有很多相似的地方,但是没有找到面板,无法实现标签的背景为透明。上午一直在研究这个问题,下午,我主要是对按钮添加了监听器,然后,将按钮

17、的功能实现,用到了jdbc的内容,虽然 jdbc这块Java课中有涉及,我们之前也实习过,可是还是忘掉的差不多了。我用静态建立,实习多条查询,增删改,看书让我回忆起了不少的知识,可是也有问题出现,在查询过程中,可以正常输出,但赋值到文本框中就出现错误,检查也没发现什么问题,一直以为问题出现在文本框赋值那里,检查了半天也没发现问题,最后发现是有两句语句的位置不对,就是两句赋值语句,到现在我也没觉得它错了,但不知道为什么改了后就好了,很郁闷的一个问题。2012-01-06: 今天员工管理方面的内容做的差不多了,除了日常的维护和完善已经不需要做什么,于是,我转而进行员工工资管理系统方面的设计,同样的

18、,我分析了员工工资模块要实习的内容,主要把它分为工资管理,那里又包含了查询,增删功能;工资调整,用于主管对基本工资的调整,里面有增和降两方面;想到工资也与加班有关,所以又设置了加班管理功能,分析之后,我就针对这些功能,设计需要的表格,增加到数据库中,下午,我对上午的设计,进行了完善,考虑到时间问题,我又快马加鞭的,用swt的可视化界面,把所有模块的界面设计完毕,总之,发现,当时想法很简单,可是真正实施以后,有好多的表格,好多的界面,让我看得胆寒。另外,又复习了Java中jdbc的相关知识,这也是我们程序设计中用到对多的知识模块。2012-01-08:昨天完成了工资管理模块的设计,接下来又是添加

19、监听器和实现数据库连接,以及读取显示的事情了,其实比较满意我们的进度,不快不慢,每天都有事情做,比较充实。今天,本来由于步骤和过程,就是实现代码都和原来的员工管理,比较类似,刚开始很轻松,后来设计到了Table组件的用法,花了一会的时间熟悉了Table组件的用法后,问题就出现了,一开始读出了问题,后来才发现,要显示,必须建立一个tableitem,然后将内容赋值给它的settext,并且要用字符数组实现,可是,在运行过程中我发现,虽然可以显示,但就是不能刷新表格内容,每一次查询结都会累加的在后面输出,用clear方法后,也是这样,只不过前面的内容为空,但仍是跟在后面,到现在也没有找到刷新覆盖的

20、办法。2012-01-09:到今天系统功能部分的实现任务都基本完成了,接着,我负责做进入的页面,一开始我就设想,正规系统,必须考虑到安全性,所以一般都有管理员和普通用户两个用户类型,不同的用户有不同的权限,界面的设计很简单,没多少时间就基本搞定了,可是怎样实现权限的设置,并且实现不同用户的判断,一个上午一直在纠结这个问题,一开始,觉得可以用判断语句,可是各个窗口的变量不会相互的调用,总是出错,下午的时候,我决定将问题简单化,就是根据单选按钮判断用户类型,然后根据用户类型进入不同的主界面,而不是改变界面,结果实施的很顺利,然后,我又设置了注册界面,实现用户的注册。2010-01-10:今天是编写

21、代码的最后一天,主要的任务就是将同学的和自己的设计进行整合,可是由于先前比较自我,交流的有些少,界面的风格不是很统一,于是我们对界面做了修改,发现美工比代码更困难,图片难找,又要正式又要好看,花了很长时间。此外,整合起来后,修改变得十分困难,一改后,基本就这不行,那不行的一大堆小问题,而且,调试时,似乎越到最后出现了越来越多的问题。每一个程序单独的时候都是可以顺利运行的,但整合之后在数据库的连接上总是出现问题,运行的时候结果总会出现异常,有几次都是数据库的连接上出现的问题,也有一些是程序代码间在连接的时候因标准不一造成的,还有一些如功能混乱重复的也都删除掉了。虽然这次实习都不是一些很大的题目,

22、但同样体现了合作的重要性和在合作中应该注意的问题。2011-01-1112: 在这两天的时间里,主要是编写了论文以及修改了实施计划书,同时在不断的修改着不断出现的问题,编写报告的过程同时也是将我们整个任务从头又思考一边的过程,每写一步都是对这个模块和功能再次思考和完善的工程。在这两天里又出现了很多的问题,在运行的过程中,我们发现当初想的很片面,有些功能不完善,有的安全性不够,而且,对于一个系统,我们的界面十分的不科学,可是,时间不允许我们有太大的改进,越到后面越发现动一发动全身。在修修改改的紧张忙碌中,终于实习结束了回想起十天的辛勤以及最终的成果,虽然粗糙,可也有一种无法言语的成就感,比较是自

23、己的成品啊!七、实习总结两周的面向对象实习训练接近尾声,通过这两周的实习,使我不仅对面向对象的思想有了更深的理解,同时体会到团队合作的重要性,虽然是两个人的小团队,但也是我明白,没有团队的合作,一个人是很难完美的完成各项任务的,团队的合作才是成功完成任务的保证。 这次的课程设计是在我们两个人的配合下完成的,以前都是一个人再做实习,两个人就要讲究配合,如何分配任务,如何设计功能模块的接口,如何整合程序等问题都要提前考虑,让我初步体验了该如何合作的去完成一个任务。 在两周的时间里,我们讲前面学过的理论知识运用到实践中来,由于比较长时间没有接触java,对于java的一些基本知识有些生疏,在复习了一

24、下知识后,便开始了我们的工作。首先就是分配任务,我们两个人在商量后,合理的分配了各自的任务,然后便开始了各自的任务。开始的几天,由于对java的生疏,尤其是关于SWT的知识也有很多都忘记了,所以进度比较慢,在完成了一个功能模块后,对SWT也熟悉了,进度才慢慢的快了起来。 在功能界面的设计和实现过程中遇到了很多问题,比如图像用相对路径无法找到图片进行插入, 而只能用绝对路径才可以,后来在同学的帮助和交流中解决了这个问题。还有一个比较麻烦的问题就是数据库编码的问题,数据库中的汉字总是没办法正常显示,读到界面中更是无法显示中文,改了几次编码方式也没有得到正确的解决,后来通过查询和与同学交流最终解决了

25、这个麻烦的问题,只有使用gbk编码才可以正常显示。最后就是程序的整合,在开始分配任务的时候忘记考虑变量等一些问题,结果在整合后,遇到了很多冲突,变量名冲突,函数名冲突等一些问题,这时才意识到,合作原来有这么多问题要提前考虑,不然如果是一个很大的项目,那估计就得重新编写代码了。 此次的实习不仅在动手能力上得到了很大的锻炼,对学过的知识也重新复习了一遍,加深了对知识运用的理解。此外,还有一个收获就是体验到了合作的重要性,学会了如何合作,合作的好坏直接关系到工作的效率。最后,感谢老师在本次实习中给予的知道和帮助,也感谢在本次实习中同学的帮助,在老师和同学的帮助下,我们顺利的完成了此次实习任务。八、附

26、录:核心代码清单1、与数据库建立连接的DBconnect类:public class DBconnect public Connection conn = null; public DBconnect() try Class.forName(com.mysql.jdbc.Driver); String url = jdbc:mysql:/localhost:3306/company?useUnicode=true&characterEncoding=utf8; conn = DriverManager.getConnection(url,root,123); catch (ClassNotFo

27、undException e) e.printStackTrace(); catch(SQLException e) e.printStackTrace(); public void closeDB() if(conn!=null) try conn.close(); catch (SQLException e) e.printStackTrace(); 2、登陆界面代码public class enter protected Shell shell; private Text name; private Text pwd; public Button manager; public Butt

28、on common; /* * Launch the application. * param args */ public static void main(String args) try enter window = new enter(); window.open(); catch (Exception e) e.printStackTrace(); /* * Open the window. */ public void open() Display display = Display.getDefault(); createContents(); shell.open(); shell.layout(); while (!shell.isDisposed() if (!display.readAndDispatch() display.sleep(); /* * Create contents of the window. */ protected void createContents() shell = new Shell(); shell.setSize(459, 296); shell.setText(SWT Application); shell.setBackgroundMode(SWT.I

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2