工资管理系统.docx
- 文档编号:9493405
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:50
- 大小:864.93KB
工资管理系统.docx
《工资管理系统.docx》由会员分享,可在线阅读,更多相关《工资管理系统.docx(50页珍藏版)》请在冰豆网上搜索。
工资管理系统
《软件工程》课程设计
题目:
工资管理系统
学生姓名:
学号:
院系:
专业年级:
指导教师:
2016年7月1日
摘要
Internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连接成一个整体。
作为Internet上一种先进的,易于被人们所接受的信息检索手段,WorldWideWeb(简称WWW)发展十分迅速,成为目前世界上最大的信息资源宝库。
据估计,目前Internet上已有上百万个Web站点,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,建设一个好的Web站点对于一个机构的发展十分重要。
近年来,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在Internet中的广泛应用,Web站点向用户提供的服务将越来越丰富,越来越人性化。
本系统主要采用Struts2框架,是一个基于Web的工资管理系统,支持员工相关信息Web查询和发布等。
开发工具采用MyEclipse8.6,Tomcat6.0服务器,Mysql5.5数据库,编程语言使用Java、JSP。
在开发过程中使用到的技术主要有:
Struts2、jQuery1.4.4、Javascript,CSS等
关键词:
Web;工资管理;SSH
第一章绪论
1.1课题研究的背景和意义
该系统着眼于员工工资业务的实际,对发放工资业务进行了细致的分析、研究,认真分析其业务流程,采用灵活方便的计算处理方式,改变手工操作的繁杂、低效、不宜操作、灵活性差的特点,提高其工作效率和效益。
实现员工工资管理业务的制度化、现代化的管理。
工资管理系统是为了能够迅速、准确地反映出用户需要的各种信息,及时方便的进行各种检索,从而为决策者做出准确的判断提供强有力的支持。
计算机的使用使得企业管理变得更加合理,更加规范,更加科学。
1.2国内外研究现状
目前,国内人才中心对于企事业单位的工资管理还处于半系统的状态,管理起来效率低下,有的时候工资统计不及时,往往影响后续的工作。
而国外人才中心对于企业单位工资管理已逐步趋于完善成熟的状态,工资管理效率高,能及时完成员工工资的统计管理及后续工作。
计算机与网络技术的高速发展,特别是面向对象技术的出现,使得JAVA的软件开发得到了迅速普及。
本课题主要以使用采用SSH框架,以JAVA、JSP为基础进行员工工资管理系统的开发与实现。
1.3论文主要研究内容
随着计算机技术的发展,企业管理越来越趋于自动化,而工资管理是企业管理的重要组成部分,它与企业的财务管理、人事管理有着密切的联系。
由于企业员工工资结构存在一定的规律性,工资发放在时间上和操作上存在一定的重复性,这使得企事业单位工资管理计算机化成为可能。
本系统在此基础上实现了工资信息查询、人员信息管理、报表生成等功能。
用户只要使用IE浏览器访问相关站点,输入正确的用户名和密码成功登陆后,普通用户便可查询自己的工资情况和其他相关信息。
对管理员来说使用起来也非常的方便快捷,可以进行科学、合理的对员工工资和人员进行管理。
第二章关键技术介绍
2.1相关技术介绍
2.1.1Tomcat平台
pacheHTTPServer(简称Apache),是Apache软件基金协会的一个开放源码的网页服务器,可以在Windows、Unix、Linux等操作系统中运行是最流行的Web服务器软件之一。
Apache反应速度快,运行效率高,但只支持HTML等静态页面(加载插件后也可支持静态PHP页面)。
ApacheTomcat是由Apache软件基金协会与Sun公司联合开发的一款Web服务器,它除了支持HTML等静态页面外,还支持JSP、Servlet。
在相同的运行环境下,Tomcat对静态页面的反应速度没有Apache灵敏,整合Apache与Tomcat能使系统运行于一个良好环境下,提高系统效率。
2.1.2Mysql功能简介
MySQL是一个精巧的SQL数据库管理系统,虽然它不是开放源代码的产品,但在某些情况下你可以自由使用。
由于它的强大功能、灵活性、丰富的应用编程接口(API)以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,特别是与Apache和PHP/PERL结合,为建立基于数据库的动态网站提供了强大动力。
MySQL是一个真正的多用户、多线程SQL数据库服务器。
2.1.3JSP技术
Jsp(JavaServerPage)是在普通Html中嵌入了Java代码的一个脚本,在这一点上,它与其它的脚本语言(如Php)一样,但它与其它语言不同的是:
其它脚本语言由服务器直接解释这个脚本,而Jsp则由Jsp容器(如Tomcat)首先将其转化为Servlet,然后再调用Javac将Servlet编译为Class文件。
最终,服务器解释的是Class文件。
那么什么是Servlet呢?
Servlet其实是一个特殊的Java类,Servlet类一般从HttpServlet类继承而来,在这个类中至少要实现doGet或者doPost函数,在这两个函数中处理来自客户的请求,然后将结果返回。
Servlet和Jsp是Sun公司J2EE架构中重要的部分。
由于基于Java语言,因此其可以方便的调用功能强大的JavaAPI(如JDBC)。
2.1.4Struts2
Struts2框架由三部分构成:
核心控制器、业务控制器和用户实现的业务逻辑组件。
在这三部分中,struts2框架提供了核心控制器StrutsPrepareAndExecuteFilter,而用户需要实现业务控制层和业务逻辑层。
2.1.5JDBC
JDBC是一种可用于执行SQL语句的JavaAPI(ApplicationProgrammingInterface,应用程序设计接口)。
它由一些Java语言写的类、界面组成。
JDBC给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。
通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一种数据库。
也就是说,开发人员可以不必写一个程序访问Sybase,写另一个程序访问Oracle,再写一个程序访问Microsoft的SQLServer。
用JDBC写的程序能够自动地将SQL语句传送给相应的数据库管理系统(DBMS)
2.1.6MyEclipse
MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。
MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC数据库链接工具等多项功能。
可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。
2.2基本原理
本系统主要采用B/S结构,由客户端(WEB浏览器)、WEB服务器、数据库服务器三层分布式结构组成。
该结构具有系统维护升级方便、跨平台操作、具有良好的开放性和可扩充性以及系统安全性等优点。
用户可通过Internet/Intranet利用浏览器登录到WEB服务器上,请求调用JSP文件,打开该JSP页面,执行相应的脚本,执行结果产生动态生成的HTML页面并返回浏览器,进行应答。
用户通过浏览器对HTML页面进行相应的操作请求,则JSP通过JDBC访问数据库服务器,对试题库进行访问查询,然后动态生成一个HTML页面将查询结果返回浏览器,供用户使用。
其总体方案见图2-1。
图2-1基于B/S模式的在线考试系统总体方案
2.3系统开发环境的配置
系统采用Windows7+ApacheTomcat7.0+Eclipse+Mysql5.0作为开发环境,主要配置如下:
2.3.1JDK安装及配置
本系统选用了Windows平台上的JDK1.6,文件名为jdk-6u13-windows-i586-p.exe,选择好安装路径直接安装该文件即可,安装目录为F:
\java。
接着来设置环境变量,在控制面板\系统\高级\环境变量中设置JAVA_HOME、Path、Classpath三个环境变量,JAVA_HOME的值为F:
\java,Path的值为F:
\java\bin,Classpath的值为%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar。
2.3.2Mysql的配置
软件安装完成后,按照Mysql配置向导,将“ConfiguretheMysqlServernow”前面的勾打上,点“Finish”结束软件的安装并启动Mysql配置向导。
选择配置选择“DetailedConfiguration”,方便熟悉配置过程。
服务器类型选“ServerMachine”,不会太少,也不会占满。
Mysql数据库的大致用途选择“TransactionalDatabaseOnly”。
网站的一般Mysql访问量同时连接的数目选“OnlineTransactionProcessing(OLTP)”,按“Next”继续是否启用TCP/IP连接,设定端口,启用并将前面的勾打上,PortNumber:
3306。
按“Next”继续西文编码,选择第三个,然后在CharacterSet那里选择或填入“gbk”。
按“Next”继续。
询问是否要修改默认root用户的密码,进行密码修改。
最后“CreateAnAnonymousAccount”(新建一个匿名用户,匿名用户可以连接数据库,不能操作数据,包括查询),不勾选后设置完毕,按“Next”继续。
确认设置无误,如果有误,按“Back”:
返回检查。
按“Execute”使设置生效。
2.3.3ApacheTomcat7.0
本系统选用了ApacheTomcat7.0,文件名为apache-Tomcat-7.0.50,选择好安装路径直接安装该文件即可。
本系统选择安装在F:
\apache-Tomcat-7.0.50目录下。
安装后,设置环境变量,在控制面板\系统\高级\环境变量中设置CATALINA_HOME、系统变量Path两个环境变量,CATALINA_HOME的值为F:
\apache-Tomcat-7.0.50,Path的值为%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin3.4Eclipse。
2.3.4MyEclipse
解压到指定目录Eclipse后整合JDK,Window-->Preferences-->Java-->InstalledJREs-->Add-->StandardVM-->指定JREhome为JDK的根目录-->指定JREname。
整合Tomcat的2种方式,Server面板-->点击Noserverareavailable.Clickthislinktocreateanewserver...-->选择Apache的Tomcat7.0-->指定Tomcatinstallationdirectory为Tomcat的根目录-->指定JRE为安装好的JDK名称-->Finish。
将项目的发布到webapps目录下,双击Server面板的Tomcat服务器-->选择UseTomcatinstallation-->设置Deploypath为webapps-->关闭该页时保存。
指定测试时运行的浏览器为IE,修改JSP文件的字符编码集为utf-8。
最后设置编译和运行前自动存盘
第三章需求分析
本系统主要实现了员工每月最终工资,其中人事管理模块主要实现了部门管理、员工管理功能;薪资管理模块主要实现了员工基本工资设置、该月员工工资的生成;出勤管理模块主要实现了员工出勤状况记录、查询、修改功能;用户管理模块主要实现了管理员账号信息的产看、密码修改功能。
3.1用例模型
3.1.1总用例图
如图3-1所示:
图3-1总用例图
3.1.2用例规约
(1)AdministratorsLogin用例
用例
AdministratorsLogin(系统管理员登入)
简要描述
登入系统
参与者
系统管理员
前置条件
管理员账号已设置
主事件流
1.账号存在
2.密码正确
3.验证信息正确
4.登入系统
备选流
登入失败
1.账号不存
2.密码不正确
3.验证信息不正确
(2)Dept用例
用例
Dept(部门管理)
简要描述
登入系统
参与者
系统管理员
前置条件
管理员账号已设置
主事件流
1.新建部门
2.查询部门信息
3.修改部门信息
4.删除部门
备选流
新建部门失败
1.部门编号已存在
(3)User用例
用例
User(员工管理)
简要描述
管理部门信息
参与者
系统管理员
前置条件
已登入管理系统
主事件流
1.修改员工信息
2.添加新员工
3.查询员工信息
4.删除员工信息
备选流
添加新员工失败
1.员工编号已存在
(4)salary用例
用例
salary(工资信息)
简要描述
登入系统
参与者
系统管理员
前置条件
已登入管理系统
主事件流
1.查询该月员工工资
2.生成该月员工工资
3.查看具体员工相信工资信息
备选流
查询失败
1.该月考勤数据未生成
2.该月工资数据未生成
3.奖罚措施未设置
4.保险比例未设置
(5)Salarystandard用例
用例
Salarystandard(工资设置)
简要描述
登入系统
参与者
系统管理员
前置条件
已登入管理系统
主事件流
1.查询员工信息
2.修改员工基本工资
备选流
查询失败
1.不存在该员工信息
(6)Insurance用例
用例
Insurance(保险设置)
简要描述
登入系统
参与者
系统管理员
前置条件
已登入管理系统
主事件流
1.设置各项比例
2.保存修改信息
备选流
修改失败
1.有的选项为空
(7)Attendence用例
用例
Attendence(考勤信息)
简要描述
登入系统
参与者
系统管理员
前置条件
已登入管理系统
主事件流
1.查询的该月考勤信息存在
2.显示该月考勤信息
3.查询的该月考勤信息不存在
4.生成该月考勤信息并显示
5.点击员工信息进行修改操作
6.修改成功并保存
备选流
查询失败
1.该月考勤信息不存在
(8)Attendenceset用例
用例
Attendenceset(出勤奖罚)
简要描述
登入系统
参与者
系统管理员
前置条件
已登入管理系统
主事件流
1.输入设置信息
2.保存修改信息
备选流
修改失败
1.有的信息设置为空
(9)Personalinformationquery用例
用例
Personalinformationquery(个人信息查询)
简要描述
登入系统
参与者
系统管理员
前置条件
已登入管理系统
主事件流
1.显示管理员账号个人信息
备选流
查询失败
1.个人信息不存在
(10)Passwordmodification用例
用例
Passwordmodification(密码修改)
简要描述
登入系统
参与者
系统管理员
前置条件
已登入管理系统
主事件流
1.旧密码正确
2.两次密码信息一致
3.密码修改成功
备选流
修改失败
1.旧密码不正确
2.两次密码不一致
3.2分析类
3.2.1管理员登入模块
(1)管理员登入用例图,如图3-2所示
图3-2管理员登入用例图
(2)管理员登入时序图,如图3-3所示
图3-3管理员登入时序图
(3)管理员登入协作图,如图3-4所示
图3-4管理员登入协作图
3.2.2人事管理模块
(1)人事管理用例图,如图3-5所示
图3-5人事管理用例图
(2)人事管理时序图,如图3-6所示
图3-6人事管理时序图
(3)人事管理协作图,如图3-7所示
图3-7人事管理协作图
3.2.3薪资管理模块
(1)薪资管理用例图,如图3-8所示
图3-8薪资管理用例图
(2)薪资管理时序图,如图3-9所示
图3-9薪资管理时序图
(3)薪资管理协作图,如图3-10所示
图3-10薪资管理协作图
3.2.4出勤管理模块
(1)出勤管理用例图,如图3-11所示
图3-11出勤管理用例图
(2)出勤管理时序图,如图3-12所示
图3-12出勤管理时序图
(3)出勤管理协作图,如图3-13所示
图3-13出勤管理协作图
3.2.4用户管理模块
(1)用户管理用例图,如图3-14所示
图3-14用户管理用例图
(2)用户管理时序图,如图3-15所示
图3-15用户管理时序图
(3)用户管理协作图,如图3-16所示
图3-16用户管理协作图
3.3工资计算公式
设:
基本工资=A 养老保险=B 失业保险=C
工伤保险=D 生育保险=E 医疗保险=F
公积金=G
迟到罚款=H 早退罚款=I 请假罚款=J
旷工罚款=K 加班奖金=L
最终员工薪资=M
则:
M=A-A*(B/100)-A*(C/100)-A*(D/100)-A*(E/100)-A*(F/100)-A*(G/100)-H-I-J-K+L
第四章概要设计
4.1体系结构设计
为了使本系统功能齐全完备,操作简便,最大限度的提高软件的质量,从而满足用户的实际需要,在设计开发过程中遵循实用性和易操作原则,本系统主要设计以下模块,系统总体结构如图4-1所示。
图4-1系统结构图
4.2数据设计
4.2.1概念设计
(1)本系统的类图设计1,如图4-2所示:
图4-2数据库E-R模型图1
(2)类图设计2,如图4-3所示:
图4-3数据库E-R模型图2
4.2.2E-R图设计
本系统的数据库设计E-R模型图,如图4-4所示
图4-4数据库E-R设计图
2.2逻辑设计
(1)员工表,用于存储员工信息,员工序号为主键是唯一标识。
表中各字段功能定义如表4-1所示。
表4-1员工表(user表)
字段名
字段类型
对应中文名
uid
varchar
员工序号
username
varchar
用户账号
password
varchar
用户密码
uempid
varchar
员工工号
utruename
varchar
员工姓名
age
varchar
年龄
sex
varchar
性别
birthday
varchar
出生年月
idnum
varchar
身份证号
marry
varchar
婚姻状况
polity
varchar
政治面貌
city
varchar
籍贯
telnum
varchar
手机号
address
varchar
住址
school
varchar
毕业院校
degree
varchar
学历
startdate
varchar
入职时间
deptname
varchar
部门名称
remark
varchar
备注
(2)考勤信息表,用于存储考勤信息,考勤序号为主键是唯一标识。
表中各字段功能定义如表4-2所示。
表4-2考勤信息表(attendence表)
字段名
字段类型
对应中文名
aid
varchar
考勤序号
uid
varchar
员工序号
atruename
varchar
姓名
aempid
varchar
工号
ayear
varchar
年份
amonth
varchar
月份
alatecome
int
迟到次数
aearlyleave
int
早退次数
aleave
int
请假天数
aovertime
int
加班时数
anegletwork
Int
旷工次数
(3)考勤奖罚表,用于存储考勤奖罚信息,编号为主键是唯一标识。
表中各字段功能定义如表4-3所示。
表4-3考勤奖罚表(attendenceset表)
字段名
字段类型
对应中文名
cid
varchar
编号
clatecome
double
迟到罚款
cearlyleave
double
早退罚款
cleave
double
请假罚款
covertime
double
加班奖励
cnegletwork
double
旷工罚款
(4)部门表,用于存储部门信息,部门序号为主键是唯一标识。
表中各字段功能定义如表4-4所示。
表4-4部门表(dept表)
字段名
字段类型
对应中文名
id
varchar
部门序号
name
varchar
部门名称
remark
varchar
备注
manager
varchar
负责人
number
varchar
部门编号
tel
varchar
部门电话
(5)保险设置表,用于存储论留言信息,编号为主键是唯一标识。
表中各字段功能定义如表4-5所示。
表4-5保险设置表(insurance表)
字段名
字段类型
对应中文名
old
int
养老保险
unemployment
int
失业保险
injury
int
工伤保险
bear
int
生育保险
medical
int
医疗保险
house
int
公积金
id
varchar
编号
(6)基本工资表,用于存储课基本工资信息,工资序号为主键是唯一标识。
表中各字段功能定义如表4-6所示。
表4-6基本工资表(salarystandard表)
字段名
字段类型
对应中文名
did
varchar
工资序号
dempid
varchar
员工工号
uid
varchar
员工序号
dtruename
varchar
员工姓名
dbasesalary
double
基本工资
(7)薪资表,用于存储薪资信息,编号为主键是唯一标识。
表中各字段功能定义如表4-7所示。
表3-7薪资表(salary表)
字段名
字段类型
对应中文名
sid
varchar
编号
uid
varchar
用户编号
sempid
varchar
工号
struename
varchar
姓名
syear
varchar
年份
smonth
varchar
月份
sbasesalary
double
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工资管理 系统