鞍钢附企工贸公司人事管理信息系统.docx

上传人:牧羊曲112 文档编号:1871947 上传时间:2022-12-23 格式:DOCX 页数:29 大小:796.91KB
返回 下载 相关 举报
鞍钢附企工贸公司人事管理信息系统.docx_第1页
第1页 / 共29页
鞍钢附企工贸公司人事管理信息系统.docx_第2页
第2页 / 共29页
鞍钢附企工贸公司人事管理信息系统.docx_第3页
第3页 / 共29页
鞍钢附企工贸公司人事管理信息系统.docx_第4页
第4页 / 共29页
鞍钢附企工贸公司人事管理信息系统.docx_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《鞍钢附企工贸公司人事管理信息系统.docx》由会员分享,可在线阅读,更多相关《鞍钢附企工贸公司人事管理信息系统.docx(29页珍藏版)》请在三一办公上搜索。

1、摘 要人事管理信息系统作为一种新型的管理方式,受到了社会的广泛关注,本毕业设计以JSP技术为基础,设计实现一个鞍钢附企工贸公司人事管理信息系统。系统主要根据实际的需求,以需求分析、系统的设计目标,并且重点进行系统功能模块的详细设计和实现,采用了NETBEAN开发平台和MYSQL数据库,实现了对员工信息的管理,对考勤信息的管理,对培训信息的管理和对用户登录密码的管理等主要模块。功能完善,易于管理。本论文详尽论述了需求分析、系统分析、概要设计、详细设计、以及测试与调试的整个过程。最后,总结了系统的优缺点以及未来的工作。本系统具有良好的功能完备性,较好的人机交互界面,测试结果表明,系统设计已经达到要

2、求,具有较好的实用价值。关键词:鞍钢附企工贸公司人事管理信息系统 系统开发 数据库设计 安全性目 录第一章引 言1第二章需求分析2第三章总体设计3第四章详细设计与实现6第五章系统测试15结 论17参考文献17II大连交通大学计算机工程实践第一章 引 言管理信息系统是70年代初“后工业经济时代”的产物,在企业管理信息系统在其发展的初期,是单一的人-机系统,系统功能简单,效率低,对管理的作用有限。进入20世纪80年代末,随着计算机网络和通信技术的大力发展,企业管理信息系统进入网络化的发展时期。世界发达国家已建立起了完善的先进的管理信息系统体系。他们在数十年的实践中积累了丰富的管理信息系统开发经验,

3、在企业管理方面也已形成了一套行之有效的理论和规范。由于管理信息系统本身及与其相应的计算机信息应用技术均非常成熟。几乎所有发达国家均建立了自己的人力资源管理信息系统,这个系统是全国性的,覆盖了全国的人力资源管理领域。国外公司的人事部或劳工部一般均建立了计算机信息系统,负责公司内部的人力资源或劳工管理。所以,国外的工资管理信息系统的开发与应用己非常普及。同时,由于发达国家的人力资源管理信息系统已实现全国联网,因此,在社会经济发展领域中发挥着巨大的作用。我国的人力资源管理信息系统大发展是在80年代末90年代初,多数企事业单位建立了局域网和广域网管理信息系统。随着世界经济和我国经济逐步向知识经济迈进,

4、无论是基于工业经济的管理信息系统,还是面向少数专家和管理人员的专家系统(ES)或决策支持系统(SS),其处理对象和服务对象,自身的系统结构,处理能力,都有了进一步的发展。第二章 需求分析目前市面上流行的人事管理系统不少。但是,对于企、事业单位的人事管理系统来说,不需要大型的数据库系统。只需要一个操作方便,功能实用,能满足本中心对数据的管理及需求的系统。我的目标就是在于开发一个功能实用、操作方便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加、修改、删除、按各种条件进行查询、能维护管理公司员工每个月的工资信息,在操作上能完成诸如添加,修改删除及按各种条件进行查询,还能管

5、理员工的请假信息等其它的重要信息。主要目标如下:a、对员工信息的管理(包括查询、添加、删除和修改);b、对考勤信息的管理(包括查询、添加、删除和修改);c、对培训信息的管理(包括查询、添加和修改);d、对用户登录密码的管理(修改)。JSP的优点:1.对于用户界面的更新,其实就是由 Web Server进行的,所以给人的感觉更新很快。 2.所有的应用都是基于服务器的,所以它们可以时刻保持最新版本。 3.客户端的接口不是很繁琐,对于各种应用易于部署、维护和修改。 MySQL数据库具有以下主要特点: 1. 同时访问数据库的用户数量不受限制; 2. 可以保存超过50,000,000条记录; 3. 是目

6、前市场上现有产品中运行速度最快的数据库系统; 4. 用户权限设置简单、有效。用例图如下: 图2.1系统用例图数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。数据库的设计通常是以一个已经存在的数据库管理系统为基础的。根据用户需求和业务流程,本系统MYSQL数据库管理系统。通过对当前的开发语言的分析,JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。 JSP技术是用JAVA语言

7、作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。 在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java

8、Applet,甚至无Frame。开发平台使用的是NETBEAN。第三章 总体设计3.1 系统框架本系统共分4大部分,4个功能模块。分别是:员工信息管理模块,合同信息管理模块,培训信息管理模块和系统管理模块。系统结构如图3.1所示。图3.1 系统结构图描述管理业务流程的图表由管理业务流程图和表格分配图,管理业务流程图是一种表明系统内部各部门、人员之间的业务关系、作业顺序和管理信息流动的流程图,它可以帮助分析人员找出流程中的不合理回路。下面图3.2就是人事管理流程图。3.2数据库设计数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统

9、,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。数据库的设计通常是以一个已经存在的数据库管理系统为基础的。通过对业务流程的分析,得到了系统的实体,以及实体之间关系,根据这些实体与关系之间的联系,得到了系统的E-R图,如图3.3所示。 图3.3 人事管理系统ER图E-R模型用实体间联系反映现实世界事物间的内在联系,而数据表的建立是应用程序开发过程中的非常重要的一个环节,必须清楚每一模块要操纵的数据是那些,以及数据间的相互关系,然后建立数据表。本系统数据库使用MYSQL ,数据库名为friend,包含以下3个表:成员表,收支项目表,账簿表。下面分别详细介绍以上各表:表3.1

10、 成员表字段名称数据类型长度是否为空主外键说明真实姓名varchar255否主键真实姓名用户名varchar255是否用户名密码varchar255是否密码表3.2收支项目表字段名称数据类型长度是否为空主外键说明项目IDvarchar255否主键项目编号名称varchar255是否名称类型varchar255是否类型表3.3账簿表字段名称数据类型长度是否为空主外键说明账目IDInt20否主键账目编号收支项目varchar255是否收支项目收支日期varchar255是否收支日期收支成员varchar255是否收支成员收支金额Float20是否收支金额备注varchar255是否备注第四章 详细

11、设计与实现详细设计阶段就是把解决方法具体化,设计出详细规格说明,包含必要的细节,程序员可以根据它们写出实际的程序代码,详细设计也称模块设计,在这个阶段将详细地设计每个模块,具体的实现功能。在详细设计过程中,具体的功能实现过程可以按照软件工程中的方法描述中的交互模型具体描述,力求完全符合客户的真实需求。该系统的设计基于以下几个原则:1.标准化;2.模块化;3.先进性;4.安全性;5.交互性。4.1 登陆系统1.实现目标:管理员(或者普通用户)进入系统前,必须通过系统登录进入主程序界面,系统登录界面(如图4.1所示)主要实现以下功能:确认用户的身份和对系统信息起到保密作用。图4.1 系统登录界面2

12、.实现方法在该登录界面中,不需要选择操作员的权限,系统可根据数据库中存放的管理员信息判断该用户是管理员还是普通用户。界面是由JSP语言来进行编辑的,在该子系统中进行界面设计时要充分考虑用户的操作习惯,减少用户大量的输入操作以减轻用户的工作量。部分代码如下String sql = select * from admin where Name= + name+ and password= + psw + ;try ResultSet result = Dbcon.executeQuery(sql);if (result.next() String isadmin=result.getString(

13、isadmin),employeeId=result.getString(employeeId); session.setAttribute(employeeId,employeeId); session.setAttribute(isadmin,isadmin); if(isadmin.equals(是)response.sendRedirect(loginsuccess.jsp); else response.sendRedirect(loginsuccess_user.jsp); elseresponse.sendRedirect(loginfail.jsp); catch (SQLEx

14、ception e) e.printStackTrace();4.2管理员主界面模块设计1.实现目标:程序启动后,在系统登录界面若被判断是管理员权限并验证操作员密码后,将进入主界面。主程序界面(如图4.2所示)主要实现如下功能:执行相应的权限操作;选择主界面的菜单,调用相应程序,进行相应操作;显示操作权限。 图4.3 管理员主界面2.实现方法主程序界面里有5个子菜单:(1)员工信息(2)工资信息(3)合同信息(4)培训信息(5)系统管理管理员主页面展开如图4.3 图4.3 主菜单展开图4.3员工信息管理模块1.实现目标:管理员单击主菜单下的员工信息管理菜单下的基本信息,进入当前员工信息页面。(

15、如图4.4所示)。图4.4 当前员工信息2.实现方法管理员可以进行员工信息查看并可对其进行修改和删除。界面是由JSP语言来进行编辑的,在该进行界面设计时要充分考虑用户的操作习惯,减少用户大量的输入操作以减轻用户的工作量。部分代码:public Vector getallEmployee() String sql = select * from employee; try ResultSet rs = Dbcon.executeQuery(sql); while (rs.next() employee oneEmployee = new employee(); oneEmployee.setEm

16、ployeeId(rs.getString(employeeId); oneEmployee.setName(rs.getString(name); oneEmployee.setCardNumber(rs.getString(cardNumber); oneEmployee.setNation(rs.getString(nation); oneEmployee.setSex(rs.getString(sex); oneEmployee.setBirthday(rs.getString(birthday); oneEmployee.setGraduateSchool(rs.getString(

17、graduateSchool); oneEmployee.setSchoolRecord(rs.getString(schoolRecord); oneEmployee.setDepartment(rs.getString(department); oneEmployee.setPositionName(rs.getString(positionName); oneEmployee.setTelephone(rs.getString(telephone); oneEmployee.setEmail(rs.getString(email); oneEmployee.setEditTime(rs.

18、getString(editTime); oneEmployee.setMemo(rs.getString(memo); list.add(oneEmployee); catch (SQLException e) e.printStackTrace(); return list;public boolean updateEmployee(String employeeId, String name, String cardNumber, String nation, String sex, String birthday, String graduateSchool, String schoo

19、lRecord, String department, String positionName, String telephone, String email, String memo) String sqlStr = update employee set ; sqlStr = sqlStr + name = + strFormat.toSql(name) + ,; sqlStr = sqlStr + cardNumber = + strFormat.toSql(cardNumber) + ,; sqlStr = sqlStr + nation = + strFormat.toSql(nat

20、ion) + ,; sqlStr = sqlStr + sex = + strFormat.toSql(sex) + ,; sqlStr = sqlStr + birthday = + strFormat.toSql(birthday) + ,; sqlStr = sqlStr + graduateSchool = + strFormat.toSql(graduateSchool) + ,; sqlStr = sqlStr + schoolRecord = + strFormat.toSql(schoolRecord) + ,; sqlStr = sqlStr + department = +

21、 strFormat.toSql(department) + ,; sqlStr = sqlStr + positionName = + strFormat.toSql(positionName) + ,; sqlStr = sqlStr + telephone = + strFormat.toSql(telephone) + ,; sqlStr = sqlStr + email = + strFormat.toSql(email) + ,; sqlStr = sqlStr + memo = + strFormat.toSql(memo) + ; sqlStr = sqlStr + where

22、 employeeId = + employeeId + ; boolean sert = Dbcon.executeInsert(sqlStr); return sert; 3.点击图4.4左上角的“点击员工姓名查看详细信息”可显示更多员工信息如图4.5 图4.5 查看详细的员工信息部分代码:public employee getEmployee(String employeeId) employee oneEmployee = null; try String sql = select * from employee where employeeId= + employeeId + ; R

23、esultSet rs = Dbcon.executeQuery(sql); while (rs.next() oneEmployee = new employee(); oneEmployee.setEmployeeId(rs.getString(employeeId); oneEmployee.setName(rs.getString(name); oneEmployee.setCardNumber(rs.getString(cardNumber); oneEmployee.setNation(rs.getString(nation); oneEmployee.setSex(rs.getS

24、tring(sex); oneEmployee.setBirthday(rs.getString(birthday); oneEmployee.setGraduateSchool(rs.getString(graduateSchool); oneEmployee.setSchoolRecord(rs.getString(schoolRecord); oneEmployee.setDepartment(rs.getString(department); oneEmployee.setPositionName(rs.getString(positionName); oneEmployee.setT

25、elephone(rs.getString(telephone); oneEmployee.setEmail(rs.getString(email); oneEmployee.setEditTime(rs.getString(editTime); oneEmployee.setMemo(rs.getString(memo); catch (SQLException e) e.printStackTrace(); return oneEmployee; 4. 点击图4.5下方的“打印预览”可显示打印的信息如图4.6 图 4.6 打印预览4.4 员工信息添加功能1.实现目标:管理员单击员工信息管理

26、菜单下的添加员工信息,进入添加员工信息页面对员工信息进行添加。(如图4.7)图4.7 添加新的员工信息2.实现方法管理员根据员工信息,将资料填入数据库,减少用户大量的输入操作以减轻用户的工作量。代码如下: sql = insert into employee values( + employeeId + , + name + , + cardNumber + , + nation + , + sex + , + birthday + ,+ graduateSchool + , + schoolRecord + , + department + , + positionName + , + te

27、lephone + , + email + , + memo + , + editTime + ); boolean sert = Dbcon.executeInsert(sql); response.sendRedirect(showManageServlet?oper=employee); 4.5合同信息管理功能1.实现目标:管理员单击主菜单下的合同信息菜单下的查看合同,进入当前合同信息页面。(如图4.8所示)。图4.8 当前的合同信息2.实现方法管理员可以进行合同信息查看并可对其进行修改和删除。界面是由JSP语言来进行编辑的,在该进行界面设计时要充分考虑用户的操作习惯,减少用户大量的输入

28、操作以减轻用户的工作量。public Vector getallContact() String sql = select * from contact; try ResultSet rs = Dbcon.executeQuery(sql); while (rs.next() contact oneContact = new contact(); oneContact.setContactId(rs.getString(contactId); oneContact.setEmployeeId(rs.getString(employeeId); oneContact.setName(rs.get

29、String(name); oneContact.setDepartment(rs.getString(department); oneContact.setContactType(rs.getString(contactType); oneContact.setBegainTime(rs.getString(begainTime); oneContact.setEditTime(rs.getString(editTime); oneContact.setEndTime(rs.getString(endTime); list.addElement(oneContact); catch (SQL

30、Exception e) e.printStackTrace(); return list; 4.6 添加合同信息1、实现目标:管理员单击合同信息菜单下的添加合同,进入添加合同信息页面对合同信息进行添加。(如图4.9)图 4.9 添加新的合同信息2、实现方法:管理员根据合同信息,将资料填入数据库,减少用户大量的输入操作以减轻用户的工作量sql = insert into contact values( + employeeId + , + name + , + contactId + , + department + , + contactType + , + begainTime + , +

31、 endTime + , + editTime + ); boolean sert = Dbcon.executeInsert(sql);47 培训信息管理1.实现目标:管理员单击主菜单下的培训信息菜单下的查看合同,进入当前培训信息页面。(如图4.10所示)。图4.10 当前的培训信息2.实现方法管理员可以进行培训信息查看并可对其进行修改和删除。界面是由JSP语言来进行编辑的,在该进行界面设计时要充分考虑用户的操作习惯,减少用户大量的输入操作以减轻用户的工作量。public Vector getallTrain() String sql = select * from train; try R

32、esultSet rs = Dbcon.executeQuery(sql); while (rs.next() train oneTrain = new train(); oneTrain.setProId(rs.getString(proId); oneTrain.setProName(rs.getString(proName); oneTrain.setBeginTime(rs.getString(beginTime); oneTrain.setEndTime(rs.getString(endTime); oneTrain.setTeacher(rs.getString(teacher);

33、 oneTrain.setProInfo(rs.getString(proInfo); list.addElement(oneTrain); catch (SQLException e) e.printStackTrace(); return list; 4.8添加培训信息1、实现目标:管理员单击培训信息菜单下的添加培训,进入添加培训信息页面对培训信息进行添加。(如图4.11)图 4.11 添加新的培训信息2、实现方法:管理员根据培训信息,将资料填入数据库,减少用户大量的输入操作以减轻用户的工作量sql = insert into train values( + proId + , + pro

34、Name + , + beginTime + , + endTime + , + teacher + , + proInfo + ); catch (Exception e) boolean sert = Dbcon.executeInsert(sql);4.9 报名信息1、实现目标:普通员工点击培训信息菜单下的报名信息可对培训进行报名。(如图4.12) 图 4.12 可报名的培训信息2、实现方法:普通员工直接点击报名,页面会直接显示已报名并可取消报名。(如图4.13) 图 4.13 已报名后的培训信息页面 sql = insert into baoming values( + baoming

35、Id + , + employeeId + , + proId + ); boolean sert = Dbcon.executeInsert(sql); a href=changeServlet?oper=train&proId=修改  a href=deleteServlet?oper=train&proId= onclick=confirm(真的要删除吗);删除 a href=RegistServlet?oper=train_baoming&proId=报名 已报名  a href=deleteServlet?oper=train_baoming&

36、proId=取消 4.10 系统管理1.实现目标:管理员单击主菜单下的系统管理菜单下的显示用户,进入当前系统用户信息页面。(如图4.14所示)。图4.14 当前的系统用户信息2.实现方法管理员可以进行系统用户信息显示并可对其进行修改和删除。界面是由JSP语言来进行编辑的,在该进行界面设计时要充分考虑用户的操作习惯,减少用户大量的输入操作以减轻用户的工作量。public systemUser getSystemUser(String employeeId) systemUser oneSystemUser = null; try String sql = select * from admin

37、where employeeId= + employeeId + ; ResultSet rs = Dbcon.executeQuery(sql); while (rs.next() oneSystemUser = new systemUser(); oneSystemUser.setEmployeeId(rs.getString(employeeId); oneSystemUser.setName(rs.getString(Name); oneSystemUser.setPassword(rs.getString(password); oneSystemUser.setSex(rs.getString(sex); oneSystemUser.setIsadmin(rs.getString(isadmin); oneSystemUser.setAbout(rs.getString(about); catch (SQLException e) e.printStackTrace(); return oneSystemUser;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号