《2022年企业员工管理系统.doc》由会员分享,可在线阅读,更多相关《2022年企业员工管理系统.doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、企业职工信息治理系统的设计与实现报告一. 概述随着计算机技术、网络技术和信息技术的开展,越来越多地改善着现代人的观念。网络办公自动化系统是计算机技术和网络迅速开展的一个办公应用处理方案,它的主要目的是实现信息交流和信息共享,提供协同工作的手段,提高办公的效率,让人们从繁琐的有纸办公中解脱出来。如今我国的许多的机关单位的企业员工信息治理水平还停留在纸介质的根底上,如此的机制已经不能习惯时代的开展,由于它浪费了许多人力和物力,在信息时代这种传统的治理方法必定被计算机为根底的信息治理所取代,基于这种情况,我们实验小组研究开发了这套企业员工信息治理系统,希望这套系统能为小型公司的人事治理带来更多的方便
2、。本软件基于B/S形式, Tomcat6,mysql5,J2EE5环境, 利用MyEclipse完成J2EE的企业级技术开发,整合Hibernate3,struts2,spring三大框架完成的人事治理的系统.a) Hibernate完成数据库持久层的开发,使整个系统脱离了对底层数据库实现技术的依赖.b) struts2完成WEB层的开发,并利用其面向切面的拦截器技术完成权限验证等咨询题.c) Spring的IOC容器,利用其依赖注入,操纵反转等特性,实现了业务逻辑层与WEB层的解耦,DAO,SERVICE,ACTION均通过spring治理其逻辑组件与相应的bean.二.需求分析1.功能需求
3、:a) 实现员工的注册与登陆,并具有权限的分级.b) 新注册的员工并不安排在员工信息中,而是放入待审核一栏,等待治理员的审核,审核通过,分配其职位等信息,在此能够通过员工信息查询到该用户.c) 具有对公司职位的治理功能,同时完成此功能需要治理员的权限.d) 登陆的用户具有查询,阅读企业员工详细信息的权限,同时能够修正本人的详细信息一栏,如号码,登陆密码,年龄等权限,但不能修正本身的工作信息,如职位,状态,注册时间等.e) 治理员能够审核提交注册申请的注册用户,能够修正比本人权限级别低的员工的工作信息,分配其职务,状态,并可删除相应用户的信息.f) 能够通过员工姓名,职位,教育程度对员工进展模糊
4、查询.2.模型图:a)数据库ER图b)用户操作模型图三.数据库逻辑设计1.数据库关系表2.根本表关系描绘a)每个职员拥有个人信息表与工作信息表,其个人信息表与工作信息表是一对一关系,实现方式是利用hibernate的共享主键技术,即user_info的主键id并不是由数据库底层方式生成,而是依赖与work_info的主键id,其中work_info的主键由MySql的自动递增方式生成,每增加一名用户,先由数据库底层生成work_info的主键id,然后user_info依照已生成的work_info的id为本人的主键,实现了一对一关系,并在hibernate的支持下实现了级联更新与删除操作.b
5、)每个员工的工作信息表与职位表是多对一关系 ,即工作信息表中position_id是position表的外键,一个职位可能存在多个员工.3.根本表源码a)user_info表CREATE TABLE user_info ( id int(11) NOT NULL, login_name varchar(20) DEFAULT NULL, pass_word varchar(20) DEFAULT NULL, true_name varchar(20) DEFAULT NULL, sex varchar(10) DEFAULT NULL, tel_num varchar(20) DEFAULT
6、NULL, age int(3) DEFAULT NULL, marriage varchar(10) DEFAULT NULL, educational varchar(20) DEFAULT NULL, PRIMARY KEY (id)b)work_info表CREATE TABLE work_info ( id int(11) NOT NULL AUTO_INCREMENT, position_id int(11) DEFAULT NULL, status varchar(50) DEFAULT NULL, create_time datetime DEFAULT NULL, autho
7、rity int(3) DEFAULT NULL, PRIMARY KEY (id), KEY position_id (position_id),CONSTRAINT work_info_ibfk_5 FOREIGN KEY (position_id) REFERENCES position (id) ON DELETE SET NULL ON UPDATE SET NULL)c)position表CREATE TABLE position (id int(11) NOT NULL AUTO_INCREMENT,pos_name varchar(50) DEFAULT NULL,PRIMAR
8、Y KEY (id)四.软件功能设计1.软件功能图a)在菱形表示的区域中,表示执行改操作需要的权限.b)在白底矩形方框中,表示执行此操作的用户.c)在蓝底矩形方框中,表示此操作的名称.d)在椭圆形中,表示执行当前操作所用到的STRUTS2中的ACTION,ACTION中调用相应的业务逻辑完成各种功能.e)在圆角矩形方框中,表示渲染当前操作的JSP界面,并可在JSP中通过不同的链接调用不同的ACTION.该功能图在大体上表示了该人事治理系统的主要逻辑功能,其中一些小的跳转如在提交表单,权限效验时等等失败过程所执行的操作在考虑到图形的复杂性上并没有完全给出,但能够在源程序中看出详细的流程.2.详细
9、设计JavaBean模块,该模块主要定义了各个主要的JavaBean,完成对各供需要信息的封装,便于业务逻辑的实现.包含四个标准的JavaBean和三个hibernate的数据库映射表文件.PageModel是一个分页模型,它封装了每个页面记录的数量,当前数据在数据库中总的数据条数,当前页码,下一页,上一页页码,以及当前页面封装的List类型的数据,用户JSP界面的迭代输出./每个界面包容记录数的上限private int pageSize;/当前页码private int nowPage;/总的页码private int totalPage;/上一页的页码private int previo
10、usPage;/下一页的页码private int nextPage;/封装此Bean的action名private String actionName;/当前页面的数据private List userList;public PageModel(int nowPage, int pageSize, int totalRecord,List userList) this.totalPage = (totalRecord + pageSize - 1) / pageSize;this.nowPage = nowPage;this.pageSize = pageSize;this.userList
11、 = userList;/假如上一页比一小,则上一页依然一previousPage = (nowPage = totalPage) ? (totalPage) : (nowPage + 1);下面的三个bean, Position封装了职位信息并通过Position.hbm.xml完成与数据库的映射; UserInfo封装了员工个人信息并通过UserInfo.hbm.xml完成与数据库的映射; WorkInfo封装了工作信息并通过WorkInfo.hbm.xml完成与数据库的映射.public class UserInfo /idprivate int id;/登陆名private Strin
12、g loginName;/真实姓名private String trueName;/密码private String passWord;/性别private String sex;/年龄private int age;/号码private String telNum;/婚姻private String marriage;/学历private String educational;/一对一映射的工作信息private WorkInfo workInfo;public int getId() return id;public void setId(int id) this.id = id;publ
13、ic int getAge() return age;public void setAge(int age) this.age = age;public String getMarriage() return marriage;public void setMarriage(String marriage) this.marriage = marriage;public String getEducational() return educational;public void setEducational(String educational) this.educational = educ
14、ational;public WorkInfo getWorkInfo() return workInfo;public void setWorkInfo(WorkInfo workInfo) this.workInfo = workInfo;public String getLoginName() return loginName;public void setLoginName(String loginName) this.loginName = loginName;public String getTrueName() return trueName;public void setTru
15、eName(String trueName) this.trueName = trueName;public String getPassWord() return passWord;public void setPassWord(String passWord) this.passWord = passWord;public String getSex() return sex;public void setSex(String sex) this.sex = sex;public String getTelNum() return telNum;public void setTelNum(
16、String telNum) this.telNum = telNum;public UserInfo() public UserInfo(int id , WorkInfo workInfo) this.id = id;this.workInfo = workInfo;这里列出UserInfo的映射文件. workInfo 五.界面设计界面的构造图如下图1.登陆界面主要通过Struts2的标签完成表单的生成以及简单的逻辑操作/假如用户名密码错误在这里显示/通过插入SESSION的ID防止表单重复提交2.注册界面3.治理员权限与一般权限用户的操作界面/推断是否是治理员,是治理员则多出审核用户与
17、职位治理操作,这里是属于客户端效验审核用户职位治理员工阅读员工查询ahref=/PersonnelManagement/user/getUserInfoByIdAction.action?id=个人治理注销登陆4.用户详细信息的显示与修正界面5.用户列表的信息显示界面这里只有治理员才具有删除操作的显示,且也属于客户端验证,即便用户用直截了当输入网址的方式也不能越权完成操作,由于效劳器端验证仍然存在.6.职位治理界面在空白况中输入新的职位名称,并点击提交即可完成职位添加的操作,这里的职位是不能够重名的,假如重名会有提示.六.心得体会通过这次的实验我个人得到了不少的收获,一方面加深了我对课本理论的认识,另一方面也提高了实验操作才能。在这次的实验中,我对一些测试硬件、软件及其使用有了更深入的认识。做这次的测试技术实验,我们学生本人的才能得到了充分的发挥,跟以往那些充满条条框框的实验是不同的。通过这次的测试技术实验我不但对理论知识有了更加深的理解,关于实际的操作和也有了质的飞跃。通过这次的实验,我们整体对各个方面都得到了不少的提高,也让我们得到了更好的锻炼。