基于web的工资管理系统课程设计.doc_第1页
基于web的工资管理系统课程设计.doc_第2页
基于web的工资管理系统课程设计.doc_第3页
基于web的工资管理系统课程设计.doc_第4页
基于web的工资管理系统课程设计.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章 系统概述1.1开发背景 工资管理是一个单位不可缺少的部分,因为工资是一个单位与职员之间最重要的关系纽带,它是职员辛勤劳动的主要成果,不同的职员工资不同,所产生的价值也不同。一直以来人们都是使用传统的方式管理,但是这种方法效率低,管理不方便,随着计算机科学的不断发展,更加不能满足人们的需求,为了能合理的管理工资问题,使用计算机对单位工资信息进行管理成为人们的迫切需要。数据库管理系统能为我们提供快捷、高效的数据数据组织、存储、访问和管理手段,能够提高我们的工作效率,方便我们快捷找到相关信息。对企业源是企而言,全面开发和应用计算机管理信息系统就是近期不能回避的问题。在企业管理中,人力资业最宝贵的资源,也是企业的“生命线”,因此人事管理是企业的计算机管理信息系统重要组成部分。而工资管理又是人力资源管理的重中之重。1.2开发意义工资管理系统对于一个企业而言意义重大。可以通过该系统对企业信息以及企业职工工资进行管理,便以企业人事资源管理。有利于减少错误,减轻人事部门的任务,提高效率,节约人力资源,降低企业成本实行电子化的工资管理。1.3开发目的通过对该系统的开发,可以实现对企业人事资源的管理,包括员工基本信息、工资结构设置及工资汇总等模块的开发管理,具体包括如下模块: 员工基本信息模块:资料输入、员工增删、员工查询 工资结构设置模块:基础工资、岗位工资、工龄工资 工资汇总模块:岗位工资、工龄工资通过以上功能实现对员工工资的管理,让系统管理员能够更方便管理员工工资,也能够让员工更方便的查询其基本工资情况。第二章 系统分析2.1可行性分析 2.1.1 管理上的可行性此系统将会对企业的管理带来相当的方便,对于节省人力资源是有利的,因此主管人员对此项目的开发持绝对的支持态度,管理方面的条件都很成熟,这都为本系统的开发提供了管理上的可行。 2.1.2 技术上的可行性依靠当今的软件开发方法和案例,通过学习了MyEclipse软件的学习,及对Oracle数据库的学习和网络知识的学习,及现今计算机硬件的水平的提高,通过努力开发出来应该是没有技术问题。 2.1.3 经济上的可行性现在,计算机的价格已经十分低廉,性能却有了长足的进步。而本系统的开发,为企业的人事资源管理工作的效率带来了一个质的飞跃,为此主要表现有以下几个方面:第一,本系统的运行可以节省人力,物力和财力。第二,本系统的运行可以大大的提高公司的工作效率。第三,本系统可以使敏感文档更加安全。 所以,用户可以在购买软件以后对人员进行一些基本的培训,软件就可以发挥作用,只会花费很小的一部分但是收获确实长久的。所以本系统在经济上是可行的。 2.2 需求分析 2.2.1 性能需求分析本系统应该能达到如下的性能需求:用户容易理解和使用该系统。系统应易于修改、易于扩充、易于维护,能够适应业务不断发展变化的需要。目标系统功能齐全,能够完全满足业务需求。保证系统的物理安全、数据存储和存取的安全与保密、数据传输的安全与保密,做好使用人员的授权管理。能连续准确的处理业务,有较强的容错能力。优化逻辑设计与物理设计,使系统运行效率高,反映速度快。 2.2.2功能需求分析工资管理信息系统对企业加强工资管理有着极其重要的作用,经过了反复地论证,最终确定了工资管理系统的设计方案,本系统应实现如下的功能:员工基本信息管理,工资结构结构设置,工资汇总等三个大的功能1、员工基本信息模块员工基本信息模块具有员工信息增加、删除、修改和员工信息查询三个功能。员工基本信息包括员工号、员工姓名、员工性别、所在部门、所在岗位、工龄和工资等级等信息。员工增删实现了对数据库中员工信息的增加和删除。员工信息查询可以通过员工号或员工姓名对员工信息进行查询。2、工资结构设置模块根据该公司的工资管理实际情况,本系统将工资结构分为基础工资、岗位工资和工龄工资三部分。该模块可以对这三个工资类型设置工资等级,并对每个等级设置工资标准。3、工资汇总模块用户在员工信息管理模块对该员工的工资等级进行输入以后,在工资汇总模块会自动对员工工资进行汇总。用户可以打印出工资汇总表,打印之前可以通过打印预览功能进行打印预览。2.3 数据流图和数据字典 2.3.1 数据流图 数据流图部分包括工资管理顶层数据流程图,及三个子模块数据流程图:员工基本信息操作子模块数据流程图、员工工资结构设置子模块流程图及员工工资汇总子模块数据流图,具体如下: 工资管理顶层数据流程图如下: 图2.1 工资管理顶层数据流程图 第二层数据流程图包括员工基本信息操作子模块数据流程图、员工工资结构设置子模块流程图及员工工资汇总子模块数据流图三部分,具体如下:员工基本信息操作子模块数据流程图:图2.2 员工基本信息操作子模块数据流程图员工工资结构设置子模块流程图:图2.3 员工工资结构设置子模块流程图员工工资汇总子模块数据流图:图2.4 员工工资汇总子模块数据流图 2.3.2 数据字典 数据字典包括数据项、数据结构、数据流、处理逻辑、数据存储和外部实体等六个方面的定义。数据项的定义:数据项编号:I-01 数据项编号:I-02数据项名称:员工号 数据项名称:员工姓名 别 名:无 别 名:无简 述:员工在单位的代号 简 述:无类型及宽度:字符型,3位 类型及宽度:字符型,10位取 值 范围:“000”“999” 取 值 范围:小于或等于5个汉字数据项编号:I-03 数据项编号:I-04数据项名称:员工性别 数据项名称:岗位名称 别 名:无 别 名:部门名简 述:无 简 述:无类型及宽度:字符型,2位 类型及宽度:字符型,14位取 值 范围:“男”或“女” 取值范围:小于或等于7个汉字数据项编号:I-05 数据项编号:I-06数据项名称:工龄 数据项名称:工资等级 别 名:无 别 名:无简 述:员工在单位工作时间 简 述:无类型及宽度:数值型,2位 类型及宽度:字符型,2位取 值 范围:“00”“99” 取 值 范围:“00”“99” 数据项编号:I-07 数据项编号:I-08数据项名称:基本工资 数据项名称:岗位工资 别 名:无 别 名:无简 述:员工最基本的工资 简 述:不同岗位的工资规定类型及宽度:数值型,4位 类型及宽度:数值型,4位取 值 范围:“0000”“9999” 取值范围:“0000”“9999”数据项编号:I-09 数据项编号:I-10数据项名称:工龄工资 数据项名称:注册名 别 名:无 别 名:无简 述:不同工资年限的工资规定 简 述:无类型及宽度:数值型,3位 类型及宽度:字符型,10位取 值 范围:“0000”“9999” 取 值 范围:任意字符数据项编号:I-11 数据项编号:I-12数据项名称:汇总工资 数据项名称:结算时间 别 名:无 别 名:无简 述:员工总工资 简 述:每月工资结算时间类型及宽度:数值型,8位 类型及宽度:日期型,8位取 值 范围:“00000”“99999” 取值范围:小于或等于5个汉字数据结构的定义:数据结构编号:DS01-01数据结构名称:员工信息表单简 述:描述员工的基本信息数据结构组成:I-01+I-02+I03+I-04+I-05+I-06数据结构编号:DS01-02数据结构名称:基本工资表单简 述:描述不同等级的员工的基本工资信息数据结构组成:I-06+I-07数据结构编号:DS01-03数据结构名称:岗位工资表单简 述:描述不同岗位的员工的岗位工资信息数据结构组成:I-04+I-08数据结构编号:DS01-04数据结构名称:工龄工资表单简 述:描述不同工龄的员工的工龄工资信息数据结构组成:I-05+I-0923数据流的定义:数据流编号:D1数据流名称:员工信息简 述:员工的基本信息数据流来源:数据库数据流去向:工资汇总模块数据流组成:DS01-01数 据 流量:100份/月高 峰 流量:200份(每个月末)数据流编号:D2数据流名称:基本工资简 述:不同等级的员工的基本工资数据流来源:数据库数据流去向:工资汇总模块数据流组成:DS01-02数 据 流量:100份/月高 峰 流量:200份(每个月末)数据流编号:D3数据流名称:岗位工资简 述:不同岗位的员工的岗位工资数据流来源:数据库数据流去向:工资汇总模块数据流组成:DS01-03数 据 流量:100份/月高 峰 流量:200份(每个月末)数据流编号:D4数据流名称:工龄工资简 述:不同工龄的员工的工龄工资数据流来源:数据库数据流去向:工资汇总模块数据流组成:DS01-04数 据 流量:100份/月高 峰 流量:200份(每个月末)处理逻辑的定义:处理逻辑编号:P1.1处理逻辑名称:员工信息增加简 述:当有新员工时,增加一条员工信息输入的数据流:D1处 理:增加一条员工信息输出的数据流:DS01-01处 理 频 率:当有新员工时,对每个员工处理一次处理逻辑编号:P1.2处理逻辑名称:员工删除简 述:当有员工辞职时,删除一条员工信息输入的数据流:D2处 理:删除一条员工信息输出的数据流:DS01-02处 理 频 率:当有员工辞职时,对每个员工处理一次处理逻辑编号:P1.3处理逻辑名称:员工信息更新简 述:当有员工信息要变动时,更新一条员工信息输入的数据流:D3处 理:更新一条员工信息输出的数据流:DS01-03处 理 频 率:当有员工信息要变动时,对每个员工处理一次处理逻辑编号:P2处理逻辑名称:员工工资汇总简 述:每当月底时,汇总每个员工的工资输入的数据流:F1、F2、F3处 理:更新一条员工信息输出的数据流:D1处 理 频 率:每月处理一次外部实体的定义:外部实体编号:S1外部实体名称:系统管理员简 述:对系统进行相关的管理,比如增加一条员工记录输入的数据流:D1,D2,D3,D4输出的数据流:DS01-01,DS01-02,DS01-03外部实体编号:S2外部实体名称:员工用户简 述:公司员工输入的数据流:I-1,I-2输出的数据流:DS01-01 数据存储的定义:数据存储编号:F01-01数据存储名称:员工信息表简 述:员工工资相关信息数据存储组成:工资信息增加+工资信息删除+工资信息修改+工资信息查询关 键 字 :员工编号相关联的处理:P1+P2+P3第三章 系统设计3.1总体设计系统设计的基本目的就是回答系统应该如何实现的问题,具体包括系统功能模块设计、数据库设计等。 3.1.1 系统功能模块设计工资管理系统应实现员工基本信息管理、工资结构结构设置及工资汇总等三大模块的功能。1、员工基本信息模块员工基本信息模块具有员工信息增加、删除、修改和员工信息查询三个功能。员工基本信息包括员工号、员工姓名、员工性别、所在部门、所在岗位、工龄和工资等级等信息。2、工资结构设置模块根据该公司的工资管理实际情况,本系统将工资结构分为基础工资、岗位工资和工龄工资三部分。该模块可以对这三个工资类型设置工资等级,并对每个等级设置工资标准。3、工资汇总模块用户在员工信息管理模块对该员工的工资等级进行输入以后,在工资汇总模块会自动对员工工资进行汇总。工资管理系统的功能模块图如下所示: 工资管理系统工资汇总工资结构设置员工基本信息员工信息增加员工信息查询基本工资设置岗位工资设置岗位工资汇总工龄工资汇总工资单打印员工信息删除工龄工资设置员工信修改 图3.1工资管理系统功能模块图 3.1.2 系统概念设计 本系统涉及到的实体有员工实体、系统管理员实体 、基本工资实体、岗位工资实体和工龄工资实体,各实体的E-R图如下:员工实体E-R图如下所示:员工员工姓名员工性别员工号岗位名称工资等级工龄图3.2员工实体E-R图系统管理员实体E-R图如下所示:注册名口令系统管理员图3.3系统管理员实体E-R图基本工资实体E-R图如下所示:基本工资工资等级基本工资标准 图3.4基本工资实体E-R图岗位工资实体E-R图如下所示:岗位工资岗位名称岗位工资标准图3.5岗位工资实体E-R图工龄工资实体E-R图如下所示:工龄工资岗位工资标准工龄图3.6工龄工资实体E-R图工资管理系统E-R图如下所示:工龄工资N汇总N1N基本工资汇总11管理员工系统管理员1汇总N岗位工资 图3.7 工资管理系统E-R图 3.1.3 数据库逻辑设计本系统涉及到员工信息表、基础工资设置表、岗位工资设置表、工龄工资设置表、系统用户表及工资汇总表等。1、员工信息表:personal.dbf如下所示:字段字段名类型宽度说明1员 工 号字符型3数字2员工姓名字符型10小于等于5个汉字3员工性别字符型2“男”或“女”4岗位名称字符型14小于等于7个汉字5工 龄数值型21-99之间6工资等级数值型21-99之间表3.1员工信息表2、基础工资设置表:basicwage.dbf如下所示:字段字段名类型宽度说明1工资等级数值型21-99之间2工资标准数值型41-9999之间表3.2基础工资设置表3、岗位工资设置表:stationwage.dbf 如下所示:字段字段名类型宽度说明1岗位名称字符型14小于等于7个汉字2工资标准数值型41-9999之间表3.3岗位工资设置表4、工龄工资设置表:gonglingwage.dbf 如下所示: 字段字段名类型宽度说明1工资等级数值型21-99之间2工资标准数值型41-9999之间表3.4工龄工资设置表5、系统用户表:adminer.dbf 如下所示:字段字段名类型宽度说明1注册名字符型10任意字符2口 令字符型10英文字母或数字表3.5系统用户表6、工资汇总表:wage.dbf如下所示:字段字段名类型宽度说明1员工号字符型3数字2员工姓名字符型10小于等于5个汉字3员工性别字符型2“男”或“女”4时间日期型8工资汇总的时间5工龄工资数字型41-9999之间6岗位工资数字型41-9999之间7基本工资数字型41-9999之间8汇总数字型8表3.6工资汇总表 3.2 详细设计 详细设计即根据总体设计的每个功能模块和数据库的逻辑结构,利用相应开发工具设计出应用系统的过程,包括开发工具简介及代码与界面设计两个方面。 3.2.1开发工具简介 1、JSP简介 JSP(Java Server Pages)是一种建立在Servlet规范提供的功能之上的动态网页技术,和ASP类似,他们都是在通常的网页中嵌入脚本代码,JSP文件中嵌入的是Java代码和JSP标记。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行2。2、JSP技术JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。3、本系统采用的数据库访问技术 本新闻发布系统使用JDBC访问MySql数据库,JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名。 有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。 Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法7。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。访问并操纵数据库服务器中的数据。 第4章 系统实现1、员工工资管理系统员工基本信息子模块基本信息增加、删除及修改功能代码及界面设计如下: 图3.8 员工基本信息界面具体编码如下: “增加新记录”按钮控件源代码:thisform.pageframe1.page1.fy1.enabled=.F.mand2.enabled=.F.mand3.enabled=.F.mand4.enabled=.T.if mand1.caption=增加新记录thisform.pageframe1.page1.txtpid.enabled=.T.thisform.pageframe1.page1.txtpname.enabled=.T.thisform.pageframe1.page1.txtpsex.enabled=.T.thisform.pageframe1.page1.txtpjob.enabled=.T.thisform.pageframe1.page1.txtpindate.enabled=.T.thisform.pageframe1.page1.txtprank.enabled=.T.append mand1.caption=增加确认thisform.pageframe1.page1.refreshthisform.pageframe1.page1.txtpid.setfocuselsegetid=alltrim(thisform.pageframe1.page1.txtpid.value)getname=alltrim(thisform.pageframe1.page1.txtpname.value)getsex=alltrim(thisform.pageframe1.page1.txtpsex.value)getjob=alltrim(thisform.pageframe1.page1.txtpjob.value)getindate=alltrim(thisform.pageframe1.page1.txtpindate.value)getrank=alltrim(thisform.pageframe1.page1.txtprank.value)if empty(getid) or empty(getname) or empty(getsex) or empty(getjob) or empty(getindate) or empty(getrank)messagebox(资料不足,48,错误)mand1.caption=增加新记录tableupdate(.t.)thisform.pageframe1.page1.txtpid.enabled=.F.thisform.pageframe1.page1.txtpname.enabled=.F.thisform.pageframe1.page1.txtpsex.enabled=.F.thisform.pageframe1.page1.txtpjob.enabled=.F.thisform.pageframe1.page1.txtpindate.enabled=.F.thisform.pageframe1.page1.txtprank.enabled=.F.thisform.pageframe1.page1.fy1.enabled=.T.mand2.enabled=.T.mand3.enabled=.T.mand4.enabled=.F.endifendif “修改这条记录”按钮控件源代码:mand1.enabled=.F.mand3.enabled=.F.mand4.enabled=.T.thisform.pageframe1.page1.fy1.enabled=.F.if mand2.caption=修改这条记录thisform.pageframe1.page1.txtpid.enabled=.T.thisform.pageframe1.page1.txtpname.enabled=.T.thisform.pageframe1.page1.txtpsex.enabled=.T.thisform.pageframe1.page1.txtpjob.enabled=.T.thisform.pageframe1.page1.txtpindate.enabled=.T.thisform.pageframe1.page1.txtprank.enabled=.T.mand2.caption=修改确认mand2.caption=修改这条记录tableupdate(.t.)thisform.pageframe1.page1.txtpid.enabled=.F.thisform.pageframe1.page1.txtpname.enabled=.F.thisform.pageframe1.page1.txtpsex.enabled=.F.thisform.pageframe1.page1.txtpjob.enabled=.F.thisform.pageframe1.page1.txtpindate.enabled=.F.thisform.pageframe1.page1.txtprank.enabled=.F.mand1.enabled=.T.mand3.enabled=.T.mand4.enabled=.F.thisform.pageframe1.page1.fy1.enabled=.T.endif2、员工工资管理系统员工基本信息子模块员工信息查询功能代码及界面设计如下: 图3.9 员工信息查询界面具体编码如下:“查询”按钮控件源代码:getpid=alltrim(thisform.pageframe1.page2.text1.value)getpname=alltrim(thisform.pageframe1.page2.text2.value)flag1=thisform.pageframe1.page2.check1.valueflag2=thisform.pageframe1.page2.check2.valueif flag1=0 and flag2=0messagebox(请输入查询条件,48,错误)endifif flag1=1 and flag2=0set order to pidseek getpidif found()messagebox(查到记录,48,注意)select * from personnel where pid=getpid into cursor lingthisform.pageframe1.page3.enabled=.T.thisform.pageframe1.page3.refreshelsemessagebox(没有这条记录,48,注意)endifendifif flag1=0 and flag2=1set order to pnameseek getpnameif found()messagebox(查到记录,48,注意)select * from personnel where pname=getpname into cursor lingthisform.pageframe1.page3.enabled=.T.thisform.pageframe1.page3.refreshelsemessagebox(没有这条记录,48,注意)endifendifif flag1=1 and flag2=1set order to pidseek getpidif personnel.pname=getpnamemessagebox(查到记录,48,注意)select * from personnel where pid=getpid and pname=getpname into cursor lingthisform.pageframe1.page3.enabled=.T.thisform.pageframe1.page3.refreshelsemessagebox(没有这条记录,48,注意)endifendif3、员工工资管理系统工资结构设置子模块代码机界面设计如下:图3.10 工资结构设置界面图3.11基础工资功能界面具体编码如下:“修改”按钮控件源代码:thisform.grdrank.column1.text1.enabled=.T.thisform.grdrank.column2.text1.enabled=.T.thisform.grdrank.column1.text1.setfocus“修改确认”按钮控件源代码:thisform.grdrank.column1.text1.enabled=.F.thisform.grdrank.column2.text1.enabled=.F.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论