毕业设计(论文)企业信息管理系统_第1页
毕业设计(论文)企业信息管理系统_第2页
毕业设计(论文)企业信息管理系统_第3页
毕业设计(论文)企业信息管理系统_第4页
毕业设计(论文)企业信息管理系统_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、吉林化工学院毕业论文企业信息管理系统enterprise information management system学生学号: 学生姓名: 专业班级: 指导教师: 职 称: 起止日期: 吉 林 化 工 学 院jilin institute of chemical technology摘 要信息管理系统就是我们常说的mis(management information system),它是一个计算机软硬件资源以及数据库的人机交互系统。经过对题目和内容的分析,选用了sun公司的java开发语言,以此为基础,使用现今最为流行的struts、hibernate、spring三大框架进行系统的开发。使用

2、三个框架的结合初步实现了诸如添加、删除、查询、修改等功能,并通过权限控制,为不同的登录用户提供不同的操作功能。在当代随着计算机的普及和计算机科学技术的飞速发展,人们也越来越多地利用计算机解决实际问题。员工信息管理是企业信息管理的重要部分,面对大量的人事信息,采用人力处理即浪费时间、又浪费人力和物力,并且数据的准确性低。因此,开发一个界面友好,易于操作的企业信息管理软件进行自动化处理变得十分重要,本系统正是为了提高企业管理的工作效率,通过了解到的系统现状以及对当代企业的需求之后,该系统必须实现对人员管理、招聘管理、培训管理、奖惩管理和薪金管理等模块进行操作和维护的功能。本文介绍了企业管理系统的开

3、发过程。论文详细介绍了从系统的需求分析、系统分析、概要设计、详细设计的整个开发过程。关键词:企业信息管理;java语言;面向对象;javaeeabstractinformation management system is what we often say that the mis (management information system), it is a computer hardware and software resources, and interactive database system. after the analysis of the topic and conte

4、nt, the choice of the suns java programming language, on this basis, the most popular use today struts, hibernate, spring framework for the three systems. using a combination of the three initial realization of the framework, such as add, delete, query, modify, and other functions, and through acces

5、s control, log on to different users with different operating functions.with the proliferation of computers in modern and rapid development of computer science and technology, more and more people use computers to solve practical problems. employee information management is an important part of ente

6、rprise information management, the face of a large number of personnel information, the use of manpower to tackle the waste of time and waste of human and material resources, and the low accuracy of the data. therefore, developing a friendly interface, easy operation of enterprise information manage

7、ment software for automated processing becomes very important, this system is to improve the efficiency of enterprise management, learned the system through the current situation and the needs of contemporary business, after the system must implement the personnel management, recruitment management,

8、 training management, incentive management and payroll management modules for operation and maintenance.this article describes the development process of enterprise management systems. paper introduces the requirements from the system analysis, system analysis, outline design, detailed design of the

9、 entire development process.key words:enterprise information management system;java language;object-oriented;javaee目 录摘 要iabstractii第1章 绪 论11.1企业信息管理系统11.2课题研究的意义11.3企业信息管理系统的作用11.4技术选定11.4.1 可移植性21.4.2 可拓展性2第2章 企业信息管理系统的设计32.1企业信息管理系统总体功能需求32.2系统模块介绍32.3企业信息管理系统功能模块设计32.4系统的可行性分析42.4.1 经济性42.4.2 技术

10、性42.4.3 安全性42.4.4 可维护行42.4.1 实用性42.5企业信息管理系统数据库设计42.5.1 对于表中字段关系的描述7第3章 企业信息管理系统的具体实现与描述93.1用户登录界面93.2人员管理模块设计143.3招聘管理模块设计193.4培训管理模块设计193.5薪酬管理模块设计20第4章 系统安装调试及测试214.1服务器的安装与调试214.2在ie中进行测试224.3系统测试时遇到的问题224.4系统有待改进的地方224.5系统的优点23结 论24参考文献25致 谢26第1章 绪 论1.1企业信息管理系统全球范围内的企业内部组织正在发生巨变,未来企业成功的关键的依靠企业人

11、力资源,人才之争已经成为市场竞争中的核心内容之一,以人为本成为企业立足和发展的根本。有效力的管理企业人力资源,为企业提供强有力的储备力量,使之成为企业发展的主动力。通过对企业中人力资源的有效管理,掌握最新的、准确的企业人力资源信息,并对其进行复杂的统计与分析,从而充分发挥每个员工的潜能,为企业创造更大的价值。网络化的今天,企业信息管理系统,使新的人力资源协作管理模式成为可能。通过企业管理系统,专门的人力资源管理人员可以提高自身的工作效率,作好人力资源管理的协调工作,提高人力资源利用率;通过企业管理系统,员工可以直接管理自己的技能,有效地发现和挖掘自身的潜能,及时与自己的上级、下属、同事进行沟通

12、与交流,同心协作,积极为企业的发展与决策贡献力量。通过企业信息管理系统对企业人力资源进行管理,使企业人力资源管理适应时代的发展要求,大大提高了企业的核心竟争力。1.2课题研究的意义企业不仅需要通过互联网进行产品或服务宣传,更需要将核心业务进行信息化处理,通过网络并依靠企业综合信息的管理,简化业务流程,提高人员之间的工作效率,实现业务流程管理、非业务流程管理以及协同工作的全方位解决方案。从而使企业的核心竞争力得到提升。1.3企业信息管理系统的作用通过企业信息管理系统可以在任何地点对企业中的人进行管理,信息管理系统解决了跨地区、跨时间、跨单位、跨部门、跨员工之间的查阅障碍,只要是在有权限的前提下,

13、需求者可以迅速通过系统找到自己需要的各种信息。提升了组织或个人的隐性知识为显性知识,并保证两者之间的有效转换。通过系统对于企业中的人力管理实现了简单化,规范化和明朗化。1.4技术选定随着internet技术的兴起,将原本在单机或本地局域网上运行的数据库系统移植到因特网中,即开发基于browser/server模式的新一代mis系统,正成为技术发展的趋势。java语言是当今it领域中比较流行的开发语言,对于本文中使用的struts、hibernate、spring三个框架是对java语言的一种封装,底层运用java语言为整个系统未来的使用和发展提供了强大的支持,对于选择这样的架构最大的好处如下:

14、1.4.1 可移植性由于java语言是一种跨平台的语言,所以java实现了一次编译处处运行的好处,所以在任何的系统下只要有java虚拟机本系统都可以正常的运行,相对其他的语言java不受操作系统的限制。1.4.2 可拓展性由于本系统使用了struts、hibernate、spring三大框架的结合,三大框架将系统中的展示层、持久层、业务层很好的分离开来,三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。这样对于系统的维护、扩展、修改提供强大的支持。对于以后系统的长久使用做了进一步的保证。第2章 企业信息

15、管理系统的设计2.1企业信息管理系统总体功能需求企业信息管理系统主要是针对企业运营计划、内部的人事信息以及招聘信息而设计的,并且现代的各种企业已经开始广泛应用。根据初期的设计,通过调查,要求系统需要有以下功能;全面管理企业的员工信息。管理企业人力资源管理的基础信息。人才招聘管理及企业人才库管理功能。企业人才培训的全程跟踪管理。提供企业员工考勤管理。设置企业员工薪酬管理。提供系统用户管理功能。2.2系统模块介绍企业信息管理系统功能结构如图2-1所示。人力规划招聘信息管理企业人才库培训计划培训人员培训材料薪酬登记薪酬修改薪酬查询添加用户用户管理添加用户查询用户修改用户信息员工考勤登记删除用户修改密

16、码人事管理用户管理招聘管理培训管理薪酬管理系统管理企业信息管理系统 图2-1 系统功能图2.3企业信息管理系统功能模块设计企业信息管理系统由人事管理、薪酬管理、招聘管理、培训管理、系统管理5部分组成,规划系统功能模块如下:人事管理模块:该模块主要功能是对人事管理的基础信息、员工基本信息、合同信息等进行管理招聘管理模块:该模块主要是对企业招聘信息、企业的应聘信息、企业人才库进行管理。培训管理模块:该模块主要是对企业的培训计划、培训实施、培训材料等信息进行管理。薪酬管理模块:该模块主要功能是对管理员工薪酬信息进入管理。系统管理模块:该模块主要功能是对操作员信息、操作员操作权限进入管理。2.4系统的

17、可行性分析2.4.1 经济性通过网络化的人力资源管理,大大的提高了企业人才的利用率,使之为企业创造了更大价值。人才利用率的提高,增强了企业的核心竟争力,全面提升了企业的管理能力,从而企业适应了信息时代的网络化管理要求。2.4.2 技术性通过网络化管理,增强了员工之间的沟通,更好的协调员工之间的协作关系,对员工考勤与薪酬管理更加的科学。全程跟踪员工的培训,通过信息的记录,更好的作出员工培训方案。2.4.3 安全性系统安全措施可靠、高效、可维护性好,有权限控制、口令控制、其中口令录入界面便于系统识别登录用户。2.4.4 可维护行 为了保证系统的可维护性,要求具有详细的文档资料,同时,要求系统在功能

18、设计上考虑可扩展性,以满足业务变动的需求。2.4.1 实用性从系统的实际需要出发进行系统开发,不盲目追求高新技术的应用。对于一般的人员都可以操作简单易懂。2.5企业信息管理系统数据库设计本系统采用sqlserver 2000数据库,系统数据库名为personmanager,数据库personmanage中包括7个数据表。educate 培训信息表主要用于存放培训信息表,institution 奖惩表主要存放奖惩信息,job应聘信息表主要用来保存应聘信息,stipend 薪金表主要用于保存每个人员的薪金,user 用户表主要用来存放员工的基本信息,role 角色表主要用来保存系统都有哪些角色,p

19、erson 人员表主要保存受训人员的信息。对于每个表的详细设计如下:培训信息表如表2-1所示:表2-1 培训信息表字段名数据类型长度是否主键描述idint4是数据库流水号namevarchar100培训名称purposevarchar500培训目的begintimedatetime8开始培训时间endtimedatetime8结束培训时间datum_idint4培训期数idteachervarchar50培训讲师createtimedatetime8创建时间user_idint4人员ideducatebit1培训级别effectvarchar500培训影响度summarizevarchar20

20、00培训材料对于表中datum_id 对应一个person受训人员表,person受训人员表如表2-2所示:表2-2 培训人员信息表字段名数据类型长度是否主键描述idint4是数据库流水号namevarchar2000人员名字datum_idint4培训期数idsexvarchar2性别ageint4年龄createtimedatetime8受训时间奖惩表的主要字段和主要信息如表2-3所示:表2-3 奖惩表字段名数据类型长度是否主键描述idint4是数据库流水号user_idvarchar2000员工工号reasonvarchar50奖惩原因explainvarchar50描述createti

21、medatetime8创建时间应聘信息表的主要字段和主要信息如表2-4所示:表2-4 应聘信息表字段名数据类型长度是否主键描述idint4是数据库流水号namevarchar50姓名sexbit1性别ageint4年龄jobvarchar50应聘职位specialtyvarchar50所学专业experiencevarchar50工作经验studyeffortvarchar50在校所学专业schoolvarchar50毕业学校telvarchar50电话emailvarchar50电子邮件createtimedatetime8创建时间contentntext16详细经历isstockbit1标

22、识薪金表的主要字段和主要信息如表2-5所示:表2-5 薪金表字段名数据类型长度是否主键描述idint4是数据库流水号user_idint8员工工号basicfloat8基本薪资eatfloat8饭补housefloat8房补dutyfloat8全勤奖scotfloat8赋税punishmentfloat8额外补助otherfloat8罚款granttimedatetime8发放时间totalizefloat8总计用户表的主要字段和主要信息如表2-6所示:表2-6 用户表字段名数据类型长度是否主键描述idint4是数据库流水号usernamevarchar50用户名称passwordvarcha

23、r50用户密码sexbit1用户性别birthdaydatetime8用户出生年月日createtimedatetime8用户创建的时间user_idint8员工工号role_idint2000人员的级别角色表的主要字段和主要信息如表2-7所示:表2-7 用户表字段名数据类型长度是否主键描述role_idint4是数据库流水号namevarchar2000角色名称explainvarchar50描述createtimedatetime8创建时间2.5.1 对于表中字段关系的描述在培训信息表中主要有培训名称,培训目的,培训讲师,培训时间等字段,在这个表中有一个培训期数id列即datum_id列这

24、个字段主要是person表中datum_id字段的一个主外关联,在同一个受训班中会有很多的人不可能在这个表中显示,所以需要一个特别表存放受训人员信息即person表在培训信息表中受训期数是固定的即datum_id是每条记录都不同的。但是在person表中会对应多个相同的受训期数的id他们是一对多的一种关系,当需要查每期的人员信息时会通过这个字段将人员表中的每个人员都查到。在所有的表中只有应聘信息表是一个与其他的表没有主外键关系的表,这个表中主要是存放应聘人员的基础信息,作为企业招聘人才的一个信息库,在这里我们可以很容易的通过创建时间这一列查到某一天来到公司应聘人员的基本信息,根据公司的筛选可以

25、来对比进行聘用。对于的企业的人才选用有着极其重要的作用。在奖惩表中用来存放公司受到过奖励活惩罚的员工的一些信息,主要有奖惩的名字,何种原因受到的奖惩,在这个表中还有一个user表的外键即user_id员工工号这个字段主要用来记录是哪个员工受到的奖惩,它将通过这个user_id找到user表中受过奖惩的员工,可以查询这个员工的基础信息,能够找到以前所有的奖惩记录。在薪金表中主要存放员工的福利待遇。在这个表中会记录一个员工在公司的基本工资,会得到公司的各项补助有多少,最会会得到这个员工在这个月应该得到的薪水。它与奖惩表都具有user_id这个字段用来存放是哪个员工,也是user表的一个外键。通过这

26、个表的设计,减少了公司人力处理员工薪资时有可能会出现的错误,通过这个表通过程序的处理会的到,每个员工应该得到的薪水。在员工表中主要存放本公司员工的基本信息,在员工表中user_id为奖惩表和薪金表提供了主键依据,通过这个字段的设置任何一个表都可以查看到它所对对应的人员信息,除此字段外人员表中还有一个role_id字段这个字段主要是角色表的一个外键,通过这个字段可以判断登陆系统的这个人有什么权限,可以看到什么功能,能够进行什么操作。这样就可以把每个人员分成几类,可以根据企业的要求判断不同的人员。在角色表中主要存放企业所需要的不同角色,在这个表中通过role_id为员工表提供了依据,在角色表中每个

27、角色的id都是唯一固定的,通过在登陆页面的判断就可以选择出登陆人的级别。第3章 企业信息管理系统的具体实现与描述3.1用户登录界面用户登录界面主要用于登录系统。设计了3个标签,企业信息管理系统、用户名、密码。设计了2个按钮,分别是登录、退出。企业信息管理系统是企业管理者使用的系统,只有系统管理员为每个工作人员建立用户名和密码才能够登陆系统。在创建用户名和密码的时候同时为这个人员赋予权限,标示这个登陆人员在登陆系统时可以使用的功能。用户登陆页面如图3-1所示:图3-1 用户登陆页面系统登陆是企业信息管理系统中最先使用的功能,因为用户登陆在数据库中使用的是人员表,人员表中有一个role_id字段,

28、是来区别登陆人员是否是管理员。在登陆时要根据数据库的这个字段来判断此用户是否具有管理员的权限。在网页里添写用户名和密码后点击登陆按钮,网页会访问一个url,这个url是“logon.do?action=logon”,代码如下:用户名: 密  码:   在这个表单的name的值是usersform中的一个属性,userform是struts的actoinform的实现类在配置文件中的名字,如下所示:action是struts的action的url,他们在struts的配置文件中都是已经配好的,如下所示: 在这个配置文件中,可以了解到如下信息:根据name=userf

29、orm可以找到与之相对应的actionform的实现类“com.bos.bpro_personmanage.actionform.usersform”。根据type=com.bos.bpro_personmanage.action.usersaction可以找到处理用户数据的action类。根据和可以了解,这个action返回success时,页面会被转到manage.jsp文件,这就是登陆成功的页面。如果当action返回failed时,页面会被转到failed.jsp文件,这个文件是当用户登陆失败将要转到的页面。struts的action的实现类是这个登陆页的核心内容,在整个登陆过程中客户

30、端发送一个web请求交给web容器进行处理,web容器以代理的形式交给spring容器处理,spring容器经过处理以后返回一个字符串,通过这个字符串返回客户端一个响应页面具体的代码实现如下所示:package com.bos.bpro_personmanage.action;import javax.servlet.http.httpservletrequest;import javax.servlet.http.httpservletresponse;import net.sf.hibernate.hibernateexception;import org.apache.struts.ac

31、tion.action;import org.apache.struts.action.actionform;import org.apache.struts.action.actionforward;import org.apache.struts.action.actionmapping;import com.bos.bpro_personmanage.actionform.usersform;import com. bos.bpro _personmanage.en.users;import com. bos.bpro o_personmanage.service.usersdao;pu

32、blic class usersaction extends action private usersdao dao=new usersdao(); public actionforward execute(actionmapping mapping, actionform form, httpservletrequest request, httpservletresponse response) throws exception string action =request.getparameter(action); if(action=null|.equals(action) retur

33、n mapping.findforward(error); else if(listuser.equals(action) return listuser(mapping,form,request,response); else if(adduser.equals(action) return addusers(mapping,form,request,response); else if(logon.equals(action) return logon(mapping,form,request,response); else if(updateuser.equals(action) ret

34、urn updateuser(mapping,form,request,response); else if(deleteuser.equals(action) return deleteuser(mapping,form,request,response); else if(selectuser.equals(action) return selectuser(mapping,form,request,response); return mapping.findforward(error); private actionforward selectuser(actionmapping map

35、ping, actionform form, httpservletrequest request, httpservletresponse response) throws hibernateexception long id=new long(request.getparameter(id); users u=dao.loadusers(id.longvalue(); request.setattribute(user,u); return mapping.findforward(success); private actionforward deleteuser(actionmappin

36、g mapping, actionform form, httpservletrequest request, httpservletresponse response) throws hibernateexception long id=new long(request.getparameter(id); users users=new users(); users.setid(id); dao.deleteusers(users); return mapping.findforward(success); private actionforward updateuser(actionmap

37、ping mapping, actionform form, httpservletrequest request, httpservletresponse response) throws hibernateexception usersform usersform=(usersform)form; users users=usersform.populate(); dao.updateusers(users); return mapping.findforward(success); private actionforward logon(actionmapping mapping, ac

38、tionform form, httpservletrequest request, httpservletresponse response) throws hibernateexception usersform usersform=(usersform)form; users users=new users(); users.setusername(usersform.getusername(); users.setpassword(usersform.getpassword(); boolean flag=dao.logonusers(users); if(flag) request.

39、getsession().setattribute(users,users); return mapping.findforward(success); else return mapping.findforward(failed); private actionforward addusers(actionmapping mapping, actionform form, httpservletrequest request, httpservletresponse response) throws hibernateexception usersform usersform=(usersf

40、orm)form; users users=usersform.populate(); dao.addusers(users); return mapping.findforward(success); private actionforward listuser(actionmapping mapping, actionform form, httpservletrequest request, httpservletresponse response) throws hibernateexception request.setattribute(list,dao.listuser(); r

41、eturn mapping.findforward(success); struts的action实现类的execute()方法是最先被执行的,这个方法本身也没有具体的事务,而是根据action的参数不同执行相应的方法。在登陆页里面可以找到有一个“action=logon”的字样,它的目的就是在这里做逻辑判断。当action=logon时调用logon()方法。logon()方法从usersform中得到用户提交的数据,然后在调用usersdao()的logonusers()方法。并且把usersform转成users类做为logonusers()方法的参数。调用后会返回一个boolean型的

42、值。如果为真,则返回“mapping.findforward(success);”否则返回“mapping.findforward(failed);”也就是当用户登陆成功后,返回给用户登陆成功的页面,登陆失败后返回用户一个登陆失败的页面。那么usersdao的logonusers()方法是根据什么得到的返回值呢,现在就让我们看看这个方法,如下所示: public boolean logonusers(users users) throws hibernateexception session session = hibsessionfactory.currentsession(); trans

43、action tx = session.begintransaction(); query query = session.createquery(select count(*) from users as u where u.username = :name and u.password =:password and u.isadmin=:isadmin ); query.setstring(name, users.getusername(); query.setstring(password, users.getpassword(); query.setbyte(isadmin,new b

44、yte(1).bytevalue(); list list = null; list = query.list(); mit(); hibsessionfactory.closesession(); if (list != null) iterator it = list.iterator(); if (it.hasnext() if (integer) it.next().intvalue() = 1) return true; return false; 这个方法先通过hibsessionfactory得到一个hibernate的session并且开始一个事务,session再

45、像使用一个欲编译似的命令似的东西,设定参数、提交事务和最后在关闭session.。得到一个list里面就存储着所有查询出的结果。根据这个结果就可以判断出该用户是否有登陆的权根了,在返回true 或者false。就这样合法的用户就可以顺利的登陆了。那刚才那些有些类似于欲编译的东西是什么呢,这些就是hibernate特有的查询语言,被称为hibernate 查询语言即hql语句,而它本身也就是使用的jdbc的欲编译技术。3.2人员管理模块设计人员管理模块主要包括浏览人员信息、添加人员信息、删除人员信息、人员信息的修改。各项管理工作都是在用户成功登陆后的管理页面进行的,在管理控制页面的左侧是各项的相

46、关链接,右侧是操作平台。管理控制页面右侧实际上是一个框架,代码如下所示:在左侧的链接中使用target=frame就可以在这个iframe中打开新的链接了。单击“添加人员信息”,即打开添加人员信息的页面如图3-2所示。图3-2 添加人员页面人员信息的列表的最后一列可以对该条记录做删除和修改。删除的链接地址是“modifyuser.do?action=deleteuser&id=”它向action的实现类提交了两个参数,一个是action=deleteuser是固定不变的,另一个是该用户的id这是根据不同记录取出来的。在usersaction类中根据action的值可以找到与其相对的方法,如下所

47、示:private actionforward deleteuser(actionmapping mapping, actionform form, httpservletrequest request, httpservletresponse response) throws hibernateexception long id=new long(request.getparameter(id); users users=new users(); users.setid(id); dao.deleteusers(users); return mapping.findforward(success); 在这个方法里得到页面提交过来的用户i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论