21世纪最激烈的竞争当属人才的竞争,一个具有多学科知识的复合性人才或许是一个企业发展壮大所不可或缺的重要因素。因此人力资源已逐步成为企业最重要的资源,人事管理也成为现代企业管理工作中的重要内容之一。而在人事管理中的基础工作就是人事管理。
人事管理软件从1997年开始出现市场应用,尽管应用历史已达十年,但企业用户对人事管理软件的应用并没有实现普遍的成熟化,这与同期发展起来的财务管理软件、进销存系统等差距较大。目前人事管理的应用现状是两极分化,第一类企业,基础信息系统建设完善、或ERP应用良好、或管理流程优化的企业,他们的人事管理应用不仅可以与企业其他管理系统有机融合,而且能够更为宏观地支持企业决策,甚至可以看到人事管理应用所带来的管理价值和效益,这部分企业当前只存在于部分行业的大型企业,数量有限;而另一类企业,也是绝大多数用户,人事管理应用还停留在较低层面,只能服务于企业一般的人事管理,或者连基本的人事管理信息化还会出现这样那样的问题。
目前,大部分企业在人事管理应用中遇到的问题主要包括:人事管理信息化的基础薄弱,人事管理流程尚没有优化的标准;由于对人事管理系统的系统认识,对人事管理的信息化的理解及实现出现了偏差;另外,在系统之间转换时也出现了很多问题。之所以会出现这些让企业感到棘手的问题,其主要原因有:人事管理的基础工作做得不够好;管理流程不顺;缺乏可依据的标准;信息误导现象严重;信息集成层次不高,无法宏观地利用人力资源数据。进一步挖掘深层次根源:首先,观念问题。企业决策者对人事管理及人事管理的信息化的观念尚未达到足够的高度,重视程度比较低,注重其系统建设的短期效应。其次,随着系统应用程度的提高,企业实施成本会不断增加,资金问题会更加严重。第三,实施效果问题。由于不能系统地评价人事管理的应用效果,很多企业不能客观地认识人事管理信息系统的效应。
本系统最大的特点是使用操作简单、友好的提示信息。本系统将实现以下基本功能:
基本功能模块:系统前台(人事档案,部门组织,合同管理,薪资管理,社保管理,绩效管理);系统后台(报表中心,预警功能,系统管理)。
人事档案:人事档案分为在职、离职、退休、后备四个人员库。系统内置丰富的人事档案字段。用户可自行定义人事档案的数据字段。人事档案中包括薪酬记录、考勤记录、绩效记录、培训记录、社保记录、调岗记录、调薪记录、奖惩记录等常用数据子集。用户也可自行增加新的数据子集。系统支持人事业务的在线办理,包括:入职、转正、调岗、调薪、奖励、处分、离职、复职等。业务办理的结果直接记录在人事档案中。人事档案数据支持分部门管理。各分公司或部门可以独立管理本部人员。可以使用人事档案的所有字段(包括自定义字段)组合查询。
部门管理:用户可以对部门进行设立和撤销操作,建立无限层级的树形部门结构。可以回顾部门结构的历史记录。可以即时查看组织机构图。
合同管理:客户可以对员工的劳动合同、培训合同、保密协议进行新签、续签等操作。提供劳动合同期满提醒、未签劳动合同人员提醒、合同续签提醒。合同报表功能可以随时展现各类合同的明细数据。合同数据支持分部门管理,各分公司或部门可以独立管理本部的合同。
薪酬管理:用户可以自定义薪酬帐套。通过计算公式、等级表等方式,实现岗位工资、级别工资、工龄工资、学历津贴、考勤扣款、社保扣款、绩效奖、个人所得税等各类常见的工资项目。支持年终奖的十二个月分摊计税。薪酬数据支持分部门管理,各分公司或部门可以独立管理本部的薪酬。薪酬数据支持批量编辑。薪酬发放支持标准的工作流审批。员工可以进行薪酬申诉。每月薪酬数据记录在人事档案中。
文件夹 PATH 列表
卷序列号为 362C-227F
D:\TEST\源码
│ 企业人事管理系统系统论文.doc
│
└─jsp企业人事管理系统qe85mysql程序
│ .classpath
│ .mymetadata
│ .project
│ database.rar
│
├─database
│ jspqyrsqe85mysql.sql
│
├─src
│ └─db
│ db.java
│
└─WebRoot
│ adminyanzheng.jsp
│ bumenzuzhi_add.jsp
│ bumenzuzhi_add_post.jsp
│ bumenzuzhi_list.jsp
│ bumenzuzhi_updt.jsp
│ bumenzuzhi_updt_post.jsp
│ css.css
│ del.jsp
│ delall.jsp
│ delgg.jsp
│ down.jsp
│ dx.jsp
│ dx_post.jsp
│ hetongxinxi_add.jsp
│ hetongxinxi_add_post.jsp
│ hetongxinxi_detail.jsp
│ hetongxinxi_list.jsp
│ hetongxinxi_list2.jsp
│ hetongxinxi_list3.jsp
│ hetongxinxi_updt.jsp
│ hetongxinxi_updt_post.jsp
│ hf.jsp
│ hf_post.jsp
│ image.jsp
│ jiangchengjilu_add.jsp
│ jiangchengjilu_add_post.jsp
│ jiangchengjilu_detail.jsp
│ jiangchengjilu_list.jsp
│ jiangchengjilu_list2.jsp
│ jiangchengjilu_updt.jsp
│ jiangchengjilu_updt_post.jsp
│ kaoqinjilu_add.jsp
│ kaoqinjilu_add_post.jsp
│ kaoqinjilu_list.jsp
│ kaoqinjilu_list2.jsp
│ kaoqinjilu_updt.jsp
│ kaoqinjilu_updt_post.jsp
│ left.jsp
│ left2.jsp
│ liuyanban_add.jsp
│ liuyanban_add_post.jsp
│ liuyanban_list.jsp
│ liuyanban_updt.jsp
│ liuyanban_updt_post.jsp
│ login.jsp
│ logout.jsp
│ main.jsp
│ mod.jsp
│ mod_post.jsp
│ mygo.jsp
│ peixunjilu_add.jsp
│ peixunjilu_add_post.jsp
│ peixunjilu_list.jsp
│ peixunjilu_list2.jsp
│ peixunjilu_updt.jsp
│ peixunjilu_updt_post.jsp
│ renshidangan_add.jsp
│ renshidangan_add_post.jsp
│ renshidangan_detail.jsp
│ renshidangan_list.jsp
│ renshidangan_list2.jsp
│ renshidangan_list3.jsp
│ renshidangan_list4.jsp
│ renshidangan_updt.jsp
│ renshidangan_updt2.jsp
│ renshidangan_updt_post.jsp
│ renshidangan_updt_post2.jsp
│ sh.jsp
│ shebaojilu_add.jsp
│ shebaojilu_add_post.jsp
│ shebaojilu_list.jsp
│ shebaojilu_list2.jsp
│ shebaojilu_updt.jsp
│ shebaojilu_updt_post.jsp
│ sy.jsp
│ top.jsp
│ upload.jsp
│ upload_re.jsp
│ xinwentongzhi_add.jsp
│ xinwentongzhi_add_post.jsp
│ xinwentongzhi_list.jsp
│ xinwentongzhi_updt.jsp
│ xinwentongzhi_updt_post.jsp
│ xinzijilu_add.jsp
│ xinzijilu_add_post.jsp
│ xinzijilu_list.jsp
│ xinzijilu_list2.jsp
│ xinzijilu_updt.jsp
│ xinzijilu_updt_post.jsp
│ yhzhgl.jsp
│ yhzhgl_post.jsp
│ yonghuzhuceadd.jsp
│ yonghuzhucedetail.jsp
│ yonghuzhucelist.jsp
│ yonghuzhuce_add.jsp
│ yonghuzhuce_add_post.jsp
│ yonghuzhuce_detail.jsp
│ yonghuzhuce_list.jsp
│ yonghuzhuce_updt.jsp
│ yonghuzhuce_updt2.jsp
│ yonghuzhuce_updt_post.jsp
│ yonghuzhuce_updt_post2.jsp
│ youqinglianjie_add.jsp
│ youqinglianjie_add_post.jsp
│ youqinglianjie_list.jsp
│ youqinglianjie_updt.jsp
│ youqinglianjie_updt_post.jsp
│
├─eWebEditor_V4.60
│ │ eWebEdior简体中文精简版使用说明(V4.6).txt
│ │ ewebeditor.htm
│ │ popup.htm
│ │
│ ├─buttonimage
│ │ ├─blue
│ │ │ about.gif
│ │ │ abspos.gif
│ │ │ anchor.gif
│ │ │ art.gif
│ │ │ backcolor.gif
│ │ │ backward.gif
│ │ │ bgcolor.gif
│ │ │ bgpic.gif
│ │ │ blink.gif
│ │ │ bold.gif
│ │ │ br.gif
│ │ │ checked.gif
│ │ │ code.gif
│ │ │ componentmenu.gif
│ │ │ copy.gif
│ │ │ createlink.gif
│ │ │ css.gif
│ │ │ cut.gif
│ │ │ date.gif
│ │ │ delete.gif
│ │ │ editmenu.gif
│ │ │ emot.gif
│ │ │ eq.gif
│ │ │ excel.gif
│ │ │ fieldset.gif
│ │ │ file.gif
│ │ │ filemenu.gif
│ │ │ findreplace.gif
│ │ │ flash.gif
│ │ │ fontmenu.gif
│ │ │ forecolor.gif
│ │ │ formbutton.gif
│ │ │ formcheckbox.gif
│ │ │ formdropdown.gif
│ │ │ formmenu.gif
│ │ │ formradio.gif
│ │ │ formtext.gif
│ │ │ formtextarea.gif
│ │ │ forward.gif
│ │ │ help.gif
│ │ │ iframe.gif
│ │ │ img.gif
│ │ │ indent.gif
│ │ │ inserthorizontalrule.gif
│ │ │ insertorderedlist.gif
│ │ │ insertparagraph.gif
│ │ │ insertunorderedlist.gif
│ │ │ italic.gif
│ │ │ justifycenter.gif
│ │ │ justifyfull.gif
│ │ │ justifyleft.gif
│ │ │ justifyright.gif
│ │ │ lcase.gif
│ │ │ map.gif
│ │ │ marquee.gif
│ │ │ maximize.gif
│ │ │ media.gif
│ │ │ minimize.gif
│ │ │ modecode.gif
│ │ │ modecodebtn.gif
│ │ │ modeedit.gif
│ │ │ modeeditbtn.gif
│ │ │ modetext.gif
│ │ │ modetextbtn.gif
│ │ │ modeview.gif
│ │ │ modeviewbtn.gif
│ │ │ msn.gif
│ │ │ objectmenu.gif
│ │ │ outdent.gif
│ │ │ paint.gif
│ │ │ paragraph.gif
│ │ │ paragraphmenu.gif
│ │ │ paste.gif
│ │ │ pastetext.gif
│ │ │ pasteword.gif
│ │ │ print.gif
│ │ │ quote.gif
│ │ │ redo.gif
│ │ │ refresh.gif
│ │ │ removeformat.gif
│ │ │ save.gif
│ │ │ selectall.gif
│ │ │ showborders.gif
│ │ │ showdetails.gif
│ │ │ site.gif
│ │ │ sizeminus.gif
│ │ │ sizeplus.gif
│ │ │ space.gif
│ │ │ strikethrough.gif
│ │ │ subscript.gif
│ │ │ superscript.gif
│ │ │ symbol.gif
│ │ │ tablecellprop.gif
│ │ │ tablecellsplit.gif
│ │ │ tablecoldelete.gif
│ │ │ tablecolinsertleft.gif
│ │ │ tablecolinsertright.gif
│ │ │ tablecolmerge.gif
│ │ │ tablecolsplit.gif
│ │ │ tableinsert.gif
│ │ │ tablemenu.gif
│ │ │ tableprop.gif
│ │ │ tablerowdelete.gif
│ │ │ tablerowinsertabove.gif
│ │ │ tablerowinsertbelow.gif
│ │ │ tablerowmerge.gif
│ │ │ tablerowprop.gif
│ │ │ tablerowsplit.gif
│ │ │ template.gif
│ │ │ time.gif
│ │ │ tobig.gif
│ │ │ toolmenu.gif
│ │ │ tosmall.gif
│ │ │ ucase.gif
│ │ │ underline.gif
│ │ │ undo.gif
│ │ │ unlink.gif
│ │ │ unselect.gif
│ │ │ zoommenu.gif
│ │ │
│ │ └─gray
│ │ about.gif
│ │ abspos.gif
│ │ anchor.gif
│ │ art.gif
│ │ backcolor.gif
│ │ backward.gif
│ │ bgcolor.gif
│ │ bgpic.gif
│ │ blink.gif
│ │ bold.gif
│ │ br.gif
│ │ checked.gif
│ │ code.gif
│ │ componentmenu.gif
│ │ copy.gif
│ │ createlink.gif
│ │ css.gif
│ │ cut.gif
│ │ date.gif
│ │ delete.gif
│ │ editmenu.gif
│ │ emot.gif
│ │ eq.gif
│ │ excel.gif
│ │ fieldset.gif
│ │ file.gif
│ │ filemenu.gif
│ │ findreplace.gif
│ │ flash.gif
│ │ fontmenu.gif
│ │ forecolor.gif
│ │ formbutton.gif
│ │ formcheckbox.gif
│ │ formdropdown.gif
│ │ formmenu.gif
│ │ formradio.gif
│ │ formtext.gif
│ │ formtextarea.gif
│ │ forward.gif
│ │ help.gif
│ │ iframe.gif
│ │ img.gif
│ │ indent.gif
│ │ inserthorizontalrule.gif
│ │ insertorderedlist.gif
│ │ insertparagraph.gif
│ │ insertunorderedlist.gif
│ │ italic.gif
│ │ justifycenter.gif
│ │ justifyfull.gif
│ │ justifyleft.gif
│ │ justifyright.gif
│ │ lcase.gif
│ │ map.gif
│ │ marquee.gif
│ │ maximize.gif
│ │ media.gif
│ │ minimize.gif
│ │ modecode.gif
│ │ modecodebtn.gif
│ │ modeedit.gif
│ │ modeeditbtn.gif
│ │ modetext.gif
│ │ modetextbtn.gif
│ │ modeview.gif
│ │ modeviewbtn.gif
│ │ msn.gif
│ │ objectmenu.gif
│ │ outdent.gif
│ │ paint.gif
│ │ paragraph.gif
│ │ paragraphmenu.gif
│ │ paste.gif
│ │ pastetext.gif
│ │ pasteword.gif
│ │ print.gif
│ │ quote.gif
│ │ redo.gif
│ │ refresh.gif
│ │ removeformat.gif
│ │ save.gif
│ │ selectall.gif
│ │ showborders.gif
│ │ showdetails.gif
│ │ site.gif
│ │ sizeminus.gif
│ │ sizeplus.gif
│ │ space.gif
│ │ strikethrough.gif
│ │ subscript.gif
│ │ superscript.gif
│ │ symbol.gif
│ │ tablecellprop.gif
│ │ tablecellsplit.gif
│ │ tablecoldelete.gif
│ │ tablecolinsertleft.gif
│ │ tablecolinsertright.gif
│ │ tablecolmerge.gif
│ │ tablecolsplit.gif
│ │ tableinsert.gif
│ │ tablemenu.gif
│ │ tableprop.gif
│ │ tablerowdelete.gif
│ │ tablerowinsertabove.gif
│ │ tablerowinsertbelow.gif
│ │ tablerowmerge.gif
│ │ tablerowprop.gif
│ │ tablerowsplit.gif
│ │ template.gif
│ │ time.gif
│ │ tobig.gif
│ │ toolmenu.gif
│ │ tosmall.gif
│ │ ucase.gif
│ │ underline.gif
│ │ undo.gif
│ │ unlink.gif
│ │ unselect.gif
│ │ zoommenu.gif
│ │
│ ├─css
│ │ ├─blue
│ │ │ editor.css
│ │ │ editorarea.css
│ │ │ menuarea.css
│ │ │
│ │ ├─coolblue
│ │ │ editor.css
│ │ │ editorarea.css
│ │ │ menuarea.css
│ │ │ tbhandle.gif
│ │ │ toolbarbg.gif
│ │ │ toolbarleft.gif
│ │ │ toolbarright.gif
│ │ │
│ │ ├─green
│ │ │ editor.css
│ │ │ editorarea.css
│ │ │ menuarea.css
│ │ │
│ │ ├─light
│ │ │ editor.css
│ │ │ editorarea.css
│ │ │ menuarea.css
│ │ │
│ │ ├─mx
│ │ │ editor.css
│ │ │ editorarea.css
│ │ │ menuarea.css
│ │ │
│ │ ├─office
│ │ │ editor.css
│ │ │ editorarea.css
│ │ │ menuarea.css
│ │ │
│ │ ├─office3d
│ │ │ editor.css
│ │ │ editorarea.css
│ │ │ menuarea.css
│ │ │
│ │ ├─red
│ │ │ editor.css
│ │ │ editorarea.css
│ │ │ menuarea.css
│ │ │
│ │ └─yellow
│ │ editor.css
│ │ editorarea.css
│ │ menuarea.css
│ │
│ ├─dialog
│ │ about.htm
│ │ anchor.htm
│ │ art.htm
│ │ backimage.htm
│ │ dialog.css
│ │ dialog.js
│ │ emot.htm
│ │ fieldset.htm
│ │ file.htm
│ │ findreplace.htm
│ │ flash.htm
│ │ fullscreen.htm
│ │ hyperlink.htm
│ │ iframe.htm
│ │ img.htm
│ │ map.htm
│ │ marquee.htm
│ │ media.htm
│ │ paragraph.htm
│ │ selcolor.htm
│ │ symbol.htm
│ │ table.htm
│ │ tablecell.htm
│ │ tablecellsplit.htm
│ │
│ ├─js
│ │ editor.js
│ │ lang.js
│ │ main.js
│ │ menu.js
│ │ table.js
│ │
│ ├─style
│ │ 3d.js
│ │ blue.js
│ │ coolblue.js
│ │ gray.js
│ │ green.js
│ │ light.js
│ │ mini.js
│ │ popup.js
│ │ red.js
│ │ yellow.js
│ │
│ ├─sysimage
│ │ │ actualsize.gif
│ │ │ bestfit.gif
│ │ │ contextmenu.gif
│ │ │ ewebeditor.gif
│ │ │ rect.gif
│ │ │ rectimg.gif
│ │ │ space.gif
│ │ │ zoomin.gif
│ │ │ zoomout.gif
│ │ │
│ │ ├─bg
│ │ │ birthday.gif
│ │ │ christmas.gif
│ │ │ citrus.gif
│ │ │ clear.jpg
│ │ │ fiesta.jpg
│ │ │ flower.gif
│ │ │ gathering.jpg
│ │ │ glacier.jpg
│ │ │ grid.gif
│ │ │ hearts.gif
│ │ │ ivy.gif
│ │ │ maize.jpg
│ │ │ nature.jpg
│ │ │ snow.gif
│ │ │ tech.gif
│ │ │
│ │ ├─emot
│ │ │ 01.gif
│ │ │ 02.gif
│ │ │ 03.gif
│ │ │ 04.gif
│ │ │ 05.gif
│ │ │ 06.gif
│ │ │ 07.gif
│ │ │ 08.gif
│ │ │ 09.gif
│ │ │ 10.gif
│ │ │ 11.gif
│ │ │ 12.gif
│ │ │ 13.gif
│ │ │ 14.gif
│ │ │ 15.gif
│ │ │ 16.gif
│ │ │ 17.gif
│ │ │ 18.gif
│ │ │ 19.gif
│ │ │ 20.gif
│ │ │ 21.gif
│ │ │ 22.gif
│ │ │ 23.gif
│ │ │ 24.gif
│ │ │ 25.gif
│ │ │ 26.gif
│ │ │ 27.gif
│ │ │ 28.gif
│ │ │ 29.gif
│ │ │ 30.gif
│ │ │ 31.gif
│ │ │ 32.gif
│ │ │ 33.gif
│ │ │ 34.gif
│ │ │ 35.gif
│ │ │ 36.gif
│ │ │ 37.gif
│ │ │ 38.gif
│ │ │ 39.gif
│ │ │ 40.gif
│ │ │ 41.gif
│ │ │ 42.gif
│ │ │ 43.gif
│ │ │ 44.gif
│ │ │ 45.gif
│ │ │ 46.gif
│ │ │ 47.gif
│ │ │ 48.gif
│ │ │ 49.gif
│ │ │ 50.gif
│ │ │
│ │ └─file
│ │ audio.gif
│ │ avi.gif
│ │ bmp.gif
│ │ closedfolder.gif
│ │ code.gif
│ │ doc.gif
│ │ exe.gif
│ │ folder.gif
│ │ folderback.gif
│ │ gif.gif
│ │ hlp.gif
│ │ htm.gif
│ │ jpg.gif
│ │ mdb.gif
│ │ mid.gif
│ │ mp.gif
│ │ mp3.gif
│ │ openfolder.gif
│ │ parentfolder.gif
│ │ pdf.gif
│ │ pic.gif
│ │ ppt.gif
│ │ rar.gif
│ │ rm.gif
│ │ swf.gif
│ │ txt.gif
│ │ unknow.gif
│ │ xls.gif
│ │ zip.gif
│ │
│ └─_example
│ clientapi.htm
│ default.htm
│ example.css
│ myeditorarea.css
│ para_extcss.htm
│ popup.htm
│ standard.htm
│
├─images
│ 1_03.gif
│ 2_01.gif
│ 2_01_01.gif
│ 2_01_02.gif
│ 2_01_03.gif
│ 2_02_01_04.gif
│ 2_02_02.gif
│ 2_03.gif
│ butClose.gif
│ butOpen.gif
│ CssAdmin.css
│ dialogclose.gif
│ down.gif
│ Edit.gif
│ left_02_01.gif
│ left_02_01_01.gif
│ left_02_01_02.gif
│ left_02_01_03.gif
│ login.jpg
│ nopic.jpg
│ prototype.js
│ style.css
│ StyleSheet.css
│ Upload.gif
│ userreg.jpg
│
├─js
│ Calendar.js
│ CalendarCn.htm
│ jquery-1.3.2.min.js
│ manager.js
│ popup.js
│ prototype.js
│ qkjs.js
│
├─META-INF
│ Desktop_1.ini
│ MANIFEST.MF
│
├─skins
│ └─default
│ ├─css
│ └─img
│ └─tree
│ │ base.gif
│ │ cd.gif
│ │ downline.gif
│ │ empty.gif
│ │ folder.gif
│ │ folderopen.gif
│ │ globe.gif
│ │ imgfolder.gif
│ │ join.gif
│ │ joinbottom.gif
│ │ line.gif
│ │ minus.gif
│ │ minusbottom.gif
│ │ musicfolder.gif
│ │ nolines_minus.gif
│ │ nolines_plus.gif
│ │ online.gif
│ │ page.gif
│ │ plus.gif
│ │ plusbottom.gif
│ │ question.gif
│ │ trash.gif
│ │
│ └─CVS
│ Entries
│ Repository
│ Root
│
├─upload
│ 1392796272211.jpg
│ 1392796347192.jpg
│ 1392888976350.zip
│ 1392892505813.gif
│ 1392892609486.zip
│
└─WEB-INF
│ Desktop_1.ini
│ web.xml
│
├─classes
│ └─db
│ db.class
│
└─lib
Desktop_1.ini
jspsmartupload.jar
msbase.jar
mssqlserver.jar
msutil.jar
mysql-connector-java-5.0.4-bin.jar
sqljdbc.jar
目 录
摘 要 I
ABSTRACT II
第一章 绪论 1
1.1课题背景 1
1.2目的和意义 1
1.3开发工具及技术 1
1.3.1开发工具 1
1.3.2 JSP 2
1.3.3 JavaScript 3
1.4软硬件需求 4
第二章 需求分析 5
2.1需求调研 5
2.2可行性分析 5
2.2.1技术的可行性 5
2.2.2经济的可行性 5
2.2.3操作可行性 5
2.2.4法律的可行性 6
2.3系统用户用例图 6
2.3.1管理员用例图 6
2.4功能模块需求分析 6
2.5设计的基本思想 7
2.6性能需求 7
2.6.1系统的安全性 7
2.6.2数据的完整性 8
2.7界面需求 8
第三章 系统分析与设计 9
3.1数据库的分析与设计 9
3.1.1数据库的概念结构设计 9
3.1.2数据库的逻辑结构设计 11
3.1.3数据库的连接原理 12
3.2中文乱码问题处理 13
第四章 系统功能实现 15
4.1系统登陆页 15
4.2系统主页面 16
4.3人事信息管理 17
4.4工资信息管理 22
4.5修改个人密码 27
4.5安全退出系统 27
第五章 系统测试 28
5.1系统测试目的与意义 28
5.2测试过程 28
5.2.1主页面的登录模块测试 28
5.3其他错误 29
结 论 30
参考文献 31
致 谢 32