1、摘要:本系统是关于社会养老保险有关事宜,其设计目的是为劳动保障部门提供业务管理信息化、为养老保险管理部门工作人员提供方便快捷的业务处理。本系统采用Java技术和MySql5.1数据库进行开发的,具有档案管理、保险金缴纳管理、养老金发放管理、信息查询和系统维护等五大功能。论文概述了基本养老保险系统的设计和实现的方法,及所需的关键技术,在对本系统的构建作了系统分析的基础上,提出了总体设计方案。本系统操作简单,界面友好。关键词:养老保险;管理系统;Java;MySql;EXTJS目录摘要:1关键词:11 绪论11.1 课题来源11.2 课题背景12 系统分析12.1 可行性分析12.2 系统需求分析
2、22.3 业务流程分析22.4 数据流程分析33 系统设计33.1 系统设计目标43.2 系统模块总体设计43.2 系统体系结构设计43.4 数据库设计54 系统实现84.1 系统开发环境94.2 系统登录94.3 系统主界面94.4 档案管理模块94.5 保险金缴纳管理模块114.6 养老金发放管理模块134.7 信息查询模块144.8 系统维护模块164.9 系统帮助功能185 系统测试与性能分析185.1 系统测试目的185.2 系统测试步骤185.3 测试实施和结果196 系统化评价196.1 系统优点196.2 系统存在的不足和改进方案20总结21致谢21参考文献22英文摘要23附录
3、241 1 绪论1.1 课题来源该课题源自本人在无锡IBM培训过程中的实践项目,在此基础上,引入个人对实际养老保险的理解及对已学过知识的综合,一方面回顾并综合运用已学过的知识,另一方面在实践的基础上加入自己的理解和应用,使系统更加合理化,真正模拟现实生活中养老保险系统流程及应用。1.2 课题背景随着我国改革开放的逐步深化和社会主义市场经济体制的逐步完善,建立完备的劳动和社会保险制度成为我国现阶段各级劳动部门的工作重点。统一的劳动和社会保险部门的管理使原有传统的劳动社会保险系统管理不能再适应新体制下的管理模式。利用新技术手段完成劳动社会保险系统的管理,建立基于计算机和科学系统管理基础之上的新型劳
4、动管理信息系统己迫在眉睫。养老保险是劳动社会保险系统的重要组成部分,养老保险管理系统的建设是促进养老保险改革、完善养老保险制度的需要,是规范管理、提高工作效率和实现决策科学化的需要。2 系统分析系统分析的主要任务是将在系统详细调查中所得到的文档资料集中到一起,对组织内部整体管理状况和信息处理过程进行分析。它侧重于从业务全过程的角度进行分析。2.1 可行性分析可行性分析的任务是明确应用项目的开发的必要性和可行性。这项工作需建立在初步调查的基础上。如果管理人员对信息系统的需求不很迫切,或者条件尚不具备,就是不可行。(1)技术上的可行该系统所需硬件设备,如服务器、PC机、打印机及网络配件等,市场上有
5、销售且价格较低,能满足系统功能要求。软件上,操作系统采用WindowsNT, 数据库管理系统采用MySQL5.1,这些软件在 MIS开发中已被大量应用,技术上都比较成熟。因此技术上是可行的。(2)经济上可行由于社会政府各部门单位对要老保险业务大力支持,所以对建立一个性能优越的管理系统迫在眉睫,政府、银行、金融部门提供了大量的资金支持。(3)操作上可行系统操作简单,易于理解,不需通过任何培训,只需会上网,就可使用系统中的信息资源。本系统综合上述分析,从技术方面考察现需条件,硬件、软件等资源都可行。并且这个系统设计成本低廉,效益明显,社会保障部门也很愿意接受信息化时代,形成网络化办公,同时减少人力
6、资源浪费,节约人力资本。因此,开发本系统是可行的。2.2 系统需求分析基本养老保险信息管理系统主要包括如下几个功能:参保者档案管理、保险金缴纳管理、养老金发放管理、信息查询和系统维护。具体描述如下:(1) 参保者档案管理:对参保单位档案、在职职工档案、退休职工档案、死亡人员档案的管理,包括档案的添加、修改、转移等操作。(2) 保险金缴纳管理:每月操作员将单位上缴的职工工资明细表导入数据库,进行批量录入,然后进行保险金缴纳的计算和记账管理。另外还包括补缴处理。(3) 养老金发放管理:根据单位退休职工的缴费年限和账户金额进行养老金数额的计算和记账,以及对死亡人员后事费用发放的计算和记账。(4) 信
7、息查询:包括单位和职工的基本档案信息查询,单位和在职职工缴费查询,退休职工养老金发放查询,以及死亡职工后事费用发放情况的查询等。(5) 系统维护:包括系统参数的录入和修改,操作员信息的维护,发布、更新和删除系统消息。2.3 业务流程分析首先以系统管理员身份登录系统,录入系统运行的系统参数,初始化系统。并且录入操作员信息。系统管理员除了负责系统的维护,还可以管理发布的消息和操作员的信息。操作员依据系统管理员提供的账号和密码登录系统,完成相关业务的处理任务。录入参保者的档案信息,包括单位、在职职工和退休职工的档案。同时可对参保者的信息进行修改,当遇到在职职工退休的,在职职工、退休职工死亡的,可分别
8、进行档案的转移操作。操作员录入职工档案后就可以以月为时间单位,对单位和其在职职工收缴保险金,对退休职工发放养老金。在这两个过程中都要先进计算处理,当缴纳和发放账款到账后再依次进行记账处理。如果参保单位每月15日之前没有缴纳保险金,则对该单位进行补缴记账处理,收取一定的滞纳金。对死亡人员一次性发放抚恤金和丧葬费,并解除保险关系。在所有业务处理的整个过程中,操作员和系统管理员均可随时进行信息查询,例如参保者的基本信息、保险金的缴纳情况、养老金的发放情况和职工的个人账户金额等。另外操作员可以浏览系统管理员发布的系统消息并维护个人信息。业务流程图如图1所示。图1 系统业务流程图2.4 数据流程分析本系
9、统的数据流程如下:操作员登录系统后,根据自己的操作权限选择操作模块,进行档案管理,保险金缴纳管理,养老金发放管理,和一些相关信息的查询工作。本系统数据流程图如图2所示。图2 数据流程图3 系统设计3.1 系统设计目标通过设计社会养老保险信息管理系统,使养老保险部门的业务管理自动化、规范化、系统化,从而达到提高管理效率的目的。系统开发的总任务是解决操作员复杂的养老保险管理工作和与参保者及时沟通的问题;让操作员可以自己输入实际工作内容,通过操作员输入的工作信息计算出养老保险的发放,让工作量透明化,实现管理的规范化,从而使工作量审核工作变得简易。3.2系统模块总体设计系统总体设计就是确定系统的具体实
10、现方案,制定出详细的计划,确定系统由哪些模块组成以及模块间的关系。本系统主要包括参保者档案管理、保险金缴纳管理、养老金发放管理、信息查询管理、系统维护五个功能模块,如图3所示。图3养老保险功能结构图3.2 系统体系结构设计本系统的开发采用的是Browser/Server体系结构,利用了关系型数据库的优越性能,保证了数据的安全性、完整性、一致性。更合理分配应用程序运行和数据处理,极大的提高了系统的工作效率。采用B/S (Browser/Server)体系结构能够非常方便的让操作员登陆、修改、添加参保者档案信息,管理保险金缴纳,养老金发放等功能。同时也非常方便管理人员对本系统的维护。体系结构图如图
11、4所示图4 系统体系结构图3.4 数据库设计数据库设计阶段的任务就是要把需求分析中应用的表以及表与表之间的结构模式化,便于明确系统开发的流程。主要包括两个方面:概念模型设计和关系表设计。3.4.1 概念结构设计 概念模型是对信息世界的建模,主要用E-R图来表示,它提供了表示实体、属性和联系的方法。E-R图的形式表示如图5所示。图5 系统E-R图3.4.2 关系表设计 根据E-R图和关系模式,系统创建一个数据库assurance。该数据库由以下数据表组成:参数表(total)、工作人员表(admit)、信息表(messages)、单位档案表(company)、单位保险金缴纳记录表(compacc
12、ount)、在职档案表(worker)、在职保险金缴纳记录表(workaccount)、退休档案表(retired)、退休养老金发放记录表(retiraccount)、死亡档案表(dead)。具体设置如下:表1 参数表(total)字段名数据类型字段长度主/外键说明yearvarchar25主键使用年度averagesalaryfloat8上年度月平均工资totalmoneyfloat8社会统筹基金work_ratiofloat8个人缴费比例workacc_ratiofloat8划入个人账户比例comp_lateratiofloat8补缴滞纳金比例表2 工作人员表(admit)字段名数据类型字
13、段长度主/外键说明usenamevarchar25主键工作证号namevarchar25用户真实名字passwordvarchar25密码priint2权限表3 信息表(message)字段名数据类型字段长度主/外键说明idint4主键信息代号titlevarchar25信息题目contentvarchar50信息内容timedatetime8信息发布日期表4 单位档案表(company)字段名数据类型字段长度主/外键说明comp_idvarchar25主键单位代号comp_namevarchar50单位名称comp_phonevarchar25单位电话comp_addressvarchar5
14、0单位地址comp_postvarchar25单位邮编comp_lawvarchar25法定代表comp_lawidvarchar25法定代表证件号comp_typevarchar25单位类型comp_piecevarchar25单位所在区县comp_accidvarchar25单位账户号comp_datedatetime8单位参保日期comp_ratiofloat8缴费比率comp_accountfloat8单位个人账户额表5 单位保险金缴纳记录表(compaccount)字段名数据类型字段长度主/外键说明comp_idvarchar25主键单位代号compacc_datedatetime8
15、缴费日期workacc_totalmoneyfloat8个人缴费总金额compacc_totalmoneyfloat8单位缴费总金额compacc_latermoneyfloat8单位补缴费用compacc_flagint2缴费标志表6 在职档案表(worker)字段名数据类型字段长度主/外键说明work_idvarchar25主键在职职工身份证号work_namevarchar25在职职工姓名comp_idvarchar25外键所在单位代号work_phonevarchar25在职职工电话work_addressvarchar50在职职工地址work_postvarchar25在职职工邮编w
16、ork_sexvarchar2在职职工性别work_birthdatetime8在职职工出生日期work_worktypevarchar25在职职工用工形式work_typevarchar25在职职工职务work_beginworkdatetime8在职职工参加工作时间work_begintimedatetime8在职职工参保日期work_accidvarchar25在职职工账户号work_accountfloat8在职职工个人账户额表7 在职保险金缴纳记录表(workaccount)字段名数据类型字段长度主/外键说明work_idvarchar25主键在职职工身份证号workacc_date
17、datetime8缴费日期comp_idvarchar25外键所在单位代号work_salaryfloat8本月工资workacc_salaryfloat8本月缴费工资基数workacc_moneyfloat8职工缴费compacc_moneyfloat8单位缴费workacc_flagint2缴费标志表8 退休档案表(retired)字段名数据类型字段长度主/外键说明retired_idvarchar25主键退休职工身份证号retired_namevarchar25退休职工姓名comp_idvarchar25外键所在单位代号retir_phonevarchar25退休职工电话retir_ad
18、dressvarchar50退休职工地址retir_postvarchar25退休职工邮编retir_sexvarchar2退休职工性别retir_birthdatetime8退休职工出生日期retir_nationvarchar25退休职工民族retir_worktypevarchar25退休职工用工形式retir_typevarchar25退休职工职务retir_beginworkdatetime8退休参加工作时间retir_begintimedatetime8退休职工参保时间retir_retirtimedatetime8退休职工退休时间retir_worktimeint8退休职工缴费年
19、数retir_accidvarchar25退休职工账户号retir_accountfloat8退休职工个人账户总额retir_leftaccountfloat8退休职工个人账户剩余retir_stateint2退休状态表9 退休养老金发放记录表(retiraccount)字段名数据类型字段长度主/外键说明retir_idvarchar25主键退休职工身份证号retiracc_datedatetime8发放日期comp_idvarchar25外键所在单位代号retiracc_moneyfloat8本月发放养老总金额retiracc_flagint2发放标志表10 死亡档案表(dead)字段名数据
20、类型字段长度主/外键说明dead_idvarchar25主键死亡人身份证号dead_namevarchar25死亡人姓名comp_idvarchar25外键所在单位代号dead_sexvarchar2死亡人性别dead_accidvarchar25死亡人账户号dead_accountfloat8死亡个人账户dead_relaidvarchar25待遇领取人身份证号dead_relanamevarchar25待遇领取人姓名dead_relasexvarchar2待遇领取人性别dead_relaphonevarchar25待遇领取人电话dead_relaaddresvarchar50待遇领取人地址
21、dead_help1float8丧葬补助费dead_help2float8抚恤费用dead_flagint2发放标志4 系统实现总体设计阶段以比较抽象概括的方式提出了解决问题的办法。详细设计阶段的任务就是把解决问题的方法具体化,而这个阶段是要设计出程序的详细规格说明,把分析阶段要实现的功能实现化。4.1 系统开发环境(1)硬件环境:配置优良的个人笔记本一台。(2)软件环境:Eclipse3.5、apache-tomcat6.0、MySQL 5.1、Dreamweaver 8 和Jdk6.20均安装成功。(3)开发技术:Struts2、Hibernate3、JSP、Javascript、Css、
22、ExtJS、JQuery、Ajax、Xml等。4.2 系统登录用户在拥有系统管理员提供的用户名和密码后即可登录系统。该系统存在共两种权限的用户:操作员和系统管理员。在登录页面输入相应的账号和密码后,系统会根据数据admit表中pri字段判断用的的权限,通过struts的Action跳转到不同的用户界面。4.3 系统主界面本系统的主界面完全运用EXTJS技术模仿windows 7 桌面系统,有相应的桌面图标和桌面背景,并同时存在任务栏和开始菜单。各个业务功能窗体在sample.js文件中先通过new Ext.extend()方法预加载,当用户点击相应业务图标时通过createWindow : f
23、unction()创建窗体并执行win.show()显示。在Ext.Window中设置html属性嵌入预先写好的页面即可显示自定义功能窗口。小功能模块的菜单选项卡通过EXTJS中的tbar:设置各个子菜单,并通过node.setAttribute设置tbar的菜单响应界面。系统主界面如图6所示。图6系统主界面图4.4 档案管理模块档案管理中主要实现对单位、在职职工、退休职工和死亡人员的的档案信息管理。操作员根据社会保险登记信息进行档案的录入,录入参保单位信息,并确定单位缴费比例。然后再根据单位的情况录入其参保职工的基本信息。如果单位人员有变更,可以提供变更人员花名册至操作员处,由操作员对其信息
24、进行修改更新或删除等。增加单位和职工时,系统会对其唯一识别号:单位号和身份证号进行判别,当用户输入单位代号或身份证号后,输入框失去焦点,触发Ajax的createXMLHttp Request()创建消息,并通过xmlHttp.open和xmlHttp.setRequestHeader发送请求消息查找数据库中是否存在该单位或用户,然后通过Struts的Action的Result跳转回本页,同时传递提示信息至jsp页面,提示用户该账号是否可以用。修改资料和档案转移时,先输入单位号或身份证号进行判别查询,若存在其档案可进行操作,若不存在则出现错误提示。档案管理的功能选择界面如图7所示。 图7档案管
25、理的功能选择界面图单位档案添加时,WorkerFileManageAction将从前台界面中获取的单位信息封装为Company对象,作为addWorkerFile()的参数,经过Service曾传递至DAO层,然后通过Hibernate的session.save()方法持久化至数据库中完成保存功能。单位档案添加的界面如图8所示。图8单位档案添加界面图单位档案修改时,先输入单位号验证(Ajax异步刷新),若验证通过,则通过SearchCompany查找单位信息,并传递至前台jsp页面显示单位的基本信息,可在此基础上进行修改,并通过session.update修改单位信息。单位档案保存后就可以进行
26、在职和退休职工档案的增加、修改等操作。退休档案管理和死亡人员档案管理的操作与单位档案添加修改类似。退休档案增加可以手动输入,也可以直接执行转档案的操作。在转档案时先输入身份证号验证,然后进行档案的基本信息的填写,点击转入退休时,Hibernate的session会执行delete()方法删除表worker中该在职职工的信息记录,并同时执行save()方法将退休职工信息记录添加至retired表中;在职转死亡和退休转死亡与其操作类似,在职转退休信息填写的界面如图9所示。图9在职转退休信息填写界面图4.5 保险金缴纳管理模块该功能模块主要是对参保者进行保险金的缴纳操作。参保单位在每月月初向操作员提
27、供其参保职工上月的工资明细表,可提交EXCEL形式,表包括两列:在职工的身份证号和工资金额,操作员将其导入系统。系统根据单位职工的工资收入确定缴纳养老保险基数,进行保险金的缴纳计算保存。政策规定缴费比例为28%,其中单位负担20%,个人则承担8%。若职工的工资低于上年当地职工平均的60%的,按当地职工月平均工资的60%作为缴费基数;超过上年当地职工平均的300%的,按当地职工月平均工资的300%作为缴费基数。待参保单位缴纳后再进行保险金缴纳的记账操作,完成当月的缴纳工作。保险金缴纳的功能选择界面如图10所示。图10保险金缴纳功能选择界面图首先进行职工的工资录入。输入单位号,并选择此单位提交的E
28、XCEL文件路径,根据单位号连接数据库查询,如果单位号不存在,系统提示出错信息,然后读取compaccount表和workaccount表中该公司及其职工本月缴费记录的时间,并与当前系统时间相比较月份和年份,如果相同则提示用户不可操作。获取系统当前时间的方法为:Date date = new Date();并通过SimpleDateFormat sdfy = new SimpleDateFormat(YYYYMM ).format(date)转化为“YYYYMM”格式。验证无异常后,依次获取EXCEL表中此单位的职工身份证和这月工资(EXCEL)文件的读取具体实现代码参照附录代码),并完成缴费
29、的计算功能,然后连接数据库执行插入操作,将相关数据分别插入到单位和在职职工的缴费记录表中,缴纳状态为0。职工工资录入界面如图11所示。图11职工工资录入界面图接着可进行保险金缴纳的计算。因为在职工工资录入时已经经过计算并保存至数据库中,所以在此功能的实现上只要根据输入的单位号,查询数据库中的Compaccount和wokaccount表,将本月的缴费记录查询出来显示在相应的界面即可。当显示职工保险金缴纳清单界面后可点击右下角的“生成EXCEL”将缴纳清单到处成EXCEL文件形式(EXCEL文件生成具体实现代码参照附录代码)。保险金的缴纳计算界面如图12所示。图12保险金的缴纳计算界面图待单位保
30、险金到账后,操作员根据发票做记账操作。系统根据从前台页面获取的单位ID查找compaccount和workaccount表,将其中的flag字段设置为1。如果参保单位在该月的15号仍然没有缴纳保险金,则不能进行缴纳记账操作,而应进行补缴记账。保险金补缴记账与正常缴纳也是很类似的,只需缴纳一定的滞纳金即可。滞纳金的算法由系统完成,获取记账时间算出迟缴的天数,迟缴一天则罚金为单位正常缴纳的千分之二。即:滞纳金=滞纳金比率*迟交天数*应缴费用。待到账后缴纳状态致为1。保险金补缴处理的界面如图13所示。图13保险金补缴处理的界面图4.6 养老金发放管理模块该模块功能是对参保的退休职工进行养老金的发放管
31、理。发放以参保单位为一个单位,每月对单位的退休职工进行养老金的发放操作。根据保险金的缴费年数,存在两种发放标准,即若缴费年数大于10年,则对其进行按月养老金发放;否则进行一次性发放操作,同时终止与参保者的养老保险关系。按月发放的计算是:退休养老金=基础养老金+个人账户养老金。基础养老金为当地上一年职工月平均工资为基数,乘以20%计算;个人账户养老金是个人保险金缴纳账户中的存储额除以120,按月计发,如个人账户存储额为零后,个人账户养老金则由社会统筹基金来支付;一次性发放的计算方法是:缴费满一年就发放当地上一年在职职工月平均工资的2倍,再加上个人账户的全部金额。发放的养老金额到账后评发票进行记账
32、操作。养老金发放还包括死亡人员的抚恤金和丧葬补贴费用发放。同样也要先进行计算操作。标准是:后事费用=个人账户余额+丧葬补助费+抚恤费用。当后事费用发放给其待遇领取人后即做记账操作,标记为已发放状态。养老金发放管理的功能选择界面如图14所示。图14养老金发放管理的功能选择界面图养老金发放计算是把该单位退休员工的发放金额及相关信息计算出来,输入该单位号后,查找Retired表中单位号等于输入值的所有退休职工,并读取其retired_worktime字段,分析出该职工的发放标准,即:字段值大于10进行按月发放计算,否则进行一次性发放计算。此后待养老金发放过后便可以进行记账操作,将retiraccou
33、nt表中该公司本月发放记录的flag字段由0改为1。养老金发放计算界面如图15所示。图15 养老金发放计算界面图一次性发放计算界面类似与此界面。不同的就是显示的退休员工为缴费小于10年的员工信息。后事费用发放是针对死亡人员待遇领取人的操作。先输入要处理项目清算的死亡人员身份证号,输入丧葬补助费和抚恤费用保存,发放状态记为0。若发放处理完毕后,执行记账操作,发放状态记为1。后事费用发放管理界面如图16所示。图16 后事费用发放管理界面图4.7 信息查询模块信息查询功能的设计是为方便操作员和管理员及时的对参保者的基本资料进行维护,以及查询该系统是否已经对参保者的信息进行了录入,便于查询参保者的详细
34、信息,并能及时的提醒参保者一些信息。查询主要包括三个方面:档案信息查询、缴费查询和发放查询。信息查询的功能选择界面,如图17所示。图17 信息查询选择界面图对信息的查询分为:单位档案查询、在职职工查询、退休职工查询和死亡职工查询。可输入单位代号进行查询有关单位的详细信息,包括在职花名册、退休花名册、死亡花名册,单位档案信息查询实现方式类似于单位档案修改,但用readonly=readonly将查询传来的信息框设置为只读方式。如图18所示为单位档案查询的结果图。图18 单位档案查询图在单位档案查询结果中可以查询在职职工的花名册,退休职工花名册以及死亡职工的花名册,如图19所示为在职职工花名册。图
35、19 在职职工花名册图退休花名册和死亡花名册与图19在职职工花名册查询图类似。在职查询、退休查询、和死亡查询需要先输入职工的身份证号,验证成功后到职工的详细信息页面,实现方式与单位档案查询类似,页面类似图18。缴费查询与养老金发放查询均需要输入单位代号或职工身份证号才能查询。系统根据用户输入的单位代号或身份证号查询comaccount表、workaccount表或retiredaccount表,并将查询出的数据已jsp的内置对象request返回到相应的视图,页面采用EL表达式将request对象中的数据解析出后显示在相应的位置。退休职工养老金的发放情况如图20所示图20 退休职工养老金的发放
36、图死亡项目清算查询输入单位号可以查询出该单位所有死亡职工的养老金发放情况,死亡项目清算如图21所示。图21 死亡项目清算图4.8 系统维护模块系统维护主要是对该系统进行管理,提供系统参数,系统的消息管理以及对操作员的管理。管理员系统维护功能的界面如图22所示。图22 系统维护功能的界面图系统参数主要是关于养老保险金缴纳和发放过程中遇到计算参数,是根据最新的政策来设置,调用Hibernate的session.save()方法将数据持久化至数据库的total表中。如果政策有变动,则相应进行修改,即调用session.update()更新数据库。参数录入界面如图23所示。 图23 参数录入界面图管理
37、员在系统开始运行前需要录入执行操作的操作员。在系统执行时也可对操作员进行管理,可增加也可删除。信息发布包括三部分:发送消息、修改消息、删除消息。信息发布需要输入信息的标题和内容,而消息的时间是根据系统的时间来给定的,如图24为系统消息发布界面。图24 系统消息发布界面图对于发布的消息可以根据消息的时效性进行修改和删除。消息修改界面如图25所示图25 消息修改界面图4.9 系统帮助功能单位和职工的信息查询和修改操作均需通过用户输入单位代号或身份证号进行唯一标示,但这些数据难以记忆且容易输入错误,为了节省操作的劳动量,所以设计了整个系统共用的信息模糊查询搜索模块予以快速输入。在职职工搜索页面如图2
38、6所示。图26 在职职工搜索页面图当用户点击“查询”按钮时,调用javascript的onclick=document.all. workerid.value = window.showModalDialog(workersearch.jsp, ,)打开一个模态对话框,并加载workersearch.jsp页面,页面中输入查询条件点击搜索按钮,调用DAO层Hibernate的Criteria crit = session.createCriteria (Worker.class),然后使用crit.add(Expression.and(Expression.and(Expression.lik
39、e(workName,%+required0+%), Expression.like(workId,%+required1+%), Expression.and(Expression.like(workSex,%+required2+%), Expression.like(workNation,%+required3+%)查询数据库中相匹配的记录并返回至workersearch.jsp页面,当点击记录后的“确定”按钮时将会把该记录的身份证号传至父页的身份证文本框中并关闭此对话框。5 系统测试与性能分析5.1系统测试目的软件测试的目的决定了如何去组织测试。如果测试的目的是为了尽可能多地找出错误,
40、那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。如果测试目的是为了给最终用户提供具有一定可信度的质量评价,那么测试就应该直接针对在实际应用中会经常用到的商业假设。5.2系统测试步骤软件测试的主要步骤有单元测试、集成测试和确认测试。(1)单元测试(Unit Testing)单元测试也称模块测试。通常单元测试可放在编码阶段,程序员在编写好一个模块后,总会对自己编写的模块进行测试,检查它是否实现了详细设计说明书中规定的模块功能和算法。单元测试主要发现编码和详细设计中产生的错误,通常采用白盒测试。(2)集成测试(Integration Testing)集成测试也称组装测试,它是对由各
41、模块组装而成的程序进行测试,主要检查模块间的接口和通信。集成测试主要发现设计阶段产生的错误,通常采用黑盒测试。(3)确认测试(Validation Testing)确认测试的任务是检查软件的功能、性能及其他特征与用户的需求一致,它是以需求规格说明书(即需求规约)作为依据的测试。确认测试通常采用黑盒测试。5.3测试实施和结果软件测试方法从测试人员角度看,可分为手动测试和自动测试。从源代码的角度可分为单元测试和功能测试。从理论定义来分,可分为黑盒测试,白盒测试。养老金预缴:黑盒测试方法:因果图法测试目标描述:操作员填写参保人身份证号、姓名、单位代号、电话、地址、邮政编码、性别、用工形式、参保日期、
42、账户号等详细信息,并且选择是否进行票据打印,前提假设各项填写信息在格式上完全正确,如果填写的身份证相对应的产保人存在,则无法继续填写,如不存在责保存成功。相应信息保存到相应的数据库表中,信息保存到职工档案表中。提示保存成功。之后每月单位负责把工资数额录入到Excel表格中,他的唯一标识是参保人的身份证号,操作员把Excel表格中的信息导入到数据库中,对参保人进行养老金计算处理。如果Excel表格中有非法用户,则提示有非法员工。由以上描述可知:原因:(1)身份证号对应的参保人存在;(2)选择了Excel表格导入;(3)手中有合法的Excel表格可供导入;结果:(1)进行预缴操作, 进行Excel
43、表格导入, 提示工资导入成功;(2)进行养老金计算操作, 提示操作结果;(3)提示Excel中有非法用户;(4)提示以计算;6 系统化评价6.1系统优点本系统根据养老保险的新政策设计,养老保险金的收缴和发放都按照新政策的规定来计算和设计,而且根据政策的变化可以相应地修改有关计算的参数;系统完成一切有关养老保险缴纳和发放的计算功能,而且考虑手动输入工资的烦琐,系统采用将EXCEL表中的内容直接导入数据库中,节省了大量的时间和人力;为了防止手动输入时发生的各种错误,本系统采用下拉列表框或单选框的方式显示一些数据,这样不仅为操作者带来了方便,提高了工作效率,而且减少了错误发生的几率,保证了信息管理工
44、作的顺利进行;能对用户提交的信息进行判断,及时处理各种异常,若出现输入错误或信息为空等的现象,系统就会及时给予用户出错提示;参加养老保险的单位和职工可以进行查询操作,随时了解养老保险缴纳和发放的情况,和自己的个人账户情况;采用基于角色的权限管理机制,根据各种角色和权限来进行功能管理的限制,保证系统访问的安全性。6.2系统存在的不足和改进方案 6.2.1 系统存在不足 本系统基本完成养老保险管理的功能,但由于时间仓促和个人水平,系统还存在一些不足:(1)界面还不够美观,需要进一步地修饰,用户使用可能还有不方便、不流畅的感觉; (2)在系统的维护部分还做的不够完善,对数据库操作的性能有待进一步优化,如果后台数据库过大将会影响运行速度。(3)系统功能还不够完善,有些政策还未考虑到。例如本系统主要针对单位职工参加保险,但对于无单位的人根据新政策上也可以以个人名义参保,如果单位因为破产等原因要封存档案的,将职工档案转入以个人名义保险的管理。本系统没有涉及关于保险基金管理的功能,像有月结算和年结算等。关于报表的统计和打印