毕业设计基于Java的英山中学教职工工资管理系统的设计与实现.docx
- 文档编号:8423333
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:26
- 大小:1.14MB
毕业设计基于Java的英山中学教职工工资管理系统的设计与实现.docx
《毕业设计基于Java的英山中学教职工工资管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《毕业设计基于Java的英山中学教职工工资管理系统的设计与实现.docx(26页珍藏版)》请在冰豆网上搜索。
毕业设计基于Java的英山中学教职工工资管理系统的设计与实现
基于Java的英山中学教职工工资管理系统的设计与实现
摘要
随着计算机技术、网络技术和信息技术的发展,越来越多地改善着现代人的工作、生活。
网络管理系统是计算机技术和网络迅速发展的一个办公应用解决方案。
网络管理系统将Internet网络技术与现代管理观念相融合,使得学校得以逐步提高决策透明度、服务效率和廉政建设从而转变学校职能。
从而实现学校财务管理的网上化财务管理,更加高效、规范、安全和简便。
本文根据英山中学实际情况,从可行性和需求分析入手介绍了系统设计的全过程,重点介绍了对学校员工信息管理、基本工资管理和员工福利管理等功能模块的实现。
关键词:
财务管理,JAVA,SQL数据库
目录
第1章前言1
1.1学校简介1
1.2项目开发的意义1
1.3开发技术简介1
1.3.1Java1
1.3.2SQLServer2
第2章系统研究4
2.1研究现状和设计目标4
2.1.1课题的特点及优缺点分析4
2.1.2本课题要达到的设计目标4
2.2系统可行性分析4
2.2.1技术可行性4
2.2.2经济可行性6
2.3建设的方案6
第3章需求分析7
3.1系统数据需求7
3.2系统功能需求7
第4章数据库设计9
4.1概念结构设计9
4.2逻辑结构设计10
第5章系统详细设计13
5.1财务系统登录模块设计13
5.2工资管理模块设计15
5.3福利管理模块设计18
5.4查询统计模块设计20
第6章结论24
参考文献25
致谢26
第1章前言
1.1学校简介
英山中学始建于1978年,迁建于1999年,学校现有54个教学班,在校生3200多人,现有教职工262人,校园占地面积51000平方米,校舍建筑面积21960平方米,现有教学楼三幢,综合楼一幢,实验楼一幢,拥有标准田径场一个,篮球场4个,排球场2个,现代化教学设备齐全,档次较高。
1.2项目开发的意义
计算机技术、网络技术和信息技术的发展,越来越多地改善了现代人的工作、生活。
网络管理系统是计算机技术和网络迅速发展的一个办公应用解决方案。
网络管理系统将Internet网络技术与现代管理观念相融合,针对信息技术的特点对办公系统进行规划和重构,对学校内部信息流进行优化及合理配置,生成动态的、安全的、专有的数字化信息源,将办公体系全面自动化,流程化,数字化。
以此为桥梁,横向连接同事间的交流与协同工作,纵向实现上下级一体化的高效办公体系,从而更明确、更有效地支持学校的管理和决策。
当前学校中的财务管理大多实现了录入和打印的计算机化,但是这些并不够。
现实工作中,常常需要适应人们的各种查询而消耗大量的人力和物力,导致效率低下。
当前的财务工作只能实现本地在办公室内的管理,无法实现在网上的远程管理。
这样的情况下对工作人员异地办公是不能实现的。
1.3开发技术简介
1.3.1Java
Java是由Sun微系统公司所发展出来的程序语言,它本身是一种对象导向(Object-Oriented)的程序语言。
JAVA目前在手机上应用最多的就是JAVA游戏。
Java也号称是能跨平台使用的语言,这主要是因为Java本身被编译之后,并不是直接产生可执行的码,而是产生一种中间码叫作ByteCode,这种码必需在透过Java的直译器来解读它,才能够真正的被执行,所以只要平台上装有这种Java的直译器,就能解读ByteCode也就能执行Java编译过的程序,故与Java程序是在那种平台上被编译的,就完全没有干系了。
Java写出来的程序可分为两类,分别是JavaApplet与一般的Application,而Application这一类就与一般的程序如C++的作用是比较类似的,是一个独立可执行的应用程序,像HotJava是一个浏览器,且就是使用Java程序所发展出来的。
最常见的Java程序包括应用程序和applets。
应用程序是单独的程序,诸如HotJava浏览器软件就是用Java语言编写的。
Applets类似于应用程序,但是它们不能单独运行,Applets可以在支持Java的浏览器中运行。
Applet主要是内置于HTML网页中,在浏览时发挥作用。
Java的目标是为了满足在一个充满各式各样不同种机器,不同操作系统平台的网络环境中开发软件。
利用Java程序语言,可以在网页中加入各式各样的动态效果。
可以放上一段动画,加入声音,也可以建立交互式网页等。
1.3.2SQLServer
SQLServer是微软公司开发的一个关系数据库管理系统,以Transact-SQL作为它的数据库查询和编程语言。
T-SQL是结构化查询语言SQL的一种,支持ANSISQL-92标准。
SQLServer采用二级安全验证、登录验证及数据库用户帐号和角色的许可验证。
SQLServer支持两种身份验证模式:
WindowsNT身份验证和SQLServer身份验证。
7.0版支持多种类型的角色,角色概念的引入方便了权限的管理,也使权限的分配更加灵活。
SQLServer为公共的管理功能提供了预定义的服务器和数据库角色,可以很容易为某一特定用户授予一组选择好的许可权限。
SQLServer可以在不同的操作平台上运行,支持多种不同类型的网络协议如TCP/IP、IPX/SPX、AppleTalk等。
SQLServer在服务器端的软件运行平台是WindowsNT、Windows9x,在客户端可以是Windows3.x、WindowsNT、Windows9x,也可以采用其它厂商开发的系统如Unix、AppleMacintosh等。
微软的SQLServer是一项完美的客户/服务器系统。
SQLServer需要安装在WindowsNT的平台上,而WindowsNT可以支持Intel386,PowerPC,MIPS,AlphaPC和RISC等平台,它使SQLServer具备足够的威力和功能。
SQLServer提供服务器端的软件,这部分需要安装在NTServer上,SQLServer的用户端则可以安装在许多用户端PC系统中,Windows可以让用户端进行数据库的建立,维护及存取等操作,SQLServer可以最多定义32767个数据库,每个数据库中,可以定义20亿个表格,每个表格可以有250个字段,每个表格的数据个数并没有限制,每一个表格可以定义250个索引,其中有一个可以是Clustered索引。
SQLServer所使用的数据库查询语言称为Transact-SQL,它是SQLServer的核心,Transact-SQL强化了原有的SQL关键字以进行数据的存取,储存及处理等功能,Transact-SQL扩充了流程控制指定,可以使你方便的编写功能强大的存储过程,他们存放在服务器端,并预先编译过,执行速度非常块,触发是一种特殊的存储过程,用来确保SQLServer数据库引用的完整性,你可以建立插入,删除和更新触发以控制相关的表格中对数据列的插入,删除和更新,你还可以使用规则(Rule),缺省(default)以及限制(Constraints),来协助将新的数值套用到表格中去。
第2章系统研究
2.1研究现状和设计目标
2.1.1课题的特点及优缺点分析
传统的工资管理,大多数都采用手工发放的方式,这种方式既废时又废力又容易出错。
随着电子技术和计算机技术的发展,工资的管理和发放多采用了由计算机管理的方式,避免进行简单的重复计算,从而做到了又快又准。
为避免产生重复类似的软件产品因此结合精河职高的实际情况,而开放了这个系统。
2.1.2本课题要达到的设计目标
实现数据库管理,数据库里包含有学校部门名称,代号,教师姓名,账号,应发工资合计,基本工资,福利,职务工资,级别工资,工资补贴,奖金,养老保险,住房公积金,个人所得税等,还包括有登录人员,登录密码等数据项。
通过读取数据库中的数据来管理教职工的工资发放,财务部门有权添加工资发放人员的名单以及人员的各项工资明细数据,对于人员的代扣个人所得税,应发工资,实发工资则完全由系统自动完成计算。
财务部通过读取数据库中的数据来了解人员的工资发放情况,系统管理人员可以根据自身对数据的需求,自主的设定查询条件,从而做到对数据的多角度查询;同时系统管理员也可以导出工资数据表,并可以将数据转化成与银行的UNIX平台的接口的数据形式而便于委托银行办理工资发放业务。
系统自动检查登录人员和密码的一致性,财务部门的人员进入系统后除了可以修改自身的密码外,也可以决定增加,删除本系统的其它可登录人员的信息;而系统的其他的登录人员只能修改自身的密码。
本系统的最终的目的是为能够对工资发放进行有效的管理,对数据进行高效快捷的编辑,相关部门人员可以从多角度进行查询本次及历来的工资发放情况,从而使工资管理得到安全控制及宏观管理。
2.2系统可行性分析
可行性分析的目的是使用最小的代价在尽可能短的时间内确定问题是否能解决,通过复杂系统的规模与目标,研究与此类似的系统后,我们具体从下面两个方面考虑。
2.2.1技术可行性
技术可行性主要分析现有技术条件下能否顺利完成开发工作,就目前而言,可用的技术和设计在设计此类系统上的数据库设计技术已经很成熟了。
可供开发的工具有很多,如VisualJ++、NETBeans、JBuild、Eclipse等,都是很好的可视化的数据库开发工具,功能强大,开发容易,周期短,对于本次任务采用了Eclipse就可以胜任了。
2.2.2经济可行性
主要是对项目的经济效益进行评价,一方面是支出的费用,其中包括设备购置费,软件开发费,管理和维护费,人员工资和培训费等。
另一方面是取得的收益中可以用钱来衡量的那部分。
基于学校的现有计算机及配套设备,建设MIS系统。
由于学校工资管理系统是一个比较小型的系统,是由我及几个同学小组进行开发的,此系统卖给学校时的价格是5000元人民币。
除出后期的维护费、开发费用还能赚到一笔钱。
所以从人力、物力、财力方面来说都是可行的。
可行性分析结论:
本系统的技术成熟、完备因此本系统可立即进行需求分析。
2.3建设的方案
工资管理的应用程序不宜太复杂,所以不需要太多的技术支持,本系统主要用到的技术有:
数据库连接及访问;菜单控制;数据的导入及导出;人员的增加和删除。
1数据库访问:
通过DATA/ADO控件连接和访问数据库。
2菜单控制:
程序一开始执行时通过一个全屏幕的,没有控制菜单框的窗体作为系统的主窗体。
3系统的构建方案:
根据以上所述,工资管理系统实时性要求可以不是很严格但实用性才是其首选,因此采用DATA/ADO来访问数据库,由数据库对工资进行管理。
第3章需求分析
3.1系统数据需求
本系统采用B/S结构,所有的程序及数据都放在服务器上,终端在取得相应的权限后使用Web页面浏览、录入、修改等功能。
顶层数据流图如3-1所示:
财务信息
数据库
财务报表
图3-1顶层数据流图
0层数据流图如3-2所示:
图3-20层数据流图
3.2系统功能需求
财务管理的模块主要由三大部分组成。
学校员工福利管理模块、学校员工工资管理模块和查询统计模块。
学校员工的福利管理和工资管理模块分别有三个模块是,福利/工资录入模块,福利/工资修改模块和福利/工资删除模块。
而查询统计模块下分别有,单人工资查询,单人福利查询和汇总统计查询模块。
财务系统管理模块图,如图3-3所示:
图3-3 财务系统管理模块图
第4章数据库设计
数据库设计(DatabaseDesign)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。
4.1概念结构设计
学校员工福利信息实体E-R图,如图4-1所示
…..
图4-1福利E-R图
学校员工工资信息实体E-R图,如图4-2所示
图4-2基本工资E-R图
应发工资E-R图,如图4-3所示
图4-3应发工资E-R图
应扣工资信息实体E-R图,如图4-4所示
图4-4应扣工资E-R图
4.2逻辑结构设计
1.表学校员工福利信息表用来保存学校员工福利的基本信息,建学校员工福利表结构如表4-1所示:
表4-1 学校员工福利信息表
编号
名称
属性
空否
注释
1
RQ
date
NOTNULL
日期
2
XM
varchar(20)
NOTNULL
姓名
3
GWYH
varchar(15)
NOTNULL
学校员工号
4
BM
varchar(15)
NOTNULL
部门
5
JE
float(6,2)
NULL
金额
6
MC1
varchar(15)
NULL
名称1
7
SL1
varchar(10)
NULL
数量1
8
MC2
varchar(15)
NULL
名称2
9
SL2
varchar(10)
NULL
数量2
10
MC3
varchar(15)
NULL
名称3
11
SL3
varchar(10)
NULL
数量3
12
SM
text
NOTNULL
说明
2.表校员工工资信息表用来保存学校员工工资基本的信息,建学校员工工资信息表结构如表4-2所示:
表4-2 学校员工工资信息表
编号
名称
属性
空否
注释
1
GZQJ
int(6)unsigned
NOTNULL
工资期间
2
FFRQ
date
NOTNULL
发放日期
3
GWYH
varchar(15)
NOTNULL
学校员工号
4
XM
varchar(20)
NOTNULL
姓名
5
ZW
varchar(15)
NULL
职务
6
BM
varchar(15)
NOTNULL
部门
7
ZC
varchar(15)
NULL
职称
3.表应发工资信息表用来保存应发工资的基本信息,建应发工资表图结构如表4-3所示:
表4-3 应发工资信息表
编号
名称
属性
空否
注释
1
GZQJ
int(6)unsigned
NOTNULL
工资期间
2
GWYH
varchar(15)
NOTNULL
学校员工号
3
JBGZ
float(6,2)
NOTNULL
基本工资
4
GWGZ
float(6,4)
NULL
岗位工资
5
DZF
float(6,4)
NULL
独子费
6
WJBT
float(6,2)
NULL
物价补贴
7
JTF
float(7,2)
NULL
交通费
编号
名称
属性
空否
注释
8
HSBT
float(6,2)
NULL
伙食补贴
9
YYF
float(6,2)
NULL
营养费
10
FT
float(6,2)
NULL
房贴
11
XM1
varchar(20)
NULL
项目1
12
JE1
float(6,2)
NULL
金额1
13
XM2
varchar(20)
NULL
项目2
14
JE2
float(6,2)
NULL
金额2
15
XM3
varchar(20)
NULL
项目3
16
JE3
float(6,2)
NULL
金额3
17
YLJT
float(6,2)
NULL
医疗津贴
18
YFHJ
float(7,2)
NOTNULL
应发合计
4.表应扣工资信息表用来保存应扣工资的基本信息建应扣工资表结构如表4-4所示:
表4-4 应扣工资信息表
编号
名称
属性
空否
注释
1
GZQJ
int(6)unsigned
NOTNULL
工资期间
2
GWYH
varchar(15)
NOTNULL
学校员工号
3
GJJ
float(6,2)
NOTNULL
公积金
4
GHF
float(6,2)
NULL
工会费
5
YLJ
float(6,2)
NULL
养老金
6
YKGS
float(6,2)
NULL
应扣工资
7
SF
float(6,2)
NULL
水费
8
DF
float(6,2)
NULL
电费
9
RQF
float(6,2)
NULL
燃气费
10
SYBX
float(6,2)
NULL
失业保险
11
YLBX
float(6,2)
NULL
养老保险
12
XM4
archar(20)
NULL
项目4
13
JE4
float(6,2)
NULL
金额4
14
XM5
varchar(20)
NULL
项目5
15
JE5
float(6,2)
NULL
金额5
16
XM6
varchar(20)
NULL
项目6
17
JE6
float(6,2)
NULL
金额6
18
YKHJ
float(7,2)
NOTNULL
应扣合计
19
HJ
float(7,2)
NOTNULL
合计
第5章系统详细设计
5.1财务系统登录模块设计
首先进入登录页面。
必须填写姓名和密码,只有在对数据库中的信息核对无误后方能进入下一页,如图5-1所示:
图5-1 员工登陆
这时对各项项目的操作权限都已经确定下来。
如果有权限可以访问“财务管理”一项。
则链接可用再点击它则可以进入财务管理主页面。
主要代码:
<%@pagecontentType="text/html;charset=gb2312"%>
yourusernameis:
<%=request.getParameter("username")%>
yourpasswordis:
<%=request.getParameter("password")%>
<%@pagelanguage="java"import="java.sql.*"%>
<%
Stringusername=request.getParameter("username");
Stringpassword=request.getParameter("password");
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Stringurl="jdbc:
microsoft:
sqlserver:
//localhost:
1433;DatabaseName=ceshi";
Stringuser="";
Stringpas="";
Connectionconn=DriverManager.getConnection(url,user,pas);
Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
Stringsql="select*fromtestwhereusername='"+username+"'andpassword='"+password+"'";
ResultSetresult=stmt.executeQuery(sql);
if(result.next())
{
out.println("testLoginSuccessful");
response.setHeader("Refresh","2;URL=wangye.htm");//实现网页跳转
}
else
{
out.println("testLoginError");
response.setHeader("Refresh","2;URL=denglu.htm");//实现网页跳转
}
}
catch(Exceptione)
{
out.println(e);
}
%>
财务管理主页面是使用了IFRAME来实现帧的管理。
把画面分为两帧,分别为3.htm和2.htm。
主界面如图5-2所示:
图5-2 主界面
这样的好处使是本主页面在与其它主功能页面切换时,可以使几个帧在同一页面中完成切换,不必另而外出现新的页面和帧混乱的局面。
左边分别为福利管理下有福利录入、修改记录、删除记录。
在工资管理下有工资录入、修改记录和删除记录。
查询统计下有员工福利、员工工资和记录汇总。
5.2工资管理模块设计
工资管理主要功能使实现,学校员工工资信息的录入,修改和删除等维护功能。
它是直接对gov_dbbase数据库中的学校员工的三个工资信息表进行操作。
1.录入工资记录模块
如果需要录入工资记录,首先要填写记录信息。
其中带星号的项目工资期间、发放日期、学校员工号、姓名、部门、基本工资必须填写,其它项可以为空。
因为实际需求的不同,因此项目别是预留给用户按实际需要填写应发工资的其它项目名称和金额。
其它项目别是预留给用户按实际需要填写应扣工资的其它项目名称和金额;按“重填”按钮所有域都将恢复为初始值;“合计”按钮会将应发项目的所以栏目的数据进行合计计算,写入应发合计栏,同时将应扣项目的所以栏目的数据进行合计,写入应扣合计栏。
最后,将应发合计的值减去应扣合计的值得出最后的合计值;按“提交”按钮将会执行一条Insert的SQL语句将所有栏目的数据提交到数据库的相应表中;提交后如果成功,就会出现提交成功的信息,同时返回录入的初始页面;如果不成功则会出现提交失败的信息。
添加工资记录如图5-3所示:
图5-3 添加工资记录
2.修改工资记录模块
如果要修改工资记录,首先填写查询条件。
先选择日期,选中要查询的工资年月,再填写要查询姓名和学校员工号域;按“重填”按钮则会使查询的每个条件返回为初始值;按“查询”按钮将会执行一条Select的SQL语句定位到符合条件的记录;如果成功则出现新的页面,同时所有的栏目都将返回所有项目的当前值,这时可以对需要进行修改的栏目的值进行修改;按“查询”按钮则返回修改/删除记录的初始页面;在修改完后按"修改"按钮就会执行一条UPDATE的SQL语句将修改后的数据提交到数据库,在此提交修改后的结果时,为了防止对应发合计,应扣合计和合计三个域的修改导致的数据不一致,在UPDATE命令前加入了再次进行计算的代码;如果成功则出现成功信息同时返回修改页面。
修改/删除记录如图5-4所示:
图5-4 修改/删除
成功修改/删除记录如图5-5所示:
图5-5 成功修改/删除记录
3.删除工资记
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 基于 Java 英山 中学 教职工 工资管理 系统 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)