职工工资管理系统1_第1页
职工工资管理系统1_第2页
职工工资管理系统1_第3页
职工工资管理系统1_第4页
职工工资管理系统1_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

数据库课程实训报告题目职工工资管理系统目录目录21课题内容和要求111课题描述112课题要求12需求分析121功能需求分析122数据需求分析131功能模块设计331功能模块设计332数据库概念设计433数据库逻辑设计534数据库物理设计735数据库表间联系84系统实现841登录模块实现842数据库模块实现943查询职工信息模块实现95代码调试与功能测试1051测试方案1052测试结果116收获与体会13参考文献14附录15附录1源程序部分清单15附录11登陆代码15附录12修改职工工资代码18附录13删除职工工资代码20职工工资管理系统1课题内容和要求11课题描述职工工资管理系统的功能是收集员工的个人信息,以便实现按照科室录入个人的基本资料,向各科室发放个人工资和计算个人的实际发放工资,可以让相关财务部门及领导查看各科室人数情况和工资金额,还可以让员工用自己的员工号去查看自己的工资和扣除金额的情况。该系统主要完成的工作为录入各职工自身及工资情况、对已经存在的数据的修改、删除、可查询、统计系统中的数据等。为此因此职工工资管理系统的功能读取文件信息、数据输入、显示、查找、增加、删除、修改、计算、列表等。12课题要求1可以按照科室(经理室、财务科、技术科和销售科)增加、修改、删除职工的基本资料2职工信息应包含职称,分为高级、中级、初级,同一职称职工基本工资相同3职工工资由基本工资、奖金、扣除金额组成,其中奖金、扣除金额可每月输入不同数据4可以计算职工每月工资5可以按照科室、职称、月份统计职工工资6可以按照科室、职工号、职工名称查询职工工资2需求分析21功能需求分析由于此处主要任务是练习所学知识点,针对于本系统的基本功能已经给出。所以,仅需根据用户提出的功能要求分离出各个主体,从而设计出合理的数据结构。主要包括(1)员工工资管理应涉及到职工的基本信息的录入、修改和删除。(2)员工工资管理应按照公司工资标准的设定、查询和结算等。(3员工工资管理系统还应该满足工资的考勤和奖励制度对员工进行考勤。22数据需求分析DFD基本工资员工信息津贴信息工资信息管理员工资管理员工查询结果查询请求数据字典属性名存储代码类型长度员工号SNOCHAR10员工名SNAMECHAR10性别SSEXCHAR2部门号DNOINT生日BIRTHCHAR10年龄AGEINT员工数据字典属性名存储代码类型长度基本工资WAGEMONEY补贴PHONEANCEMONEY月奖金MONTHREWARDMONEY总工资SUMSALARYMONEY工资标准数据字典属性名存储代码类型长度用户号IDNCHAR10密码PSWNCHAR6用户类型STYPESMALLINT用户数据字典31功能模块设计31功能模块设计1用户管理模块添加、编辑、删除登录用户。2基本信息设置模块包括员工基本信息管理企业工资的管理津贴的管理。3查询模块可组合各种条件查找各个部门的员工的基本信息和工资信息。4打印报表模块工资报表的打印预览、打印。职工工资管理系统职工管理工资管理系统管理用户管理退出档案管理奖罚管理考勤津贴工资总结部门管理数据备份操作员管理修改密码退出系统32数据库概念设计1根据如上的信息可得到实体之间的关系ER图如下33数据库逻辑设计(1)员工考勤表(CHECKSTAT)考勤编号(CHECKID),员工编号(ENO),员工姓名(ENAME),加班天数(OVERTIMEDAY),旷工天数(ABSENTDAY),请假天数(LEAVEDAY),考勤日期(CHECKDATE),加班类型(OVERTIMETYPE)(2)员工津贴表(ALLOWANCE)加班类型(OVERTIMETYPE),加班津贴(OSUBSIDY)(3)员工信息表(EMPLOGEE)员工编号(ENO),员工姓名(ENAME),性别(ESEX),出生年月(EBIRTH),职务(EDUTY),学历(EEDU),电话ETEL,身份证号(IDIDENTITY),住址(EADDR)(4)员工工种表(WAGECONFIG)职务(EDUTY),基本工资(BASEWAGE),加班标准(OVERDAY),请假标准(LEAVEDAY),旷工标准(ABSENTDAY),奖金(BONUS)(5)员工工资表(WAGE)员工编号(ENO),员工姓名(ENAME),基本工资(BASEWAGE),加班津贴主管部门员工请假扣款加班工资旷工扣款员工基本信息工资年终奖基本工资属于领导旷工加班请假录入设定工资计算计算公式天数天数天数加班标准请假标准旷工标准奖金(OSUBSIDY0),加班费(OVERTIMEWAGE),请假扣款(LEAVEDAYWAGE),旷工扣款(ABSENTDAYWAGE),奖金(BONUS),实发工资(ACTWAGE)依据上面的关系模式,设计数据表如下34数据库物理设计35数据库表间联系4系统实现41登录模块实现系统用户登录模块主要用于完成对登录系统的用户的验证,只有合法的用户和正确的数据库配置才可以进入系统,否则给与相应的错误提示登录窗体验证用户名和密码是否正确,通过用户名和密码判断出改用户是否是本系统的合法用户,并且通过用户名和密码判断用户的权限是超级管理员还是一般用户,根据不同的用户权限授予相应的管理和使用本系统的权限。控件LBLFIELD控件数组,2个JLABEL控件,2个JBUTTON控件,2个TEXTBOX控件,1个GROUPBOX控件,1个PICTUREBOX控件。属性用户名,密码,管理员,普通用户。事件用户进行登陆。数据库连接IMPORTJAVASQLCONNECTIONIMPORTJAVASQLDRIVERMANAGERIMPORTJAVASQLSQLEXCEPTIONPUBLICCLASSDBCONNECTIONPUBLICSTATICCONNECTIONGETCONNECTIONCONNECTIONCONNNULLSTRINGDRIVER“SUNJDBCODBCJDBCODBCDRIVER“STRINGURL“JDBCODBCSCHOOLDATA“STRINGUSERNAME“SA“STRINGPASSWORD“123456“TRYCLASSFORNAMEDRIVERCONNDRIVERMANAGERGETCONNECTIONURL,USERNAME,PASSWORDCATCHCLASSNOTFOUNDEXCEPTIONEEPRINTSTACKTRACECATCHSQLEXCEPTIONEEPRINTSTACKTRACERETURNCONN工具SQLSERVERMANAGEMENTSTUDIO,ECLIPSE。42数据库模块实现将数据库的连接包装在一个DBCONNECT类中,以便其他模块能够轻松调用,避免每次重写数据库连接代码。代码如下/创建数据库连接类DBCONNECTPACKAGEJAVA_DESIGNIMPORTJAVASQLPUBLICCLASSJDBCONNECT/静态方法提高数据库的连接效率PUBLICSTATICCONNECTIONGETCONNTHROWSEXCEPTION/加载JDBC驱动CLASSFORNAME“COMMICROSOFTSQLSERVERJDBCSQLSERVERDRIVER“RETURNDRIVERMANAGERGETCONNECTION“JDBCSQLSERVER/LOCALHOST1433“DATABASENAMESALARYMANAGEMENT“,“SA“,“1SJK“/关闭连接PUBLICSTATICVOIDCLOSECONNCONNECTIONCONNIFCONNNULLTRYCONNCLOSECATCHEXCEPTIONEEPRINTSTACKTRACE/关闭执行对象PUBLICSTATICVOIDCLOSESTATEMENTSTATEMENTSTMTIFSTMTNULLTRYSTMTCLOSECATCHEXCEPTIONEEPRINTSTACKTRACE/关闭结果集PUBLICSTATICVOIDCLOSERESULTSETRESULTSETRSIFRSNULLTRYRSCLOSECATCHEXCEPTIONEEPRINTSTACKTRACE43查询职工信息模块实现控件DATAGRID控件,LBLFIELD控件,2个JLABEL控件,2个JBUTTON控件,1个TEXTBBOX控件,JMENU控件,1个GROUPBOX控件,1个PICTUREBOX控件。属性工号,姓名,性别,年龄,生日,科室。事件用户通过系统查询信息。数据库连接IMPORTJAVASQLCONNECTIONIMPORTJAVASQLDRIVERMANAGERIMPORTJAVASQLSQLEXCEPTIONPUBLICCLASSDBCONNECTIONPUBLICSTATICCONNECTIONGETCONNECTIONCONNECTIONCONNNULLSTRINGDRIVER“SUNJDBCODBCJDBCODBCDRIVER“STRINGURL“JDBCODBCSCHOOLDATA“STRINGUSERNAME“SA“STRINGPASSWORD“123456“TRYCLASSFORNAMEDRIVERCONNDRIVERMANAGERGETCONNECTIONURL,USERNAME,PASSWORDCATCHCLASSNOTFOUNDEXCEPTIONEEPRINTSTACKTRACECATCHSQLEXCEPTIONEEPRINTSTACKTRACERETURNCONN工具SQLSERVERMANAGEMENTSTUDIO,ECLIPSE。5代码调试与功能测试51测试方案登陆系统添加职工信息输入工号1,姓名张,性别选男,年龄32,生日911122,所在科室财务科;添加职工工资,输入工号20,基本工资100,扣除金额工资100,奖金工资500,补助100查询职工工资,输入工号20;修改职工信息,输入要修改工号20,值选择扣除,输入新的值10;52测试结果6收获与体会过这次课程设计发现这其中需要的很多知识我们没有接触过,上网查找资料的时候发现我们以前所学到的仅仅是皮毛,还有很多需要我们掌握的东西我们根本不知道。同时也发现有很多已经学过的东西我们没有理解到位,不能灵活运用于实际,不能很好的用来解决问题,这就需要自己不断的大量的实践,通过不断的自学,不断地发现问题,思考问题,进而解决问题。在这个过程中我们将深刻理解所学知识,同时也可以学到不少很实用的东西。拿到题目后的第一步,我们就确定了这次我们的系统前台界面和后台数据库用DELPHI实现,但是接下来我们就开始各自着手学习设计程序去了,没有想过要进行需求分析、数据流的分析等,所幸得到老师及时的指点,我们才知道系统的目标、业务流程、功能描述、数据流程分析、数据词典、数据流图、ER图等这一系列的工作是非常重要的前期工作,前期工作没做好,后面也就无法进行。因此,我们也做足充分的准备,我们搜索了大量的资料,尽可能模拟现实社会中的工资管理系统,建立模型。由于我的知识浅薄,经验不足及阅历颇浅,因此,在该系统的设计方面还有很多不足,比如功能过少,界面不够醒目等问题,我会在工作的使用过程中,根据工作的具体要求不断的修改,完善,争取使该系统慢慢趋向完美。在本系统的设计过程和论文报告编写过程中,老师、同学都给予了我许多无私的帮助,给我提出了很多宝贵的修改意见,在这里,我向这些无私帮助我的人表示衷心的感谢。参考文献1钱雪忠,王燕玲,林挺数据库原理及技术M北京清华大学出版社,20112钱雪忠,罗海驰,陈国俊数据库原理及技术课程设计M北京清华大学出版社,2014附录附录1源程序部分清单附录11登陆代码PACKAGESTUDENTIMPORTJAVAAWTIMPORTJAVAAWTEVENTIMPORTJAVAXSWINGIMPORTJAVASQLPUBLICCLASSDENGLUIMPLEMENTSACTIONLISTENERSTATICSTRINGDBDRIVER“COMMICROSOFTJDBCSQLSERVERSQLSERVERDRIVER“STATICSTRINGDBURL“JDBCMICROSOFTSQLSERVER/LOCALHOST1433DATABASENAMESTUDENTS“STATICSTRINGUSER“SA“STATICSTRINGPASS“123456“STRINGTYPE“管理员“JFRAMEFJLABELJ1,J2,J3JTEXTFIELDTF1JPASSWORDFIELDTF2JBUTTONB1,B2JRADIOBUTTONRB1,RB2DENGLUFNEWJFRAME“登陆“FSETLAYOUTNULLTF1NEWJTEXTFIELD20TF2NEWJPASSWORDFIELD20TF2SETECHOCHARB1NEWJBUTTON“确定“B2NEWJBUTTON“退出“J1NEWJLABEL“请输入用户名“J2NEWJLABEL“请输入密码“J3NEWJLABEL“RB1NEWJRADIOBUTTON“管理员“RB2NEWJRADIOBUTTON“普通用户“BUTTONGROUPG1NEWBUTTONGROUPG1ADDRB1G1ADDRB2RB2ADDACTIONLISTENERTHISRB1ADDACTIONLISTENERTHISB1ADDACTIONLISTENERTHISB2ADDACTIONLISTENERTHISFADDJ1FADDTF1FADDJ2FADDTF2FADDB1FADDB2FADDJ3FADDRB1FADDRB2J1SETBOUNDS45,40,80,20J2SETBOUNDS45,90,80,20J3SETBOUNDS50,200,200,20B1SETBOUNDS60,180,70,30B2SETBOUNDS180,180,70,30TF1SETBOUNDS130,40,120,20TF2SETBOUNDS130,90,120,20RB1SETBOUNDS70,130,80,20RB2SETBOUNDS180,130,80,20FSETSIZE350,270FSETVISIBLETRUEFADDWINDOWLISTENERNEWWINDOWADAPTERPUBLICVOIDWINDOWCLOSINGFINALWINDOWEVENTESYSTEMEXIT0PUBLICVOIDACTIONPERFORMEDACTIONEVENTEIFEGETSOURCEEQUALSRB2TYPE“普通用户“IFEGETSOURCEEQUALSRB1TYPE“管理员“IFEGETSOURCEEQUALSB1STRINGS1STRINGVALUEOFTF2GETPASSWORDIFTF1GETTEXTEQUALS“|S1EQUALS“/NEWJOPTIONPANESHOWMESSAGEDIALOGNULL,“用户名或密码不能为空“J3SETTEXT“用户名或密码不能为空“ELSETRYCLASSFORNAMEDBDRIVERCONNECTIONCONDRIVERMANAGERGETCONNECTIONDBURL,USER,PASSSTATEMENTSTMCONCREATESTATEMENTRESULTSETRESSTMEXECUTEQUERYSQLWHILERESNEXTIFTF1GETTEXTTRIMEQUALSRESGETSTRING“SID“/IFTF2GETTEXTEQUALSRESGETSTRING“SPW“JAVAXSWINGJOPTIONPANESHOWMESSAGEDIALOGNULL,“登陆成功“NEWSTUDENT1ELSE/JAVAXSWINGJOPTIONPANESHOWMESSAGEDIALOGNULL,“密码不正确“J3SETTEXT“密码输入有误“TF1SETTEXT“TF2SETTEXT“ELSEJ3SETTEXT“用户名不存在“RESULTSETRESSTMEXECUTEQUERY“SELECTFROMSUSERWHERESID“TF1GETTEXT“/读取数据库IFRESNEXTJOPTIONPANESHOWMESSAGEDIALOGNULL,“不存在此用户“ELSEIFRESGETSTRING“SPW“TRIMEQUALSS1JOPTIONPANESHOWMESSAGEDIALOGNULL,“密码错误“ELSEIFRESGETSTRING“TYPE“TRIMEQUALS“普通用户“IFTYPEEQUALS“普通用户“JAVAXSWINGJOPTIONPANESHOWMESSAGEDIALOGNULL,“这是是管理员帐户请使用管理员权限“ELSEJAVAXSWINGJOPTIONPANESHOWMESSAGEDIALOGNULL,“管理员账户登陆成功“STRINGSASARESGETSTRING“SID“FSETVISIBLEFALSENEWSTARTYPE,SASAELSEIFTYPEEQUALS“管理员“JAVAXSWINGJOPTIONPANESHOWMESSAGEDIALOGNULL,“这是普通用户请使用普通用户权限“ELSEJAVAXSWINGJOPTIONPANESHOWMESSAGEDIALOGNULL,“普通用户账户登陆成功“STRINGSASARESGETSTRING“SID“FSETVISIBLEFALSENEWSTAR“普通用户“,SASACONCLOSECATCHEXCEPTIONZZPRINTSTACKTRACESYSTEMOUTPRINTLNZGETMESSAGEIFEGETSOURCEEQUALSB2SYSTEMEXIT0PUBLICSTATICVOIDMAINSTRINGARGSNEWDENGLU附录12修改职工工资代码PACKAGESTUDENTIMPORTJAVAAWTIMPORTJAVAAWTEVENTIMPORTJAVAXSWINGIMPORTJAVASQLPUBLICCLASSXIUGAICHENGJIEXTENDSJINTERNALFRAMEIMPLEMENTSACTIONLISTENERINTN0JLABELJ1,J2,J3JTEXTFIELDTF1,TF2JBUTTONB1,B2JRADIOBUTTONRB1,RB2,RB3,RB4STRINGSS1“XIUGAICHENGJISUPER“修改职工信息“SETLAYOUTNULLJ1NEWJLABEL“输入要修改的工号“J2NEWJLABEL“在下列选择要修改的工号对应的值,一次只能修改一项“J3NEWJLABEL“输入新的值“TF1NEWJTEXTFIELD20TF2NEWJTEXTFIELD20B1NEWJBUTTON“修改“B2NEWJBUTTON“取消“RB1NEWJRADIOBUTTON“基本工资“RB2NEWJRADIOBUTTON“扣除金额“RB3NEWJRADIOBUTTON“奖金“RB4NEWJRADIOBUTTON“补助“BUTTONGROUPG1NEWBUTTONGROUPG1ADDRB1G1ADDRB2G1ADDRB3G1ADDRB4B1ADDACTIONLISTENERTHISB2ADDACTIONLISTENERTHISRB1ADDACTIONLISTENERTHISRB2ADDACTIONLISTENERTHISRB3ADDACTIONLISTENERTHISRB4ADDACTIONLISTENERTHISADDJ1ADDJ2ADDJ3ADDTF1ADDTF2ADDB1ADDB2ADDRB1ADDRB2ADDRB3ADDRB4J1SETBOUNDS30,20,120,20TF1SETBOUNDS160,20,130,20J2SETBOUNDS30,50,320,20RB1SETBOUNDS30,80,70,20RB2SETBOUNDS100,80,70,20RB3SETBOUNDS170,80,70,20RB4SETBOUNDS240,80,70,20J3SETBOUNDS30,120,100,20TF2SETBOUNDS150,120,130,20B1SETBOUNDS60,170,80,30B2SETBOUNDS180,170,80,30SETSIZE400,250SETCLOSABLETRUE/SETMAXIMIZABLETRUESETRESIZABLETRUESHOWPUBLICVOIDACTIONPERFORMEDACTIONEVENTEIFEGETSOURCEEQUALSRB1SS1“SHUXUE“ELSEIFEGETSOURCEEQUALSRB2SS1“YINGYU“ELSEIFEGETSOURCEEQUALSRB3SS1“YUWEN“ELSEIFEGETSOURCEEQUALSRB4SS1“JAVA“IFEGETSOURCEEQUALSB1TRYCLASSFORNAME“COMMICROSOFTJDBCSQLSERVERSQLSERVERDRIVER“CONNECTIONCONDRIVERMANAGERGETCONNECTION“JDBCMICROSOFTSQLSERVER/LOCALHOST1433DATABASENAMESTUDENTS“,“SA“,“123456“STATEMENTSTMCONCREATESTATEMENTSTATEMENTSTM2CONCREATESTATEMENTRESULTSETRESSTMEXECUTEQUERY“SELECTFROMCHENGJIWHERESNO“TF1GETTEXT“IFRESNEXTJAVAXSWINGJOPTIONPANESHOWMESSAGEDIALOGNULL,“工资表中没有该职工信息,无法修改“ELSESTM2EXECUTEUPDATE“UPDATECHENGJISET“SS1“TF2GETTEXT“WHERESNO“TF1GETTEXT“JAVAXSWINGJOPTIONPANESHOWMESSAGEDIALOGNULL,“修改“TF1GETTEXT“的信息成功修改前“RESGETSTRINGSS1“现改为“TF2GETTEXT“CONCLOSECATCHEXCEPTIONZZPRINTSTACKTRACESYSTEMOUTPRINTLNZGETMESSAGEIFEGETSOURCEEQUALSB2PUBLICSTATICVOIDMAINSTRINGARGSNEWXIUGAICHENGJI附录13删除职工工资代码PACKAGESTUDENTIMPORTJAVAAWTIMPORTJAVAAWTEVENTIMPORTJAVAXSWINGIMPORTJAVASQLPUBLICCLASSDELCHENGJIEXTENDSJINTERNALFRAMEIMPLEMENTSACTIONLISTENERINTN0JLABELJ1JTEXTFIELDTF1JBUTTONB1,B2JRADIOBUTTONRB1,RB2STRINGSS1“Z“DELCHENGJISUPER“删除职工工资“SETLAYOUTNULLJ1NEWJLABEL“输入要删除的工号“TF1NEWJTEXTFIELD20B1NEWJBUTTON“删除“B2NEWJBUTTON“取消“RB1NEWJRADIOBUTTON“只删除职工工资“RB2NEWJRADIOBUTTON“删除工资并删除信息“BUTTONGROUPG1NEWBUTTONGROUPG1ADDRB1G1ADDRB2B1ADDACTIONLISTENERTHISB2ADDACTIONLISTENERTHISRB2ADDACTIONLISTENERTHISADDJ1ADDTF1ADDB1ADDB2ADDRB1ADDRB2J1SETBOUNDS30,20,120,20TF1SETBOUNDS160,20,130,20B1SETBOUNDS60,110,80,30B2SETBOUNDS180,110,80,30RB1SETBOUNDS30,60,140,20RB2SETBOUNDS170,60,150,20SETSIZE400,250SETCLOSABLETRUE/设置是否可关闭SETMAXIMIZABLETRUE/设置是否可最大化SETRESIZABLETRUE/设置是否可调整大小SHOW/如果内部窗体不可见,则将该内部窗体置于前端,使其可见并尝试选定它。PUBLICVOIDACTIONPERFORMEDACTIONEVENTEIFEGETSOURCEEQUALSRB2SS1“Q“IFEGETSOURCEEQUALSB1TRYSTRINGSS2“CLASSFORNAME“COMMICROSOFTJDBCSQLSERVERSQLSERVER

温馨提示

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

评论

0/150

提交评论