基于JSP的工资管理系统的设计与实现.docx
《基于JSP的工资管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于JSP的工资管理系统的设计与实现.docx(26页珍藏版)》请在冰豆网上搜索。
![基于JSP的工资管理系统的设计与实现.docx](https://file1.bdocx.com/fileroot1/2023-2/6/41ab196f-c242-4e54-b7a9-dbfe82f4f7d7/41ab196f-c242-4e54-b7a9-dbfe82f4f7d71.gif)
基于JSP的工资管理系统的设计与实现
存档编号
基于JSP的工资管理系统的设计与实现
教学学院数学与计算机科学学院
届别2013届
专业计算机科学与技术
学号
姓名
指导教师
完成日期2013年5月6日
目 录
内容摘要1
关键词:
1
Abstrac1
Keywords1
1引言2
1.1工资管理系统开发背景2
1.2工资管理系统现状2
1.3系统开发意义2
2系统分析3
2.1可行性分析3
2.2需求分析4
2.3系统开发工具及工作平台4
3系统总体设计5
3.1项目规划5
3.2系统功能结构图5
3.3系统主要功能6
3.4数据库设计6
4系统主要功能模块详细设计10
4.1系统整体主要流程图10
4.2主要功能模块设计11
5系统测试17
5.1测试目的17
5.2测试用例17
5.3测试小结20
6总结21
参考文献22
内容摘要:
本次设计的工资管理系统根据公司实际的工资管理制度,采用JSP技术作为开发工具,从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成工资管理的全过程。
采用mysql数据库,实现人机交互。
系统包括员工档案信息的管理,员工工资信息的管理以及员工的活动记录的管理。
该系统在工资管理方面考虑周全,功能齐全,极大地提高了公司对员工工资管理的效率。
关键词:
工资管理JSP数据库效率人机交互
Abstract:
Salarymanagementsystemthedesignaccordingtotheactualwagemanagementsystem,usingJSPasadevelopmenttool,startingfromthesimple,friendlyinterface,flexible,practical,safetyrequirements,completethewholeprocessofmanagementofthesalary.UsingtheMySQLdatabase,toachievehuman-computerinteraction.Thesystemincludesstafffileinformationmanagement,informationmanagementstaffwagesandemployeemanagementactivityrecords.Thesystemconsideredinsalarymanagement,completefunctions,greatlyimprovetheemployeesalarymanagementefficiency.
Keywords:
payrollcontroljavadatabaseefficiency
human-computerinteraction
1引言
1.1工资管理系统开发背景
计算机管理有着传统管理方法无法比拟的优点,检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高工资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
不同的企业具有不同的工资管理制度,这就决定了不同的企业需要不同的管理系统。
对企业而言,全面开发和应用计算机管理信息系统是不能回避的问题。
实行电子化的工资管理,可以让人力资源管理人员从繁重琐碎的案头工作解脱出来,去完成更重要的工作。
工资管理信息系统的实现可以减轻比较繁琐的手工工资管理。
因此,工资管理系统的开发是很有必要的。
1.2工资管理系统现状
在大中型企业的管理信息系统中,几乎都包括了工资管理模块。
但是有些根据规范的西方的管理制度设计的工资管理软件,在很多时候还不能完全解决中国特色的中小企业的问题。
对于企、事业单位的管理系统来说,不需要大型的数据库系统。
只需要一个操作方便,功能实用,能满足对数据的管理及需求的系统。
我的目标就是在于开发一个功能实用、操作方便,简单明了的工资管理系统。
为这些具有中国特色的中小企业解决他们在工资管理方面的问题。
本系统功能齐全,实现了员工管理、工资管理、员工活动信息管理。
并在各个功能下面实现了查询、添加、修改、删除等功能,使系统功能更加完善。
更适合企业管理人员对员工工资进行管理。
1.3系统开发意义
目前市面上流行的工资管理系统不少。
但是,对于企、事业单位的管理系统来说,不需要大型的数据库系统。
只需要一个操作方便,功能实用,能满足对数据的管理及需求的系统。
我的目的就是在于开发一个功能实用、操作方便,简单明了的工资管理系统。
归纳起来,好处大约有以下几点:
第一、可以存储员工的基本信息安全、高效。
第二、只需一信息录入员即可操作系统,节省大量人力。
第三、可以迅速查到所需信息。
2系统分析
要设计开发一个管理系统,首先应该进行各种系统分析,如系统的可行性分析、系统的需求分析等,这样才能令设计出的系统满足用户的各种需求。
下面就对工资管理系统的设计进行各项系统分析。
2.1可行性分析
可行性分析是在用户的要求和系统调研的基础上进行的,对新系统的开发从社会、技术、经济、管理等方面进行分析,并得出新系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性分析。
可行性分析一般可定义为:
可行性分析是在建设的前期对工程项目的一种考察和鉴定,对拟议中的项目进行技术、经济能力的调查,判断它是否可行。
2.1.1目标可行性
本系统操作方便,功能实用,简单明了,能满足企业对数据的管理及需求。
符合目前国内中小型企业的需求。
2.1.2社会可行性
本系统纯为私人设计,在开发过程中没有涉及合同、责任等与法律相抵触的方面。
因此,本系统在法律上是可行的。
也能在实际中运用。
2.1.3技术可行性
技术上的可行性分析要考虑将来要采用的硬件和软件技术能否满足用户提出的要求。
此外,还要考虑开发人员的水平,作为计算机科学与技术专业的学生,经过几年的学习,在数据库和编程方面都有一定的基础。
所以对于这个系统的开发还是有能力做好的。
我学习了数据库及其应用技术、数据库原理、计算机网络技术等课程,对数据库的设计、应用、维护及局域网的组成有了深刻的认识与一定的动手实践能力。
从一定程度上具备了开发一个小型系统的能力。
2.1.4经济可行性
主要从对项目的经济上进行分析评价,一方面是支出的费用,另一方面是取得的收益。
我这个是一个小型的公司工资管理系统,从投入的人力,财力与物力来讲是非常之小的,只要有电脑就可以了。
从节省人力方面,可以让管理人员从繁与复杂的工作中解脱出来,做更多的工作,可以给工资管理提高一个层次。
2.2需求分析
2.2.1系统的需求概述
工资管理系统系统对企业加强工资管理有着极其重要的作用,就一般的企业来说,因传统的靠人力计算发放工资的方式不仅繁杂而且容易出错,需要大量的人力物力,非常的不适应发展越来越迅速的社会。
我的目标就是在于开发一个功能实用、操作方便,简单明了的工资管理系统。
为这些具有中国特色的中小企业解决他们在工资管理方面的问题。
本系统功能齐全,实现了员工管理、工资管理、员工活动情况管理。
并在各个功能模块下面实现了查询、添加、修改、删除等功能,使系统功能更加完善。
更适合企业管理人员对员工工资进行管理。
通过分析与研究,我认为系统应具有如下功能:
1提供管理员登录、修改密码功能
2提供员工信息查询、添加、修改、删除等功能
3提供员工活动信息查询、添加、修改、删除等功能
4提供工资信息查询、添加、修改、删除等功能
2.3系统开发工具及工作平台
2.3.1JSP编程技术
JavaServerPage或简称为JSP是一种动态网页制作技术,它提供了一种建立动态网页的简单方法,JSP能够快速的开发出基于所有Web服务器和应用服务器环境,独立于平台的应用程序,而且具有非常强的可伸缩性。
同时,JSP把用户界面从系统内容中分离开来,使得设计人员能够在不改变底层动态内容的前提下改变网页布局。
JSP编程技术的优势在于:
第一、移植性强。
在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。
第二、多样化和功能强大的开发工具支持。
这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
2.3.2MYSQL数据库
MySQL是比较受欢迎的SQL数据库管理系统,MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。
MySQL服务器支持关键任务、重负载生产系统的使用。
从计算机可以很好的处理大量的数据以来,数据库管理系统就在计算机处理中和独立应用程序或其他部分应用程序一样扮演着一个重要的角色。
3系统总体设计
3.1项目规划
工资管理系统的目的是为了打破传统工资管理时间人力的局限,便于企业随时查找员工信息。
通过工资管理系统,实现工资管理、人员管理、活动管理等功能,管理人员也可借助此平台,添加信息、信息查询等功能。
3.2系统功能结构图
系统功能结构层次图主要是介绍系统功能的大体层次结构,让编码人员详细了解系统的功能结构层次,总的系统结构图分成了四个大体的层次框架,系统功能模块关系图如图3-1
图3-1系统功能结构图
3.3系统主要功能
第一、管理员在登录页面对应的地方输入用户名、密码。
确认无误后即可登录。
第二、信息管理界面,管理员选择需要操作的信息。
可进行信息的修改、删除等。
第三、增加员工信息,新员工信息需要录入时,使用此功能完成。
第四、查询信息功能,在系统页面中,可以查询员工个人信息、工资信息等信息。
3.4数据库设计
3.4.1数据描述
本系统的实体有:
管理员实体,员工实体,工资实体、活动情况实体等实体。
各个实体具体的描述E-R图如下所示
图3-2各种实体及实体联系图
图3-3管理员实体E-R图
图3-4员工实体E-R图
图3-5工资实体E-R图
图3-6活动情况实体E-R图
3.4.2逻辑结构设计
数据库表结构详细设计
根据系统的功能描述,设计要用的数据表。
因为这些表之间相互关联,存储着系统的相关数据,所以在设计数据表的过程中,要求设计一个表只存储一个实体或对象的相关信息,不同实体存储在不同的表中。
对于不同的对象或者实体,如果还可以细分,则可以根据当前系统的需求和未来扩展的需要,对实体或对象进行表结构的建立;扩充信息和动态变化的信息要分开放在不同的表里等。
本系统需要设计的数据库表如表3-1所示。
表3-1数据库表
序号
数据库表
1
管理员信息表
2
员工信息表
3
活动情况信息表
4
工资信息表
下面详细介绍工资管理系统数据库中主要表格数据表结构。
管理员信息表用于存储管理员的基本的信息,详细数据字段如表3-2所示。
表3-2管理员信息表
字段名
别名
数据类型
长度
备注
管理员姓名
AdminName
varchar
20
主键,值不为空
密码
password
varchar
20
值不为空
员工信息表用于存储员工的基本的信息,详细数据字段如表3-3所示。
表3-3员工信息表
字段名
别名
数据类型
长度
备注
员工编号
employeeId
varchar
20
主键,值不为空
员工姓名
name
varchar
10
值不为空
身份证号
cardNumber
varchar
20
民族
Nation
varchar
20
性别
Sex
varchar
10
生日
Birthaday
Date
--
毕业学校
graduateSchool
varchar
20
学历
schoolRecord
varchar
20
所在部门
Department
varchar
20
职位
positionName
varchar
20
电话
Telephone
varchar
20
Email
email
varchar
20
入职时间
editTime
Date
--
工资信息表用于存储员工工资的基本的信息,详细数据字段如表3-4所示。
表3-4工资信息表
字段名
别名
数据类型
长度
备注
工资号
salaryId
Int
10
主键,值不为空
员工编号
employeeId
varchar
20
值不为空
员工姓名
name
varchar
20
值不为空
年份
Year
Int
10
值不为空
月份
Month
Int
10
值不为空
基本工资
basicWage
float
--
值不为空
加班工资
overtimeWage
float
--
出差补助
trafficWage
float
--
应发工资
Totalwage
float
--
考勤扣除
kaoqinReduce
float
--
请假扣除
secureReduce
float
--
扣税
taxReduce
float
--
应减工资
totalReduce
float
--
实际工资
realWage
float
--
活动情况信息表用于存储员工各个月份的基本活动的信息,详细数据字段如表3-5所示。
表3-5活动情况信息表
字段名
别名
数据类型
长度
备注
编号
leaveId
Int
10
主键,值不为空
员工编号
employeeId
varchar
20
值不为空
员工姓名
employeeName
varchar
20
值不为空
日期
month
Date
--
值不为空
加班天数
startTime
Int
10
请假天数
Day
Int
10
迟到次数
Reason
Int
10
加班天数
approvePerson
Int
10
4系统主要功能模块详细设计
4.1系统整体主要流程图
图4-1系统整体主要流程图
4.2主要功能模块设计
下面详细介绍主要功能模块的具体设计、实现的功能及相应的流程图。
4.2.1建立数据库的连接
数据库系统往往是一个大型WEB应用程序的核心。
同其他WEB应用程序的编写方法相比,强大的数据库访问能力,简单一致的数据库访问方式正是JSP的突出优点之一。
任何对数据库的造作必须先建立Connection,然后才能进行。
数据库连接流程图如下:
图4-2数据库连接流程图
4.2.2用户登录
①在浏览器网址栏输入相关地址进入到本次设计的工资管理系统。
此时,用户处未登录状态,主界面的右上角用红色字体显示还未登录系统!
可以看到本系统主界面对于系统的功能介绍,但是不能进行任何具体的功能操作,如果要进行功能操作,可以点击右上角或左边工具栏的登录键登录系统。
登录时需要验证用户名及密码,正确方可进入系统进行操作。
②界面设计如下:
图4-1用户登录
图4-3登录模块界面
③登录模块流程图如下:
图4-4登录模块流程图
4.2.3员工信息管理功能实现
①员工信息的管理包括员工查询、添加、删除、修改等功能,在进入到系统主界面以后通过点击左边工具栏的员工信息查询,员工信息添加实现。
②界面设计如下
图4-5员工信息管理界面
③员工信息管理模块流程图如下:
图4-6员工信息管理流程图
4.2.4工资信息管理功能实现
①工资信息的管理包括工资查询、添加、删除、修改等功能,进入到系统主界面以后通过点击左边工具栏的工资信息查询,工资信息添加实现。
②界面设计如下:
图4-7工资信息管理界面
③员工信息管理模块流程图如下:
图4-8员工工资管理流程图
4.2.5活动信息管理功能实现
①活动信息的管理包括活动查询、添加、删除、修改等功能,进入到系统主界面以后通过点击左边工具栏的活动信息查询,活动信息添加实现。
②界面设计如下:
图4-9活动信息管理界面
③员工信息管理模块流程图如下:
图4-10员工活动管理流程图
4.2.6系统管理功能实现
①系统管理用来对管理员本身账号进行操作,包括密码修改、系统功能及作者介绍、登录系统、退出系统等功能。
进入主界面点击系统左栏中系统管理一栏进行操作。
当点击修改密码时,系统将会自动识别用户的用户名。
修改成功后,用户需重新登录系统,点击网页弹出的提示框,自动跳转到登录界面。
②界面设计如下:
图4-11系统管理界面
③系统管理流程图如下:
图4-12系统管理流程图
5系统测试
5.1测试目的
软件测试的基本原则是站在用户的角度,对产品进行全面测试,尽早、尽可能多地发现Bug,并负责跟踪和分析产品中的问题,对不足之处提出质疑和改进意见。
5.2测试用例
通过功能测试等一系列的测试之后,系统的设计整体上基本符合要求,具体的测试如下:
表5-1用户登录界面测试用例
测试用例
场景
测试步骤
预期结果
实际结果
TC1
用户登录
打开系统,点击进入登录页面,输入用户名、密码,点击登入
判断用户的用户名、密码是否正确,若正确,成功登录,若错误,重新输入
同预期
TC2
修改密码
选择修改密码,显示修改密码界面,输入原密码和输入新密码
如果原密码均正确,则可输入新密码,点击确定后提示密码修改成功,否则不能输入新密码
同预期
TC3
退出登录
点击退出
退出登录
同预期
表5-2员工信息界面测试用例
测试用例
场景
测试步骤
预期结果
实际结果
TC1
用户登录
打开系统,点击进入登录页面,输入用户名、密码,点击登入
判断用户的用户名、密码是否正确,若正确,成功登录,若错误,重新输入
同预期
TC2
信息查询
选择员工信息查询,显示员工信息界面,在上方输入查询条件,点击查询
如果查询的信息与相应员工匹配,则出现该员工信息,否则,无信息出现
同预期
TC3
信息添加
选择选择员工信息添加,显示员工信息添加界面,输入添加信息,点击添加
如果添加信息符合要求,则新加入员工信息成功,否则,显示失败
同预期
TC4
信息修改
进入员工信息界面,点击编辑,出现信息修改界面,修改信息,点击更新
如果修改信息符合要求,则修改员工信息成功,否则,显示失败
同预期
TC5
信息删除
进入员工信息界面,点击删除,出现选择框,选择是否删除
如果点击是,则信息被删除,否则,不删除
同预期
表5-3员工活动界面测试用例
测试用例
场景
测试步骤
预期结果
实际结果
TC1
用户登录
打开系统,点击进入登录页面,输入用户名、密码,点击登入
判断用户的用户名、密码是否正确,若正确,成功登录,若错误,重新输入
同预期
TC2
信息查询
选择活动信息查询,显示活动信息界面,在上方输入查询条件,点击查询
如果查询的信息与相应活动匹配,则出现该活动信息,否则,无信息出现
同预期
TC3
信息添加
选择选择活动信息添加,显示活动信息添加界面,输入添加信息,点击添加
如果添加信息符合要求,则新加入活动信息成功,否则,显示失败
同预期
TC4
信息修改
进入活动信息界面,点击编辑,出现信息修改界面,修改信息,点击更新
如果修改信息符合要求,则修改活动信息成功,否则,显示失败
同预期
TC5
信息删除
进入活动信息界面,点击删除,出现选择框,选择是否删除
如果点击是,则信息被删除,否则,不删除
同预期
表5-4员工工资界面测试用例
测试用例
场景
测试步骤
预期结果
实际结果
TC1
用户登录
打开系统,点击进入登录页面,输入用户名、密码,点击登入
判断用户的用户名、密码是否正确,若正确,成功登录,若错误,重新输入
同预期
TC2
信息查询
选择工资信息查询,显示工资信息界面,在上方输入查询条件,点击查询
如果查询的信息与相应工资匹配,则出现该工资信息,否则,无信息出现
同预期
TC3
信息添加
选择选择工资信息添加,显示工资信息添加界面,输入添加信息,点击添加
如果添加信息符合要求,则新加入工资信息成功,否则,显示失败
同预期
TC4
信息修改
进入工资信息界面,点击编辑,出现信息修改界面,修改信息,点击更新
如果修改信息符合要求,则修改工资信息成功,否则,显示失败
同预期
TC5
信息删除
进入工资信息界面,点击删除,出现选择框,选择是否删除
如果点击是,则信息被删除,否则,不删除
同预期
5.3测试小结
本次测试主要是包括了系统测试的详细步骤、项目和结果,并得出最后的测试结论。
概括性的来说,经过本次测试发现,本次系统设计基本符合设计要求,但是仍然存在一些小问题需要改善。
6总结
经过长达一个多月的设计编程,终于把这个工资系统做出来了,这次设计加深我对Java学科认识的深度,平时没怎么太在乎,以为很多知识自己掌握了,现在知道自己错了,我发现在系统功能实现过程中,必须得对Java的知识特别了解,而且必须自己动手去做,才会认识到自己的不足之处。
当选定了要做工资管理系统后,我曾犹豫过应该做什么,之后我就开始收集资料,上网下载,众多资料,纷繁复杂。
在查找资料过程中,通过了解该系统后,终于确定了目标。
从确定要做的模块到真正具体实现,每走一步对我来说都是新的尝试与挑战。
充分体会了从事系统开发工作需要特别严谨认真的态度和作风,一点都马虎不得。
每一个细微的细节都必须十分的注意,如果不认真思考决策,就会出现或大或小的错误,如果早期的错误隐藏下来,对后面的工作影响就会很大,甚至有时要推倒很多前面做的工作重来。
给我们印象最深刻的是界面设计的过程,现在的界面我做了好几次,原先计划设计的界面要么太粗糙,要么对于功能的实现没有帮助,甚至加大了功能实现的难度,于是又推翻重做了几次。
我认识到了做什么都要先有计划,不能盲目的去做。
在这段时间里,我真正体会到了什么叫做“万事开头难”。
第一次做出来的时候,感觉很不好,经过几天的的思考,对系统有一定认识时,发现距离最后的成功还差好远,于是再次查找资料,并询问公司财务部的同事,对所设计的界面及代码进行修改,最终将系统完善。
努力不一定成功,但放弃一定会失败!
这是我真正意义上第一次用java技术独立写出来的一个小型系统,当我做完这一切的时候,心里充满了一种满足感,虽然过程很辛苦,但是我认为这是一次美好的经历!
参考文献
[1]DavidI.Schneider.VisualBasic.Net编程导论.罗荣等译.北京:
电子工业出版社,2003
[2]DennisKafura.java面向对