郑州大学软件与应用科技学院
信息系统开发课程设计报告
学 期: 17-18学年第一学期 专 业: 金融软件 班 级: 金融一班 设计题目: 工资管理系统 指导老师: 马建红 组 长: 201677I1047 张越 同组人员: 201677I1045 张轲
2018年 1 月 2 日
1 概述
1.1 选题目的及意义
企业竞争力的提高越来越依赖于信息技术的运用,信息的充分交流和共享将大大提高企业的工作效率,节约人力物力,因此,每个企事业单位都力求收集更全面的信息,并充分利用,而计算技术和网络技术的发展为信息的充分利用提供了可能.管理信息系统MIS(Management Information System)就是利用计算机应用系统提高信息的处理速度和效率的软件系统,MIS基于现代数字网络传输技术和计算技术,通过对企事业的管理信息进行高度自动和智能的收集、处理、传输、发布和存储,显著增强了企事业单位参与激烈市场竞争的能力,也因此成为普遍采用的企业管理工具。近年来,我国的市场经济日渐成熟,竞争愈加激烈,而传统各自为阵的人事工资管理体制在各类企业中还被大量存在,使用分散手工的管理方式进行考勤、工资等方面人事工资管理,这种传统手工方式由于人事工资数据量的大幅度增加弊端日显,迫切需要开发专门的人事工资管理信息系统提高人事管理的工作效率。国外主流人事管理系统虽然有管理规范、流程清晰的优点,但由于国情不同,且人力资源管理软件一般基于应用企业的特定企业环境,一般不具备很强的通用性,因此,有必要开发一套适合本企业的人力资源管理系统,以方便、及时反馈人事工资信息,为企业的高效管理发挥更大的作用.本项目源自企业管理现代化、信息化项目,目的是实现集中管理地理上分布在多个城市的企业员工的人事工资信息,通过基于Internet的人事信息的数据共享,降低管理工作负担,实现企业员工人事工资管理的规范化、便利性和快速性,系统的主要功能有: 1.信息查询:通过网络实现分布式企业员工人事信息的共享。为分布在多地的企业领导、企业员工、企业人事财务部门提供便捷的查询服务。 2.集中管理:人事工资等信息都集中保存在系统中心数据库中,避免了原有的各地就近分别管理引起的数据不一致。 3.辅助决策:集中和方便的员工信息的利用不仅降低了管理人员的工作强度,同时在完整数据基础上科学的统计分析和数据挖掘结果,可以用于优化企业经营决策。
1。2 系统实现的分工
本系统由小组的2名成员共同完成,具体分工如表1所示。
表1—1 小组成员分工表 角色 姓名 承担的具体任务 组长 项目需求分析与总体设计、项目功能实现、文档编写 组员 数据库设计与实现、系统美化、系统测试、文档编写 1
1。3 开发环境
本系统的开发环境如表2所示。
表1—2 系统开发环境 操作系统 Windows×32位或64位 Win10 64位 JDK 1.7 Tomcat V7。0 MyEclispe 10 数据库 MySQL Navicat 10。1.7-unregistered Eclipse Oxygen.1 Release (4.7.1) Win7 64位 2 系统分析
2.1 可行性分析
1。 技术可行性研究
为了满足企业员工工资管理系统目的以及要求,该系统采用B/S模式开发。小组成员已经熟练掌握MVC开发模式,利用JSP高效开发web项目中的动态页面, javaScript处理动态网页的效果,运用css对前端的样式进行设计。这三种请前端技术分别描述网页内容、网页样式以及网页行为;用servlet充当MVC模式中Controller层,JavaBean来完成对数据库的各项处理,如新增、编辑、查看详情和删除等.使用MyEclipse、Eclipse作为开发工具,数据库选用灵活的MySQL。本系统具备技术可行性。 2。 经济上是可行性
软件开发的主要成本都在人力和软件费用上,该项目使用的软件均为免费的开源产品,因此主要成本只有人力。而本项目并不是非常的复杂烦扰,所以整个项目的开发并不需要很多的人力,因此该项目在经济上是可行性。
2.2 需求分析
1。用户需求分析
用户分析主要通过用例图来描述并图示客户的需求和事件流程,通过能够反映用户希望系统具备的功能,用例图中一般包含了参与者及其相关联的用例,其反映了系统的整体结构和功能,用例建模将人事工资管理系统的分析、设计、实现和测试过程。依据企业管理模式的特点,此用例模型中的参与者细化分为人事工资主管领导、人事管理人员、财务管理人员、系统管理员、企业员工等五种角色.
2
如表2—1所示,各类用户行为需求及权限分析如下:
(1)企业员工:普通员工使用系统进行考勤和请假、考核等,查看个人信息如查询考勤信息、个人薪酬福利信息等,是系统最主要的使用者。
(2)主管领导:业务部门的主管领导需要全面把握相关人事、财务业务部门的信息.即应该具备查询和核准等功能,通过查询了解所负责的人事、财务相关管理信息,为决策核准提供依据.
(3)人事管理人员:负责人事管理规则制度的制定,如人事档案管理、员工考勤管理、可以对已有出勤制度添加、删除和修改,也可以编辑所有员工的人事档案信息。
(4)财务管理人员:负责财务工资管理规则的制订,根据有效的工作时长、出勤记录参考考勤制度核算工资,并进行最后的工资结算.
(5)系统管理员:管理员拥有最高系统权限,负责为全体员工建立用户账户,设定属性权限,维护更新系统数据库,并对系统日常运行进行维护.
表2—1 系统用户表 角色 职责或功能 企业员工 系统主要参与者,参与考勤、考核、信息查询等 人事部管理人员 系统主要参与者,安排人事管理、对员工考勤考核等 财务部管理人员 系统主要参与者,负责企业工资福利统计和结算等 主管领导 系统主要参与者,负责核准各项制度 系统管理员 维护系统正常运行 2。用例分析
人事工资管理信息系统根据企业人事工资管理的实际需要,基于此数据库的相关数据,对员工的人事工资信息进行收集、分析、处理和存储,使其及时准确反映企业员工在岗期间的考勤、收入、人事调整等信息,为企业管理层提供快速准确的员工管理辅助决策依据。基于系统的功能分析,各类用户的用例图如下: (1)在岗企业员工用户:用例图如图3。2。2—1所示,在岗企业员工用户为一般企业员工,不包含管理人员和主管领导管理人员,系统可以根据系统管理员的设定识别并限定其使用权限。在岗企业员工可以通过工作考勤功能模块记录该员工的出勤请假情况,通过外接的指纹考勤机、网络终端等考勤设备系统可以记录该员工的出勤情况,用户可以进行查询自己的出勤记录.在岗企业员工可以通过人事档案管理功能模块提交个人信息如家庭住址、联系方式、政治面貌、毕业院校等,在岗企业员工还可以通过系统查询功能模块获到个人人事档案信息如:岗位职级、所在部门有关信息、工资福利、个人保险、出勤情况等.
3
图2-1 企业员工用户用例图
(2)人事管理人员用户用例图如图2-2所示,人事管理人员分为一般人事管理人员和主管领导,系统可以根据系统管理员的设定识别并限定其使用权限.人事管理人员除了同一般企业员工一样通过工作考勤功能模块记录该员工的出勤请假情况,即通过考勤终端设备系统可以记录该员工的出勤情况和不能正常出勤的情况下请假外,还必须根据员工工作安排设置系统考勤。人事管理人员除了同一般企业员工一样可以通过员工考核管理功能模块查询并提交本人的业务考核报告及对其它用户的工作进行考核外,还必须制订考核方案并提交主管领导用户核准通过.人事管理人员可以同一般企业员工一样通过人事档案管理功能模块提交个人信息如家庭住址、联系方式外,还必须管理员工的工作岗位的确定调整、人事档案的建立等专门工作。人事管理人员也可以通过系统查询功能模块获到个人人事档案信息如:岗位职级、工资福利、个人保险、出勤情况等。
4
图2—2 人事管理用户用例图
(3)财务管理人员用户用例图如图2-3所示,财务管理人员分为一般财务管理人员和主管领导,系统可以根据系统管理员的设定识别并限定其使用权限。财务管理人员同一般企业员工一样通过工作考勤功能模块记录该员工的出勤请假情况,不能正常出勤的情况下通过系统请假,通过人事档案管理功能模块提交个人信息,通过系统查询功能模块获到个人人事档案信息如:岗位职级、工资福利、出勤情况等。财务管理人员的主要区别是通过薪资管理功能模块来制订工资福利方案并提交主管领导核准,然后根据员工出勤请假情况统计有效工作条目,并结算员工的工资福利.
图2-3 财务管理人员用例图
(4)系统管理员用户用例图如图2-4所示,系统管理员除了像其它企业员工一样参与员工考勤、提交员工人事档案信息、查询修改个人信息外,还可以通过系统维护功能模块对系统后台数据、运行状态、用户权限进行维护。
5
图2-4 系统管理员用例图
3 系统设计
3。1 功能设计 业务性设计
1。实现员工信息维护
(1)实现人事基本信息(包括姓名、性别、出生年月等个人基本、学历、职称、 职务、所在部门等个人工作信息)的输入和修改,维护次信息表,可进行增加、 修改、删除和保存历史记录。该功能主要是对人事基本信息表的管理与维护。 (2)实现新进人员的信息录入和对应的工资变动。
(3)实现人事变动信息(包括学历、职务、岗位、等变动信息)的录入和修改. 2。实现工资信息维护
(1)实现基本工资维护,可增加、修改、删除和保存工资信息. (2)津补贴维护,可修改、删除和保存历史记录。 (3)预设工资标准和相关计算公式,自动计算出基础工资、薪点工资、各种附 加工资、扣款等相应的项目。
3。实现工资处理 工资业务处理主要是对工资的发放、变动、工资撤资和入资等业务的管理。主要有: (1)批量工资处理
6
(2)工资发放的处理 (3)职务变动管理 (4)对人员调出的处理 (5)对人员调入的处理
4.实现报表管理功能 在工资的管理工作中和人事的管理工作中,最不能少的是各种报表的设计与实现.主要有:
(1)个人工资报表打印,个人信息报表打印.
(2)工资报表导出,对已经生成的报表数据进行导出并打印。 (3)工资报表导入,对导出的报表数据进行导入并预览。 5。 系统维护功能
(1)对人事、工资的数据进行维护。 (2)对系统的使用用户进行维护。 (3)对用户的权限进行维护。
(4)可以对数据库中的数据进行浏览和查询。
功能性设计
1. 人事管理功能
主要对部门设置、人事档案管理、人事资料统计、人事数据考核奖惩、职称评定、人事变动等信息进行管理。 2. 薪资管理功能
工资管理功能的实现主要对员工工资进行管理,包括工资结算、数据输入、工资查询和工资分配四部分内容。员工薪资管理模块主要用于企业员工薪资进行制订、调整和实施的动态管理,该模块可以设置企业的薪酬策略和薪酬结构,在此基础上根据薪资构成统计员工的工时福利并结算当月工资。薪资管理涉及财务管理人员和主管领导,财务管理人员制订薪酬策略和薪酬结构,由主管领导核准生效,财务管理人员依据薪酬结构统计员工的职级、考勤、请假等计薪信息,并依据薪酬策略结算工资。而管理模块分为三部分内容:工资结算、工时福利统计、保险设置。
3. 出勤管理功能
主要对员工进行出勤记录,根据工资制度,计算并审核员工的薪资。 4. 用户管理功能
用户管理列出了所有用户信息,包括用户名、密码、用户权限。图3-1系统总体功能模型用模式结构来分析的话,人事管理模块系统、密码管理模块就是人事工资管理系统的外模式。
7
图3—1 系统总体功能图
图3-2 员工工资系统流程图
3。2 数据库设计
系统E-R关系图如图3-3所示。
8
图3-3 系统总体E—R图
员工工资管理系统主要包括员工用户、人事管理人员、财务管理人员、主管领导、薪资福利管理、考勤管理、人事档案管理等八个实体.其中薪资福利管理涉及工资方案和员工工资福利统计表,考勤管理涉及员工考勤表。图3—2给出此系统的部分实体属性图,分别为员工用户、薪资福利、考勤、保险信息,其中员工包含普通员工、财务管理人员、人事管理人员、主管领导,它们的属性图如下:
图3—4 员工属性图
9
图3—5 薪资信息属性图
图3-6 考勤属性图
10
图3-7 保险信息属性图
表3-1 用户数据表结构
11
表3-2 薪资数据表结构
表3—3 考勤数据表结构
12
表3-4 保险信息数据表结构
4 系统实现
4。1 涉及知识点
1 B/S架构
B/S又被称为Brower/Server模式.和C/S技术对立,使用B/S技术,用户只需要使用浏览器即可完成用户对系统的需求,不需要下载客户端的繁琐的操作和运行环境,十分的简洁轻便.B/S模式也有着许多的优点与缺点.他的优点有客户端无需安装,只要使用标准的web浏览器即可,并且B/S架构不需要搭建,直接放在网上通过一定的权限来实现多用户的访问.并且不需要用户自己去升级客户端,只要更新服务器即可。但是B/S架构同样有许多缺点,比如在跨多种浏览器上,就很可能有浏览器不支持,并且代码更加复杂,开发难度更大。在速度和安全性上更难有保障。并且用户需要频繁地刷新页面,对用户的体验有所影响。
2 MVC框架
MVC描述了一种应用程序的整体架构,MVC模式鼓励划分出三种不同的分离层,请求的线程将分别通过模型层、视图层和控制器。模型层、视图层、控制器的划分必须严格明确。MVC模式如图4-1所示。
13
图4-1 MVC模式
MySQL是一个关系型的数据库管理系统,由MySQL AB 开发,目前是 Oracle 旗下的公司。MySQL 是近几年最流行的关系型数据库管理系统,在 WEB 的应用方面MySQL是最出众的的 RDBMS (关系数据库管理系统) 的应用软件之一。
MySQL是一种关联数据库管理系统,关联数据库通常将数据保存在多个的表中,而不是将所有数据挤在一个大表内,这样就增加了运行的速度并且提高了灵
[5]
活性。
4。tomcat服务器
tomcat服务器是一个Web 级应用类的服务器,是一种独特的轻量级应用服务器,在各种各样小型系统和同时并发访问用户不是非常多的场合下被普遍使用.tomcat是开发和调试JSP 程序的首要之选。但是它的缺点也很明显,不适合大客户使用。压力只要稍微大一点这个服务器就会崩溃。
4.2 系统运行
1.登录界面
用户进入系统后,最先出现的便是该系统的登录页面,所有该系统的用户(人事部负责管理工资信息的人员)需要登录该系统验证用户身份,保证系统的安全性。
登录界面如图4-1所示:
14
图4—1 登陆界面
2.用户界面
用户进入工资管理系统之后,首页会显示一个欢迎界面,左侧是功能模块列表,共有人事管理、薪资管理、出勤管理、用户管理四个功能模块,其中人事管理包括部门管理、员工管理俩个功能,薪资管理包括工资信息、工资设置、保险设置三个功能,出勤管理包括考勤信息、考勤奖罚俩个功能,用户管理包括个人信息、密码修改俩个功能。
用户的操作列表如图4—2所示:
图4—2 用户的操作列表
3.人事管理(部门管理和员工管理)
(1)部门管理可以查看部门名称、负责人、部门编号、部门电话等信息,管理员能够对部门的信息进行增删改查操作。
人事管理(部门管理)界面如图4-4所示:
15
图4—3 人事管理(部门管理)界面
人事管理(部门管理)管理人员添加部门信息界面如图4—4所示:
图4—4 人事管理(部门管理)管理人员添加部门信息界面
管理员进行部门信息查询界面如图4—5所示:
16
图4-5 人事管理(部门管理)管理员进行部门信息查询界面
人事管理(部门管理)管理员进行部门信息修改界面如图4-6所示:
图4-6 人事管理(部门管理)管理员进行部门信息修改界面
(2)员工管理可以查看员工工号、员工姓名、员工年龄、员工性别、所属部门、入职时间等信息,管理员能够对员工信息进行增删改查操作
人事管理(员工管理)界面如图4-7所示:
17
图4—7 人事管理(员工管理)界面
人事管理(员工管理)管理人员添加员工信息界面如图4—8所示:
图4—8 人事管理(员工管理)管理人员添加员工信息界面
人事管理(员工管理)管理员进行员工信息查询界面如图4—9所示:
18
图4-9 人事管理(员工管理)管理员进行员工信息查询界面
人事管理(员工管理)管理员进行员工信息修改界面如图4—10所示:
图4-10 人事管理(员工管理)管理员进行员工信息查询界面
4.薪资管理(工资信息、工资设置、保险设置)
薪资管理模块主要实现的是管理所有员工的工资信息,包括工资信息、工资设置、保险设置三个功能。
(1)工资信息:管理人员可以查看当前月份或指定月份任意员工的基本工资、迟到罚款、早退罚款、最终工资的信息。
薪资管理(工资信息)界面如图4—11所示:
19
图4-11 薪资管理(工资信息)界面
(2)工资设置:管理人员可以查询或修改任意员工的基本工资 薪资管理(工资设置)界面如图4—12所示:
图4-12 薪资管理(工资设置)界面
薪资管理(工资设置)修改员工工资界面如图4-13所示:
20
图4-13 薪资管理(工资设置)修改员工工资界面
(3)保险设置:管理人员可以设置员工的医疗、工伤、生育保险等 薪资管理(保险设置)界面如图4-14所示:
图4-14 薪资管理(保险设置)界面
5.出勤管理(考勤信息、考勤奖罚) (1)考勤信息:管理员可以查看当前或指定月份的员工的考勤信息如迟到次数、早退次数、迟到天数等,并可进行修改操作。
出勤管理(考勤信息)界面如图4—15所示:
21
图4-15 出勤管理(考勤信息)界面
管理员修改出勤管理(考勤信息)如图4-16所示:
图4—16 管理人员修改考勤信息界面
(2)考勤奖罚:管理员可以设置考勤奖罚规则,如设置迟到罚款、早退罚款、旷工罚款等的金额
出勤管理(考勤奖罚)界面如图4-17所示:
22
图4—17 出勤管理(考勤奖罚)界面
6。用户管理(个人信息、密码修改) 管理员可以查看个人信息或修改密码
用户管理(个人信息)界面如图4—18所示:
图4-18 用户管理(个人信息)界面
用户管理(密码修改)界面如图4—19所示:
23
图4—19 用户管理(密码修改)界面
4.3 源程序清单
1.工资管理系统前端代码列表(主要jsp文件),如表4-1所示
表4-1 工资管理系统前端代码 登录界面 login。jsp 首页 Index.jsp 部门管理 添加部门信息 addDept。jsp 查看部门详细信息 detailDept。jsp 查询所有部门 showDept.jsp 人事管理 员工管理 添加员工信息 addEmp。jsp 查看员工详细信息 detailEmp。jsp 查询所有员工 showEmp。jsp 工资信息 查看工资详情 detailSalary.jsp 显示所有员工工资 showSalary.jsp 薪资管理 工资设置 设置基本工资 detailStandard.jsp 显示所有员工基本工资 showStandard。jsp 保险设置 显示保险信息 insurance.jsp 考勤信息 显示所有员工考勤信息 showAttendence。jsp 出勤管理 查看或修改考勤详情 detailAttendence.jsp 考勤奖罚 考勤奖罚设置 attendenceSet。jsp 个人信息 查看用户个人信息 detailInfo.jsp 用户管理 密码修改 修改密码 updatePassword.jsp 密码修改成功 successful.jsp
24
2。工资管理系统后台文件列表,如表4—2所示
表4-2 工资管理系统后台代码 部门基本信息的后台程序 DeptAction.java 查询部门信息的后台程序 FindDeptAction。java 显示部门信息的后台程序 ShowDeptAction。java 员工基本信息的后台程序 EmpAction。java 查询员工基本信息的后台程FindEmpAction.java 序 员工工资信息的后台程序 SalaryAction.java 查询员工工资信息的后台程FindSalaryAction.java 序 设置保险信息的后台程序 InsuranceAction.java Servlet 考勤基本信息的后台程序 AttendenceAction。java 查询考勤信息的后台程序 FindAttendenceAction.java 设置考勤规则的后台程序 AttendenceSetAction.java 设置基本工资的后台程序 StandardAction.java 用户登录的后台程序 LoginAction.java 用户信息的后台程序 UserAction。java 用户密码修改的后台程序 UpdatePasswordAction.java 部门信息的数据库链接类 JdbcDeptDao.java 考勤信息的数据库链接类 JdbcAttendenceDao。java Dao数据库链接类,封员工信息的数据库链接类 JdbcEmpDao。java 装访问数据库的代码 用户信息的数据库链接类 JdbcUserDao。java 工资信息的数据库链接类 JdbcSalaryDao。java 配置文件 dao。properties 出勤信息的JavaBean Attendence。java 设置考勤信息的JavaBean AttendenceSet。java 部门信息的JavaBean Dept。java 员工信息的JavaBean Employee。java 保险信息的JavaBean Insurance。java 查询考勤信息信息QueryInfomation。java JavaBean JavaBean 工资信息的JavaBean Salary.java 基础工资信息的JavaBean SalaryStandard。java 用户信息的JavaBean User。java 添加部门信息的JavaBean AddAttendences.java 添加工资信息的JavaBean AddSalarys。java 数据库访问类 DbUtil.java 25
3个程序源代码: 一个JSP文件 showSalay。jsp
<%@ page language=”java” contentType=\"text/html; charset=UTF-8” pageEncoding=\"UTF-8\"%〉
<%@ taglib uri=\"http://java。sun。com/jsp/jstl/core\" prefix=\"c\"%> 〈%@ taglib uri=\"/struts-tags\" prefix=”s”%>
〈html〉 〈head〉
〈meta http—equiv=\"Content-Type\" content=\"text/html; charset=UTF-8”>