工资管理系统的设计与实现-毕业论文终极版.doc_第1页
工资管理系统的设计与实现-毕业论文终极版.doc_第2页
工资管理系统的设计与实现-毕业论文终极版.doc_第3页
工资管理系统的设计与实现-毕业论文终极版.doc_第4页
工资管理系统的设计与实现-毕业论文终极版.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

包头师范学院本科毕业论文 包头师范学院本科毕业论文题 目:工资管理系统的设计与实现 学 号:0914490034 学生姓名:冯小涛 学 院:信息科学与技术学院专 业:计算机科学与技术 班 级:09本 指导教师:马占飞 二 一 三 年 五 月 摘 要本论文目的在于建立科学的计算机工资管理系统,提高工资管理的时效性,改进员工服务模式,同时实现资源共享、低成本、无纸化办公的工作模式。本系统结合实际需要,使用My Eclipse6.0作为主要开发工具,后台编程语言JAVA来实现功能,同时也使用了ORACLE数据库实现数据的保存功能。本系统将整个管理功能分为三大模块,分别为基本信息模块、工资管理模块和系统查询与提示模块,并完成了对现代工资管理的需求分析和可行性分析、逻辑设计、数据库设计以及前后台各功能模块的设计与开发。同时系统还包括员工、部门、工资等数据库文件,设有人员管理、考勤管理、工资管理等功能,通过与数据库的链接和控制,完成了相关数据的存储和转换,使整个系统功能完备,更能满足业务需求。关键词:工资管理;ORACLE; JAVAAbstractThis system focuses on a current wage practical business management system, builds a centralized information database, then improve the timeliness and employee service mode, encourage resource-sharing, lower costs and paper-less office. After the actual needs analysis, using My Eclipse6.0 and Java as powerful development tools, ORACLE as a database system developed.There are three modules accomplished: basic information module, salary management module and query statistics module. This thesis has introduced some of the network analysis of this wage management system, including demand analysis, feasible analysis, logic design, database design and function management development. At the same time, the paper includes data files of employees, department and salary, which make this project be a fully functioning system and meet the business needs. Key words:wage management; ORACLE;JAVA目 录1 引言12 需求分析和可行性研究32.1 功能概述32.2 用户需求说明42.3 功能需求分析42.4 技术分析42.5系统流程52.5.1 用户流程52.5.2 管理员流程63 概要设计73.1 功能分析73.2 数据库设计73.2.1 表内部的约束条件93.2.2 表关系的实现93.2.3 触发器设置103.3 逻辑设计114 详细设计124.1主窗体设计124.1.1界面设计124.1.2 界面流程134.2 信息管理模块134.2.1界面设计144.2.2实现方法144.2.3界面流程164.3 工资管理模块174.3.1界面设计174.3.2实现方法174.3.3界面流程184.4系统查询模块204.4.1界面设计204.4.2实现方法214.4.3 界面流程215 测试与优化245.1系统功能测试245.1.1测试目的245.1.2测试范围245.1.3测试设计和分析245.2系统优化26结 论28参考文献29致 谢305包头师范学院本科毕业论文1 引言随着我国科技实力的日益提高和与世界接轨步伐的加快,各行各业对科技的需求越来越多,而高科技技术也日新月异。在信息时代,高效能低成本的信息化工资管理更能够从全面的角度出发,利用Internet/Intranet(互联网/局域网)和数据库技术为工资设计和管理搭建一个标准化、规范化、信息化得工作平台,在满足多方面需求的基础上,在管理生态链上建立不同的角色,使其成为全员共同参与管理的纽带,同时也促进了员工服务新模式的变革。有关统计数字显示,美国部分企业试验实施信息化管理系统,平均每一位员工的投入成本大约为35美元,但是仅仅用了一年的时间就收到了可观的回报,只员工的电话询问一项就减少了75%,世界著名的电脑公司戴尔在2000年上半年通过互联网处理信息,节省了将近300万美元的管理操作费用,思科公司通过信息化管理系统一年节省了2400万美元。可见,在科技高速发展的今天,信息化的工资管理系统的出现与应用有着巨大的意义。基于计算机技术的工资管理更倾向于流程化和自动化,降低了管理成本,减少了人力工作的操作成本和需要大量纸张的工作,从而实现了企业的无纸化办公,搭建了开放式的信息平台。显而易见,工资管理不仅是人力资源管理的重要组成部分,还为企业的人力资源成本的计算提供了必须的数据理论依据。同时,计算机化的工资管理系统也是信息化人力资源管理(e-HR)的重要手段,对实现人力资源战略地位的提升做出了非凡的贡献。信息化工资管理系统是建立在高速度、大容量的计算机网络硬件和软件上的,通过集中式的信息数据库自动处理信息,最后提供员工自助服务(ESS)、外部协助以及服务共享,达到降低成本、提高效率、改进员工服务模式的目的。主要研究内容和研究方法(1) 应用软件工程设计思想管理开发过程。包括对软件的研发、需求分析、可行性分析、概念结构设计、功能设计、详细设计、编码、实施等各阶段进行严格的控制,保证工程具有高度的计划性和开发系统的质量。(2) 工资管理的数据库设计。灵活应用关系数据库的设计理论,实现对数据库中表结构的灵活控制。(3) 使用MyEclipse6.0编写应用程序。MyEclipse6.0是IBM开发的IDE集成开发环境(Integrated Development Environment)。MyEclipse是一个开放源代码的、基于Java的可扩展的开发平台。就MyEclipse本身而言,它只不过是一个框架和一组服务的集合,用于通过插件组件构建的开发环境可以看成是可扩展的体系结构,能够集成不同软件开发供应商开发出来的产品,将开发的工具和组件一起加入到My Eclipse平台中。(4) 系统层概述l 本系统主要分为三个层:Browser层、Web层和DB层。l Browser层主要用于在浏览器显示用户界面,也称表示层。l Web层则用来运行Servlet,负责业务逻辑,也可以称为业务逻辑层。DB层是指后端数据库,向Java程序提供数据访问接口,负责持久化程序和数据持久层(数据持久层介于业务逻辑层和数据库之间,是用于存储数据的一个模块)。课题主要研究思路图1-1研究思路2 需求分析和可行性研究2.1 功能概述本系统采用Java作为开发语言,Oracle数据库作为数据库开发工具。客户端应用程序用SQL结构化查询语句向服务端发送请求,服务端接收请求后进行相关数据处理,再把处理结果返回客户端应用程序。系统包括员工档案、出勤信息、工资汇总、扣款系统等数据库文件,并设有员工档案管理、个人工资明细查询,部门工资明细查询,全体员工工资汇总等功能,同时在计算员工实发工资时,在后台针对其病假事假加班情况作出相应计算,使本系统显得智能化合理化。通过对数据库的控制和管理,可实现查询、插入、更新、删除及显示等功能。本系统可以在前台操作和后台管理:前台操作主要针对于员工级别的用户,即普通用户,只能简单的对本系统进行查询和打印等操作;后台管理主要针对于管理员级别用户,方便其插入和更新员工的档案及工资信息。本系统的主要功能如下:l 信息管理模块(1) 输入与保存员工个人信息,例如工号、职位等所必须的数据(2) 管理部门与工资基本插入、修改、删除等操作(3) 记录工资设计标准和说明,便于查询l 工资管理模块(1) 根据事假、病假等非正常出勤情况计算出奖罚的款项(2) 对扣款系数进行修正与更新(3) 计算个人实发工资,部门工资与全体工资汇总等信息l 系统查询模块(1) 查询工资设计与发放标准(2) 查询个人信息,部门员工信息(3) 查询并打印个人工资明细,部门工资单与总工资额汇总。2.2 用户需求说明本系统可以在前台操作和后台管理:前台操作主要针对于员工级别的用户,即普通用户,只能简单的对本系统进行查询和打印等操作;后台管理主要针对于管理员级别用户,方便其插入和更新员工的档案信息及工资信息。2.3 功能需求分析本系统为工资管理系统,该系统的具体任务就是设计一个企业工资的数据库管理系统,由计算机代替人工执行一系列复杂繁琐的工作,诸如增加员工档案信息,添加和删除员工档案信息,工资设置,更新,查询,统计的操作。这样就使财务人员可以高效快捷的完成工资管理任务。本系统应该具备以下功能:初始化管理员及员工档案信息,初始化工资数据,档案管理,工资基本管理,考勤管理,工资计算,使用帮助;l 账户管理:系统注册、用户管理、更改用户名和密码、登录系统、退出系统l 数据初始化:初始化管理员及员工档案,在数据库插入和计算l 基础工资数据:可以在程序中或数据库同时录入员工工资数据l 档案管理:对员工档案进行插入,更新,查询,删除等操作l 工资基本管理:对工资数据进行插入,更新,查询,删除等操作l 考勤管理:对员工的出勤,病假,事假,加班情况进行统计l 工资计算:打印输出工资计算表,个人工资单,部门工资单,工资汇总表l 使用帮助:对绩效考核系数设定和提供工资设计标准的基本信息 2.4 技术分析本系统设计为Client/Server结构的应用程序,采用JDBC数据库访问接口。开发平台和工具如下:(1) JDK1.6中文版:JDK是Java开发工具箱(Java Development Kit),其中含有丰富的包文件,这些包里的有些类是可重用的,使开发基于web的应用更容易维护和扩展。(2) My Eclipse6.0;(3) Windows XP Professional Service Pack 3;(4) Oracle 10g:是世界范围内性能最优异的数据库系统之一,Oracle 10g由Oracle公司于2003年推出,其中的g代表网格。该数据库支持分布式数据结构,是一个客户/服务器模式结构。2.5系统流程系统流程是指用户和管理员在浏览和管理本系统时实现的功能和大致操作流程,将分别从用户角度和管理员角度进行介绍。2.5.1 用户流程用户流程图集用户的功能实现和操作流程于一图,如图2-1所示:打开系统查看个人信息查看工资单打印工资单登录注销图2-1 用户流程图2.5.2 管理员流程工资管理系统工资管理模块信息管理模块系统查询模块录入员工信息修改员工信息删除员工信息录入工资设计标准更新工资设计标准查询工资汇总查询部门工资查询个人工资明细查询个人信息查询工资设计标准计算工资汇总计算部门工资计算出勤工资计算个人实发工资图2-2 管理员流程图3 概要设计3.1 功能分析本系统可以在前台操作和后台管理:前台操作主要针对于员工级别的用户,即普通用户,只能简单的对本系统进行查询和打印等操作;后台管理主要针对于管理员级别用户,方便其插入和更新员工的档案信息及工资信息。图3-1为系统功能的组成结构图。工资管理系统工资管理模块信息管理模块系统查询模块录入员工信息修改员工信息删除员工信息录入工资设计标准更新工资设计标准查询工资汇总查询部门工资查询个人工资明细查询个人信息查询工资设计标准计算工资汇总计算部门工资计算出勤工资计算个人实发工资图3-1 系统功能结构图3.2 数据库设计数据库(Databases,DB)是指长期保存在计算机的存储设备上,按照某种模型组织起来的,可以被不同的用户应用以及进行共享的数据的集合。数据库管理系统(Database Management Systems,简称DBMS)是指提供各种数据管理服务的计算机软件系统,这种服务包括:数据对象的定义、访问与更新、安全保护、数据库的运行管理以及建立和维护、数据存储和备份。本系统的数据库由下述四张数据表组成:(1) 员工档案表staff_record,用来存储员工的基本信息。 表3.1 员工档案表staff_record列名数据类型大小是否为空描述说明idInt4Not null工号nameVarchar12Not null姓名sexVarchar4Not null性别nationVarchar12Not null民族degreeVarchar12Not null学历departmentVarchar12Not null所属部门gradeVarchar12Not null职务等级workVarchar12Not null参加工作时间(2) 员工工资表staff sub,用来存储员工的工资信息。 表3.2 员工工资表staff sub列名数据类型大小是否为空描述说明idInt4Not null工号basic subdecimal9Not null基本工资good subdecimal9Not null物价补贴house subdecimal9Not null住房补贴(3) 员工出勤情况统计表staff_days,用来存储员工的考勤信息。表3.3 员工出勤情况统计表staff_days列名数据类型大小是否为空描述说明idInt4Not null工号attend daysInt4Not null出勤天数sick daysInt4Not null病假天数absent daysInt4Not null旷工天数casual daysInt4Not null事假天数extra daysInt4Not null加班天数(4) 管理员表admin,用来存储管理员信息。 表3.4 管理员表admin列名数据类型大小是否为空描述说明namevarchar40Not null姓名passwordpassword40Not null密码realnamevarchar40Not null真实姓名gradeint4Not null等级3.2.1 表内部的约束条件本系统添加了员工性别和与部门相关的CHECK约束条件,如下所示:alter table staff _recordadd constraint c2 check(sex in(男,女);alter table staff _recordadd constraint c3 check(department in(管理部,财务部,销售部,市场部,人事部);3.2.2 表关系的实现本系统中三个主表,即员工档案表staff record、员工工资表staff sub和员工出勤情况统计表staff days。表关系如图所示:staff recordid工号name姓名sex性别nation民族degree学历department所属部门grade职务等级workdate参加工作时间staff subid工号basic_sub基本工资good_sub物价补贴house_sub住房补贴staff daysid工号attend days出勤天数sick days病假天数absent days旷工天数casual days事假天数extra days加班天数图3-3 表关系的实现3.2.3 触发器设置本系统定义了触发事件为UPDATE、INSERT和DELETE的触发器,用于实现员工档案表、员工工资表和员工出勤情况统计表之间的级联更新、删除等操作。当这三个表中执行插入、修改和删除操作时,都会触发该触发器。通过定义触发器,实现主从表的级联操作,从而保证了数据库的参照完整性。(1) 更新级联触发器定义语句如下:create or replace trigger update staff_ recordbefore update on staff recordfor each rowbeginupdate indi_sal set name=:,department=:new. department where id=:old.id;end;(2) 插入级联触发器定义语句如下:create or replace trigger insert_staff_subbefore insert on staff sub for each rowbeginupdate indi_sal set basic sub=:new.basic_sub,good sub=:new.good_sub,house sub=:new.house_sub where id=:new.id;end;(3) 删除级联触发器定义语句如下:create or replace trigger delete_staff_subbefore delete on staff_subfor each rowbeginupdate indi_sal setbasic sub=null,good sub=null,house sub=nullwhere id=:old.id;end;3.3 逻辑设计l 基本表设计Oracle数据库系统所支持的数据模型,也就是数据库的逻辑结构。基本表如下:员工(工号,姓名,性别,民族,学历,部门,职务等级,参加工作日期)3NF工资(工号,基本工资,物价补贴,住房补贴)3NF考勤(工号,出勤天数,病假天数,事假天数,旷工天数,加班天数)3NF管理员(姓名,密码,真实姓名,等级)l 数据模型转换根据E-R图和相关要求,进行数据模型转换,建立了六个表和视图:员工档案表,员工工资表,员工考勤表,个人工资计算表,工资汇总表,管理员表。将E-R图转换成关系模型,关系的主码用横线标识:(1) 员工档案表(工号,姓名,性别,民族,学历,部门,职务等级,参加工作时 间)(2) 员工工资表(工号,基本工资,物价补贴,住房补贴)(3) 员工出勤统计表(工号,出勤天数,病假天数,事假天数,旷工天数,加班天数)(4) 个人工资计算视图(工号,姓名,部门,基本工资,物价补贴,住房补贴,病假扣款,事假扣款,旷工扣款,加班补贴,个人实发工资)(5) 工资汇总视图(工号,姓名,部门,基本工资,物价补贴,住房补贴,病假扣款,事假扣款,旷工扣款,加班补贴,个人实发工资,全厂总工资)(6) 管理员表(用户名,密码,真实姓名,等级)4 详细设计本系统最大程度的实现了逻辑与界面的分离,在界面上使用了多线程、音乐、文件读取等,让程序的应用环境更加友好,更具动态效果,更加人性化。在数据库方面通过视图和构建触发器,提高了代码操作的方便性与安全性,同时对于动态SQL语句的建立实现了一个函数供多个表使用,更富动态,减少了代码量以及工作时间。4.1主窗体设计程序采用JFrame类本系统的登录窗口界面,JFrame类是Swing组件中依赖于当前运行平台的组件,在运行主窗体时,窗口由本地平台的窗口工具包提供。作为工资管理系统,必须有相应权限的人才可以进入,因此要使用用户名和密码。登录界面如图4-1所示,是使用AWT制作的,在登录界面中没有使用布局管理。本截图显示管理员登录,用户名默认为“1”,密码为“1”。图4-1用户登录界面4.1.1界面设计界面设计主要通过两个用户界面组件包,分别是java.awt和javax.swing,还有用于事件处理的java.awt.event包,用户登录界面使用一个监听接口的类的对象成为事件监听器(ActionListener),创建了一个按钮的监视器类实现来实现ActionListener接口中的方法,当获得用户名和密码后,ActionEvent事件被触发,监视器自动调用actionPerformed()方法作出响应,执行检验用户名和密码并作出相关处理。4.1.2 界面流程(1) 点击登录后,进入到管理员窗口,其中包括“个人信息管理”、“查看工资单”、“颜色”和“使用帮助”子模块。该界面使用Java.applet包中的AudioClip接口,通过调用addActionListener()方法来控制音乐的播放和停止。同时定义了一个名为moveOrStop的Thread子类来实现Runnable接口,用以控制音乐窗口的左右移动。登录后显示管理员窗口,在界面上方有导航条,并设有音乐开关,如图4-2所示。(2) 主操作界面使用setBackColor类和getBackColor类来实现主界面背景颜色的调整,先通过setBackColor将背景颜色的存到数据库中,再使用getBackColor得到数据库中已经存储的背景颜色,再通过实例化的对象创建具有指定组合的RGB值的不透明的sRGB颜色。用JMenuBar类创建菜单条,调用JMenu类的构造方法创建导航条上的菜单。单击菜单项可以触发ActionEvent事件,同时为菜单项注册事件监听器。同时采用setAccelerator类来设置修改键,它能直接调用菜单项的操作侦听器而不必显示菜单的层次结构。图4-2主窗体显示14.2 信息管理模块信息管理模块将分别从界面设计、实现方法、界面流程方面进行介绍。4.2.1界面设计界面设计主要通过两个用户界面组件包,分别是java.awt和javax.swing,还有用于事件处理的java.awt.event包,用户登录界面使用一个监听接口的类的对象成为事件监听器(ActionListener),创建了一个按钮的监视器类实现来实现ActionListener接口中的方法,当获得用户名和密码后,ActionEvent事件被触发,监视器自动调用actionPerformed()方法作出响应,执行检验用户名和密码并作出相关处理。4.2.2实现方法通过创建包含表头的二维表以及实例化Object类的数组来存储表名,进而动态的调用数据库中的属性名,动态形成SQL结构化查询语句,使得数据自动插入表中。利用messageBean进行视图和控制器之间表单数据的传递。(1) 员工信息管理实现通过实例化Object对象,并调用equals方法,继而连接数据库进行插入、更新、删除和查询等操作。删除员工信息,通过把列名存在字符串里,再使用“select column_name from all_tab_columns where TABLE_NAME=”语句动态获得列名,继而动态形成SQL查询语句,实现动态删除。删除后,数据库的表格中也相应删除员工信息。图4-3删除员工信息(2) 部门管理实现通过实例化Object对象,并调用equals方法,继而连接数据库进行插入、更新、删除和查询等操作。主菜单的每一个子菜单都对应一个操作界面,如单击“插入部门档案信息”时,对应操作为“InsertRecord.java”,并且通过菜单项的事件监听来达到弹出本界面的效果。添加成功后,则后台数据库自动生成相应数据表。代码如下:a=new Object111; a00=id;a01=name;a02=department;a03=basic_sub;a04=good_sub;a05=house_sub;a06=(sick_days*sick_coeff*basic_sub);a07=(absent_days*absent_coeff*basic_sub);a08=(casual_days*casual_coeff*basic_sub);a09=(extra_days*extra_coeff*basic_sub);Double netpay=basic_sub+good_sub+house_sub+(sick_days*sick_coeff*basic_sub)+(absent_days*absent_coeff*basic_sub)+(casual_days*casual_coeff*basic_sub)+(extra_days*extra_coeff*basic_sub);a010=netpay;table = new JTable(a, name1);rs=null;String s=update indi_sal set netpay=+netpay+where id=+id;st.executeUpdate(s); catch (SQLException ee) System.out.println(ee);finallythis.close(); return table;4.2.3界面流程(1) 插入员工信息,插入成功后有“更新成功”的提示语(如图所示),图4-5显示更新之后的记录。图4-4插入员工信息 图4-5更新信息成功(2) 单击“删除员工档案信息”时,会弹出删除的对话框,如图所示,分别显示删除时和删除之后的界面。它所对应的实现类是“DeleteRecord.java”。图4-6删除员工信息图4-7成功删除4.3 工资管理模块工资管理将分别从界面设计、实现方法和界面流程方面进行介绍。4.3.1界面设计界面设计主要通过两个用户界面组件包,分别是java.awt和javax.swing,还有用于事件处理的java.awt.event包,用户登录界面使用一个监听接口的类的对象成为事件监听器(ActionListener),创建了一个按钮的监视器类实现来实现ActionListener接口中的方法,当获得用户名和密码后,ActionEvent事件被触发,监视器自动调用actionPerformed()方法作出响应,执行检验用户名和密码并作出相关处理。4.3.2实现方法本模块的处理基本全部都在控制部分,本系统通过MainOB将用户的请求和对请求的处理联系到一起。通过系统自动装载来自客户端请求的参数,来传递相对应的操作的表单对象。通过后台数据库中定义的UPDATE、INSERT和DELETE触发器来实现数据的自动处理。非正常奖罚款项的实现根据员工事假、加班等非正常情况计算出的奖罚款项,在后台数据库表indi_sal中查询员工出勤情况,进而计算出奖罚情况。代码如下:public class SalaryBO JTable table;Object a;Object name1 = 代号, 姓名,部门, 基本工资, 物价补贴,住房补贴,病假扣款,矿工扣款,事假扣款,加班补贴,实发工资 ;Object name2 = 代号, 姓名, 个人实发工资, 部门, 部门总工资 ;Object name3 = 部门,部门总工资,公司总工资 ;Connection con;PreparedStatement pre;Statement st;ResultSet rs;double sick_coeff=0.02; /病假扣款系数double casual_coeff=0.02; /事假扣款系数double absent_coeff=0.04; /旷工扣款系数double extra_coeff=0.03; /加班系数mainBO mbo = new mainBO();4.3.3界面流程通过设置病假扣款系数、事假扣款系数、旷工扣款系数等奖罚系数,由系统自动调用Object实例化数组,并结合相关公式算出物价补贴、住房补贴、病假扣款、矿工扣款和加班补贴,最终计算出实发工资,如下图所示。除了能够按员工工号进行查询,还可以按照姓名进行查询,然后将结构显示到所对应的文本框中,若查询的员工不存在,系统会给出相关提示。实现类是IndividualSal.java。图4-8按代号查询工资明细图4-9当员工代号不存在时系统给出相应提示图4-10按姓名查询工资明细自动计算出部门总工资,如图下所示。图4-11部门工资统计1图4-12部门工资统计24.4系统查询模块系统管理将分别从界面设计,实现方法和界面流程方面进行介绍。4.4.1界面设计界面设计主要通过两个用户界面组件包,分别是java.awt和javax.swing,还有用于事件处理的java.awt.event包,用户登录界面使用一个监听接口的类的对象成为事件监听器(ActionListener),创建了一个按钮的监视器类实现来实现ActionListener接口中的方法,当获得用户名和密码后,ActionEvent事件被触发,监视器自动调用actionPerformed()方法作出响应,执行检验用户名和密码并作出相关处理。4.4.2实现方法查询信息的实现后台通过调用视图来显示员工档案和工资等信息,在进行数据插入操作时,通过创建的CHECK约束条件来进行检验。前台通过继承JDialog 类,并调用MainBO和SalaryBO对象来实现数据的实时查询。采用盒式布局(BoxLayout),即引入java.swing包中的Box类,调用createHorizontalBox()方法创建行型盒式容器用来从左到右显示数据项。 4.4.3 界面流程(1) 菜单显示可查询管理员信息,员工档案信息,员工工资记录以及员工出勤记录,如图所示。实现类是ShowRecord.java。图4-13查询管理员信息(2) 查询员工详细档案信息,如图4-16所示。图4-14查询员工档案信息(3) 查询员工工资信息和总工资明细,如图所示。实现类是ComputerSal.java。图4-15查询员工工资记录图4-16查询工资汇总明细(4) 查询员工考勤记录,以此为依据计算奖罚款项,如图所示。图4-17查询员工考勤记录(5) 查询各部门工资并汇总显示,如图所示。图4-18查询各部门工资汇总(6) 调用JtextArea类的构造方法创建对象,用文件输入输出流过滤类(FileInputStream和FileOutputStream)获取文字流,用以查询工资设计标准,即使用帮助,如图显示。图4-19查询工资设计标准5 测试与优化5.1系统功能测试本系统的测试网站测试是指本系统的基本功能是否实现,重点是对管理员的操作模块进行测试,包括管理员的登录、信息管理模块、工资管理模块、系统查询模块进行测试。5.1.1测试目的测试系统的基本功能是否实现5.1.2测试范围针对管理员的操作模块进行测试,包括管理员的登录、信息管理模块、工资管理模块、系统查询模块进行测试。5.1.3测试设计和分析(1) 管理员登录测试:根据系统管理员登录进行测试。比如口令设置中验证无效的用户是否能更改登录口令:当用户名或密码错误时,系统都会提示其相应的错误。当登录成功后,可以添加用户,并且用户可更改自己的密码,这些都被保存在数据库表中,均达到测试目标。 图5-1登录错误提示(2) 工资管理模块测试:基本工资设置时刻根据不同的职称,设置其相应的基本工资;在其他项目设置时,可选择多个项目设置,在设置工资计算公式时,可以根据公司的规章制度设置其相应的参数,一旦设置成功时,就被保存到相应的数据表中,如果一旦不小心设置错了,可以重新录入,而不会变动原有的数据内容,均达到测试目标。(3) 查询管理模块测试:输入某个员工姓名或是职工编号,即可查询本职工工资详情,且根据本系统的模块设计,普通用户可以根据姓名直接查询内容,而管理员则可以登录主界面上,进行查询的同时可以修改相应内容,从而个系统安全带来保障,均达到测试目标。图5-2查询个人工资具体测试内容如下:(1) 系统环境检查(2) 程序编写检查(3) 初始画面内容检查(4) 画面控件检查(5) 输入数据检查(6) 输出数据检查(7) 报表打印检查(8) 其它需要检查的内容(如:某性能要求)5.1.3测试设计和分析(1) 软件在运行、关闭及退出时保存记录的提示功能基本完成,在软件的不断启动关闭过程中没有出现死机、程序执行效率降低等各种不良现象,功能的实现较为完善。(2) 用户登录界面较友好,但软件界面的色彩选择、搭配上对于长期工作者而言仍然不会产生眼部不适感。可操作性及安全性能较好,能完成对不同管理级别者的限制工作,对软件涉及到的机密数据能进行良好的保护。(3) 数据库的可维护性良好,数据的录入能顺利完成,并能实现动态更新,删除和修改也能顺利完成。(4) 数据查询不够全面,只能按系统设定的少数查询条件进行搜索,以找到合适的答案。(5) 数据类型填写错误时,系统有报错功能,在数据输入错误时,使用者能够获知错误所在。5.2系统优化(1) 程序启动时响应速度过慢的问题解决方法:通过定义一个login.java文件作为入

温馨提示

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

评论

0/150

提交评论