基于JAVa的工资管理系统设计与实现毕业论文.docx
《基于JAVa的工资管理系统设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《基于JAVa的工资管理系统设计与实现毕业论文.docx(63页珍藏版)》请在冰豆网上搜索。
基于JAVa的工资管理系统设计与实现毕业论文
摘要
我们小组的课程设计是某公司的工资管理系统。
在这个计算机快速发展的世界里,计算机为信息处理提供了物美价廉的手段,对于推动我国管理信息处理现代化起到了重要作用。
工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,既方便又快捷地完成员工工资的发放。
我们组在课程设计过程中根据设计中的需求与对工资管理系统采用了模块化的设计思想,在机房我们在WindowsXP操作系统环境下,采用myeclipse7作为开发工具,主要连接Access数据库来实现公司的工资管理系统的主要功能。
在设计过程中,我们首先小组首先对整体的思路进行分析,然后进行分工。
对数据库和类进行设计,实现了工资管理系统的功能。
其功能主要包括公司用户管理、人员管理、部门管理、工资管理等功能。
本系统运用了数据库技术,可以大量的存储信息。
又实现了人机交互,不但缩短工资发放的时间,又避免了传统时代的人工计算错误。
总而言之,该系统在工资管理方面考虑周全,功能齐全,极提高了公司对员工工资管理的效率。
关键词工资管理系统,Access数据库,Java
第1章绪论
1.1项目背景
借助现代信息技术和管理理论,建立企业管理信息系统是当今社会的重要趋势。
党和政府根据知识经济时代的特点,对国民经济建设提出了“用信息化带动工业化”的指导思想。
对企业而言,全面开发和应用计算机管理信息系统就是近期不能回避的问题。
在企业管理中,人力资源是企业最宝贵的资源,也是企业的“生命线”,因此人事管理是企业的计算机管理信息系统重要组成部分。
而工资管理又是人力资源管理的重中之重。
实行电子化的工资管理,可以让人力资源管理人员从繁重琐碎的案头工作解脱出来,去完成更重要的工作。
工资管理信息系统的实现可以减轻比较繁琐的手工工资管理。
同时计算机具有手工管理所无法比拟的优点。
例如:
检索迅速、查找方便、可靠性高、存储量大、成本低、打印方便等。
这些优点能够极提高物业管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
因此工资管理系统在企业中占重要地位。
现在应用在大中型企业的管理信息系统中,几乎都包括了工资管理模块。
有些环境中是由作为大型ERP软件中的一个模块引进的,有些是作为企业的财务系统的一部分。
这些根据规的西方的管理制度设计的工资管理软件,在很多时候还不能完全解决中国特色的中小企业的问题,我们组介绍的工资管理系统就是要为这些具有中国特色的中小企业解决他们在工资管理方面的问题。
本系统功能齐全,实现了用户管理、人员管理、部门管理、工资管理。
并在各个功能下面实现了查询、添加、修改、删除等功能,使系统功能更加完善。
更适合企业管理人员对员工工资进行管理。
1.2项目开发环境
1.2.1硬件环境
PC机
1.2.2软件环境
(1)操作系统:
WindowsXP
(2)开发工具:
MyEclipse7.0
(3)数据库:
Access
第2章相关技术
2.1系统所涉与到的语言
2.1.1Java语言
Java的诞生是对传统计算机模式的挑战,对计算机软件开发行业产生了深远的影响:
(1)软件4A目标要求软件能达到任何人在任何地方在任何时间对任何电子设备都能应用。
这样能满足软件平台上互相操作,具有可伸缩性和重用性并可即插即用等分布式计算模式的需求。
(2)基于构建开发方法的崛起,引出了CORBA国际标准软件体系结构和多层应用体系框架。
在此基础上形成了Java.2平台和.NET平台两大派系,推动了整个IT业的发展。
(3)对软件产业和工业企业都产生了深远的影响,软件从以开发为中心转到了以服务为中心。
中间提供商,构件提供商,服务器软件以与咨询服务商出现。
企业必须重塑自我,B2B的电子商务将带动整个新经济市场,使企业获得新的价值,新的增长,新的商机,新的管理。
(4)对软件开发带来了新的革命,重视使用第三方构件集成,利用平台的基础设施服务,实现开发各个阶段的重要技术,重视开发团队的组织和文化理念,协作,创作,责任,诚信是人才的基本素质。
总之,目前以看到了Java对信息时代的重要性,未来还会不断发展,Java在应用方面将会有更广阔的前景。
2.2开发工具
2.2.1MyEclipse
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。
虽然大多数用户很乐于将Eclipse当作JavaIDE来使用,但Eclipse的目标不仅限于此。
Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。
由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以与给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
这种平等和一致性并不仅限于Java开发工具。
尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++、COBOL和Eiffel等编程语言的插件已经可用,或预计会推出。
Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如容管理系统。
简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以与除错。
Genuitec发布了MyEclipseEnterpriseWorkbench5.0,更智能、更快捷、更简单和更便宜的J2EE工具的新版本的诞生。
它的价格对于个人和企业开发人员来说都是非常有吸引力的。
这是J2EEIDE市场一个重量级的选手。
通过增加UML双向建模工具、WYSIWYG的JSP/Strutsdesigner、可视化的Hibernate/ORM工具、Spring和Webservices支持,以与新的Oracle数据库开发,MyEclipse5.0继续为业界提供全面的产品。
Genuitec总裁MaherMasri说,“今天,MyEclipse已经提供了意料之外的价值。
其中的每个功能在市场上单独的价格都比MyEclipse要高。
但是,我们承诺为顾客提供全面并且可以买得起的解决方案。
按照这个传统,我们的顾客将继续享受年度订购活动的好处,该活动提供了所有发布功能的入口以与伴随MyEclipse5.0一起的专业技术支持”。
2.2.2Access
MicrosoftOfficeAccess(前名MicrosoftAccess)是由微软发布的关联式数据库管理系统。
它结合了MicrosoftJetDatabaseEngine和图形用户界面两项特点,是MicrosoftOffice的成员之一。
其实Access也是微软公司另一个通讯程序的名字,想与ProComm以与其他类似程序来竞争。
可是事后微软证实这是个失败计划,并且将它中止。
数年后他们把名字重新命名于数据库软件。
另外,Access还是c语言的一个函数名和一种交换机的主干道模式。
MicrosoftAccess在很多地方得到广泛使用,例如小型企业,大公司的部门,和喜爱编程的开发人员专门利用它来制作处理数据的桌面系统。
它也常被用来开发简单的WEB应用程序.这些应用程序都利用ASP技术在InternetInformationServices运行.比较复杂的WEB应用程序则使用PHP/MySQL或者ASP/MicrosoftSQLServer。
Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件种,便于用户的操作和管理。
Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。
它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。
通过对象的方法、属性完成数据库的操作和管理,极简化了用户的开发工作。
同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。
Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。
Access支持ODBC(开发数据库互连,OpenDataBaseConnectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。
Access还可以将程序应用于网络,并与网络上的动态数据相联接。
利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用。
第3章系统分析与组分工
3.1需求概述
工资管理系统系统对企业加强工资管理有着极其重要的作用,就一般的大型企业来说,它的设计容非常复杂而且繁多,比如拥有工资计算功能,工资统计功能,报表输出功能,而且设计的模块也很多,比如工资管理模块,工资统计模块,报表设计模块,打印输出模块,模糊查询模块等等。
因此,工资管理系统为公司和员工带来极大的方便。
通过我们组员之间的分析与研究,要求系统具有如下功能:
(1)提供用户登录、用户查询功能
(2)提供员工信息查询、添加、删除等功能
(3)提供部门信息查询、添加、删除等功能
(4)提供工资信息查询、添加、修改、删除等功能
(5)管理员对各个部分信息的管理功能
3.2需求分析
3.2.1理解需求
工资管理系统在用户登录时分两个部分:
管理员和普通用户。
普通用户可以进入用户界面查询各个信息,但只有查询功能。
管理员的权限除了普通用户的权限外,还有对各个部分的信息进行添加、修改、删除等功能。
所有的功能管理员都能实现。
下面是系统所要达到的几条要求:
(1)要求系统准确的记录各种信息。
(2)系统要提供丰富的查询功能。
(3)系统可以对基础数据进行维护。
(4)系统运行在Windows平台下,需要有良好的图形用户界面。
(5)系统具有良好的可扩展性,良好的可移植性。
3.2.2分析需求
分析需求就是描述系统的需求,通过定义系统中的关键域建立模型。
分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通的机制。
因此,工资管理系统的需求分析应该是开发人员和用户一起完成的。
分析需求的第一步描述工资管理系统的功能,即定义用例,以此确定系统的功能需求。
工资管理系统的分析主要涉与规格说明的阅读和分析,需要和工资管理系统潜行讨论。
工资管理系统的角色是管理员和公司员工。
公司员工即普通用户可以对系统中的各个部分进行查询。
管理员登陆时有权限限制的,普通用户是不可登陆的。
他可以对用户信息进行添加、修改、查询、删除等,还可以对系统中的其他信息进行管理。
3.2.3可行性分析
(1)技术可行性分析
技术上的可行性分析要考虑将来要采用的硬件和软件技术能否满足用户提出的要求(如计算机的容量、速度等)。
此外,还要考虑开发人员的水平,作为计算机软件开发与技术专业的学生,经过几年的学习,在数据库和编程方面都有一定的基础。
所以对于这个系统的开发还是有能力做好的。
我们掌握了数据库与其应用技术、数据库原理、计算机网络技术等课程,对数据库的设计、应用、维护与局域网的组成有了深刻的认识与一定的动手实践能力。
从一定程度上具备了开发一个小型系统的能力。
(2)经济可行性
主要从对项目的经济上进行分析评价,一方面是支出的费用,另一方面是取得的收益。
我们这个是一个小型的公司工资管理系统,从投入的人力,财力与物力来讲是非常之小的,只要有电脑就可以了。
从节省人力方面,可以让管理人员从繁与复杂的工作中解脱出来,做更多的工作,可以给工资管理提高一个层次。
(3)运行可行性
不同的企业正在迅猛发展,而且在企业中各个公司的员工流动性越来越大,所以工资管理系统在公司起到了极其重要的作用。
随着计算机硬件的快速发展,计算机的价格在不断地降低,工资管理系统对客户端要求极低,只需要有一个浏览器能上网就能进行信息的查询。
网络的越来越普与,人们都喜欢上网查询信息既方便又快捷。
因此系统在实践上具备了可行性。
(4)法律可行性
本系统纯为私人设计,在开发过程中没有涉与合同、责任等与法律相抵触的方面。
因此,本系统在法律上是可行的。
由此可知,工资管理系统在市场上具有可行性。
3.3设计思想
本系统开发设计思想有以下几点:
(1)充分利用现有资源,提高系统开发水平和应用效果的目的。
(2)系统应符合管理人员的具体要求,满足日常的管理工作需要,而且要达到使用中的直观、快捷、实用、安全、稳定等要求。
(3)系统采用模块化的程序设计方法,既便于系统功能的添加、修改等。
(4)系统应具备数据库维护功能,与时根据用户需求进行数据的添加、删除修改等功能。
3.4系统功能结构图
针对实际生活中工资管理的需要,我们组的公司工资管理系统能够实现的主要功能模块如下:
用户管理模块:
制定用户的管理级别,管理级别分为管理员和普通用户两类。
他们的操作权限不同,管理员是公司的管理员,可以对系统进行一切操作,包含添加用户、修改用户信息、修改口令等。
普通用户只能进行信息查询。
人员信息管理模块:
实现对员工基本信息的添加、修改、删除、查询等。
按照公司规定对员工进行管理。
部门信息管理模块:
实现对部门的信息添加、修改、删除、查询等。
工资信息管理模块:
实现工资表的生成、个人工资查询、工资修改、工资结算、工资统计以与工资表打印等功能。
其中按月生成工资表,保存在数据库中。
而工资标准的依据恰好与员工的基本信息相一致,形成对应关系。
工资管理系统的组成与系统功能结构图,如图3.1所示。
图3.1系统功能图
3.5组分工
我们组的组分工,如表3.1所示。
表3.1组分工明细表
任务
成绩
组长
泉
主要负责主登陆界面、主功能界面和退出界面的实现。
用户管理功能的实现包括用户信息添加、修改、删除与数据库的连接。
帮助功能。
报告第4部分的撰写与报告修改整理。
组员
王丹
主要负责工资管理,包括工资信息的添加、修改、查询、删除功能的实现。
报告第5部分、摘要的撰写。
甘霖
主要负责人员管理,包括人员信息的添加、修改、查询、删除功能的实现。
报告第3部分、结论的撰写。
芳
主要负责部分管理,包括部门信息的添加、修改、查询、删除功能的实现。
报告第1、2部分、致的撰写。
第4章数据库设计
4.1数据库需求分析
需求分析简单地说就是分析用户的要求。
需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。
因此,数据库结构设计的一个非常重要的阶段就是数据库需求分析阶段。
在这个阶段主要是收集基本数据以与数据处理流程,为以后进一步设计打下基础。
需求分析主要解决两个问题:
容要求:
调查应用系统用户所操作的数据,决定的数据库中存储什么数据。
处理要求:
调查应用系统用户要求对数据进行什么样的处理,处理数据库中的各种数据之间的关系如何。
解决这两个问题的时候,程序设计人员需要向应用系统的用户做详细调查,保证信息收集的完整性,否则有可能后面所做的所有工作都白白浪费。
工资管理系统,包括系统功能设计、工资管理数据库与数据表的创建、创建系统启动和操作的各个界面、以与各个子系统的界面设置与功能实现等容,主要实现对企业工资管理信息的规化、系统化的管理。
通过各方面的调查和分析,工资管理系统需要实现的主要功能如下:
(1)提供用户登陆、用户查询功能
(2)提供员工信息添加、查询、删除功能
(3)提供部门信息查询、添加、删除等功能
(4)提供工资信息查询、添加、修改、删除等功能
(5)提供管理员对系统的管理功能
4.2数据流图
从硬件方面来说,数据流图(DataFlowDiagram,DFD)是用来描绘软件系统逻辑模型的图形工具,用于描绘信息在系统中的流动和处理情况。
数据流图是结构系统分析的主要工具,它表示了系统部信息的流向,并表示了系统的逻辑处理的功能,是一种功能模型。
数据流图具体功能分析如下:
数据源点和数据终点:
数据源点和数据终点用方框表示,它是系统之外的实体,可以是人、事、物、部门或其他系统。
加工(数据处理变换):
加工用圆框表示,是对数据进行处理的逻辑单元,它接受若干输入数据流,通过加工,部产生规定的输出数据流。
数据流:
数据流用带数据流标识的箭头表示,表示系统处理的数据对象和数据流动的方向。
数据流的方向可以是:
从一加工流向另一加工、从加工流向数据存储或数据存储流向加工、从源点流向加工或从加工流向终点。
数据存储文件:
数据存储文件在数据流图中起着保存数据的作用,它可以是数据库、文件或任何其它形式,指向存储的数据流可理解为数据写入,从存储引出的数据流可理解为数据读出。
公司工资管理系统数据流图如图4.1所示。
图4.1系统数据流图
4.2数据字典
从软件方面来说,需要安装JDK和Web服务器以与数据库管理系统数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。
其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑容。
⑴数据项
数据项是不可再分的数据单位。
可以用关系规化理论为指导,用数据依赖的概念分析和表示数据项之间的联系。
即按实际语义,写出每个数据项之间的数据依赖,它们是数据库逻辑设计阶段数据模型优化的依据。
对数据项的描述通常包含以下容:
数据项描述={数据项名,数据项含义说明,别名,数据类型,长度}
对于本系统所包含的各个数据项的具体描述如表4.1至表4.4所示。
表4.1管理员信息的数据项
数据项名
别名
数据类型
长度
数据项含义说明
备注
管理员
User
VCHAR
8
管理员的唯一标识
主键,值不为空
密码
Upassword
VCHAR
15
登录密码
值不为空
表4.2员工信息的数据项
数据项名
别名
数据类型
长度
数据项含义说明
备注
员工编号
Pno
VCHAR
8
员工的唯一标识
主键,值不为空
员工
Pname
VCHAR
8
员工的
值不为空
性别
Sex
VCHAR
4
员工的性别
可有可无
年龄
Age
VCHAR
4
员工的年龄
可有可无
职位
Post
VCHAR
8
员工的职位
可有可无
所在部门
Department
VCHAR
8
员工所在部门
可有可无
工资
Wage
VCHAR
10
员工工资
可有可无
工资类型
Wagetype
VCHAR
8
员工工资类型
可有可无
表4.3部门信息的数据项
数据项名
别名
数据类型
长度
数据项含义说明
备注
部门编号
Dtmt-id
VCHAR
10
部门信息唯一标识
主键,值不为空
部门名称
Dtmt-name
VCHAR
10
部门名称
值不为空
表4.4工资信息的数据项
数据项名
别名
数据类型
长度
数据项含义说明
备注
工资号
no
VCHAR
8
员工的唯一标识
主键,值不为空
工资类型
Wagetype
VCHAR
4
工资类型
可有可无
基本工资
Baswage
VCHAR
4
员工的基本工资
可有可无
奖金
Bonus
VCHAR
8
员工的奖金
可有可无
应减工资
Minwage
VCHAR
8
员工所
可有可无
实际工资
Factwage
VCHAR
10
员工工资
可有可无
工资日期
Wagedate
VCHAR
8
员工工资日期
可有可无
⑵数据结构
数据结构反映了数据之间的组合关系。
一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。
对数据结构的描述通常包括以下容:
数据结构描述={数据结构名,含义说明,组成:
{数据项或数据结构}}
本系统的数据结构描述,如表4.5所示。
表4.5数据结构说明
数据结构名
含义说明
组成
管理员信息
管理员的基本信息
管理员、密码
员工信息
员工的基本信息
员工编号、、性别、年龄、职位、所在部门、工资、工资类型
部门信息
部门的基本信息
部门编号、部门名称
工资信息
工资信息
员工编号、基本工资、奖金、应减工资、实际工资等
⑶数据流
数据流是数据结构在系统传输的路径。
对数据流的描述通常包括以下容:
数据流描述={数据流名,说明,数据流来源,数据流去向,组成:
{数据结构}}
其中,“数据流来源”是说明该数据流来自哪个过程;“数据流去向”是说明该数据流将到哪个过程去。
⑷数据存储
数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。
它可以手工文档或手工凭单,也可以是计算机文档。
本系统中对数据存储的具体描述。
⑸处理过程
处理过程的具体处理逻辑一般用判定表或判定树来描述。
数字字典中只需要描述处理过程的说明信息,通常包括以下容:
处理过程描述={处理过程名,说明,输入:
{数据流},输出:
{数据流}}。
4.3概念结构设计
4.3.1概念结构设计方法
设计概念结构通常有四类方法如下:
⑴自顶向下。
即首先定义全局概念结构的框架,然后逐步细化;
⑵自底向上。
即首先定义各局部应用的概念结构,然后将他们集成起来,得到全局概念结构;
⑶逐步扩。
首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构;
⑷混合策略。
即将自顶向下和自地向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成自底向上策略中设计的各局部概念结构。
4.3.2概念模型设计
在概念模型设计中,主要是对E-R图进行设计。
在E-R图设计中,首先要设计分E-R图,然后再对总E-R图进行设计。
由于各个局部所面向的问题不同,这就导致各个分E-R图之间必定会存在许多不一致的问题,称之为冲突。
因此合并分E-R图并不能简单地将各个分E-R图画到一起,而是必须合理消除各分E-R图中的不一致,以形成一个能为全系统中所有用户共同理解和接受的统一的概念模型,是合并E-R图的主要工作和关键。
由分E-R图合成总体E-R图的规则,画出完整的工资管理系统的完整E-R图,如图4.2所示。
图4.2完整E-R图
4.4逻辑结构设计
4.3.2逻辑结构设计思想
从理论上讲,设计逻辑结构应该选择最适于相应概念结构的数据模型,然后支持这种数据模型的各种DBMS进行比较,从中选出最合适的DBMS。
但实际情况往往是已给定了