大学工资管理系统毕业论文.docx

上传人:b****5 文档编号:6877868 上传时间:2023-01-12 格式:DOCX 页数:38 大小:503.08KB
下载 相关 举报
大学工资管理系统毕业论文.docx_第1页
第1页 / 共38页
大学工资管理系统毕业论文.docx_第2页
第2页 / 共38页
大学工资管理系统毕业论文.docx_第3页
第3页 / 共38页
大学工资管理系统毕业论文.docx_第4页
第4页 / 共38页
大学工资管理系统毕业论文.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

大学工资管理系统毕业论文.docx

《大学工资管理系统毕业论文.docx》由会员分享,可在线阅读,更多相关《大学工资管理系统毕业论文.docx(38页珍藏版)》请在冰豆网上搜索。

大学工资管理系统毕业论文.docx

大学工资管理系统毕业论文

目录

绪论1

背景1

开发工具和运行环境的选择1

第一章需求分析3

1.1用户功能的需求分析3

1.2功能划分4

1.3数据描述5

1.4数据采集9

1.5数据库设计10

第二章概要设计14

2.1总体设计14

2.2数据结构设计16

第三章详细设计18

3.1登陆窗口设计18

3.2主界面18

3.3职工信息录入19

3.4职工信息的查询和修改20

3.5课时工资信息的录入21

3.6课时和工资信息的查询和修改22

3.7工资结构的查看22

3.8工资结构的调整23

3.9报表生成23

3.10过滤器和监听器24

总结25

致谢27

参考文献28

附录29

附录一工资的计算公式29

附录二数据库表的结构29

附录三源代码32

摘要

本文从用计算机实现工资管理的角度出发,系统地介绍了为某所大学设计的一套网络环境的工资软件。

本文详细叙述了系统的功能、数据结构、概要设计、详细设计。

系统实现了职工信息、工资的录入、查询和修改,用户可定制报表,用户管理等功能。

系统的特点是采用B/S架构,整个系统的管理工作都集中在服务器端,运用多层软件架构确保了系统的扩展性和适用性。

服务器端主要运用servlets实现,客户端主要使用jsp实现。

关键字:

工资管理系统,oracle的java存储过程,工资计算模块

Abstract

Thistreatisebasesonthemanagingofwagebycomputerandgenerallyintroducesakindofwagemanagingsoftwareaboutinternetenvironmentforacertainuniversity.Itdiscussesthefunctionsofthesystem,datastructure,summarydesigningandparticulardesigningindetials.Thesystemimplementstheinsertqueryoftheemployee'sinformationandwage,thereports,usermanagementandsoon.ThespecialtyofthesystemisusingB/Sstructure.Themanagementofthesystemfocusontheserver.Itusesseverallayerssoftwarestructuretoinsuretheapplicabilityandtheexpansibilityofthesystem.Theserverismostlyusingservletsand,theclientisjsp.

KeyWords:

Themanagementsystemofwage,thejavastoredprocedureoforacle,themoduleofwagecalculoation

绪论

背景

随着计算机技术的飞速发展,计算机在企业和大学管理中应用的普及,利用计算机实现人事工资的管理势在必行。

利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业和大学劳动人事管理走向科学化、规范化的必要条件;而工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,同时计算机具有手工管理所无法比拟的优点。

例如:

检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高人事工资管理的效率,也是企业的科学化、正规化管理与世界接轨的重要条件。

不同的大学具有不同的人事、工资管理制度,这就决定了不同的大学需要不同的人事工资管理系统。

该大学以前的所有资料都是用Foxbase来进行管理的,面对目前的实际状况,迫切需要开发一个新系统来适应这一些工作。

开发工具和运行环境的选择

由于各个院系地理分布的复杂性,本系统采用b/s结构,即Brower-Server(浏览器-服务器)架构,B/S结构是目前最流行的数据库应用模式,它解决了各种分布式应用,扩展了业务范围;在B/S结构下,整个系统的管理、资源分配、数据库操作、业务逻辑部件的管理及动态加载等工作集中用服务器,容易部署和管理。

由于整个系统使用了B/S架构,在客户端使用标准的Web页面浏览器(如InternetExplorer等),不需安装特殊的应用程序,减少了升级和维护的难度,所有的业务数据都保存在服务器(Server)端,确保了业务的安全;在通讯方面,由于使用的是标准的Http协议,使得系统可以轻松的实现移动办公和分布式管理,同时,为系统与电子商务的整合与扩展打下了坚实的技术基础。

灵活的系统体系结构,以及对Internet技术的充分运用,保证了业务逻辑、界面表示的独立,使系统具有高可用性、可伸缩性和易扩展性。

本系统采用的多层软件架构确保了系统的扩展性和适用性。

整个系统可以分为三层的结构:

Client(客户端)--Presentation(表现层)--Database(数据服务层),这三层分别由Browser--WebServer--DatabaseServer构成。

第一章需求分析

1.1用户功能的需求分析

1.1.1大学的组织结构(仅讨论管理,教学,科研机构)如图1-1所示

校管会

 

工商学院

计算机系

自控系

电子系

机械系

力学系

图1-1abc大学组织结构图

1.1.2大学的工资发放标准

a、应发工资包括以下几部分:

1.基本工资(以职工职称为标准)

2.职务工资(以担任职务为标准)

3.教学津贴(担任教学任务的职工发放,以职称和课时数为标准教学津贴=津贴标准*课时数)

4.科研津贴(担任科研任务的职工发放,以职称为标准,每月发放)

b、代扣代缴包括以下几个部分:

1.保险金

2.住房公积金

3.代扣所得税(计算方法见附录一:

代扣代缴费用计算方法)

c、其他(直接录入)

职工实发工资=应发工资-代扣代缴+其他

1.1.3具体需求

a提供各项数据的录入,修改,查询功能。

包括部门信息,职工信息,工资的发放标准,教师每月课时登记;自动生成每月的应发工资,由操作人员填入各项代扣代缴费用后,自动生成实发工资。

(在每月计算工资前,应录入每一个参加教学工作老师的当月课时数据,否则不能计算此老师工资数据,且系统应给出一个出错提示。

一个老师可以同时参与教学和科研,两项津贴都按标准发放)

b要求提供的报表

1基本报表

A.每月工资发放表(以部门分组,由用户指定月份作为查询条件)

B.ABC大学教职工花名册(以部门分组)

C.部门各职称职工人数统计表(对应一张显示同样信息的图表)

2综合报表

A.分部门各职称工资构成统计表(对应一组显示同样信息的图表,由用户指定月份区间作为查询条件)

1.1.3系统维护

提供简单的用户管理的功能,增加,删除用户,设置,修改用户口令。

为了兼顾安全性和方便性,在用户管理上针对不同的角色,实现不同的操作权限。

1.2功能划分

根据需求分析,将系统划分为7个功能模块,分别为用户登陆,系统管理,数据录入,数据查询,基本报表生成,综合报表生成,用户管理。

详细如图1-2所示

图1-2系统构架图

1.3数据描述

1、静态数据

数据库中表单的个数,表单中数据属性的个数是静态数据。

2、动态数据

建立数据库时输入的数据,对数据库进行查询时输出的数据都属于动态数据。

3、数据库描述

本系统所采用的数据库类型为3NF。

数据库由9个表组成,分别为部门信息表,职工信息表,职称信息表,职务信息表,教学津贴发放标准,科研津贴发放标准,个人课时登记表,个人工资信息表,用户表。

4.数据流

为了能够向用户清晰地描述该管理系统的具体功能和工作原理,我们先看一下该系统的数据流程图

图1-3顶层数据流图

从图1-3中可以看出系统的大概功能,及数据来源,数据输出等。

功能主要为数据的保存、查询、及反馈,还有数据的录入等进一步的操作没有显示出来,将在0层图里显示出来。

图1-40层数据流图

图1-4是本系统的0层图。

它把整个系统分为四个子模块。

数据录入,工资计算,数据查询,报表生成。

数据的主要来源是用户的录入。

图1-5模块一数据流图

图1-5为1层图模块一的数据流图,功能主要是检查录入数据有效性。

图1-6工资计算模块数据流图

图1-6为1层图工资计算模块的数据流子图。

该图主要由7个子模块组成。

主要功能是计算职工基本工资,职务工资,教学津贴,科研津贴,和代扣代缴,最后存储到个人工资信息表里。

1.4数据采集

1.数据来源

数据主要来源于职工,即职工是数据源,职工的基本信息,职务信息,职称信息,可是登记表等作为数据源输入。

其他的教学津贴发放标准,科研津贴发放标准,职称工资标准,由学校统一录入。

2.数据出路

主要是反馈给各个院系和学校领导,职工个人等

1.5数据库设计

1.表和和视图描述

表格描述

表格名称

具体描述

部门信息表

Dept00

系统已建

职工信息表

Emp000

用于记录职工个人信息

职称信息表

Zc0000

系统已建

职务信息表

Zw0000

系统已建

教学津贴发放标准

Jxjt00

系统已建

科研津贴发放标准

Kyjt00

系统已建

个人教学登记表

Grjxdj

用于登记职工每月的教学课时数

个人工资信息表

Grgzxx

用于记录职工的工资的各项内容

用户表

Users

用于记录用户的用户名,密码,和权限

各部门职称年龄结构视图

View_age

用于综合报表3,反应各部门各职称在个年龄段的人数

每月工资发放信息视图

View_bscrpt1

用于基本报表1,2,3,5,的工资发放情况

部门工资信息视图

View_bscrpt4

用于基本报表4,用于分部门统计没月的工资信息,

部门职称人数统计视图

View_bscrpt6

用于基本报表6,用于分部门统计各职称的人数

职工信息视图

View_emp

用于花名册,

部门职称工资构成视图

View_genrpt1

用于综合报表1,

部门教学科研力量统计视图

View_genrpt2

用于综合报表2,

2其他功能模块

触发器

课时插入触发器

Trig_ins_ks

当有课时信息被插入时触发,进行工资计算,把除了“其他”以外的信息填写到grgzxx和gz0000表中

课时修改触发器

Trig_upd_ks

当有课时信息被修改时触发,进行工资计算,把除了“其他”以外的信息在grgzxx和gz0000表中的相应行进行修改

课时删除触发器

Trig_del_ks

课时以登记年月为单位整体删除时触发,同时删除在grgzxx和gz0000中有相同登记年月的工资记录

其他修改触发器

Trig_ins_qt

当grgzxx中的‘其他’被修改时,对实发工资进行重新计算,并将修改gz0000中的’qt’和’sfgz’(实发工资)

存储过程

添加新用户过程

Pro_adduser

(pam_userid,

pam_password,pam_useright)

根据传递过来的参数在用户表中插入一行用户信息,如果有违反一致性原则,则回传一个‘错误标识’

修改用户密码过程

Pro_chgpassw

(pam_userid,

pam_password)

根据传递过来的参数,修改制定用户的密码,如果有违反一致性原则,则回传“错误”

插入新职工过程

Pro_insemp

(pam_empid0,……)

根据传递过来的参数,插入一行职工信息,如果有违反一致性原则,则回传一个“错误”

插入课时信息过程

Pro_insksxx

(p_djny00,

p_empid0,

p_kss000p)

根据传递过来的参数,插入一行课时信息,如果有违反一致性原则,则回传一个“错误”(将触发触发器)

修改用户权限过程

Pro_setuser

(pam_userid,

pam_useright)

根据传递过来的参数,对指定用户的权限进行修改

函数

计算职工年龄范围

Fun_age

(pam_birthday)

根据传递过来的参数,计算职工年龄,并且转换为年龄段信息回传

 

图1-7表关系图

第二章概要设计

2.1总体设计

2.1.1基本概念设计

本软件是基于web的工资管理系统,开发结构为数据库/应用服务器/客户端的三层结构,即数据层/逻辑层/表示层,系统在J2EE平台上实现;考虑到实际情况,本系统的用户可能是财务管理者,也可能是普通职员,为了兼顾安全性和方便性,在用户管理上针对不同的角色,实现不同的操作权限。

2.1.2开发环境

数据库服务器使用Oracle9i,客户端统一使用Web浏览器,向应用服务器的HTTP端口发请求。

配置对象

软件要求

硬件要求

网络环境

IE5.5,Windows2000

内部局域网

应用服务器

Tomcat5.0

PⅣCPU

512M内存

40G硬盘

数据库服务器

Oracle9i

PⅣCPU

1G内存72G硬盘

数据库开发平台

PL/SQLDeveloper

开发环境

JbuilderXDreamweaver2004

512M内存

主频1GCPU

40G硬盘

2.1.3软件结构

系统的SC图如下所示

图2-1系统sc图

图2-1为管理员所能操作的功能,普通用户只能查看其中的数据查询和登录注销模块。

功能需求与模块的关系

序号

模块简称/简称

模块名

需求简要描述

1

LOGIN 

用户登录

根据登录的用户角色,显示不同的菜单项,限制普通用户的权限。

2

QUIT

退出系统

阻止用户非正常退出系统,将用户保存在web应用服务器上的所有session删除。

3

CONS_PRIL_MODEL

用户构造

根据不同的用户角色,动态构造不同的菜单项目。

4

M_USER

用户管理

管理除自己外的所有用户,包括删除,添加和修改,普通用户要使用该系统,必须由管理员创建登录名和密码。

5

CHANGE_PASSWORD

密码更改

用户更改自己的密码

6

VALIDATIOON

数据有效性校验(通用模块)

通过给需要校验的表单元素增加扩展属性,就可以完成客户端表单数据的校验。

校验会给出合理的提示信息,并自动定位到不合理数据元素。

7

DEPT_OPER

部门信息维护

部门信息的输入与修改。

8

TEACHER_OPER

职工信息维护

职工信息的输入与修改。

9

PAY_OPER

工资标准信息维护

工资标准的输入与修改。

10

COURSE_OPER

课时信息的维护

课时信息的输入与修改。

11

QUERY_DEPT

部门信息查询

查询部门信息,并可操作数据。

12

QUERY_TEACHER

职工信息查询

查询教师信息,并可操作数据。

13

QUERY_COURSE

课时信息查询

查询课时信息,并可操作数据。

14

QUERY_PAY

工资标准查询

查询工资标准,并可操作数据。

15

SUM_PAY

统计工资

按部门统计各项数据。

可按部门查询和个人查询,并统计各个部门的数据。

16

SYNCHRONIZE

同步操作

将常用的数据下载到客户端,并与服务器同步,加快频繁查询字段的输入速度。

表2-2功能需求和模块表

2.2数据结构设计

2.2.1全局变量定义

全局变量的名称

变量意义

例子

PuStr_ErrorLogFile

存放系统日志的文件

c:

\\DseJavaError_WS.log

PuStr_ErrorLogFileTemp

系统日志临时文件

c:

\\ErrorTemp_WS.txt

PuStr_kzbPath

系统功能文件存放路径

C:

\\temp\\cx\\kzb\\

PuStr_bmPath

系统表码所存放的路径

C:

\\temp\\cx\\bm\\

puStr_host

数据库的服务器地址

192.168.0.128

puStr_port

数据库的服务器端口号

1521

puStr_SID

数据库的SID

DRAGON

puStr_user

数据库的服务器用户帐号

Abc_bm

puStr_password

数据库的服务器用户密码

aaa

puStr_dbJNDI

数据库的JNDI名

DSgaj

表2-3全局变量表

2.2.2物理结构设计

系统全局变量保存在一个配置文件中,码表从数据库读入到web应用服务器本地的系统上,方便读取,加快读写速度,数据库保存在oracle9i服务器上。

第三章详细设计

3.1登陆窗口设计

图3-1登录窗口界面

3.1.1功能说明

用户信息的验证。

要求输入用户名和密码,并检查用户名和密码的正确性。

如果正确,则设定用户的使用权限,进入系统的主界面;如果错误,则提示用户继续输入,直到退出系统为止。

3.1.2实现方法

首先链接数据库,要求用户输入用户名和密码,点击登陆,则读取用户表users,把用户输入的信息与用户表中的信息进行比较,如果正确,则进一步读取用户的使用权限到session里的username和scope,同时打开主界面;否则,给出提示信息重新进入登陆界面。

3.2主界面

图3-2主界面

3.2.1功能说明

用户操作的主界面,左边是功能菜单,列出了当前用户具有功能选项。

右边是主界面,具体的操作都在主界面实现

3.2.2实现方法

主界面有三个框架组成。

分别为title,menu,main。

Tile中主要是系统名称,menu主要是一些功能按钮。

如职工信息录入,查询,修改;工资信息的查询录入和修改,报表生成等功能。

这些功能是随着用户的权限的变化而动态变化的。

如一般用户进入后就只有查询功能,没有录入的功能。

点击menu里的功能按钮后,在main框架中就会出现这个功能的具体操作,下面将详细介绍各个功能。

 

3.3职工信息录入

图3-3职工信息录入界面

3.3.1功能说明

进行职工信息的录入工作。

3.3.2实现方法

用户录入各项信息后,进行客户端验证(JavaScipt),例如职工编号不能为空,出生日期不能有字母等。

为了增强程序的健壮性,客户端有可能禁用javascipt,所以在服务器端最好也加上相同的验证。

经过验证以后合法的职工信息,将被存储在emp000中,存储成功后给出提示信息,并返回录入界面,如果存储失败,返回出错界面,给出提示信息。

3.4职工信息的查询和修改

图3-4职工信息查询和修改界面

3.4.1功能说明

给出检索条件(姓名,部门等),检索出职工的简要信息,点击查看后,给出职工的详细信息。

点击更改后,进入更改界面

3.4.2实现方法

查询条件,可以列出职工的所有信息,供检索,或者只列出职工主要信息,如姓名,部门等。

更改界面里,职工编号是不能被修改的,其他职工信息的有效性验证与录入相同。

3.5课时工资信息的录入

图3-5工资信息录入界面

3.5.1功能说明

实现职工每月课时和工资(其他方面)录入

3.5.2实现方法

先选择要录入的年月和部门,点提交后,下方列出这个部门要录入的所有员工(注意:

有的员工没有参加教学,那么他的课时录入框应该为空)。

录入完毕点提交后,先检查数据有效性(课时数不能超过三位数,不能含有字母,其他方面工资不能含有字母)。

然后在grgzxx中存储课时数,如果存储成功,那么将触动触发器,调用工资计算模块,计算出职工的工资信息,最后储存在grgzxx表中。

整个过程放在一个事务处理中,万一有一项出错,那么就恢复到录入前的状态。

3.6课时和工资信息的查询和修改

图3-6课时和工资信息的查询和修改界面

3.6.1实现方法

选择好你要查询的年月,和职工编号,点检索后,就会列出这个员工本月工资列表,这时候你可以修改课时数,和其他方面的工资,点更改后,系统会自动调用触发器,更改课时数和职工的工资信息。

3.7工资结构的查看

图3-7工资信息查看界面

上图可以看到这个模块的主要功能是察看每个级别的工资信息。

3.8工资结构的调整

图3-8工资结构的调整界面

这个模块的主要功能就是修改工资的结构。

3.9报表生成

图3-9报表界面

3.9.1实现方法

先将数据库里的数据生成xml文件,调用微软的web控件,通过jstl里xml标签,读取xml文件,放到控件里头。

3.10过滤器和监听器

3.10.1是否登陆过滤器

当用户发送请求时,检查用户是否登陆,或者超过20分钟没有动作,自动进入重新登陆界面。

3.10.2编码过滤器

使用gb2312编码,解决中文乱码问题。

3.10.3用户监听器

监听当前用户,产生日志文件。

日志内容包括:

当前时间,用户所做的操作,当前在线用户人数,用户名单。

 

总结

本软件通过努力,基本上完成了需求中的功能。

实现了工资和人事管理的初级应用。

由于时间限制,部分功能未纳入系统。

如报表的打印功能。

现在的报表只能在导入excel后,使用excel的打印功能。

数据库设计方面由于较多地考虑到了各个库的相对独立性,在结构设计、完整性约束不是很规范。

另外变量名、字段名等命名也不规范。

无错误处理模块以及帮助系统。

由于软盘容量及本人在美学方面的欠缺,程序的界面不是非常美观。

程序中遇到的问题和解决办法

1)由于操作员口令直接存放在数据库中,在系统运行时数据库文件必须存在,这样,人们可以通过直接获取操作员口令,给系统的安全性带来了比较大的隐患。

解决办法:

对口令进行加密,加密的思路是这样的,规定口令最长为10位,逐位取出来后,让每位字符的ASCII码值与144作二进制的异或运算,然后重新组合来新的口令,这样,’1234’这个口令在库中存放时就成了’、¥鞍鞍鞍’,别人根本看不懂是什么。

用二进制异或运算作加密算法的好处是:

只需将密文再加一个密,由于与同一个异或运算两次就成了原来的,这样在编程上就比较容易实现。

在程序编制完成后,可将有关源程序删除,编译成可执行文件,这样,口令就不容易泄密。

2)由于系统对数据库操作比较频繁,而连接数据库不仅要开销一定的通讯和内存资源,还必须完成用户验证、安全上下文配置这

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

当前位置:首页 > 人文社科

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1