企业人事管理设计报告23731.docx
Java课课程设计报报告 题 目目 企业人事事管理系统统 专 业 信息管理理与信息系系统 班 级 信管管152 学 号 151104022204 姓 名 陈陈嘉文 指导导教师 傅 莉 完成成时间 二零一六六年六月二二十九日 目 录一、设计任任务与要求求21.1 设设计任务与与要求21.2 选选题目的与与意义2二、需求分分析32.1 用用户需求分分析32.2 开开发环境分分析3三、系统设设计43.1 系系统总体设设计43.2 功功能模块设设计43.3 类类及方法的的设计5四、程序实实现64.1 程程序流程图图64.2 关关键程序6五、测试运运行85.1 系系统测试方方案85.2 系系统测试运运行及结果果分析8六、设计体体会12主要参考文文献13附录:11448一、 设计任务与与要求1.1 设计任务与与要求根据所选课课题“企业人事事管理系统统”,完成课课程设计的的分析、设设计和编码码,制作一一个简单的的管理系统统,并用窗窗口界面实实现,可以以对企业员员工的基本本信息(员员工编号、姓姓名、性别别、联系电电话、部门门、职务、底底薪)实现现录入、修修改、调用用、删除。并并完成课程程设计报告告。1.2 选题目的与与意义无论企业大大小,都需需要进行人人事管理,企企业人事管管理系统基基于这样的的要求,实实现了对企企业人事的的基本信息息管理。通过企业人人事管理系系统的设计计过程,深深刻了解掌掌握面向对对象程序设设计语言JJava的的核心概念念和特性;了解编程程技术知识识,会处理理异常情况况。了解基于SSwingg的图形用用户界面开开发;掌握握Javaa应用软件件的开发环环境和开发发过程;灵灵活选择程程序设计思思想。二、需求分分析2.1 用用户需求分分析现在的社会会是信息化化的社会,随随着科学技技术的发展展,人们越越来越多的的用计算机机去代替和和延伸脑力力劳动,而而且计算机机能够更高高效地帮助助人们去处处理一些事事情,为了了把传统的的人事管理理和现在用用计算机技技术对人事进行行管理相结结合,这次,我我设计了这这套基本的的企业人事事管理系统统方案。 通过此系统统的运用,可可以满足企企业人事管管理的诸多多需求,例例如对新员员工基本信信息录入,对对离职员工工实现信息息删除,对对员工信息息实现修改改等需求。2.2 开开发环境分分析系统编程基基于JAVVA Swwing的的图形用户户界面开发发,使用WWINDOOWS环境境下的Myyecliipse66.0.11软件开发发。MyEEclippse企业业级工作平平台(MyyEcliipse Enteerpriise WWorkbbenchh ,简称称MyEcclipsse)是对对Ecliipse IDE的的扩展,利利用它我们们可以在数数据库和JJavaEEE的开发发、发布,以以及应用程程序服务器器的整合方方面极大的的提高工作作效率。三、系统设设计3.1 系系统总体设设计 该软件功功能分析说说明图如所所示:企业人事管管理系统修改员工基本信息 录入员工基本信息调用员工基本信息删除员工基本信息主界面图3.1 功能分析析说明3.2 功功能模块设设计模块功能主界面显示系统名名称“企业人事事管理系统统”录入界面实现员工基基本信息录录入修改界面对员工基本本信息实现现修改调用界面调用信息实实现查询及及打印的功功能删除界面删除员工基基本信息表3.23.3 类类及方法的的设计类名方法DeletteDelette(Fiile)actioonPerrformmed(AActioonEveent)InputtEmplloyeeeInputtEmplloyeee(Fille)actioonPerrformmed(AActioonEveent)clearrMesss()EmplooyeePPictuureEmplooyeePPictuure()painttCompponennt(Grraphiics)setImmage(Filee)InqueestInqueest(FFile)actioonPerrformmed(AActioonEveent)clearrMesss()ManaggerWiindowwmain(Striing)ManaggerWiindoww()actioonPerrformmed(AActioonEveent)ModiffySittuatiionModiffySittuatiion(FFile)actioonPerrformmed(AActioonEveent)clearrMesss()EmplooyeegetDeeparttmentt()getImmagePPic()getNaame()getNuumberr()getPhhone()getPoositiion()getSaalaryy()getSeex()setDeeparttmentt(Strring)setImmagePPic(FFile)setNaame(SStrinng)setNuumberr(Strring)setPhhone(Striing)setPoositiion(SStrinng)setSaalaryy(Strring)setSeex(Sttringg)表 3.33四、程序实实现4.1程序序流程设计计企业人事管理系统主界面录入员工姓名、联系电话等信息录入实现信息修改修改查询员工信息及打印删除员工信息删除调用图4.14.2关键键程序publiic cllass EmplloyeeePictture exteends JPannel/继承承图形用户户界面的面面板容器类类publiic cllass Emplloyeee impplemeents Seriializzablee/继承有序序列化功能能的接口publiic cllass ModiifySiituattion exteends JPannel iimpleementts AcctionnListtenerr/继承负责责创建监视视器的类try inOnne=neew FiileInnputSStreaam(syystemmFilee); inTwwo=neew ObbjecttInpuutStrream(inOnne); 基本信息息表=(HHashMMap<SStrinng, EEmplooyee>>)inTTwo.rreadOObjecct(); inOnne.cllose(); inTwwo.cllose(); ccatchh(Excceptiion eee)/处理理异常基本信息录录入=neew InnputEEmplooyee (fille); 基本信息息修改=nnew MModiffySittuatiion(ffile); 基本信息息查询与打打印=neew Innquesst(fiile); 基本信息息删除=nnew DDelette(fiile); pCennter.add("主界面面",laabel); pCennter.add("录入界界面",基基本信息录录入); pCennter.add("修改界界面",基基本信息修修改); pCennter.add("删除界界面",基基本信息删删除);/新建菜菜单并加入入到容器中中groupp=neww ButttonGGroupp(); 男=nnew JJRadiioButtton("男",truee); 女=nnew JJRadiioButtton("女",falsse); grooup.aadd(男男); grooup.aadd(女女);/新建单选选按钮并添添加putBuuttonn.settBackkgrouund(CColorr.redd);/添加背景景颜色Imagee imaage=ttool.getIImagee(imaageFiile.ggetAbbsoluutePaath(); gg.draawImaage(iimagee,0,00,w,hh,thiis);/实现对对照片的添添加FileNNameEExtennsionnFiltter ffilteer = new FileeNameeExteensioonFillter( "JJPG && GIFF Imaages"", "jjpg", "giif");/对ffilteer的实现现publiic vooid aactioonPerrformmed(AActioonEveent ee) if(e.geetSouurce()=查查询|ee.gettSourrce()=学号号)/触发事事件实现调调用publiic vooid aactioonPerrformmed(AActioonEveent ee) iff(e.ggetSoourcee()=删除|e.geetSouurce()=员员工编号)/触发事件件实现删除除publiic vooid aactioonPerrformmed(AActioonEveent ee) if(ee.gettSourrce()=开始始修改|e.geetSouurce()=员员工编号)/触发事件件实现修改改publiic sttaticc voiid maain(SStrinng arrgs) new ManaagerWWindoow(); /主类五、测试运运行5.1 系系统测试方方案本次设计采采用WINNDOWSS环境下的的MyEcclipsse,MyyEcliipse包包括了完备备的编码、调调试、测试试和发布功功能,极大的提提高了工作效率率。在MyyEcliipse中中进行测试试,较为方方便。5.2系统统测试运行行及结果分分析(1)主界界面:进入管理系系统后,显显示系统名名称,点击击菜单,显显示其他模模块选项。图5.2.1(2) 录入员工基基本信息:实现对员工工编号、姓姓名、性别别、联系电电话、部门门选择、职职务、底薪薪和照片的的录入。图5.2.2.1选择图片界界面图5.2.2.2图5.2.2.3(3) 修改员工基基本信息:实现对员工工编号、姓姓名、性别别、联系电电话、部门门选择、职职务、底薪薪和照片的的修改。图5.2.3(4) 调用员工基基本信息:输入员工编编号,对员员工信息实实现查询调调用,还可可以进行打打印。图5.2.4.1若输入错误误编号图5.2.4.2(5) 删除员工基基本信息:输入编号实实现对员工工信息的删删除。图5.2.5.1若未输入编编号:图5.2.5.2(6) 退出关闭窗窗口时图5.2.6所有功能皆皆可实现,程程序运行成成功!六、设计体体会系统设计最最重要的不不是创意,而而是功能。设计系统是是对一个人人整体思维维能力的、挑战自己己大脑极限限的工作,总总是伴着某某种痛苦,因因为很多你你想加入的的系统功能能和特色,经经过自己检检验和想象象式测试,就就会发现存存在很多问问题,于是是不断的改改,直到最后才才发现,最最简单的设设定往往最最有效最合合理,然后后再以此追追加更高级级的复杂设设定。希望望进行更多多的探讨和和交流.这次系统设设计中遇到到了一些问问题,比如如系统运行行过程中如如何完成录录入、添加加照片等操操作,经过过查阅资料料和编程测测试最终解解决。经过一个学学期的学习习,我对JJava有有了一定的的初步了解解,可以完完成简单程程序的设计计,但对于于较为熟练练地运用还还有一定的的问题,在在查阅资料料及咨询老老师后,完完成了这个个系统的设设计,但是是这个系统统还不是很很完善,功功能还可以以继续增加加,使之更更加完美,例例如数据库库的知识不不是很了解解,如果加加入大量数数据库编程程,系统将将会更加完完善。如今社会中中,计算机机技术与企企业管理密密不可分,通通过计算机机系统程序序的使用,使使得企业管管理更加方方便快捷,因因此企业人人事管理系系统比较重重要,很开开心能完成成此程序的的设计,希希望程序能起到到应有的作作用。发现问题,提提出问题,解解决问题,使使我从不足足之处出发发,寻找新新的学习方方向。一边边实习一边边探索,发发现理论和和实践要充充分地结合合,是需要要扎实的基基本功的,这这就表明学学好基础知知识是理论论付诸实践践的前提。主要参考文文献 1 耿祥义.Javaa2实用教教程M. 北京京:清华大大学出版社社. 20012.2 耿耿祥义.JJava课课程设计M. 北京:清清华大学出出版社. 20088.附录:ManaggerWiindoww.javvaimporrt jaava.aawt.*;imporrt jaava.aawt.eeventt.*;imporrt jaavax.swinng.*;imporrt jaava.iio.*;imporrt jaava.uutil.HashhMap;publiic classs MaanageerWinndow exteends JFraame iimpleementts AcctionnListtenerr InnputEEmplooyee 人事信息息录入; MoodifyySituuatioon 基本本信息修改改; Innquesst 基本本信息调用用; Deeletee 基本本信息删除除; JMMenuBBar bbar; JMMenu fileeMenuu; JMMenuIItem 录入,修改,调用,删除,主界面; HaashMaap<Sttringg,Empployeee> 基基本信息=nulll; Fiile ffile=nulll; CaardLaayoutt carrd=nulll; JLLabell labbel=nulll; JPPanell pCeenterr; puublicc MannagerrWinddow() 录入=new JJMenuuItemm("录入入员工基本本信息"); 修改=new JJMenuuItemm("修改改员工基本本信息"); 调用=new JJMenuuItemm("调用用员工基本本信息"); 删除=new JJMenuuItemm("删除除员工基本本信息"); 主界面=new JJMenuuItemm("主界界面"); bar=new JJMenuuBar(); fileeMenuu=new JJMenuu("菜单单"); fileeMenuu.addd(录入); fileeMenuu.addd(修改); fileeMenuu.addd(调用); fileeMenuu.addd(删除); fileeMenuu.addd(主界面面); bar.aadd(ffileMMenu); setJJMenuuBar(bar); labeel=new JJLabeel("企企业人事管管理系统"",JLaabel.CENTTER); labeel.seetIcoon(neew ImmageIIcon("wellcomee.jpgg"); labeel.seetFonnt(neew Foont(""楷体",Fontt.BOLLD,400); labeel.seetHorrizonntalTTextPPosittion(SwinngConnstannts.CCENTEER); labeel.seetForregroound(Coloor.BLLACK); 基本信息息=new HHashMMap<SStrinng,Emmployyee>(); 录入.adddActtionLListeener(thiss); 修改.adddActtionLListeener(thiss); 调用.adddActtionLListeener(thiss); 删除.adddActtionLListeener(thiss); 主界面.aaddAcctionnListtenerr(thiis); cardd=new CCardLLayouut(); pCennter=new JJPaneel(); pCennter.setLLayouut(caard); filee=new FFile("基本信信息.txxt"); if(!fille.exxistss() ttry FileeOutpputSttreamm outt=neww FilleOuttputSStreaam(fiile); ObjeectOuutputtStreeam oobjecctOutt=neww ObjjectOOutpuutStrream(out); objeectOuut.wrriteOObjecct(基本本信息); objeectOuut.cllose(); out.closse(); ccatchh(IOEExcepptionn e) 人事信息息录入=new IInputtEmplloyeee(fille); 基本信息息修改=new MModiffySittuatiion(ffile); 基本信息息调用=new IInqueest(ffile); 基本信息息删除=new DDelette(fiile); pCennter.add("欢迎界界面",labeel); pCennter.add("录入界界面",人事信息息录入); pCennter.add("修改界界面",基本信息息修改); pCennter.add("删除界界面",基本信息息删除); add(pCennter,BordderLaayoutt.CENNTER); valiidatee(); setVVisibble(ttrue); setBBoundds(1000,500,5000,3000); setDDefauultClloseOOperaationn(JFrrame.DO_NNOTHIING_OON_CLLOSE); addWWindoowLissteneer(neew WiindowwAdappter() ppubliic voidd winndowCClosiing(WWindoowEveent ee) intt n=JJOptiionPaane.sshowCConfiirmDiialogg(nulll,"确认退退出?","确认对对话框”, JOpptionnPanee.YESS_NO_OPTIION ); if(n=JOpptionnPanee.YESS_OPTTION) Systtem.eexit(0); ); valiidatee(); puublicc voidd acttionPPerfoormedd(ActtionEEventt e) if(e.getSSourcce()=录入) 人事信息息录入.cclearrMesss(); carrd.shhow(ppCentter,"录入界界面"); elsse if(e.getSSourcce()=修改) 基本信信息修改.cleaarMesss(); carrd.shhow(ppCentter,"修改界界面"); elsse if(e.getSSourcce()=调用) 基本信信息调用.cleaarMesss(); 基本信信息调用.setLLocattion(getBBoundds().widtth,geetBouunds().heeightt); 基本信信息调用.setVVisibble(ttrue); elsse if(e.getSSourcce()=删除) cardd.shoow(pCCenteer,"删除界界面"); elsse if(e.getSSourcce()=主界面面) cardd.shoow(pCCenteer,"主界面面"); ppubliic stattic voidd maiin(Sttringg arggs) neww MannagerrWinddow(); Emplooyee.javaaimporrt jaava.iio.*;publiic classs Emmployyee iimpleementts SeeriallizabbleStriing nnumbeer,namee,phonne,depaartmeent,posiitionn,salaary,sex;Filee imaagePiic;publlic voidd settNumbber(SStrinng nuumberr)thiis.numbber=nnumbeer;publlic SStrinng geetNummber()retturn numbber;publlic voidd settNamee(Strring namee)thiis.namee=namme;publlic SStrinng geetNamme()retturn namee;publlic voidd settPhonne(Sttringg phoone)thiis.phonne=phhone;publlic SStrinng geetPhoone()retturn phonne;publlic voidd settDepaartmeent(SStrinng deeparttmentt)thiis.depaartmeent=ddeparrtmennt;publlic SStrinng geetDeppartmment()retturn depaartmeent;publlic voidd settPosiitionn(Strring posiitionn)thiis.posiitionn=possitioon;publlic SStrinng geetPossitioon()retturn posiitionn;publlic voidd settSalaary(SStrinng saalaryy)thiis.salaary=ssalarry;publlic SStrinng geetSallary()retturn salaary;publlic voidd setSSex(SStrinng seex)thiis.sex=ssex; publlic SStrinng geetSexx()retturn sex;publlic voidd settImaggePicc(Fille immagePPic2) publlic FFile getIImageePic() retturn nulll;InputtEmplloyeee.javvaimporrt jaava.aawt.*;imporrt jaava.aawt.eeventt.*;imporrt jaavax.swinng.*;imporrt jaava.iio.*;imporrt jaava.uutil.*;imporrt jaavax.swinng.fiilechhooseer.*;publiic cllass InpuutEmpployeee exxtendds JPPanell impplemeents ActiionLiistenner Emmployyee 员工=nnull; EmmployyeePiicturre piic; HaashMaap<Sttringg,Empployeee> 基基本信息表表=nulll; JTTextFFieldd 员工编编号,姓名名,联系电电话,职务务,底薪; JBButtoon 选择择照片; JCCombooBox 部门; JRRadiooButtton 男男,女; BuuttonnGrouup grroup=nulll; JBButtoon 录入入,重置; FiileInnputSStreaam innOne=nulll; ObbjecttInpuutStrream inTwwo=nuull; FiileOuutputtStreeam ooutOnne=nuull; ObbjecttOutpputSttreamm outtTwo=nulll; Fiile ssysteemFille,immagePPic; puublicc InpputEmmployyee(FFile filee) sysstemFFile=filee; picc=neww EmpployeeePiccturee(); 员工编编号=neew JTTextFFieldd(5); 姓名=new JTexxtFieeld(55); 联系电电话=neew JTTextFFieldd(13); 部门=new JCommboBoox(); tryy FiileReeaderr innOne=new FileeReadder(""部门.ttxt"); BuufferredReeaderr inTTwo= new BufffereddReadder(iinOnee); Sttringg s=nnull; innt i=0; whhile(s=iinTwoo.reaadLinne()!=nuull) 部门.addIItem(s); innOne.closse(); innTwo.closse(); cattch(IIOExcceptiion eexp) 部部门.adddIteem("行行政部"); 部部门.adddIteem("MMPC"); 部部门.adddIteem("财财务"); 职务=new JTexxtFieeld(55); 底薪=new JTexxtFieeld(55); 选择照照片=neew JBButtoon("选选择"); grooup=nnew BButtoonGrooup(); 男=nnew JJRadiioButtton("男",truee); 女=nnew JJRadiioButtton("女",falsse); grooup.aadd(男男); grooup.aadd(女女); 录入=new JButtton("录入""); 重置=new JButtton("重置""); 录入.addAActioonLissteneer(thhis); 选择照照片.adddActtionLListeener(thiss); 重置.addAActioonLissteneer(thhis); Boxx boxx1=Boox.crreateeHoriizonttalBoox(); boxx1.addd(neew JLLabell("员工工编号:"",JLaabel.CENTTER); boxx1.addd(员工工编号); Boxx boxx2=Boox.crreateeHoriizonttalBoox(); boxx2.addd(neew JLLabell("姓名名:",JJLabeel.CEENTERR); boxx2.addd(姓名名); Boxx boxx3=Boox.crreateeHoriizonttalBoox(); boxx3.addd(neew JLLabell("性别别:",JJLabeel.CEENTERR); boxx3.addd(男); boxx3.addd(女); Boxx boxx4=Boox.crreateeHoriizonttalBoox(); boxx4.addd(neew JLLabell("联系系电话:"",JLaabel.CENTTER); boxx4.addd(联系系电话); Boxx boxx5=Boox.crreateeHoriizonttalBoox(); boxx5.addd(neew JLLabell("部门门:",JJLabeel.CEENTERR); boxx5.addd(部门门); Boxx boxx6=Boox.crreateeHoriizonttalBoox(); boxx6.addd(neew JLLabell("职务务:",JJLabeel.CEENTERR); boxx6.addd(职务务); Boxx boxx7=Boox.c