企业工资管理系统的设计与实现.docx
- 文档编号:25423080
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:29
- 大小:2.35MB
企业工资管理系统的设计与实现.docx
《企业工资管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《企业工资管理系统的设计与实现.docx(29页珍藏版)》请在冰豆网上搜索。
企业工资管理系统的设计与实现
本科毕业论文
题目:
企业工资管理系统的设计与实现
姓名:
学号:
专业:
计算机科学与技术
教学站点:
入学时间:
指导教师:
网络教育学院制
年月日
指导教师评语:
指导教师(签字)
答辩小组意见:
组长(签字)
成绩:
学院(盖章)
年月日
摘要
本文从用计算机实现企业工资管理的角度出发,系统地介绍了为某企业设计的一套网络环境的工资软件。
本文详细叙述了系统的功能、数据结构、概要设计、详细设计。
系统实现了职工信息、工资的录入、查询和修改,用户管理等功能。
系统的特点是采用B/S架构,整个系统的管理工作都集中在服务器端,运用多层软件架构确保了系统的扩展性和适用性。
关键字:
工资管理系统,mysql server, tomcat7.0
Abstract
Thistreatisebasesonthemanagingofwagebycomputerandgenerallyintroducesakindofwagemanagingsoftwareaboutinternetenvironmentforacertainuniversity.Itdiscussesthefunctionsofthesystem,datastructure,summarydesigningandparticulardesigningindetials.Thesystemimplementstheinsertqueryoftheemployee'sinformationandwage,thereports,usermanagementandsoon.ThespecialtyofthesystemisusingB/Sstructure.Themanagementofthesystemfocusontheserver.Itusesseverallayerssoftwarestructuretoinsuretheapplicabilityandtheexpansibilityofthesystem.Theserverismostlyusingservletsand,theclientisjsp.
KeyWords:
Themanagementsystemofwage,thejavastoredprocedureoforacle,themoduleofwagecalculoation
第一章绪论
1.1背景
随着计算机技术的飞速发展,计算机在企业中应用的普及,利用计算机实现人事工资的管理势在必行。
利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;而工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,同时计算机具有手工管理所无法比拟的优点。
例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高人事工资管理的效率,也是企业的科学化、正规化管理与世界接轨的重要条件。
不同的企业具有不同的人事、工资管理制度,这就决定了不同的企业需要不同的人事工资管理系统。
该企业以前的所有资料都是用人工来进行管理的,面对目前的实际状况,迫切需要开发一个新系统来适应这一些工作。
1.2开发工具和运行环境的选择
本系统采用b/s结构,即Brower-Server(浏览器-服务器)架构,B/S结构是目前最流行的数据库应用模式,它解决了各种分布式应用,扩展了业务范围;在B/S结构下,整个系统的管理、资源分配、数据库操作、业务逻辑部件的管理及动态加载等工作集中用服务器,容易部署和管理。
由于整个系统使用了B/S架构,在客户端使用标准的Web页面浏览器(如InternetExplorer等),不需安装特殊的应用程序,减少了升级和维护的难度,所有的业务数据都保存在服务器(Server)端,确保了业务的安全;在通讯方面,由于使用的是标准的Http协议,使得系统可以轻松的实现移动办公和分布式管理,同时,为系统与电子商务的整合与扩展打下了坚实的技术基础。
灵活的系统体系结构,以及对Internet技术的充分运用,保证了业务逻辑、界面表示的独立,使系统具有高可用性、可伸缩性和易扩展性。
B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。
这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。
浏览器通过Web Server同数据库进行数据交互。
这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
1.3本文所做的工作
第一章绪论部分绪论主要叙述课题提出背景、目前应用现状、分析比较当前开发工具,运用的技术。
第二章结合软件工程方法,对系统进行需求分析、功能划分、数据流图设计,并结合数据库原理和功能划分进行数据库结构设计。
第三章概要设计,介绍了软件的总体设计和数据结构的设计。
第四章根据需求分析的结果,对系统进行详细设计,主要介绍每一个模块的具体功能和实现方法。
第四章毕业设计小结,总结部分介绍了系统设计中的不足和改进的方向,项目的展望
第二章需求分析
2.1用户功能的需求分析
2.1.1具体需求
提供各项数据的录入,修改,查询功能。
包括部门信息,职工信息,工资的发放标准;自动生成每月的应发工资,由操作人员填入各项代扣代缴费用后,自动生成实发工资。
2.1.2系统维护
提供简单的用户管理的功能,增加,删除用户,设置,修改用户口令。
为了兼顾安全性和方便性,在用户管理上针对不同的角色,实现不同的操作权限。
2.2功能划分
根据需求分析,将系统划分为5个功能模块,分别为用户登陆,系统管理,数据录入,数据查询,用户管理。
2.3数据采集
1.数据来源
数据主要来源于职工,即职工是数据源,职工的基本信息,职务信息,可视登记表等作为数据源输入。
2.数据出路
主要是反馈给各各部门领导,职工个人等
2.5数据库设计
1.表和和视图描述
表格描述
表格名称
具体描述
用户表
SYS_USER
用于记录职工个人信息
部门表
SYS_DEPT
系统已建
角色表
SYS_ROLE
系统已建
权限表
SYS_RES
系统已建
用户角色表
SYS_USER_ROLE
系统已建
角色权限表
SYS_ROLE_RES
系统已建
工资表
USER_WAGES
用于记录职工工资
表2-1表和视图表
2.表之间关系
图2-7表关系图
第三章概要设计
3.1总体设计
3.1.1基本概念设计
本软件是基于web的工资管理系统,开发结构为数据库/应用服务器/客户端的三层结构,即数据层/逻辑层/表示层,系统在J2EE平台上实现;考虑到实际情况,本系统的用户可能是财务管理者,也可能是普通职员,为了兼顾安全性和方便性,在用户管理上针对不同的角色,实现不同的操作权限。
3.1.2开发环境
数据库服务器使用Oracle9i,客户端统一使用Web浏览器,向应用服务器的HTTP端口发请求。
配置对象
软件要求
硬件要求
网络环境
内部局域网
应用服务器
Tomcat7.0
4G内存100G硬盘
数据库服务器
Oracle11g
4G内存100G硬盘
数据库开发平台
Windows
开发工具
MyEclipse
PL/SQLDeveloper
IE浏览器
4G内存
100G硬盘
表3-1开发环境表
3.1.3系统结构
系统的结构图如下所示
图3-1系统结构图
图3-1为管理员所能操作的功能,普通用户只能查看其中的数据查询和登录注销模块。
功能需求与模块的关系
序号
模块简称/简称
模块名
需求简要描述
1
LOGIN
用户登录
根据登录的用户角色,显示不同的菜单项,限制普通用户的权限。
2
QUIT
退出系统
阻止用户非正常退出系统,将用户保存在web应用服务器上的所有session删除。
3
ROLE
用户角色
根据不同的用户角色,动态构造不同的菜单项目。
4
M_USER
用户管理
管理除自己外的所有用户,包括删除,添加和修改,普通用户要使用该系统,必须由管理员创建登录名和密码。
5
CHANGE_PASSWORD
密码更改
用户更改自己的密码
6
VALIDATIOON
数据有效性校验(通用模块)
通过给需要校验的表单元素增加扩展属性,就可以完成客户端表单数据的校验。
校验会给出合理的提示信息,并自动定位到不合理数据元素。
7
DEPT_OPER
部门信息维护
部门信息的输入与修改。
8
USER_OPER
职工信息维护
职工信息的输入与修改。
9
PAY_OPER
工资标准信息维护
工资标准的输入与修改。
10
QUERY_DEPT
部门信息查询
查询部门信息,并可操作数据。
11
QUERY_TEACHER
职工信息查询
查询教师信息,并可操作数据。
12
QUERY_PAY
工资标准查询
查询工资标准,并可操作数据。
13
SUM_PAY
统计工资
按部门统计各项数据。
可按部门查询和个人查询,并统计各个部门的数据。
表3-2功能需求和模块表
第四章详细设计
4.1登陆窗口设计
图4-1登录窗口界面
4.1.1功能说明
工资管理系统第一个界面就是用户登录界面,该界面是用户想要登录本系统必须有的步骤,该界面登录时用户受权限限制,有管理员登陆和员工登陆。
员工登录时只有里面各项的查询功能。
管理员则有对里面各项的一切操作功能。
如果用户名或密码输入错误会出相应的提示信息。
用户信息的验证。
要求输入用户名和密码,并检查用户名和密码的正确性。
如果正确,则设定用户的使用权限,进入系统的主界面;如果错误,则提示用户继续输入,直到退出系统为止。
4.1.2实现方法
首先链接数据库,要求用户输入用户名和密码,点击登陆,则读取用户表users,把用户输入的信息与用户表中的信息进行比较,如果正确,则进一步读取用户的使用权限到session里的username和scope,同时打开主界面;否则,给出提示信息重新进入登陆界面。
4.2主界面
图4-2主界面
4.2.1功能说明
用户操作的主界面,左边是功能菜单,列出了当前用户具有功能选项。
右边是主界面,具体的操作都在主界面实现
4.2.2实现方法
主界面有三个框架组成。
分别为title,menu,main。
Tile中主要是系统名称,menu主要是一些功能按钮。
如职工信息录入,查询,修改;工资信息的查询录入和修改,报表生成等功能。
这些功能是随着用户的权限的变化而动态变化的。
如一般用户进入后就只有查询功能,没有录入的功能。
点击menu里的功能按钮后,在main框架中就会出现这个功能的具体操作,下面将详细介绍各个功能。
4.3职工信息录入
图4-3职工信息录入界面
4.3.1功能说明
实现职工的统一管理,进行职工信息的录入工作。
4.3.2实现方法
用户录入各项信息后,进行客户端验证(JavaScipt),例如职工编号不能为空,出生日期不能有字母等。
为了增强程序的健壮性,客户端有可能禁用javascipt,所以在服务器端最好也加上相同的验证。
经过验证以后合法的职工信息,将被存储在数据库中,存储成功后给出提示信息,并返回录入界面,如果存储失败,返回出错界面,给出提示信息。
新增时信息为:
用户登录名、用户密码、用户名称、用户部门(通过下拉菜单选择部门)、性别、年龄、身份证号码。
4.4职工信息的查询和修改
4.4.1功能说明
给出检索条件(姓名,部门等),检索出职工的简要信息,点击查看后,给出职工的详细信息。
点击更改后,进入更改界面
4.4.2实现方法
查询条件,可以列出职工的所有信息,供检索,或者只列出职工主要信息,如姓名,部门等。
通过选中的信息主键,在后台程序中获取该数据的详细信息,并通过将信息返回到弹出框页面中,对主要信息进行修改操作。
修改时信息为:
用户密码、用户名称、用户部门(通过下拉菜单选择部门)、性别(通过下拉菜单选择部门)、年龄
4.5部门信息的管理
4.5.1功能说明
部门管理部门的功能有查询部门信息、添加部门信息、修改部门信息、删除部门信息等,实现了部门的统一管理。
4.5.2实现方法
通过点击新增按钮实现对部门的基本信息(部门名称、部门说明、部门领导)等录入操作,在后台代码中获取创建人(系统操作用户)、创建时间(系统功能操作时间)、以及创建的状态(默认新增、修改为有效状态:
STATE=1,删除操作时状态置为无效:
STATE=0)等信息,点击保存按钮,将信息保存到数据库中。
4.6职工工资信息的导入
图4-6工资导入
4.6.1功能说明
为了减轻每个月对工资信息的手动录入工作,系统实现了工资批量导入功能。
系统管理员按照工资导入EXCLE模板,对工资信息整理到EXCEL表格中,使用此功能进行每月的工资批量入库工作,大大减轻了人力劳动,提高工作效率。
4.6.2实现方法
按照格式输入需要导入的年份和月份,选择需要导入的工资信息EXCEL(模板为固定格式),点击提交按钮,后台程序会批量导入导入工资信息。
4.7职工工资信息查看
图4-7工资信息查看界面
4.7.1功能说明
职工工资信息查看功能主要实现了管理员对全部工资信息的统一管理以及用户对自己的工资信息的明细查看。
通过此功能可以约束职工工资的保密性,同时又对职工的工资有电子留档。
4.7.2实现方法
根据登陆用户的角色判断用户是普通用户还是工资管理员,如果是普通用户则可以查看到本月的工资明细,也可通过查询功能按照年份月份查询以前的工资记录;如果为工资管理员则可以查看到本公司的所有的人的本月的工资明细,并可以通过查询功能按照用户、时间字段查询具体用户的具体时间的工资明细。
4.8用户角色的创建及授权
4.8.1功能说明
通过不同的权限控制系统的不同功能:
工资管理员:
工资的批量导入、全部员工的工资明细管理、部门信息维护。
普通用户:
按照条件查询工资明细。
超级管理员:
工资的批量导入、全部员工的工资明细管理、部门信息维护、权限菜单配置、日志管理(登陆日志、操作日志)。
4.8.2实现方法
点击创建角色,输入角色的基本信息,保存信息;通过【授权/除权】按钮对角色进行一级、二级权限的管理。
4.9权限菜单的配置
4.9.1功能说明
将所有的操作功能通过配置的方式统一管理,并根据配置编码进行两级功能控制,实现了动态管理角色,动态配置菜单的效果。
4.9.2实现方法
将已经开发完成的功能,按照规范编码进行配置,在用户登陆的时候,后台会根据用户获取角色,根据角色获取该角色有操作权限的菜单功能,并在系统中显示;无操作权限的菜单功能不在系统中显示。
4.10日志管理
4.10.1
系统会在后台记录登陆时间以及登陆的IP地址,形成统一的登陆日志记录,超级管理员可根据登陆时间,进行具体的用户痕迹查看。
4.10.2
系统会在后台记录每一个用户的操作日志,将每一次的操作时间、操作的功能记录,形成系统操作日志记录,超级管理员可根据操作时间,进行具体的用户操作记录查看。
4.11过滤器和监听器
4.11.1是否登陆过滤器
当用户发送请求时,检查用户是否登陆,或者超过20分钟没有动作,则判断为session过期,自动进入重新登陆界面。
4.11.2编码过滤器
使用gb2312编码,解决中文乱码问题。
4.11.3用户监听器
监听当前用户,产生日志记录。
登陆日志内容包括:
用户登陆时间、登陆IP地址等信息;操作日志内容包括:
操作模块、操作人、操作时间、操作模块的具体描述、详细备注。
第五章毕业设计小结
5.1目标完成情况和不足
本软件通过努力,基本上完成了需求中的功能。
实现了工资和人事管理的初级应用。
由于时间限制,部分功能未纳入系统。
如报工资表的导入功能。
数据库设计方面由于较多地考虑到了各个库的相对独立性,在结构设计、完整性约束不是很规范。
另外变量名、字段名等命名也不规范。
无错误处理模块以及帮助系统。
由于本人在美学方面的欠缺,程序的界面不是非常美观。
程序中遇到的问题和解决办法
1)由于用户登陆密码直接存放在数据库中,这样会暴露出用户密码,对系统的安全性造成很大的影响。
解决办法:
使用MD5加密工具对登陆密码进行加密处理。
2)由于系统对数据库操作比较频繁,而连接数据库不仅要开销一定的通讯和内存资源,还必须完成用户验证、安全上下文配置这类任务,因而往往成为最为耗时的操作。
解决办法:
使用tomcat的自带连接池。
多个请求共享一个连接,减少了连接数据库的开销。
3)代码优化方面,jsp代码中大量的使用scriptlet,使代码晦涩难懂,增加了代码的维护困难。
解决办法:
使用jstl标准的标签。
4)jsp页面的中文乱码问题。
解决办法:
由于每个页面都存在这个问题。
最后采用了一个监听器。
在监听器里把编码设为gb2312。
5.2项目展望
这个项目虽然大致完成了预定要求,但是由于时间比较仓促,一些功能具体实现上可能还不能完全满足客户要求。
例如用户对自己的工资明细确认功能,多用户的集成测试等。
在下一版本的开发中,在这几个方便改进和提高。
致谢
当我敲完论文的最后一个字符,夜已经很深了,推开房门,站在阳台上,只见一轮明月高悬在夜空中,那银色的光洒满大地,世界显得如此宁静。
夜风吹过,让我的头脑顿时清醒,在这几个月的毕业设计过程中,我获得的每一个进步和收获,都凝结着恩师的辛勤培养和许多人的关心帮助。
在这里,我首先要衷心感谢恩师.整个论文工作都是在他的精心指导下完成的,望着这厚厚的论文,它的每一页、每一个符号都浸透着导师的心血和汗水。
谨以此文表达我对恩师最诚挚的感谢!
参考文献
[1]javadoc1.4.2
[2]作者:
CayS.Horstmann,GaryCornell《CoreJava2,6e,VolumeI:
Fundamentals》机械工业出版社2003年10月1号
[3]作者:
JamesW.Cooper《JavaDesignPatterns》中国电力出版社2003年10月1日
[4]作者:
飞思科技产品研发中心《J2EE应用开发(WebLogic+Jbuilder)》电子工业出版社2003年7月1号
[5]作者:
DavidFlanagan《Javascript权威指南》机械工业出版社2003年1月1号
[6]作者:
BruceEckel《Java编程思想》,机械工业出版社,2002年9月第一版
附录
附录一数据库表的结构
1.部门信息表(SYS_DEPT)
字段描述
字段名称
字长
类型
备注
部门主键
DEPT_ID
32
VARCHAR2
部门名称
DEPT_NAME
100
VARCHAR2
部门说明
DEPT_COMMENT
512
VARCHAR2
部门领导
DEPT_MANAGER
32
VARCHAR2
创建人
CREATE_USER
32
VARCHAR2
创建时间
CREATE_TIME
19
VARCHAR2
2.用户信息表(SYS_USER)
字段描述
字段名称
字长
类型
备注
用户主键
USER_ID
32
VARCHAR2
用户登录名
LOGIN_NAME
32
VARCHAR2
用户密码
LOGIN_PASS
32
VARCHAR2
用户名称
USER_NAME
100
VARCHAR2
用户部门
DEPT
32
VARCHAR2
性别
SEX
1
VARCHAR2
年龄
AGE
6
VARCHAR2
身份证号码
SFZH
18
VARCHAR2
创建人
CREATE_USER
32
VARCHAR2
创建时间
CREATE_TIME
19
VARCHAR2
3.角色信息表(SYS_ROLE)
字段描述
字段名称
字长
类型
备注
角色主键
ROLE_ID
32
VARCHAR2
角色名称
ROLE_NAME
126
VARCHAR2
角色说明
ROLE_COMMENT
512
VARCHAR2
4.用户角色表(SYS_USER_ROLE)
字段描述
字段名称
字长
类型
备注
主键
USER_ROLE_ID
32
VARCHAR2
角色主键
ROLE_ID
32
VARCHAR2
用户主键
USER_ID
32
VARCHAR2
5.菜单配置信息表(SYS_RES)
字段描述
字段名称
字长
类型
备注
参数ID
RES_ID
2
CHAR(32)
参数名称
RES_NAME
64
VARCHAR2(64)
参数编号
RES_NUM
32
VARCHAR2(32)
父级资源
PARENT_RES
32
VARCHAR2(32)
-1为顶级资源
资源类型
RES_TYPE
1
CHAR
(1)
0-菜单;1-操作
操作类型
OPTION_TYPE
1
CHAR
(1)
排序编号
SORT
INTEGER
状态
STATE
1
CHAR
(1)
0-无效;1-有效
6.角色权限表(SYS_ROLE_RES)
字段描述
字段名称
字长
类型
备注
主键
ROLE_RES_ID
32
VARCHAR2
角色主键
ROLE_ID
32
VARCHAR2
参数主键
RES_ID
32
VARCHAR2
7.工资表(USER_WAGES)
字段描述
字段名称
字长
类型
备注
主键
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 企业 工资管理 系统 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)