版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-.z..--可修编-毕业设计基于JAVA平台的工资管理系统******计算机工程系学生:**:******计算机工程系网络工程系部:网络工程***专业:***指导教师:2014年6月诚信声明本人重声明:本论文及其研究工作是本人在指导教师的指导下独立完成的,在完成论文时所利用的一切资料均已在参考文献中列出。本人签名:年月日毕业设计〔论文〕任务书设计〔论文〕题目:基于JAVA平台的工资管理系统系部:计算机工程系专业:网络工程**:***学生:***指导教师〔含职称〕:***〔讲师〕1.课题意义及目标学生通过本次毕业设计,综合运用所学过的根底理论知识,深入了解软件开发的流程及各个阶段的工作容,为学生在毕业后从事软件开发工作打好根底。本次设计以Oracle数据库为根底,利用JAVA程序设计进展开发。该系统要实用性强,方便录入数据,对用户的录入操作容错性强;字典数据一次录入,其它地方选单引用,数据的一致性好。2.主要任务系统为C/S模式,在JAVA平台下利用ORACLE数据库进展开发界面设计友好、美观,操作简单容易当月工资和历史工资的统计汇总及结果的导出编写软件的使用手册3.主要参考资料[1]彦明.JAVA语言极其程序设计[M].:电子,1997:259-405.[2](美)吉瑞(DavidM.Geary)著建森等译.JAVA2图形设计卷Ⅱ[M].:市机械工业,2000:227-949.[3]辉,山红,王璐等著.JAVA程序设计教程[M].:中国水利水电,2008:240-260.[4]蒙祖强,龚涛等著.oracle10g数据库java开发[M].:中国水利水电,2005:1-456.[5]AdriamBillingtom等著.OraclePL/SQL实践[M].:人民邮电,2012:10-400.4.进度安排设计〔论文〕各阶段名称起止日期1需求分析(确定系统流程图,数据流图,数据字典,数据库的设计)3月03日~3月14日2总体设计〔确定系统的总体构造以及功能模块〕3月15日~3月28日3详细设计〔编写程序实现功能模块〕3月29日~4月30日4系统测试〔利用白盒测试方法进展单元测试,利用黑盒测试方法进展集成测试〕5月01日~5月15日5论文〔完成毕业论文及辩论工作〕5月16日~6月10日审核人:年月基于JAVA平台的工资管理系统摘要由于计算机技术的飞速开展,数据库技术作为数据管理的一个有效的手段,在各行各业中得到越来越广泛的应用。工资管理系统在设计过程中严格遵循软件工程学的方法,用分阶段的生命周期方案严格管理。工资管理系统以Oracle数据库为根底,采用面向对象的JAVA程序设计语言来设计生成的系统。Java是一种简单的,跨平台的,面向对象的,强健的,平安的,多线程的语言。Oracle拥有可用性强,可扩展性强,数据平安性强,稳定性强的优点。本系统主要实现工资的发放与统计。用户必须先登录才能进入系统。用户每月向系统中输入工资组成数据后,系统依据这些数据采用事先约定好的工资算法自动计算工资。系统可以以部门为主条件查找选定年月的该部门所有职工的工资信息,同时可以导出工资结果。系统还可以以时间为主条件查找选定部门的工资汇总信息,同时可以导出汇总结果。关键词:JAVA,工资管理系统,Oracle数据库Thesalarymanagement
systembasedonJavaplatformAbstractDuetotherapiddevelopmentofputertechnology,databasetechnologyismorewidelyusedinvariousindustriesasaneffectivemeansofdatamanagement.Salarymanagementsysteminthedesignprocessstrictlyfollowthemethodsofsoftwareengineering,programmanagementwithstrictlifecyclestages.SalarymanagementsystembasedonOracledatabases,object-orientedJAVAprogramminglanguagetodesignasystemgenerated.Javaisasimple,cross-platform,object-oriented,robust,secure,multi-threadedlanguage.Oraclehastheadvantagesofhighavailability,scalability,datasecurityandstrongstability.Thesystemismainlytoachievesalarypaymentandstatistics.Theusermustfirstlogintoaccesssystem.Thesystemagreedinadvancealgorithmautomaticallycalculatesalarybasedonsalarydataconsistingoftheuseofuserinput.Thesystemcandependondepartmenttofindsalaryinformationforallemployeesofthedepartmentinthemonthselected,whilethesalaryresultscanbee*ported.Thesystemalsocandependontimetopayrollsummaryinformationabouttheselecteddepartments,andcane*portthesummaryresults.Keyword:JAVA,SalaryManagementSystem,OracleDatabase-.z.-可修编-目录1绪论11.1问题的提出11.2本课题研究的意义11.3研究方法及工具12可行性分析32.1技术可行性32.2经济可行性32.3操作可行性33需求分析43.1系统流程图43.2数据流图43.3数据字典53.4数据库概念构造74总体设计94.1功能模块图94.2功能模块描述104.3数据库逻辑构造115详细设计135.1登录界面的设计135.2数据字典维护设计16部门名称功能设计16职工功能设计185.3工资数据维护功能设计21根本数据功能设计21每月填报功能设计23当月数据存档功能设计235.4当月报表功能设计25当月部门报表功能设计25当月汇总功能设计275.5历史数据功能设计30部门月报功能设计30月汇总功能设计325.6帮助功能设计33使用手册功能的设计33关于软件功能的设计336系统实现346.1实体类包的实现346.2接口包的实现346.3接口实现类包的实现356.4界面设计包的实现366.5工具包的实现367系统测试387.1测试方案38测试方案38测试工程397.2测试记录397.3测试结果分析428结论43参考文献44致45-.z..-1绪论1.1问题的提出*医院单位拥有领导和员工共200多人,主要有领导干部,正式员工,实习生,外聘人员,其他员工。以往使用计算机软件e*cel可以管理工资,但是不能保证工资数据的正确性、平安性,操作的高效性、可靠性。随着经济水平的开展,知识经济时代给企事业工资信息管理提出了更高的要求。高效的、准确的工资管理,不仅能促进员工不断提高自身素质、提高工作积极性,从而提高员工工作质量和效率。因此工资管理系统孕育而生。系统根据员工每个人的工作年限,岗位工资,医疗保险,住房补贴等来计算每个员工的工资,也便于查询员工工资。1.2本课题研究的意义目前市面上流行的工资发放软件不少。但是,对于小型事业单位的工资发放来说,不需要太多的功能。只需要一个操作方便,功能实用,满足财务部门对工资数据管理的系统。我的目标就是在于开发一个功能实用,用户操作方便,简单明了的工资发放统计软件。1.3研究方法及工具本系统使用面向对象的Java语言来编写,采用Oracle10g数据库来存储系统中的数据。使用Myeclipse10开发集成环境来实现系统。JavaJava是一种简单的,跨平台的,面向对象的,分布式的,解释的,强健的,平安的,构造的,中立的,可移植的,性能很优异的,多线程的,动态的语言。当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。Java不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行〞的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了Java程序的运行效率。“Java语言靠群体的力量而非公司的力量〞是Sun公司的口号之一,并获得了广阔软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。Sun公司对Java编程语言的解释是:Java编程语言是个简单、面向对象、分布式、解释性、强健、平安与系统无关、可移植、高性能、多线程和动态的语言。Java平台是基于Java语言的平台。这样的平台非常流行,因此微软公司推出了与之竞争的.NET平台以及模仿Java的C*语言。OracleOracle数据库系统是美国Oracle公司〔甲骨文〕提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/效劳器(CLIENT/SERVER)或B/S体系构造的数据库之一。Oracle数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。它有可用性强,可扩展性强,数据平安性强,稳定性强的优点。MyeclipseMyEclipse企业级工作平台〔MyEclipseEnterpriseWorkbench,简称MyEclipse〕是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序效劳器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能。MyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持JavaServlet,AJA*,JSP,JSF,Struts,Spring,Hibernate,E3,JDBC数据库工具等多项功能。可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。2可行性分析可行性研究的目的就是要用最小的代价在尽可能短的时间确定问题是否能够解决。当然不能靠主观猜测而是要靠客观分析。必须分析几种主要的可能解法的利弊,从而判原定的系统目标和规模是否现实,系统完成后所能带来的效益是否大到值得去投资开发这个系统的程度。因此,可行性研究实质上是要进展依次大压缩简化了的系统分析和设计的过程,也就是在较高层次以较抽象的方式进展的系统分析和设计的过程。可行性研究主要从以下三个方面来进展2.1技术可行性使用现有的技术能不能实现这个系统。由于本管理系统的对象单一,仅对本单位的工资进展管理。在计算机硬件和软件快速开展的今天,计算机硬件和软件已经远远满足本管理系统的要求。在程序开发方面,各种可视化开发集成环境的出现,用户用鼠标就可以快速、简捷地创立应用程序,极提高了编程效率。JAVA程序设计跟Oracle数据库在社会上的广泛使用,技术根底也已经非常雄厚,因而技术上的准备应该不成问题。2.2经济可行性这个系统的经济效益能不能超过它的开发本钱。工资管理系统是基于JAVA及Oracle根底上开发的小型应用程序,不需要多少人力和物力就可以设计的。但本系统一旦投入使用,将大大减少工资管理人员的工作量,提高了工作效率,其经济效益是显儿易见的。2.3操作可行性系统的操作方式对用户能不能行得通。在进展需求分析时,就对用户进展了调查,针对他们的情况,设计出适合用户的人机界面,使操作方式简单明了3需求分析为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件,不管人们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。3.1系统流程图系统流程图是概括地描绘物理系统的传统工具。它的根本思想是用图形符号以黑盒子形式描绘组成系统的每个部件〔程序、文档、数据库、人工过程等〕。通过跟教师的交谈,教师详细讲解了该单位的工资操作流程。表3.1流程图符号说明报表、帐目处理数据流向存储绘制出的系统流程图如图3.1人员信息人员信息工资账目工资组成工资系统图3.1系统流程图人员信息跟工资组成信息输入到工资系统中,系统会自动生成工资账目。3.2数据流图数据流图〔DFD〕是一种图形化技术,它描述信息流和数据从输入移动到输出的过程中所经受的变换。设计数据流图时只需考虑系统必须完成的根本逻辑功能,完全不需要考虑怎样具体地实现这些功能。表3.2数据流图根本符号含义数据的源点/终点变换数据的处理数据存储数据流根据系统流程图,绘制出的数据流图如图3.2D1工资根本数据 1D3工资信息表D3工资信息表生成工资 D2工资变动数据 2 工资查询工资表统计报表图3.2工资系统管理的数据流图从数据流图中可以看出:工资是由两大局部组成的,即根本数据和变动数据。根本数据是工资组成中根本一成不变的,变动数据是工资组成中变化的数据。系统生成的工资保存在工资表中。对工资表进展有条件的查找可以得到相应的结果,结果可以导出到e*cel中。3.3数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据词典的作用是给数据流图上的每一个成分以定义和说明。除此之外,数据词典还要对系统分析中其它需要说明的问题进展定义和说明。本文的数据字典描述的主要容有:数据元素、数据构造、数据流、数据存储、处理逻辑。在系统分析的过程中,产生了大量的数据词典。限于篇幅,我采用表格式仅就这几项条目各举一例来说明。表3.3数据元素举例数据元素系统名:工资管理系统条目名:员工编号P_ID别名:员工号存储处:D1人员信息表D2工资模板表D3工资表数据元素:数据类型:长度:Char5简要说明:员工编号是员工的识别符,每个员工都有唯一的编号。表3.4数据构造举例数据构造系统名:工资管理系统条目名:工资模板T_Sal别名:salary构造:员工编号年月岗位资效益资加班夜班独子 房租月效资 保险技师补公积金医务补护10%护龄有关数据存储:D1工资模板表D2工资表有关数据流:简要说明:每月生成工资的组成数据表3.5数据流举例数据流系统名:工资管理系统条目名:部门列表别名:来源:部门表去处:打印报表数据流构造:库存数据={部门编号+部门名称}简要说明:对部门表中的已经创立的信息进展输出打印。表3.6数据存储举例数据存储系统名:工资管理系统条目名:部门表T_bumen别名:存储组织:单位每个部门的信息主关键字:部门编号记录组成:项名:部门编号部门名称长度:450简要说明:单位所有的部门信息都存储在这里3.4数据库概念构造数据库就是为了实现一定的目的按*种规则组织起来的“数据〞的“集合〞。它由一个称为数据库管理系统的软件进展管理。数据的存取方式独立于使用它的应用程序。数据库的主要特征:数据共享,数据具有最小冗余度,数据的完整性,数据的平安性,数据的独立性。数据库构造的设计是软件开发的首要条件,设计较好、全面的数据库构造,对于软件开发来说是成功的基石,数据库构造设计不全面,会严重影响软件的开发利用率与进程。这一设计是在需求分析的根底上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑构造设计打下根底。本系统根据上面的设计规划出的实体有:部门实体、员工实体、工资模板实体、工资表实体。实体的属性参看下文逻辑构造设计数据库。各个实体间的关系如图3.3部门职工部门职工工资模板工资表属于拥有属于图3.3实体间的关系图4总体设计总体设计是站在全局高度上,花较少本钱,从较抽象的层次上分析比照多种可能的系统实现方案和软件构造,从中选出最正确方案和最合理的软件构造,从而较低本钱开发出较高质量的软件系统。4.1功能模块图软件所实现的功能强弱是衡量一个软件的最根本的标准。经过对系统的可行性分析、需求分析、数据分析后,结合调研的情况,确定了本系统的功能模块如图4.1所示。工资管理系统工资管理系统部门名称职工根本数据每月填报当月数据存档当月报表当月汇总表使用手册部门月报关于软件月汇总表登录数据字典维护工资数据维护历史数据帮助当月报表图4.1系统功能模块构造图4.2功能模块描述登录此功能的作用:确保有权限的用户可以进入系统,保证系统的平安性。数据字典维护部门名称此功能模块的作用:添加部门,删除部门,查看部门列表。职工此功能模块的作用:添加职工,删除职工,查看职工列表。工资数据维护根本数据此功能模块的作用:工资数据中根本不变局部的展示、修改、保存。每月填报此功能模块的作用:工资数据中每月变动局部的展示、修改、保存。当月数据存档此功能模块的作用:计算生成工资。当月报表当月报表此功能模块的作用:查看当月*一部门所有职工的工资信息,统计发给该部门每种人民币的数,对工资查询结果的导出。当月汇总表此功能模块的作用:查看当月选中部门的工资统计信息,对统计信息的导出。历史数据部门月报此功能模块的作用:查看*年*月*一部门所有职工的工资信息并对结果的导出。月汇总表此功能模块的作用:查看*年*月选中部门的工资统计信息,对统计信息的导出。帮助使用手册此功能模块的作用:介绍系统,帮助用户熟悉系统的使用。关于软件此功能模块的作用:对系统开发的说明。4.3数据库逻辑构造根据需求分析可以得到以下关系模式:〔1〕部门信息表(部门编号,部门名称)〔2〕职工信息表〔职工编号,职工名称,职工所属部门名称〕。〔3〕工资模板表〔职工编号、年月,岗位资,效益资,加班,夜班,计生补,月效资,技师补,医务补,护10%,护龄,女工卫,房租,水电暖,公积金,保险〕。〔4〕工资表〔职工编号、年月,岗位资,效益资,加班金额,夜班金额,计生补,月效资,技师补,医务补,护10%,护龄,女工卫,房租,水电暖,公积金,保险,应发工资,厂扣金额,实发工资〕。依据上面的关系模式,设计数据库表如下:部门信息表〔bumen〕:该表来记录单位部门根本信息表4.1部门信息表列名数据类型宽度备注idNumber2主键,部门编号nameVarchar250部门名称员工信息表〔person〕:该表来记录员工根本信息。表4.2员工信息表列名数据类型宽度备注p_idChar5主键,员工编号nameVarchar24职工bm_nameVarchar250所属部门名称,参照工资模板表〔salary〕:该表用来记录工资各项信息表4.3工资模板表列名数据类型宽度备注p_idChar5主键,员工编号,参照person.p_idyearmonthChar7年月J1Number〔8,1〕岗位资J2Number〔8,1〕计生补J3Number〔8,1〕月效资J4Number〔8,1〕技师补J5Number〔8,1〕医务补J6Number〔8,1〕护10%J7Number〔8,1〕教护龄J8Number〔8,1〕女工卫J9Number〔8,1〕公积金B1Number〔4〕加班时间B2Number〔4〕夜班时间B3Number〔8,1〕水电暖B4Number〔8,1〕房租工资表〔history〕:该表用来记录每个月计算出来的工资信息表4.4工资表信息列名数据类型宽度备注p_idChar5主键,员工编号,参照person.p_idyearmonthChar4主键,年月J1Number〔8,1〕岗位资J2Number〔8,1〕计生补J3Number〔8,1〕月效资J4Number〔8,1〕技师补J5Number〔8,1〕医务补J6Number〔8,1〕护10%J7Number〔8,1〕教护龄J8Number〔8,1〕女工卫J9Number〔8,1〕公积金B1Number〔8,1〕加班金额B2Number〔8,1〕夜班金额B3Number〔8,1〕水电暖B4Number〔8,1〕房租orisalaryNumber〔8,1〕应发工资subsalaryNumber〔8,1〕扣除工资finalsalaryNumber〔8,1〕实发工资5详细设计应用程序是解决*个具体的管理或数据处理的任务而编制的一系列命令的有序集合。在本系统的后台数据库已经设计完成后,现在就可以对总体设计的功能模块通过编码设计成一个应用程序,最终来完成对数据库中数据的操作,给用户反应简单明了的数据格式。应用程序1应用程序1应用程序2应用程序3DBMS数据集合1数据集合2图5.1应用程序操作数据库图5.1登录界面的设计登录功能是为了保证系统的平安性。启动系统后首先进入登录界面。登录界面设计如图5.2所示,主界面设计如图5.3所示图5.2登录界面设计图5.3主界面设计登录按钮功能设计给登录按钮添加MouseListener监听,重写mouseClicked方法。mouseClicked方法的流程图如图5.4所示。开场开场完毕进入主界面读取user.t*t文件内容是否为空?给出结果提示填写账号密码与文件内容一致?保存填写的账号密码为空为空不空不空不一致不一致一致一致图5.4登录按钮功能设计流程图从流程图中可以看出,点击登录按钮后,首先读取user.t*t文本中保存的账号跟密码,如果文本中的容为空则说明没有记录的账号跟密码,则进展保存本次填写的账号跟密码后进入系统的主界面;如果文本中的容不为空,则将填写的账号跟密码与文本中的容进展比拟,如果二者都对应一致则进入系统的主界面,否则给出相应的错误提示。重置按钮功能设计给重置按钮添加MouseListener监听,重写mouseClicked方法。mouseClicked方法的流程图如图5.5所示。开场开场完毕去除填写内容,账号输入框获得输入焦点图5.5重置按钮功能设计流程图从流程图中可以看出,点击重置按钮后,首先清空填写的账号跟密码信息,然后账号输入框获得焦点,以便再次输入信息。取消按钮功能设计给取消按钮添加MouseListener监听,重写mouseClicked方法。mouseClicked方法的流程图如图5.6所示。开场开场完毕退出系统图5.6取消按钮功能设计流程图从流程图中可以看出,点击取消按钮后将退出此系统。5.2数据字典维护设计数据字典维护功能分两局部来实现,分别是部门名称管理和职工管理。5.2.1部门名称功能设计部门名称管理是用来对单位所有部门的简单信息进展管理维护。用户可以在主界面点击数据字典维护下的菜单项部门名称进入部门名称管理界面。图5.7部门名称界面设计刷新按钮功能设计给刷新按钮添加MouseListener监听,重写mouseClicked方法。mouseClicked方法的流程图如图5.8所示。开场开场完毕查找所有的部门信息构建表格数据重新设置表格模式图5.8刷新按钮设计流程图从流程图中可以看出,点击刷新按钮后,首先查找数据库中所有的部门信息,然后对结果信息进展封装成表格要求的数据格式,最后将信息加载到表格中。添加按钮功能设计给添加按钮添加MouseListener监听,重写mouseClicked方法。mouseClicked方法的流程图如图5.9所示。开场开场完毕获取输入框中的部门名称添加部门添加结果的提示图5.9添加按钮设计流程图从流程图中可以看出,点击添加按钮后,首先获取输入的部门名称,然后进展保存输入信息,最后根据保存返回的信息给出不同的保存结果提示。删除按钮功能设计给删除按钮添加MouseListener监听,重写mouseClicked方法。mouseClicked方法的流程图如图5.10所示。开场开场完毕获取输入框中的部门名称删除部门删除结果的提示图5.10删除按钮设计流程图从流程图中可以看出,点击删除按钮后,首先获取输入的部门名称,然后删除信息对应的部门,最后根据删除返回的信息给出不同的删除结果提示。职工功能设计职工管理功能是用来对单位员工的信息进展管理。用户可以在主界面点击数据字典维护下的菜单项职工进入职工管理界面。图5.11职工界面设计部门下拉选择按钮功能设计给部门下拉选择按钮添加MouseListener监听,重写mouseClicked方法。mouseClicked方法的流程图如图5.12所示。开场开场完毕获取选择的部门名称,查找该部门内所有职工信息构建表格数据重新设置表格模式图5.12部门下拉选择按钮的设计流程图从流程图中可以看出,选择部门名称后,首先查找数据库中该部门所有职工的信息,然后对结果信息封装成表格需要的数据格式,最后将信息加载到表格中。刷新按钮功能设计给刷新按钮添加MouseListener监听,重写mouseClicked方法。mouseClicked方法的流程图如图5.13所示。开场开场完毕查找所有的职工信息构建表格数据重新设置表格模式图5.13刷新按钮设计流程图从流程图中可以看出,点击刷新按钮后,首先查找数据库中所有的部门信息,然后对结果信息进展封装成表格要求的数据格式,最后将信息加载到表格中。添加按钮功能设计给添加按钮添加MouseListener监听,重写mouseClicked方法。mouseClicked方法的流程图如图5.14所示。开场开场完毕获取输入的职工**和选择的部门名称添加职工添加结果的提示图5.14添加按钮设计流程图从流程图中可以看出,点击添加按钮后,首先获取输入的职工和选择的部门名称,然后进展保存输入信息,最后根据保存返回的信息给出不同的保存结果提示。删除按钮功能设计给删除按钮添加MouseListener监听,重写mouseClicked方法。mouseClicked方开场完毕开场完毕获取输入的职工**和选择的部门名称删除职工删除结果的提示图5.15删除按钮设计流程图从流程图中可以看出,点击删除按钮后,首先获取输入的职工和选择的部门名称,然后删除信息对应的职工,最后根据删除返回的信息给出不同的删除结果提示。5.3工资数据维护功能设计工资数据维护功能分三局部来实现,分别是根本数据管理,每月填报管理,当月数据存档管理。5.3.1根本数据功能设计根本数据管理功能是用来保存用户输入的工资中根本不变的数据。用户可以在主界面点击工资数据维护下的菜单项根本数据进入根本数据管理界面。图5.16根本数据界面设计部门下拉选择按钮功能设计给部门下拉选择按钮添加MouseListener监听,重写mouseClicked方法。mouseClicked方法的流程图如图5.17所示。开场开场完毕查找选定部门职工的根本数据信息构建表格数据重新设置表格模式图5.17部门下拉选择按钮设计流程图从流程图中可以看出,选择部门后,首先查找数据库中该部门所有职工的根本数据信息,然后对结果信息封装成表格需要的数据格式,最后将信息显示在表格中。保存按钮功能设计给保存按钮添加MouseListener监听,重写mouseClicked方法。mouseClicked方法的流程图如图5.18所示。开场开场完毕构建保存数据对象保存数据检测输入数据合法性保存结果提示输入位置不合法提示不合法不合法合法合法图5.18保存按钮设计流程图从流程图中可以看出,点击保存按钮后,首先检查输入数据的合法性,如果不合法则给出不合法数据的位置提示框,如果合法则进展保存数据,根据保存返回的信息给出相应的保存结果信息。5.3.2每月填报功能设计每月填报管理功能是用来保存用户输入的工资中变化的数据。用户可以在主界面点击工资数据维护下的菜单项每月填报进入每月填报管理界面。图5.19每月填报界面设计此功能跟根本数据功能类似,请参照根本数据功能的实现。5.3.3当月数据存档功能设计当月数据存档管理功能是用来根据用户输入的工资组成数据,依照规定的计算方法来计算工资。用户可以在主界面点击工资数据维护下的菜单项当月数据存档进入当月数据存档管理界面。图5.20当月数据存档对话框界面设计存档按钮功能设计给存档按钮添加MouseListener监听,重写mouseClicked方法。mouseClicked方法的流程图如图5.21所示。开场开场完毕计算工资计算结果提示图5.21存档按钮设计流程图从流程图中可以看出,点击存档按钮后进展工资的计算,根据计算返回的结果给出相应的提示信息。取消按钮功能设计给取消按钮添加MouseListener监听,重写mouseClicked方法。mouseClicked方法的流程图如图5.22所示。开场开场完毕释放当前对话框图5.22取消按钮设计流程图从流程图中可以看出,点击取消按钮则需要释放当前的对话框。5.4当月报表功能设计当月报表功能分两局部来实现,分别是当月部门报表管理和当月汇总表管理。5.4.1当月部门报表功能设计当月部门报表管理功能是用来查找一个部门所有职工工资的信息,并可以根据选择导出工资表或者工资条的样式。该功能模块还能统计发个*个部门每种人民币的总数。用户可以在主界面点击当月报表的菜单项当月报表进入当月报表管理界面。图5.23当月报表界面设计刷新按钮功能设计给刷新按钮添加MouseListener监听,重写mouseClicked方法。mouseClicked方法的流程图如图5.24所示。开场开场完毕获取选定的部门名称和显示方式查找选定部门所有职工在当月的工资信息以显示方式构建表格数据,同时计算*数重新设置表格模式重新设置*数统计结果图5.24刷新按钮设计流程图从流程图中可以看出,点击刷新按钮后,获取选定的部门名称后查找该部门所有职工工资信息,根据显示方式将工资信息封装成表格数据同时计算每种人民币的数,最后将结果更新到表格中和标签中。导出按钮功能设计给导出按钮添加MouseListener监听,重写mouseClicked方法。mouseClicked方法的流程图如图5.25所示。开场开场获取表格中的数据完毕构建导出文件的文件名,表格标题,表格表头导出文件到桌面并翻开数据为空?导出数据为空提示为空为空不空不空图5.25导出按钮设计流程图从流程图中可以看出,点击导出按钮后,首先获取表格中显示的数据,如果数据为空则给出没有导出数据的提示,如果数据不为空则开场构建导出文件的文件名、表格标题及表格表头,最后将数据写入到文件中并翻开文件。5.4.2当月汇总功能设计当月汇总管理功能是查看用户选择的部门的工资汇总信息,并可以导出汇总信息。用户可以在主界面点击当月汇总的菜单项当月汇总表进入当月汇总管理界面。图5.26当月汇总表界面设计刷新按钮功能设计给刷新按钮添加MouseListener监听,重写mouseClicked方法。mouseClicked方法的流程图如图5.27所示。开场开场完毕获取选定的部门名称列表查找选定部门列表中部门的工资汇总信息构建表格数据重新设置表格模式图5.27刷新按钮设计流程图从流程图中可以看出,点击刷新按钮,首先获取选定的部门列表信息,然后查找部门列表中每个部门的工资汇总信息,将查找出的汇总信息封装成表格数据,最后将数据显示在表格中。全选按钮功能设计给全选按钮添加ActionListener监听,重写actionPerfered方法。actionPerfered方法的流程图如图5.28所示。开场开场完毕将所有部门复选框设置为选中状态图5.28全选按钮设计流程图从流程图中可以看出,点击全选按钮后是要将所有的部门复选框状态设置为选中。全不选按钮功能设计给全不选按钮添加ActionListener监听,重写actionPerfered方法。actionPerfered开场完毕开场完毕将所有部门复选框设置为不选中状态图5.29全不选按钮设计流程图从流程图中可以看出,点击全不选按钮后是要将所有的部门复选框状态设置为不选中。反选按钮功能设计给反选按钮添加ActionListener监听,重写actionPerfered方法。actionPerfered方法的流程图如图5.30所示。开场开场完毕将所有部门复选框的状态取反图5.30反选按钮设计流程图从流程图中可以看出,点击反选按钮后是要将所有的部门复选框状态设置为相反的状态。导出按钮功能设计导出按钮的设计同5.4.1中导出按钮的设计,请参照5.4.1中导出按钮的设计。5.5历史数据功能设计历史数据功能分两局部来实现,分别是部门月报管理和月汇总表管理。5.5.1部门月报功能设计部门月报管理功能是查看过去*个月*个部门所有职工的工资信息,并可以根据导出汇总信息。用户可以在主界面点击历史数据的菜单项部门月报进入部门月报管理界面。图5.31部门月报界面设计刷新按钮设计给刷新按钮添加MouseListener监听,重写mouseClicked方法。mouseClicked方法的流程图如图5.32所示。开场开场完毕获取选定的部门名称和年月查找选定部门所有职工在选定年月的工资构建表格数据重新设置表格模式图5.32刷新按钮设计流程图从流程图中可以看出,点击刷新按钮后,获取选定的部门名称和年月后查找该部门所有职工在选定年月的工资信息,然后将工资信息封装成表格数据,进而将结果更新到表格中。导出按钮设计导出按钮的设计同5.4.1中导出按钮的设计,请参照5.4.1中导出按钮的设计。5.5.2月汇总功能设计月汇总管理功能是查看用户选择的部门在选定时间的工资汇总信息,并可以导出汇总信息。用户可以在主界面点击历史数据菜单项月汇总表进入月汇总管理界面。图5.33月汇总界面设计这个功能的设计与5.4.2当月汇总功能设计一样。当月汇总功能设计传递的时间是当时所处的年月,月汇总功能设计传递的时间是选定的年月。因此可参考5.4.1当月汇总功能设计。5.6帮助功能设计帮助功能分两局部来实现,分别是使用手册和关于软件说明。5.6.1使用手册功能的设计使用手册功能主要是翻开事先编辑好使用手册说明文档,以方便用户有疑问时随时可以参阅。 此功能的设计就是翻开安装目录下的manual.doc文件。5.6.2关于软件功能的设计关于软件功能主要是查看本系统的版本,开发者信息等。图5.34关于软件界面设计此功能的设计就是弹出对话框来显示信息。6系统实现根据任务书的要求,系统采用Java语言来编码,采用Oracle数据库来存储数据。系统的包架构如图6.1所示。图6.1工资管理系统包架构图中beans包下是系统中实体类文件,dao包下是操作数据库的接口文件,impl包下是操作数据库接口的实现类文件,image包下是系统中图片文件,ui包下是系统的界面设计类文件,util包下是系统中常用的工具类文件,perties文件时数据的配置文件。6.1实体类包的实现实体类包中的类对象是对数据库表的映射。包中有三个实体类:部门实体类BuMen、职工实体类ZhiGong、工资实体类Salary和工资结果模型SalaryResultModel。类对象中存放的都是类的属性和属性的get,set方法。6.2接口包的实现接口包中接口对象是对数据库表中数据操作方法的封装。包中有三个接口:部门接口BuMenDao、职工接口ZhiGongDao、工资接口SalaryDao。BuMenDao的实现BuMenDao接口中有5个方法:List<BuMen>getAllBumen:获取所有的部门信息BuMengetBumenById(intid):根据部门编号查找部门信息BuMengetBumenByName(Stringname):根据部门名称查找部门信息intdeleteBuMen(Stringname):除部门信息intaddBuMen(Stringname):添加部门信息ZhiGongDao的实现ZhiGongDao接口有4个方法:List<ZhiGong>getAllPerson():获取所有的职工信息List<ZhiGong>getPersonByBm(Stringbm_mc):获取部门所有职工信息intdeletePerson(Stringperson_name,Stringbm_name):删除职工信息intaddPerson(Stringperson_name,Stringbm_name):添加职工信息SalaryDao的实现SalaryDao接口有7个方法:List<Salary>getsyBumen(Stringbm_name):获取部门职工工资的根本数据List<Salary>getMytbByBumen(Stringbm_name):获取部门职工工资的每月填报数据 intsavesyBumen(List<Salary>list):保存根本数据 intsaveMytbByBumen(List<Salary>list):保存每月填报数据 intputerAndSaveSalary():计算保存工资 List<SalaryResultModel>findSalary(Stringyearmonth,String[]bumens,FindTypetype):查找工资 SalarygetSalarySum(Stringyearmonth,String[]bumens):查找工资汇总6.3接口实现类包的实现接口实现类包中的类文件是对接口包中接口对象的实现。接口实现类包中对应的也有三个类对象:部门接口实现类BuMenDaoImpl、职工接口实现类ZhiGongDaoImpl、工资接口实现类SalaryDaoImpl。 这几个实现类都是对数据库数据的操作。它们中方法的实现原理是一样的。首先在类的构造方法中实例化数据库连接对象Connection,然后根据需要编写正确的SQL语句,用Connection对象创立PreparedStatement对象,用PreparedStatement对象填充SQL语句的参数后执行,最后用ResultSet对象来承受SQL语句执行的查找结果或者Boolean对象来承受SQL语句执行的其他结果,对承受对象进展逻辑处理后返回需要的信息。6.4界面设计包的实现 界面的设计采用Myeclipse集成的开发工具进展拖拽式的布局。使用到的主要对象有窗口对象JFrame,对话框对象JDialog,面板对象JPanel,菜单栏对象JMenuBar,菜单对象JMenu,菜单项对象JMenuItem,单行输入框对象JTe*tField,多行输入框对象JTe*tArea,密码输入框对象JPasswordField,标签对象JLabel,按钮对象utton,表格对象JTabel,滚动面板对象JScollPane。6.5工具包的实现工具包下是系统经常需要用到的类对象。包中有四个工具对象:MD5数据加密工具CheckByMD5、数据库连接工具ConnDB、获取当前年月工具GetYearMonth、导出e*cel文件工具OutToE*cel。CheckByMD5的实现类中的getMD5(byte[]source)方法实现对字符数组的MD5加密。利用java提供的MessageDigest类对字符数组进展MD5处理后得到16字节的字符数组,然后将16字节的字符翻译成用十六进制表示的字符串。ConnDB的实现类中的getConn()方法获取数据库连接对象。使用Properties对象来加载数据库配置文件perties,根据配置文件的数据实例化Connection对象。GetYearMonth的实现类中的getYearmonth()方法获取当前时间的年月字符串。使用Date对象获取当前时间的年份和月份,最后对获得年份和月份进展拼接返回年月字符串。OutToE*的实现类中的toE*cel(StringfileName,StringtbCap,Object[]tbHead,Object[][]tbData)方法实现导出e*cel文件。使用FileSystemView来获取桌面路径,然后根据fileName在桌面创立File对象。使用WritableWorkbook创立e*cel文件对象,使用WritableSheet创立e*cel文件工作簿对象,使用WritableCellFormat设置单元格格式,使用Label来填充单元格数据。7系统测试软件质量是由几个方面来衡量的:一、在正确的时间用正确的的方法把一个工作做正确。二、符合一些应用标准的要求,比方不同国家的用户不同的操作习惯和要求,工程工程中的可维护性、可测试性等要求。三、质量本身就是软件到达了最开场所设定的要求,而代码的优美或精巧的技巧并不代表软件的高质量。四、质量也代表着它符合客户的需要。作为软件测试这个行业,最重要的一件事就是从客户的需求出发,从客户的角度去看产品,客户会怎么去使用这个产品,使用过程中会遇到什么样的问题。软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情,另一方面是确认软件以正确的方式来做了这个事件。第二是提供信息,比方提供应开发人员或程序经理的反应信息,为风险评估所准备的信息。第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的。就测试而言,它的目标是发现软件中的错误,但是,发现错误并不是最终目的。软件工程的根本目标是开发出高质量的完全符合用户需要的软件,因此,通过测试发现错误之后还必须诊断并改正错误,这就是调试的目的。调试是测试阶段最困难的工作。7.1测试方案为了保证工资管理系统的各项功能可靠的实现,特编写了此测试方案,对所开发软件的各功能模块和事例系统进展测试。本测试方案供程序员在程序测试阶段参考,在系统测试阶段提供测试依据。本测试方案主要用于发现系统开发过程中出现和各种不妥判之处,发现软件设计中的错误。7.1.1测试方案单元测试:采用白盒法和黑盒法相结合的方法,对于逻辑构造复杂的模块采用白盒法,对于以输入、输出为主的模块采用黑盒法测试,以提高测试的效率。集成测试:自底向上的增式测试。7.1.2测试工程系统环境模块测试本测试是为了检测系统环境模块,java环境的配置正确与否,数据连接是否正确。登录测试本测试是为了检测用户,密码的合法性,保证系统的平安。数据字典模块测试本测试是为了检测系统的部门信息,人员信息是否能够正常维护。工资数据维护测试本测试是为了检测工资数据的合法性,计算的正确性、可靠性。工资统计测试本测试是为了检测工资的统计的准确性。统计结果导出测试本测试是为了验证统计结果信息导出的成功与否。7.2测试记录针对上述的不同测试工程,对系统进展了测试。以下是测试记录。表7.1系统环境测试记录工程名称工资管理系统软件版本号1.0测试方法黑盒测试测试模块系统环境搭建序号测试用例期望结果实测结果备注测试方案1在cmd控制台输入java-version输出java的版本信息输出java的版本信息Java环境配置正确2在配置文件写好连接数据库需要的参数输出数据库已连接输出数据库已连接数据库连接正常表7.2登录测试记录工程名称工资管理系统软件版本号1.0测试方法黑盒测试测试模块登录序号测试用例期望结果实测结果备注测试方案1只输入不同用户名用户名检测结果对号/用户名不正确用户名检测正常2只输入不同密码密码检测结果密码不正确密码检测正常3用户名或者密码有一个不正确二者的检测结果二者的检测结果检测正常4正确的用户名和密码进入主界面进入主界面登录成功表7.3数据字典维护测试记录工程名称工资管理系统软件版本号1.0测试方法白盒测试测试模块数据字典的维护序号测试用例期望结果实测结果备注测试方案1部门名称界面点击刷新按钮所有部门信息所有部门信息部门信息列表正确2部门名称界面输入框中输入新部门名称,点击添加按钮部门参加成功提示框弹出系统添加成功的提示框部门添加成功3部门名称界面输入框中输入已有部门名称,点击添加按钮给出重复添加的提示框弹出系统已有该部门信息的提示框部门添加验证成功4部门名称界面输入框中输入已有的部门名称,点击删除按钮给出删除结果信息弹出该部门还有人员,请您更新人员信息的提示框部门删除符合逻辑5部门名称界面输入框中输入没有的部门名称,点击删除按钮给出删除错误信息弹出系统没有该部门的提示框部门删除符合逻辑6部门名称界面输入框中输入刚添加的部门名称,点击删除按钮给出删除结果信息弹出系统删除成功的提示框部门删除成功7职工界面选中一个部门输入框中输入新职工名称,点击添加按钮职工参加成功提示框弹出系统添加成功的提示框职工添加成功续表7.3数据字典维护测试记录序号测试用例期望结果实测结果备注测试方案8职工界面选中一个部门输入框中输入已有职工名称,点击添加按钮给出重复添加的提示框弹出系统已有该部门信息的提示框职工添加验证成功9职工界面选中一个部门输入框中输入已有职工名称,点击删除按钮给出删除结果信息删除成功职工删除成功10职工界面选中一个部门输入框中输入新职工名称,点击删除按钮给出删除错误信息弹出系统没有该职工的提示框职工删除符合逻辑表7.4工资数据维护测试记录工程名称工资管理系统软件版本号1.0测试方法黑盒测试测试模块工资数据维护序号测试用例期望结果实测结果备注测试方案1在根本数据,每月填报界面中的表格中输入中文,英文字母,标点符号错误提示第3行第4列数据格式不正确提示数据校验正常2只保存一局部人的数据数据不完整提示工资数据不完整提示工资校验正常3保存全部人的数据保存成功弹出保存成功提示框计算成功表7.5工资统计信息的测试记录工程名称工资管理系统软件版本号1.0测试方法黑盒测试测试模块工资统计序号测试用例期望结果实测结果备注测试方案1当月报表界面中部门下拉列表选择一个部门,选择工资表单项选择按钮,点击刷新按钮该部门工资以工资表显示格式显示该部门工
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学院社团聘任合同范本
- 工程价款变更合同范本
- 彩钢外贸采购合同范本
- 户外救援协议签订合同
- 工程造价购销合同范本
- 小型土地开发合同范本
- 新人教版《分数的初步认识》知识点及练习题电子教案(2025-2026学年)
- 高中语文人教版必修第二单元说木叶共页教案(2025-2026学年)
- 小学语文六年级教案资料假如我是七色花(2025-2026学年)
- 部编统编五下语文古诗三首课时练公开课教案(2025-2026学年)
- 2025年工会主席述职报告模版(六)
- 2025四川成都轨道交通集团有限公司校招9人笔试历年备考题库附带答案详解试卷2套
- 药品生产培训课件
- 贵州省县中新学校计划项目2024-2025学年高一上学期期中联考地理试题(解析版)
- 【2025年】天翼云解决方案架构师认证考试笔试卷库下(多选、判断题)含答案
- 保护患者隐私培训课件
- 收费站廉政培训课件
- 私募基金设立流程与风险控制报告
- 《走上黄土高坡》课件
- AI工具在小学信息科技学科教学中的应用
- 工艺部年度计划及目标
评论
0/150
提交评论