企業(yè)人事標(biāo)準(zhǔn)管理專業(yè)系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)_第1頁
企業(yè)人事標(biāo)準(zhǔn)管理專業(yè)系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)_第2頁
企業(yè)人事標(biāo)準(zhǔn)管理專業(yè)系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)_第3頁
企業(yè)人事標(biāo)準(zhǔn)管理專業(yè)系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)_第4頁
企業(yè)人事標(biāo)準(zhǔn)管理專業(yè)系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩43頁未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

本科畢業(yè)設(shè)計(jì)(論文)題目企業(yè)人事管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)完成時(shí)間6月1日畢業(yè)設(shè)計(jì)(論文)任務(wù)書題目企業(yè)人事管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)關(guān)鍵內(nèi)容、基礎(chǔ)要求、關(guān)鍵參考資料等:關(guān)鍵內(nèi)容:為了應(yīng)對(duì)現(xiàn)代企業(yè)越來越復(fù)雜組成結(jié)構(gòu)和由此產(chǎn)生繁重管理工作,提升企業(yè)工作效率和凝聚力,避免因人為原因造成數(shù)據(jù)丟失等嚴(yán)重后果,使用Java、SqlServer、JSP技術(shù)設(shè)計(jì)一個(gè)企業(yè)人事管理系統(tǒng),為企業(yè)日常業(yè)務(wù)綜合管理工作提供幫助,關(guān)鍵模塊有職員資料、部門管理、職位管理、簽到、請(qǐng)假管理、招聘、獎(jiǎng)懲管理、加班管理、公告系統(tǒng)、資料共享等模塊。基礎(chǔ)滿足企業(yè)日常業(yè)務(wù)需求,實(shí)現(xiàn)企業(yè)現(xiàn)代化管理?;A(chǔ)要求:1.所實(shí)現(xiàn)功效基礎(chǔ)滿足企業(yè)日常使用。2.安全可靠,易于開發(fā)和維護(hù)、有較強(qiáng)可擴(kuò)充性。關(guān)鍵參考資料:[1]劉浩.Java從入門到精通[M].北京:人民郵電出版社,.[2]陳海山.深入JavaServlet網(wǎng)絡(luò)編程[M].北京:清華大學(xué)出版社,.[3]耿祥義,張躍平.Java基礎(chǔ)教程[M].北京:清華大學(xué)出版社,.指導(dǎo)老師署名:專業(yè)責(zé)任人署名:年3月3日目錄摘要 IABSTRACT II1緒論 11.1開發(fā)背景 11.2開發(fā)目標(biāo) 11.3開發(fā)思想 22技術(shù)介紹 32.1B/S結(jié)構(gòu) 32.2Java語言介紹 32.3MyEclipse介紹 42.4SqlServer 42.5JDBC 43可行性分析 73.1技術(shù)可行性 73.2運(yùn)行可行性 73.3經(jīng)濟(jì)可行性 84需求分析 54.1功效需求 54.2性能需求 54.3其它需求 65概要設(shè)計(jì) 95.1系統(tǒng)總體設(shè)計(jì) 95.2各個(gè)模塊設(shè)計(jì) 95.3應(yīng)聘子系統(tǒng)設(shè)計(jì) 106數(shù)據(jù)庫設(shè)計(jì) 126.1數(shù)據(jù)分析 126.2數(shù)據(jù)表實(shí)現(xiàn) 137系統(tǒng)實(shí)現(xiàn) 197.1各個(gè)模塊實(shí)現(xiàn) 197.2應(yīng)聘子系統(tǒng)實(shí)現(xiàn) 307.3關(guān)鍵方法 328系統(tǒng)測(cè)試 358.1用例設(shè)計(jì) 358.2測(cè)試實(shí)施 368.3測(cè)試結(jié)論 37結(jié)束語 38致謝 39參考文件 40企業(yè)人事管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)摘要伴隨現(xiàn)代企業(yè)發(fā)展,企業(yè)組成復(fù)雜度變得越來越大,單純手工管理在處理業(yè)務(wù)時(shí)效率低下,已無法滿足企業(yè)需求,開發(fā)一個(gè)簡(jiǎn)單方便、可靠性好人事管理系統(tǒng)顯得極為必需。針對(duì)這些需求,在分析了業(yè)務(wù)邏輯后,進(jìn)行人事管理系統(tǒng)設(shè)計(jì)工作,采取B/S架構(gòu),Java作為開發(fā)語言,SqlServer作為數(shù)據(jù)庫,關(guān)鍵實(shí)現(xiàn)了職員信息、部門管理、招聘管理、薪資管理、考勤管理、文件共享等功效。另外設(shè)計(jì)了一個(gè)應(yīng)聘子系統(tǒng)作為主系統(tǒng)補(bǔ)充,讓應(yīng)聘者創(chuàng)建信息、瀏覽企業(yè)職位和查看自己處理結(jié)果,增強(qiáng)系統(tǒng)人事管理功效,以軟件工程開發(fā)步驟為指導(dǎo),并借鑒MVC設(shè)計(jì)模式,最終完成了企業(yè)人事管理系統(tǒng)開發(fā)。該系統(tǒng)實(shí)現(xiàn)為企業(yè)管理工作帶來了便利,降低了管理成本,提升效率,能夠基礎(chǔ)滿足中小型企業(yè)需求,這也是該系統(tǒng)開發(fā)目標(biāo)所在。關(guān)鍵詞人事管理,B/S,SQLServer,JDBCTHEDESIGNANDIMPLEMENTATIONOFENTERPRISEPERSONNELMANAGEMENTSYSTEMABSTRACTWiththedevelopmentofmodernenterprises,thecomplexityoftheEnterprisehasbecomemoreandmorebig,simplemanualmanagementisinefficiencyindealingwithbusiness,hasbeenunabletomeettheneedsofenterprises,todevelopasimple,reliable,appearsgoodpersonnelmanagementsystembecomeextremelynecessary.Inresponsetotheseneeds,aftertheanalysisofthebusinesslogic,designworkandpersonnelmanagementsystem,usetheB/Sarchitecture,Javaasadevelopmentlanguage,SqlServerasadatabase,Hadachievedtheemployeeinformation,sectormanagement,recruitmentmanagement,payrollfunction,andattendancemanagementfunction,filesharingandotherfunctions.Alsowedesignedacandidatesubsystemtosupplementtheprimarysystem,sothatcandidatescreateinformation,visitthecompany'spositionandviewtheirresults,andenhancethesystem'spersonnelmanagementtosoftwareengineeringprocessesasaguide,andlearnMVCdesignpattern,finallycompletedthedevelopmentofpersonnelmanagementsystem.Implementationofthesystemofenterprisemanagementismadeeasier,reducemanagementcosts,improveefficiency,itcanbasicallymeettheneedsofSmallandMediumEnterprises,whichisthesystem'sdevelopmentpurpose.KEYWORDSpersonnelmanagement,B/S,SQLServer,JDBC1緒論1.1開發(fā)背景伴隨計(jì)算機(jī)技術(shù)進(jìn)步,中國(guó)高速發(fā)展,企業(yè)管理機(jī)制正在發(fā)生著關(guān)鍵改變,現(xiàn)代企業(yè)在管理中逐步引入了現(xiàn)代化管理技術(shù),當(dāng)今社會(huì)正在朝著信息化、科學(xué)化方向快速發(fā)展,信息自動(dòng)化意義和作用已經(jīng)越來越大,她能夠使我們不再疲憊于繁重人力資源管理工作,而是利用信息化技術(shù)去進(jìn)行管理[1]?,F(xiàn)在很多企業(yè)仍然沒有一個(gè)系統(tǒng)化、規(guī)范化人事管理軟件,人事管理還處于最基礎(chǔ)人工管理階段,效率低下,已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足當(dāng)今社會(huì)對(duì)人事管理需求,而且人工管理有很多顯而易見弊病,會(huì)出現(xiàn)因?yàn)槿藶椴僮魇д`,錯(cuò)誤操作,造成數(shù)據(jù)丟失、損壞、誤報(bào),給企業(yè)造成不可挽回?fù)p失,另外,時(shí)間一長(zhǎng),這種管理方法會(huì)產(chǎn)生大量文件,對(duì)于更新維護(hù)帶來了不少困難。這些現(xiàn)象層出不窮[2]。人事管理是現(xiàn)代企業(yè)管理中不可忽略一個(gè)關(guān)鍵組成部分,競(jìng)爭(zhēng)對(duì)于企業(yè)管理者提出了更多挑戰(zhàn),人事管理另一個(gè)意義,就是對(duì)企業(yè)生命和前途管理,人事是最寶貴資源,一個(gè)企業(yè)沒有了可用之才,那么這個(gè)企業(yè)會(huì)變得岌岌可危,實(shí)現(xiàn)辦公自動(dòng)化已經(jīng)得到了企業(yè)重視,企業(yè)要想在當(dāng)今猛烈競(jìng)爭(zhēng)中生存下來,就必需要引入信息化管理,做好人才管理工作。1.2開發(fā)目標(biāo)現(xiàn)在在市場(chǎng)上已經(jīng)存在大家事管理系統(tǒng),人事管理系統(tǒng)在現(xiàn)代化企業(yè)管理中越來越受到管理者重視,不過這些全部并不一定滿足企業(yè)日常應(yīng)用,這些軟件確實(shí)很好,不過對(duì)于企業(yè)來說,需要是一個(gè)實(shí)用、高效、價(jià)格低廉軟件,購(gòu)置一個(gè)這么軟件,本身就是一筆很大開銷,再加上日常維護(hù)處理,帶來工作成本會(huì)大大提升,得不償失。在企業(yè)管理中并不需要尤其大型管理系統(tǒng),操作簡(jiǎn)便、功效強(qiáng)大、滿足基礎(chǔ)日常工作處理即可[3]。降低人事管理成本,提升效率,科學(xué)化管理企業(yè)。這就是本系統(tǒng)開發(fā)目標(biāo)所在。1.3開發(fā)思想在設(shè)計(jì)一個(gè)系統(tǒng)之前,首先要對(duì)這個(gè)系統(tǒng)要有一個(gè)清楚認(rèn)識(shí),知道要實(shí)現(xiàn)什么功效,要設(shè)計(jì)什么模塊,和權(quán)限控制,安全控制等,這些原因全部要考慮到[4],這是對(duì)一個(gè)系統(tǒng)最基礎(chǔ)認(rèn)識(shí),一個(gè)簡(jiǎn)單好用系統(tǒng)應(yīng)該包含操作便捷、界面美觀大方、運(yùn)行速度快、學(xué)習(xí)成本小等等優(yōu)點(diǎn),讓使用者能夠快速上手,方便快捷對(duì)企業(yè)進(jìn)行管理。由此分析出,此系統(tǒng)應(yīng)該含有以下多個(gè)特點(diǎn):(1)高技術(shù)性:采取比較優(yōu)異開發(fā)工具,本系統(tǒng)采取了Java開發(fā)最為流行集成開發(fā)工具:MyEclipse和SqlServer數(shù)據(jù)庫相結(jié)合,進(jìn)行開發(fā)和實(shí)現(xiàn)工作,MyEclipse是一個(gè)功效很強(qiáng)大IDE,微軟開發(fā)SqlServer在市場(chǎng)一直有著良好評(píng)價(jià),能夠大容量進(jìn)行數(shù)據(jù)存放,使用Java作為開發(fā)語言,采取了MVC[5]思想進(jìn)行模型構(gòu)建,充足利用了優(yōu)異技術(shù)來開發(fā)本系統(tǒng)。(2)實(shí)用性:在開發(fā)系統(tǒng)之前,做了很多相關(guān)方面調(diào)查,包含和企業(yè)領(lǐng)導(dǎo)進(jìn)行溝通交流,發(fā)覺在企業(yè)中實(shí)際需求,和上網(wǎng)查詢資料,觀察類似軟件全部實(shí)現(xiàn)了什么功效,一切從需求出發(fā),以需求為引導(dǎo),以用戶方便為準(zhǔn)則,進(jìn)而提出了需求分析和概要設(shè)計(jì),切實(shí)滿足用戶需求和要求,達(dá)成讓用戶滿意程度。(3)嚴(yán)謹(jǐn)性:企業(yè)最看重是數(shù)據(jù)安全問題[6],數(shù)據(jù)安全也是軟件設(shè)計(jì)工作中重中之重,為了保持?jǐn)?shù)據(jù)完整性和保密性,在充足調(diào)查了企業(yè)需求以后,本系統(tǒng)設(shè)計(jì)了三種登錄身份,一個(gè)是一般用戶身份,權(quán)限最低,一個(gè)是管理員身份,能夠?qū)ο到y(tǒng)各個(gè)模塊進(jìn)行操作,比如錄入工資,更新公告,更新獎(jiǎng)懲措施,處理請(qǐng)假申請(qǐng)等等一系列信息,不過不能對(duì)部分敏感數(shù)據(jù)進(jìn)行操作,假如想進(jìn)行操作,就需要以第三種身份進(jìn)行登錄:超級(jí)管理員,能夠?qū)γ舾行畔⑦M(jìn)行操作,比如刪除考勤統(tǒng)計(jì)、刪除工資統(tǒng)計(jì)、用戶管理等,預(yù)防有些人惡意篡改數(shù)據(jù),在一定程度上確保了數(shù)據(jù)安全性。(4)復(fù)用性:采取模塊化方法進(jìn)行開發(fā)和設(shè)計(jì),對(duì)于各個(gè)模塊全部相同代碼進(jìn)行了通用類設(shè)計(jì),達(dá)成設(shè)計(jì)出高內(nèi)聚,低耦合程序目標(biāo),提升了系統(tǒng)復(fù)用性。2技術(shù)介紹2.1B/S結(jié)構(gòu)B/S結(jié)構(gòu),即服務(wù)器/瀏覽器結(jié)構(gòu),它是伴隨Web技術(shù)發(fā)展建立起來模型,在目前Web開發(fā)中屬于一個(gè)比較常見模式,應(yīng)用較為廣泛,從傳統(tǒng)C/S(用戶端/服務(wù)端)結(jié)構(gòu)轉(zhuǎn)變而來,是一個(gè)新網(wǎng)絡(luò)模式架構(gòu),其實(shí)本質(zhì)就是三層C/S架構(gòu),在B/S架構(gòu)下,用戶界面是用JSP編寫,經(jīng)過瀏覽器進(jìn)行顯示,在前端只實(shí)施極少數(shù)業(yè)務(wù)邏輯,關(guān)鍵業(yè)務(wù)均在后端(Server端)實(shí)現(xiàn),極大簡(jiǎn)化了用戶端電腦負(fù)荷,使得以后維護(hù)工作只要對(duì)服務(wù)器端進(jìn)行維護(hù)即可,減輕了開發(fā)成本和系統(tǒng)維護(hù)、升級(jí)費(fèi)用[7]。不過由此帶來后果是服務(wù)器負(fù)荷交大,對(duì)服務(wù)器性能要求較高,具體結(jié)構(gòu)圖2-1所表示。圖2-1B/S模型結(jié)構(gòu)示意圖2.2Java語言介紹目前有很多開發(fā)語言能夠選擇,面對(duì)這些開發(fā)語言,在項(xiàng)目開發(fā)準(zhǔn)備工作中,最終選擇了Java作為開發(fā)語言,因?yàn)镴ava有強(qiáng)大面向?qū)ο筇卣?,能夠很好區(qū)分業(yè)務(wù)邏輯和頁面開發(fā)。Java是在1995年,由SunMicrosystem企業(yè)公布一個(gè)面向?qū)ο笤O(shè)計(jì)語言,和開發(fā)平臺(tái)總稱,最初命名是Oak,當(dāng)初被作為嵌入式語言為消費(fèi)類電子產(chǎn)品而設(shè)計(jì),現(xiàn)在被廣泛用于開發(fā)Internet程序,Java是一個(gè)平臺(tái)無關(guān)語言[8],能夠跨平臺(tái)編寫開發(fā)應(yīng)用。自從Java被開發(fā)出來,讓整個(gè)Web開發(fā)發(fā)生了翻天覆地改變。Java有著通用性、高效性等很多特點(diǎn),在各個(gè)平臺(tái)能夠很方便進(jìn)行移植,廣泛用于個(gè)人PC、數(shù)據(jù)庫服務(wù)器、移動(dòng)開發(fā)、游戲服務(wù)器、互聯(lián)網(wǎng)開發(fā)、Web開發(fā)等領(lǐng)域,Java在全球使用度和C不相上下。2.3MyEclipse介紹MyEclipse是在Eclipse基礎(chǔ)上,加入插件插件而形成企業(yè)級(jí)應(yīng)用開發(fā)環(huán)境,關(guān)鍵用于JAVA、JAVAEE和移動(dòng)應(yīng)用開發(fā),MyEclipse因?yàn)槠鋸?qiáng)大功效,擁有者廣泛支持,對(duì)多種開源框架支持也相當(dāng)不錯(cuò)。全稱是MyEclipseEnterpriseWorkbench,是一個(gè)功效很豐富JAVAEE集成開發(fā)環(huán)境,是對(duì)EclipseIDE擴(kuò)展,利用Myeclipse能夠使用數(shù)據(jù)庫進(jìn)行JAVASE、JAVAEE開發(fā),公布和應(yīng)用程序整合,Myeclipse因?yàn)槠鋸?qiáng)大開發(fā)環(huán)境支持,能夠大大提升工作進(jìn)度和效率,包含了完整編碼、調(diào)試、公布功效。Myeclipse幾乎囊括了市場(chǎng)上全部主流專屬開發(fā)工具。2.4SqlServerSqlServer數(shù)據(jù)庫是由微軟企業(yè)推出,在Sqlserver基礎(chǔ)上做出改善關(guān)系型數(shù)據(jù)庫系統(tǒng)。能夠在各個(gè)Windows操作系統(tǒng)上正常使用,Sqlserver是一個(gè)很全方面數(shù)據(jù)庫平臺(tái),能夠?yàn)槿魏我?guī)模企業(yè)和機(jī)構(gòu)提供強(qiáng)大信息管了處理方案,使用了智能商業(yè)智能工具提供了企業(yè)級(jí)數(shù)據(jù)管理[9],能夠讓開發(fā)者構(gòu)建更為強(qiáng)大數(shù)據(jù)應(yīng)用程序,所以本系統(tǒng)采取了SqlServer作為系統(tǒng)數(shù)據(jù)庫進(jìn)行開發(fā)。2.5JDBCJDBC[10],全稱是JavaDataBaseConnectivity,即Java和數(shù)據(jù)庫連接技術(shù),是一組針對(duì)連接數(shù)據(jù)庫而開發(fā)API,能夠支持多個(gè)數(shù)據(jù)庫,提供統(tǒng)一訪問方法,是一個(gè)標(biāo)準(zhǔn),開發(fā)廠商能夠由此定制自己開發(fā)工具和結(jié)構(gòu),使系統(tǒng)開發(fā)人員能夠用此讓Java和數(shù)據(jù)庫得到連接,JDBC是一個(gè)數(shù)據(jù)庫連接基準(zhǔn),JDBC開發(fā)標(biāo)準(zhǔn)接口,并為數(shù)據(jù)庫廠商和使用者提供了標(biāo)準(zhǔn)數(shù)據(jù)庫連接方法,由一組用Java編寫類和接口組成。有了JDBC技術(shù),使從Java向數(shù)據(jù)庫發(fā)送數(shù)據(jù)變得輕易,就無須再為每個(gè)數(shù)據(jù)庫再專門編寫程序,使得程序員無須再為跨平臺(tái)問題而擔(dān)心,無須再為不一樣平臺(tái)編寫不一樣程序,真正實(shí)現(xiàn)了“一次編寫,四處運(yùn)行”。3可行性分析在開展開發(fā)工作之前,需要對(duì)可行性進(jìn)行分析和調(diào)查,可行性分析是一個(gè)系統(tǒng)在開發(fā)之前研究項(xiàng)目是否可行技術(shù),在分析系統(tǒng)以后,發(fā)覺開發(fā)中存在問題和可能性,關(guān)鍵從經(jīng)濟(jì)、技術(shù)、運(yùn)行、進(jìn)行分析和研究,降低開發(fā)風(fēng)險(xiǎn),避免人力物力浪費(fèi),調(diào)查方法有很多個(gè),包含上網(wǎng)查閱資料,觀察其它類似系統(tǒng)是怎么實(shí)現(xiàn),和走訪企業(yè),和系統(tǒng)分析員進(jìn)行交流,和人事管理員進(jìn)行溝通等等,并了解企業(yè)工作方法和工作步驟,和具體實(shí)施措施,分析結(jié)果是使用完善企業(yè)人事管理系統(tǒng)能夠很方便進(jìn)行企業(yè)管理,極大提升管理效率,依據(jù)上述分析,開始進(jìn)行可行性研究工作。3.1技術(shù)可行性開發(fā)環(huán)境(IDE[11])可行性:從現(xiàn)在主流開發(fā)技術(shù)來看,使用基于JAVAEE開發(fā)架構(gòu),B/S作為系統(tǒng)結(jié)構(gòu),使用Java開發(fā)語言和SqlServer數(shù)據(jù)庫完全能夠勝任本系統(tǒng)開發(fā)工作,Java語言一直比較安全,加上SqlServer強(qiáng)大數(shù)據(jù)管理,和MyEclipse開發(fā)工具,完全滿足本系統(tǒng)開發(fā)環(huán)境要求。開發(fā)硬件可行性:系統(tǒng)在開發(fā)過程中開發(fā)人員所含有資料和計(jì)算機(jī)設(shè)備和相關(guān)資源,和在系統(tǒng)開發(fā)完成后,使用企業(yè)所含有計(jì)算機(jī)設(shè)備和其它資源,要綜合考慮雙方情況,設(shè)計(jì)一個(gè)最合理方案,確保系統(tǒng)在開發(fā)出來后,在用戶環(huán)境下能夠完美運(yùn)行,同時(shí)還要考慮性價(jià)比原因。本系統(tǒng)對(duì)于計(jì)算機(jī)運(yùn)行有一定性能要求,內(nèi)存不低于1G,硬盤容量大于40G,并需要安裝JRE,假如低于這個(gè)需求,將會(huì)影響系統(tǒng)正常運(yùn)行,從現(xiàn)在來看,主流計(jì)算機(jī)均達(dá)成了這個(gè)要求,所以在硬件方面是可行。3.2運(yùn)行可行性因?yàn)楸鞠到y(tǒng)是一個(gè)內(nèi)部系統(tǒng),不向外部公開,所以避免了外來惡意訪問,本系統(tǒng)在運(yùn)行過程中只是面向企業(yè)內(nèi)部使用,包含職員、組長(zhǎng)、經(jīng)理等,盡管這些人之前可能沒有使用過相關(guān)管理軟件經(jīng)驗(yàn),不過本系統(tǒng)是建立在Windows操作系統(tǒng)之上,操作界面友好,簡(jiǎn)單明了,學(xué)習(xí)成本較低,操作人員無需進(jìn)行專業(yè)培訓(xùn)即可勝任此工作,能夠在專業(yè)人員知道下快速掌握系統(tǒng)使用方法,假如有必需話,能夠編寫一個(gè)操作說明書,供相關(guān)人員進(jìn)行學(xué)習(xí),正確操作人事管理系統(tǒng)。3.3經(jīng)濟(jì)可行性因?yàn)楝F(xiàn)階段企業(yè)管理仍然存在很多問題,仍然存在大家工管理現(xiàn)象,耗時(shí)多,效率低下,極易犯錯(cuò),得不償失,利用計(jì)算機(jī)來管理人事成為了當(dāng)今管理主流方法,開發(fā)一套人事管理系統(tǒng)是很有必需。人事管理水平提升,能夠提升企業(yè)各方面能力綜合提升,利用本系統(tǒng)作為管理系統(tǒng),降低因?yàn)椴僮魇挛镌斐蓴?shù)據(jù)損失,也能夠使企業(yè)在管理方面降低很多費(fèi)用支出,比如實(shí)現(xiàn)了自動(dòng)化操作,能夠分配較少人手去實(shí)施數(shù)據(jù)管理工作,精簡(jiǎn)人員,降低開支。由以上三方面能夠看出,本系統(tǒng)經(jīng)過可行性分析,從多個(gè)方面來考慮,系統(tǒng)開發(fā)工作是可行。4需求分析需求分析又稱為需求調(diào)查,是整個(gè)系統(tǒng)開發(fā)過程關(guān)鍵組成階段,也是一個(gè)系統(tǒng)開發(fā)基礎(chǔ),它明確了這個(gè)系統(tǒng)要實(shí)現(xiàn)什么功效,有哪些模塊,有哪些數(shù)據(jù)是要被輸入到系統(tǒng),最終會(huì)取得什么結(jié)果,要充足分析用戶對(duì)系統(tǒng)要求,對(duì)用戶提出問題進(jìn)行具體分析,搞清楚用戶要求,才能進(jìn)行下一步工作,系統(tǒng)開發(fā)是以需求為引導(dǎo)一個(gè)過程,為了開發(fā)一個(gè)實(shí)用系統(tǒng),首先要進(jìn)行就是需求調(diào)查和需求分析,明確調(diào)查方法,明確調(diào)查目標(biāo)。要了解各個(gè)部門大致工作步驟和工作劃分,因?yàn)殚_發(fā)者和使用者存在著多種多樣問題,提出需求并不一定全部是開發(fā)人員,部分用戶不了解需要實(shí)現(xiàn)功效,只是依據(jù)企業(yè)業(yè)務(wù)需求提出要求,所以在系統(tǒng)設(shè)計(jì)過程中需要二者緊密交流,充足了解對(duì)方業(yè)務(wù)需求和實(shí)際情況,明確用戶需求,進(jìn)行可行性分析,確定系統(tǒng)開發(fā)工作是否能夠進(jìn)行下去,為系統(tǒng)開發(fā)工作提供有力幫助。在對(duì)企業(yè)需求進(jìn)行了充足分析工作后,對(duì)企業(yè)業(yè)務(wù)需求有了一定了解,對(duì)這些需求進(jìn)行整理,并借鑒了軟件工程思想,最終分析出以下需求:4.1功效需求(1)功效完備,實(shí)現(xiàn)足夠多模塊,要了解企業(yè)中各個(gè)部門組成情況和關(guān)鍵業(yè)務(wù),和對(duì)應(yīng)日?;顒?dòng)和職能,充足了解企業(yè)結(jié)構(gòu),一個(gè)完整企業(yè)人事管理系統(tǒng)應(yīng)該包含職員信息統(tǒng)計(jì)、考勤管理、薪資管理、應(yīng)聘管理、請(qǐng)假管理、加班管理、公告、資料共享等,企業(yè)中實(shí)際業(yè)務(wù)全部要考慮到,而且在開發(fā)過程中和使用企業(yè)保持溝通,為企業(yè)量身定制,充足滿足企業(yè)需求。(2)有嚴(yán)格權(quán)限管理機(jī)制,因?yàn)槠髽I(yè)日常工作中會(huì)包含到商業(yè)機(jī)密,職員薪資信息、考勤信息全部要妥善保留,要預(yù)防人為破壞,在系統(tǒng)設(shè)計(jì)中要表現(xiàn)業(yè)務(wù)嚴(yán)謹(jǐn)性,要確保數(shù)據(jù)安全,僅僅設(shè)置兩種身份是不夠,對(duì)部分敏感數(shù)據(jù)操作對(duì)象也要加以限制。4.2性能需求(1)運(yùn)行穩(wěn)定,不易犯錯(cuò),系統(tǒng)在設(shè)計(jì)過程中應(yīng)該以安全和穩(wěn)定運(yùn)行為標(biāo)準(zhǔn),對(duì)錯(cuò)誤輸入要進(jìn)行處理,在處理錯(cuò)誤輸入時(shí)要有良好提醒,避免因?yàn)椴僮鞑煌锥l(fā)系統(tǒng)錯(cuò)誤,造成服務(wù)器宕機(jī)等惡劣后果。(2)性能可靠,有一定安全保護(hù)方法,比如在實(shí)現(xiàn)后臺(tái)方法時(shí),避免使用Statement,要使用PrepareStatement來預(yù)防SQL注入攻擊。(3)在面對(duì)高并發(fā)操作時(shí)仍然含有良好反應(yīng)速度,比如在早晨職員簽到高峰期,和晚上網(wǎng)絡(luò)不好時(shí),也應(yīng)該能夠正常處理數(shù)據(jù)。4.3其它需求(1)易于學(xué)習(xí),系統(tǒng)設(shè)計(jì)過程中應(yīng)該保持注意頁面簡(jiǎn)練,和考慮操作簡(jiǎn)便性,在系統(tǒng)實(shí)施過程中確保使用人員能夠快速上手,降低學(xué)習(xí)成本。(2)設(shè)計(jì)嚴(yán)謹(jǐn),代碼規(guī)范,可擴(kuò)展性好,借鑒MVC設(shè)計(jì)模式,將業(yè)務(wù)層、控制層、顯示層分開實(shí)現(xiàn),方法不應(yīng)該寫在實(shí)體類中,而是要建立接口和實(shí)現(xiàn)類,當(dāng)有一個(gè)模塊需要改變時(shí),能夠只對(duì)該模塊進(jìn)行修改,而不會(huì)對(duì)其它模塊產(chǎn)生影響,便于以后修改維護(hù)和二次開發(fā)。(3)運(yùn)行和維護(hù)成本低,考慮到中小型企業(yè)經(jīng)濟(jì)承受能力,要盡可能降低對(duì)服務(wù)器性能要求盡可能降低資金投入,滿足經(jīng)濟(jì)性要求??偠灾谙到y(tǒng)開發(fā)之前,必需要對(duì)現(xiàn)有系統(tǒng)進(jìn)行調(diào)查,明確需求,確保所作功效符適用戶需求,具體調(diào)查情況,研究現(xiàn)有系統(tǒng)內(nèi)部結(jié)構(gòu),設(shè)計(jì)出一個(gè)正確開發(fā)邏輯模型,為以后開發(fā)打好基礎(chǔ)。避免花費(fèi)大量人力物力,最終卻沒有開發(fā)出讓用戶滿意系統(tǒng)現(xiàn)象發(fā)生。5概要設(shè)計(jì)5.1系統(tǒng)總體設(shè)計(jì)在這個(gè)模塊中使用結(jié)構(gòu)圖來對(duì)本系統(tǒng)進(jìn)行具體描述,樹形結(jié)構(gòu)頂層代表了系統(tǒng)名稱和功效范圍,下面分支則代表對(duì)應(yīng)子集,最底層元素則代表具體功效模塊和系統(tǒng)組成,這些模塊是最小元素,不能再進(jìn)行分割,本系統(tǒng)一共包含十三個(gè)關(guān)鍵模塊,已經(jīng)基礎(chǔ)覆蓋了企業(yè)日常業(yè)務(wù),另外還有一個(gè)附加應(yīng)聘子系統(tǒng),能夠由應(yīng)聘人員注冊(cè)賬號(hào)并登錄,能夠填寫自己應(yīng)聘信息,和查看企業(yè)全部職位,還能夠使用部分通用功效,和查看自己是否被錄用等等,不過這個(gè)系統(tǒng)是相對(duì)于主系統(tǒng)獨(dú)立,不能進(jìn)入主系統(tǒng)界面,為了確保系統(tǒng)安全性,設(shè)計(jì)這個(gè)隸屬系統(tǒng)原因是考慮到招聘錄入資料工作較為繁瑣,能夠讓應(yīng)聘者自行登錄,進(jìn)行資料填寫,作為主系統(tǒng)補(bǔ)充,能夠讓整個(gè)系統(tǒng)變得更為完善。本系統(tǒng)總體設(shè)計(jì)圖圖5-1所表示。企業(yè)人事管理系統(tǒng)企業(yè)人事管理系統(tǒng)系統(tǒng)設(shè)置通用功效資料共享加班管理請(qǐng)假管理出勤管理獎(jiǎng)懲管理公告系統(tǒng)薪資管理職位管理部門管理應(yīng)聘管理系統(tǒng)設(shè)置通用功效資料共享加班管理請(qǐng)假管理出勤管理獎(jiǎng)懲管理公告系統(tǒng)薪資管理職位管理部門管理應(yīng)聘管理職員信息圖5-1人事系統(tǒng)總體結(jié)構(gòu)圖5.2各個(gè)模塊設(shè)計(jì)本系統(tǒng)共有十三個(gè)功效模塊,基礎(chǔ)已經(jīng)覆蓋了企業(yè)日常全部業(yè)務(wù),各個(gè)模塊實(shí)現(xiàn)功效有:(1)部門管理:能夠分頁查看企業(yè)全部部門列表,點(diǎn)擊查看部門具體信息,和查詢部門信息,管理員則能夠進(jìn)行添加部門,和修改部門信息,同時(shí)能夠查看該部門有多少職員,能夠查看職員具體信息,部門不能刪除。(2)職位管理:職員能夠查看企業(yè)全部職位和查看職位具體信息,查詢職位,管理員則能夠增加職位,和修改職位信息,管理員能夠查看每個(gè)職位有多少個(gè)職員,并能夠查看這些職員具體信息。(3)職員信息:職員信息是整個(gè)系統(tǒng)最關(guān)鍵組成部分,職員能夠查看自己信息,和對(duì)信息進(jìn)行修改,不過不能查看其它人信息,管理員則能夠查詢和查看全部職員信息,不過不能修改。(4)招聘管理:本模塊是專門為招聘人員設(shè)計(jì),而且一般用戶無法進(jìn)入到該頁面查看里面內(nèi)容,管理員能夠添加應(yīng)聘人員信息,修改應(yīng)聘人員信息,和查詢某個(gè)應(yīng)聘人員信息,還能夠依據(jù)應(yīng)聘人員處理狀態(tài)進(jìn)行分類查看,如:未處理、未錄用、已錄用。(5)薪資管理:職員能夠查看自己薪資統(tǒng)計(jì),管理員能夠增加薪資信息,為了確保數(shù)據(jù)完整性,薪資管理沒有提供修改方法,只能刪除。(6)公告管理:為了方便企業(yè)業(yè)務(wù),職員身份也能夠公布公告,管理員則能夠修改公告和刪除公告。(7)獎(jiǎng)懲管理:職員能夠查看和查詢獎(jiǎng)懲方法列表和查看獎(jiǎng)懲措施詳情,管理員能夠?qū)Κ?jiǎng)懲信息進(jìn)行增加、修改和刪除。(8)出勤管理:職員天天進(jìn)行簽到,而且能夠按月份查看自己簽到信息,出勤信息不能修改,不能手動(dòng)增加,只有超級(jí)管理員能夠刪除出勤統(tǒng)計(jì)。(9)請(qǐng)假管理:職員能夠申請(qǐng)請(qǐng)假,內(nèi)容有請(qǐng)假天數(shù),開始時(shí)間,理由等,和查詢自己請(qǐng)假信息,請(qǐng)假信息初始為未處理狀態(tài),管理員能夠處理請(qǐng)假申請(qǐng),和查詢、刪除請(qǐng)假統(tǒng)計(jì)。(10)加班管理:職員能夠添加加班統(tǒng)計(jì),添加后不能修改,管理員能夠?qū)影嘈畔⑦M(jìn)行修改和刪除。(11)資料共享:全部些人全部能夠上傳和下載資料,方便企業(yè)資料傳輸和交流,不過只有管理員能夠刪除。(12)通用功效:打開系統(tǒng)自帶計(jì)算器軟件,方便日常使用。(13)系統(tǒng)設(shè)置:能夠修改職員身份,和新建帳號(hào)、修改權(quán)限、禁用賬號(hào)。5.3應(yīng)聘子系統(tǒng)設(shè)計(jì)為了方便人事人員日常工作,考慮到錄入大量應(yīng)聘人員資料是一個(gè)很繁瑣工作,不如讓應(yīng)聘人員自己注冊(cè)賬號(hào),登錄系統(tǒng)進(jìn)行應(yīng)聘資料填寫,基于這個(gè)想法,在采納了指導(dǎo)老師意見后,開發(fā)了企業(yè)人事管理系統(tǒng)隸屬子系統(tǒng):應(yīng)聘系統(tǒng),作為主系統(tǒng)補(bǔ)充,能夠由應(yīng)聘人員自己注冊(cè)賬號(hào)進(jìn)行登錄,填寫自己應(yīng)聘資料,同時(shí)應(yīng)聘人員能夠查看企業(yè)全部職位,不過這個(gè)系統(tǒng)是相對(duì)于主系統(tǒng)獨(dú)立,不能進(jìn)入到主系統(tǒng)界面,確保了主系統(tǒng)安全,具體組成圖5-2所表示。應(yīng)聘子系統(tǒng)應(yīng)聘子系統(tǒng)應(yīng)聘資料查看結(jié)果企業(yè)職位信息應(yīng)聘資料查看結(jié)果企業(yè)職位信息修改信息查看職位填寫信息修改信息查看職位填寫信息圖5-2隸屬應(yīng)聘子系統(tǒng)總體結(jié)構(gòu)圖子系統(tǒng)功效介紹:(1)應(yīng)聘資料:應(yīng)聘人員能夠填寫自己應(yīng)聘信息,而且能夠修改信息,能夠查看自己是否被錄用。(2)企業(yè)職位信息:應(yīng)聘人員能夠查看企業(yè)全部職位,不能進(jìn)行修改。6數(shù)據(jù)庫設(shè)計(jì)6.1數(shù)據(jù)分析數(shù)據(jù)分析是數(shù)據(jù)庫在設(shè)計(jì)之前就要考慮第一個(gè)步驟,設(shè)計(jì)者要分析數(shù)據(jù)庫物理結(jié)構(gòu)和邏輯結(jié)構(gòu),確定需要獲取哪些信息,以一個(gè)直接、分類方法來捕捉用戶信息。在本系統(tǒng)中,最為直觀對(duì)象就是職員,經(jīng)過職員表將其它各個(gè)表連接起來,來實(shí)現(xiàn)對(duì)職員信息綜合管理,是本系統(tǒng)設(shè)計(jì)思緒。在系統(tǒng)設(shè)計(jì)過程中使用信息建模技術(shù),經(jīng)過實(shí)體、關(guān)系、屬性這三個(gè)最關(guān)鍵原因來確定對(duì)象,實(shí)體是在系統(tǒng)使用中需要維護(hù)相關(guān)特征集合,屬性是這些實(shí)體特征和特征,而最終關(guān)系則是各個(gè)實(shí)體之間聯(lián)絡(luò),關(guān)系為各個(gè)實(shí)體之間聯(lián)絡(luò)建立了基礎(chǔ)。經(jīng)過之前一系列分析,依據(jù)各個(gè)實(shí)體之間關(guān)系,設(shè)計(jì)出本系統(tǒng)數(shù)據(jù)表結(jié)構(gòu),本系統(tǒng)數(shù)據(jù)庫E-R圖圖6-1所表示。查看查看資料職位應(yīng)聘部門資料職位應(yīng)聘部門上傳擁有公告上傳擁有公告屬于屬于公布處理公布處理制訂獎(jiǎng)懲請(qǐng)假申請(qǐng)用戶制訂獎(jiǎng)懲請(qǐng)假申請(qǐng)用戶發(fā)放屬于生成申請(qǐng)發(fā)放屬于生成申請(qǐng)薪資薪資加班加班角色出勤角色出勤 圖6-1數(shù)據(jù)庫E-R圖6.2數(shù)據(jù)表實(shí)現(xiàn)數(shù)據(jù)庫是每個(gè)系統(tǒng)必不可少組成部分,在系統(tǒng)實(shí)際使用過程中,不可能直接調(diào)用數(shù)據(jù)庫中信息,而是要經(jīng)過JDBC技術(shù)去取得數(shù)據(jù)庫中信息,所以必需將軟件設(shè)計(jì)概念轉(zhuǎn)化為數(shù)據(jù)表去操作數(shù)據(jù),要將其轉(zhuǎn)換為邏輯結(jié)構(gòu)[12]。本系統(tǒng)使用SqlServer作為數(shù)據(jù)庫使用,一共有十二張數(shù)據(jù)表。(1)部門表(department):統(tǒng)計(jì)各個(gè)部分具體信息。(2)職位表(position):保留企業(yè)職位信息,和進(jìn)行修改。(3)用戶信息表(userinfo):是整個(gè)系統(tǒng)中最關(guān)鍵表,統(tǒng)計(jì)了系統(tǒng)全部使用者信息。(4)應(yīng)聘信息表(candidate):為人事部設(shè)計(jì),專門用來招聘工作使用。(5)公告表(news):更新和公布、刪除公告。(6)薪資表(salary):統(tǒng)計(jì)每個(gè)職員每個(gè)月薪資信息。(7)獎(jiǎng)懲方法表(jc):明確企業(yè)中對(duì)于每個(gè)獎(jiǎng)懲措施處理情況,使企業(yè)辦事愈加公開透明,有利于企業(yè)內(nèi)部團(tuán)結(jié)。(8)出勤統(tǒng)計(jì)表(attendancerecord):統(tǒng)計(jì)每個(gè)職員天天出勤情況,職員天天簽到統(tǒng)計(jì)全部保留在這張表中,每人天天只能插入一條數(shù)據(jù)。(9)請(qǐng)假表(leaves):職員能夠在這個(gè)表中統(tǒng)計(jì)請(qǐng)假信息和請(qǐng)假申請(qǐng),并由管理員負(fù)責(zé)處理這些請(qǐng)假信息。(10)資料共享表(datum):每個(gè)職員全部能夠自由上傳和分享資料,而且能夠下載,方便企業(yè)中資料流傳,有利于職員日常交流。(11)加班表(extrawork):統(tǒng)計(jì)每個(gè)職員加班信息,用作月末時(shí)計(jì)算工資使用。(12)角色表(roles):保留了系統(tǒng)中全部身份,用來實(shí)現(xiàn)權(quán)限控制。保留在cpmns.MDF文件中,這些表分工明確,分別統(tǒng)計(jì)了不一樣數(shù)據(jù),共同為系統(tǒng)運(yùn)行提供支持。下面將對(duì)數(shù)據(jù)庫中各個(gè)表內(nèi)容做出具體解釋。(1)部門表Department部門表包含部門ID,部門名稱、部門責(zé)任人、部門聯(lián)絡(luò)電話、部門創(chuàng)建時(shí)間這多個(gè)信息,部門ID被userinfo表作為外鍵引入,每個(gè)職員全部有自己部門,職員表經(jīng)過引入部門外鍵能夠查看部門具體信息和進(jìn)行相關(guān)統(tǒng)計(jì)工作,部門表具體設(shè)計(jì)如表6-1所表示。表6-1部門表Department字段名數(shù)據(jù)類型是否主鍵有沒有外鍵描述didintYes部門IDdepartmentnamevarchar(20)部門名稱managervarchar(10)責(zé)任人telvarchar(11)部門電話createtimevarchar(50)創(chuàng)建時(shí)間(2)職位表Position保留企業(yè)中全部職位和信息,如ID、職位名稱、添加時(shí)間等、并作為用戶表外鍵引入,每個(gè)用戶全部有一個(gè)職位,創(chuàng)建時(shí)間不能修改,具體設(shè)計(jì)如表6-2所表示。表6-2職位信息表Position字段名數(shù)據(jù)類型是否主鍵有沒有外鍵描述pidintYes職位IDpositionnamevarchar(20)職位名稱memovarchar(80)備注addtimevarchar(50)創(chuàng)建時(shí)間(3)公告表News公告表用來保留公布公告,能夠統(tǒng)計(jì)公布者名字,公布時(shí)間等信息,表中引入了用戶表userinfo中userid作為外鍵,在添加公告時(shí)能夠統(tǒng)計(jì)公布者名字,能夠保留企業(yè)中公告信息,具體設(shè)計(jì)如表6-3所表示。表6-3公告表News字段名數(shù)據(jù)類型是否主鍵有沒有外鍵描述idintYes公告IDnewstitlevarchar(20)公告標(biāo)題useridvarchar(20)Userinfo(userid)公布者IDnewstimedatetime公布時(shí)間newscontentvarchar(500)公告內(nèi)容(4)用戶表Userinfo用戶表是企業(yè)中保留實(shí)際使用者表,設(shè)計(jì)最為復(fù)雜,保留了用戶全部信息,職員用來登錄帳號(hào)密碼也保留在此表中,每個(gè)使用者全部有一個(gè)身份信息,表中isuseable字段代表了該帳號(hào)是否可用,默認(rèn)為1,假如是0則帳號(hào)無法使用。因?yàn)橛脩舯硎钦麄€(gè)系統(tǒng)中最為關(guān)鍵信息,假如刪除會(huì)造成其它數(shù)據(jù)出現(xiàn)異常,所以不能刪除,只能禁用,pid則對(duì)應(yīng)職位表中職位ID,代表職員在企業(yè)中職位。具體設(shè)計(jì)如表6-4所表示。表6-4用戶表Userinfo字段名數(shù)據(jù)類型是否主鍵有沒有外鍵描述useridintYes職員IDuaccountvarchar(20)帳號(hào)upasswordvarchar(20)密碼isuseableint是否可用personnamevarchar(20)姓名sexvarchar(5)性別ageint年紀(jì)cardidvarchar(18)身份證號(hào)visagevarchar(20)政治面貌ancestralhomevarchar(20)籍貫borndatedatetime出生日期schoolvarchar(20)畢業(yè)院校Majorvarchar(10)專業(yè)Schoolingvarchar(10)學(xué)歷Telvarchar(11)電話Homeaddressvarchar(50)住址departmentidintdepartment(did)所屬部門intimedatetime入職時(shí)間pidintposition(pid)職位外鍵ridintrole(rid)角色外鍵memovarchar(50)備注leavetimedatetime離職時(shí)間(5)薪資表Salary薪資表用來保留職員每個(gè)月薪資信息,包含發(fā)放時(shí)間、基礎(chǔ)工資、獎(jiǎng)金、罰金和備注信息等,具體設(shè)計(jì)如表6-5所表示。表6-5薪資表Salary字段名數(shù)據(jù)類型是否主鍵有沒有外鍵描述idintYes薪資IDuseridintuserinfo(userid)職員編號(hào)paymonthdatetime發(fā)放日期basemoneydecimal基礎(chǔ)工資rewarddecimal獎(jiǎng)金forfeitdecimal罰金totalmoneydecimal實(shí)際薪資memovarchar(50)備注(6)應(yīng)聘信息表Candidate為了方便人事部招聘工作,設(shè)計(jì)了這個(gè)應(yīng)聘信息表,用來統(tǒng)計(jì)全部應(yīng)聘者信息,對(duì)應(yīng)聘人員進(jìn)行篩選,該表保留了應(yīng)聘者全部信息,在隸屬子系統(tǒng)中,應(yīng)聘人員能夠使用帳號(hào)和密碼進(jìn)行登錄,并能夠查看自己是否被錄用。具體設(shè)計(jì)如表6-6所表示,應(yīng)聘人員登錄信息全部存放在這張表中,便于管理員進(jìn)行操作。表6-6應(yīng)聘表Candidate字段名數(shù)據(jù)類型是否主鍵有沒有外鍵描述idintYes應(yīng)聘者IDcanaccountvarchar(20)帳號(hào)canpasswordvarchar(20)密碼cannamevarchar(20)應(yīng)聘者名字sexvarchar(5)性別ageint年紀(jì)borndatedatetime出生日期schoolvarchar(20)畢業(yè)院校majorvarchar(20)專業(yè)schoolingvarchar(10)學(xué)歷experiencevarchar(20)工作經(jīng)驗(yàn)telvarchar(11)電話homeaddressvarchar(50)住址memovarchar(200)備注createtimedatetime創(chuàng)建時(shí)間positionnamevarchar(20)應(yīng)聘職位ispassint是否經(jīng)過(7)獎(jiǎng)懲方法表Jc獎(jiǎng)懲方法表統(tǒng)計(jì)了企業(yè)對(duì)于多種獎(jiǎng)懲方法具體實(shí)施措施,職員在出現(xiàn)這類情況時(shí),能夠依據(jù)這些信息進(jìn)行具體獎(jiǎng)懲措施實(shí)施,能夠使辦事制度公開透明化,有利于企業(yè)團(tuán)結(jié)和凝聚力,具體設(shè)計(jì)以下,具體設(shè)計(jì)如表6-7所表示。表6-7獎(jiǎng)懲方法表Jc字段名數(shù)據(jù)類型是否主鍵有沒有外鍵描述idintYes獎(jiǎng)懲方法IDjctypeint獎(jiǎng)懲類別jcnamevarchar(20)獎(jiǎng)懲名稱jcmoneydecimal獎(jiǎng)懲金額memovarchar(50)備注addtimedatetime創(chuàng)建時(shí)間(8)出勤統(tǒng)計(jì)表Attendancerecord出勤信息表統(tǒng)計(jì)了全部職員日常簽到信息,全部職員簽到統(tǒng)計(jì)全部保留在這張表中,統(tǒng)計(jì)天天出勤信息,錄入時(shí)間時(shí)調(diào)用GETDATE()變量,錄入時(shí)間晚于9點(diǎn)則視為當(dāng)日遲到,具體設(shè)計(jì)如表6-8所表示。表6-8出勤統(tǒng)計(jì)Attendancerecord字段名數(shù)據(jù)類型是否主鍵有沒有外鍵描述idintYes出勤編號(hào)useridintuserinfo(userid)職員編號(hào)attendancetimedatetime簽到時(shí)間flagint是否遲到(9)請(qǐng)假表Leaves為了愈加好管理職員請(qǐng)假統(tǒng)計(jì),設(shè)計(jì)了請(qǐng)假表,該表保留了全部請(qǐng)假信息,包含申請(qǐng)人,申請(qǐng)時(shí)間,離開時(shí)間,理由,和處理人和處理時(shí)間等信息,添加請(qǐng)假統(tǒng)計(jì)時(shí)默認(rèn)為未處理狀態(tài),處理時(shí)能夠保留處理人信息,系統(tǒng)中能夠依據(jù)月份計(jì)算出每個(gè)月每名職員請(qǐng)假次數(shù),管理員能夠依據(jù)職員每個(gè)月請(qǐng)假次數(shù)來進(jìn)行工資發(fā)放,具體設(shè)計(jì)如表6-9所表示。表6-9請(qǐng)假表Leaves字段名數(shù)據(jù)類型是否主鍵有沒有外鍵描述idintYes請(qǐng)假編號(hào)useridintuserinfo(userid)職員編號(hào)applytimedatetime申請(qǐng)時(shí)間leavetimedatetime離開時(shí)間daycountint離開天數(shù)reasonvarchar(50)理由ispassedint是否同意dealidintuserinfo(userid)處理人dealtimedatetime處理時(shí)間memovarchar(50)備注(10)資料共享表Datum資料共享列表能夠統(tǒng)計(jì)全部資料上傳者信息,和資料名稱,上傳時(shí)間等信息,上傳資料相關(guān)信息會(huì)統(tǒng)計(jì)到這張表上,作為管理員管理資料依據(jù),具體設(shè)計(jì)如表6-10所表示。表6-10資料共享Datum字段名數(shù)據(jù)類型是否主鍵有沒有外鍵描述IdintYes資料編號(hào)Useridintuserinfo(userid)職員編號(hào)Datumnamevarchar(100)資料名稱Uploadtimedatetime上傳時(shí)間(11)加班信息表Extrawork幾乎全部企業(yè)全部存在加班情況,所以本系統(tǒng)設(shè)計(jì)了加班信息表,統(tǒng)計(jì)了加班信息,如加班人、加班開始時(shí)間、加班時(shí)長(zhǎng)、加班費(fèi)等,加班信息表數(shù)據(jù)最終會(huì)作為工資發(fā)放依據(jù)之一。具體設(shè)計(jì)如表6-11所表示。表6-11加班信息表Extrawork字段名數(shù)據(jù)類型是否主鍵有沒有外鍵描述idintYes加班編號(hào)useridintuserinfo(userid)用戶編號(hào)starttimedatetime開始時(shí)間extratimeint加班時(shí)長(zhǎng)extramoneydecimal加班費(fèi)memovarchar(50)備注(12)角色表Roles角色表存放了本系統(tǒng)中所用到角色,在UserInfo表中引入該表作為外鍵,用來實(shí)現(xiàn)系統(tǒng)權(quán)限控制功效,具體設(shè)計(jì)如表6-12所表示。表6-12角色表Roles字段名數(shù)據(jù)類型是否主鍵有沒有外鍵描述ridintYes角色編號(hào)rolenamevarchar(10)角色名稱7系統(tǒng)實(shí)現(xiàn)本系統(tǒng)關(guān)鍵包含十一大模塊,另外還有一個(gè)應(yīng)聘系統(tǒng)作為本系統(tǒng)隸屬系統(tǒng)使用,在每個(gè)模塊中依據(jù)具體業(yè)務(wù)需求,分情況加入了對(duì)應(yīng)增刪改查操作,以下將對(duì)這些模塊實(shí)現(xiàn)方法進(jìn)行具體介紹。7.1各個(gè)模塊實(shí)現(xiàn)(1)登錄界面作為一個(gè)系統(tǒng)入口,尤其是企業(yè)中使用需要一定保密程度系統(tǒng),對(duì)登錄人員驗(yàn)證是必不可少,在本系統(tǒng)中,假如想要訪問主界面,就必需要進(jìn)行身份驗(yàn)證,本系統(tǒng)登錄界面圖所表示,只有成功經(jīng)過了驗(yàn)證,才能訪問主界面,本模塊對(duì)應(yīng)數(shù)據(jù)庫中userinfo數(shù)據(jù)庫,在輸入賬號(hào)和密碼后,會(huì)由一個(gè)form表單提交給后臺(tái)進(jìn)行驗(yàn)證,后臺(tái)處理文件為L(zhǎng)oginServlet,在后臺(tái)中使用request.getparameter()方法得到兩個(gè)輸入框中得到用戶輸入信息,然后引入U(xiǎn)serDao實(shí)現(xiàn)子類UserDaoImpl,在登錄時(shí)首先檢驗(yàn)用戶名密碼是否正確,用戶表中有沒有該用戶,sql語句為:selectupasswordfromuserinfowhereuaccount=?。將輸入用戶名和密碼輸入,假如沒有得到User對(duì)象則登錄失敗。假如經(jīng)過驗(yàn)證,登錄成功時(shí)會(huì)新建一個(gè)user類,調(diào)用登錄方法:select*fromuserinfowhereuaccount=?andupassword=?,從數(shù)據(jù)庫中得到該賬號(hào)信息,假如返回user不為空,則說明數(shù)據(jù)庫中存在該角色,然后需要判定該帳號(hào)是否已被禁用,假如已經(jīng)被禁用,則嚴(yán)禁該賬戶登錄,調(diào)用sessionsession.setattribute()[13]方法創(chuàng)建會(huì)話,里面裝有登錄用戶信息,用來保持該賬號(hào)登錄狀態(tài),方便進(jìn)行其它操作。登錄界面圖7-1所表示。圖7-1登錄界面(2)系統(tǒng)主界面在成功驗(yàn)證了登錄身份后,就能夠進(jìn)入到主界面,主界面由導(dǎo)航欄和左功效條組成,主頁能夠顯示一條最新公告,關(guān)鍵功效模塊全部在主界面上顯示,包含職員信息、應(yīng)聘管理、部門信息等,左功效條則是考勤信息、公告系統(tǒng)和資料共享系統(tǒng),除此之為還為右上角能夠顯示登錄人員名稱,顯得更為人性化。在前臺(tái)頁面結(jié)構(gòu)中,使用了DIV+CSS布局,這種布局好處是能夠把代碼和顯示格式分來,讓編程人員能夠?qū)W⒂趯?shí)現(xiàn)功效,而不用受到布局格式干擾,使整個(gè)頁面顯得更為簡(jiǎn)練,因?yàn)轫撁鎸?dǎo)航欄和左功效條全部是通用,每個(gè)頁面全部要引入這兩個(gè)模塊,所以本系統(tǒng)使用兩個(gè)jsp文件構(gòu)建前臺(tái),一個(gè)是Top.jsp,一個(gè)是Left.jsp,在系統(tǒng)每個(gè)前臺(tái)頁面中使用兩條語句引入這兩個(gè)jsp文件,達(dá)成頁面復(fù)用效果,實(shí)現(xiàn)代碼以下。<jsp:includepage="Top.jsp"flush="true"/><jsp:includepage="Left.jsp"flush="true"/>這兩條語句會(huì)引入每個(gè)頁面所共用Top和Left部分jsp文件,無須再每個(gè)頁面全部反復(fù)添加代碼,假如需要修改界面,只需要修改一個(gè),全部界面就會(huì)發(fā)生改變,無須再每個(gè)全部作出修改,方便,提升了頁面復(fù)用性,使前臺(tái)頁面結(jié)構(gòu)變得愈加合理。主界面圖7-2所表示。圖7-2系統(tǒng)主界面圖(3)職員信息職員信息管理是整個(gè)系統(tǒng)中最為關(guān)鍵,也是最關(guān)鍵組成部分,職員在登錄成功后,能夠點(diǎn)擊職員信息中“查看個(gè)人信息”進(jìn)行個(gè)人具體信息查看,會(huì)展示出來用戶全部信息,如姓名、年紀(jì)、性別、政治面貌、籍貫、住址等等信息,本模塊對(duì)應(yīng)數(shù)據(jù)庫中userinfo數(shù)據(jù)庫,假如需要修改信息,能夠進(jìn)入到“修改個(gè)人信息”頁面進(jìn)行修改。一般職員只能進(jìn)行個(gè)人信息查看和修改操作,管理員在驗(yàn)證身份后,則能夠進(jìn)入到信息綜合管理中,查詢某個(gè)職員信息并進(jìn)行具體信息查看。該模塊實(shí)現(xiàn)過程是在前臺(tái)加入一個(gè)form表單,并使用name屬性將表單中各個(gè)輸入框中內(nèi)容加以標(biāo)識(shí),在Employee_info.jsp中使用session.getparameter()方法得到登錄用戶實(shí)體類,然后使用UserInfoDaoImpl類中方法進(jìn)行實(shí)現(xiàn),將數(shù)據(jù)保留到數(shù)據(jù)庫中,假如需要輸出數(shù)據(jù),則調(diào)用findUserById()方法,實(shí)現(xiàn)關(guān)鍵sql語句為:select*fromuserinfowhereuserid=?;使用preparedstatement中setObject()方法傳入數(shù)據(jù),將問號(hào)替換為職員編號(hào),sql語句處理結(jié)束后會(huì)返回一個(gè)User類,使用setAttribute()方法拿到對(duì)應(yīng)職員信息,在前臺(tái)頁面使用<%=user.getuserid%>語句拿到用戶全部信息,職員信息界面圖7-3所表示。圖7-3職員信息界面(4)應(yīng)聘管理應(yīng)聘管理也是系統(tǒng)關(guān)鍵組成部分之一,因?yàn)槿瞬殴芾硪彩菍?duì)企業(yè)未來生命管理,假如企業(yè)不主動(dòng)引入人才,企業(yè)將會(huì)變得岌岌可危,這個(gè)模塊是專門為管理人員設(shè)計(jì),在點(diǎn)擊時(shí)會(huì)觸發(fā)身份驗(yàn)證方法,該方法會(huì)判定操作者身份,需要管理員或管理員以上身份才能進(jìn)入,一般用戶無權(quán)進(jìn)行操作,本模塊對(duì)應(yīng)數(shù)據(jù)庫中candidate數(shù)據(jù)庫,能夠保留應(yīng)聘者全部信息,管理員能夠進(jìn)行增加應(yīng)聘信息操作,在后臺(tái)頁面使用request.getparameter()方法得到輸入數(shù)據(jù),使用CaididateDao中實(shí)現(xiàn)類CandidateDaoImpl類中addCandidate()方法,將數(shù)據(jù)存放到數(shù)據(jù)庫中,還能夠修改應(yīng)聘信息,和查看未處理應(yīng)聘信息、未經(jīng)過應(yīng)聘信息、已錄用應(yīng)聘信息,這些信息分類實(shí)現(xiàn)方法為在顯示時(shí)候,會(huì)判定應(yīng)聘表處理狀態(tài)。未處理表單查詢語句為:select*fromcandidatewhereispassed=1;未錄用表單查詢語句為:select*fromcandidatewhereispassed=2;已錄用表單查詢語句為:select*fromcandidatewhereispassed=3;本模塊提供了刪除操作,對(duì)應(yīng)操作全部會(huì)進(jìn)入到后臺(tái)進(jìn)行處理。應(yīng)聘人員資料填寫界面圖7-4所表示。圖7-4應(yīng)聘資料填寫界面圖(5)部門管理本模塊對(duì)應(yīng)數(shù)據(jù)庫中department數(shù)據(jù)庫,用來保留企業(yè)中部門具體信息,包含部門名稱、創(chuàng)建時(shí)間、責(zé)任人、電話等信息,職員只能進(jìn)行部門查看操作,管理員能夠增加部門,和修改部門信息操作,本模塊沒有提供部門刪除功效,因?yàn)樵诼殕T信息表中引入了該表外鍵,假如刪除部門,會(huì)造成職員信息數(shù)據(jù)異常,而且在調(diào)查中發(fā)覺,解除部門這種現(xiàn)象在企業(yè)中極為少見,所以沒有提供刪除功效,只有修改功效,在部門管理界面還能夠顯示部門職員數(shù)量,和顯示該部門職員列表,實(shí)現(xiàn)語句為:selectCOUNT(userid)fromuserinfowheredepartmentid=?,該語句會(huì)統(tǒng)計(jì)出該職位職員數(shù)量。部門模塊實(shí)現(xiàn)過程為在添加部門時(shí),有一個(gè)form表單,會(huì)依據(jù)name屬性統(tǒng)計(jì)輸入內(nèi)容,后臺(tái)會(huì)使用request.getparameter()方法得到這些值,然后調(diào)用DepartmentDao實(shí)現(xiàn)類DepartmentDaoImpl類中addDepartment()方法將數(shù)據(jù)插入到數(shù)據(jù)表中,進(jìn)而實(shí)現(xiàn)整個(gè)部門模塊業(yè)務(wù),界面圖7-5所表示。圖7-5部門信息界面圖(6)職位管理本模塊對(duì)應(yīng)數(shù)據(jù)庫中position表,職員能夠查看企業(yè)中全部職位具體信息,如名稱、創(chuàng)建時(shí)間、備注等,并能夠進(jìn)行查詢操作,查詢sql語句為:select*frompositionwherepositionname=?。語句使用了preparestatement類,后面問號(hào)在實(shí)施時(shí)候會(huì)被preparedstatementdsetObect[]{},里面存放變量經(jīng)過下標(biāo)替換,替換后就會(huì)變成能夠讓數(shù)據(jù)庫實(shí)施SQL語句,然后實(shí)施該語句,將數(shù)據(jù)存入到數(shù)據(jù)庫中,管理員則能夠添加企業(yè)職位信息,和修改職位信息。本模塊沒有提供職位刪除功效,在需求調(diào)查中發(fā)覺,撤銷某個(gè)職位業(yè)務(wù)在企業(yè)中基礎(chǔ)不存在,而且假如刪除某個(gè)職位,那么引入這個(gè)外鍵全部職員信息全部將出現(xiàn)數(shù)據(jù)異常情況,所以沒有提供刪除方法。在職位管理界面能夠查看到該職位共有多少名職員,而且能夠點(diǎn)擊查看對(duì)應(yīng)職員具體信息,職位管理界面圖7-6所表示。圖7-6職位管理界面圖(7)薪資信息本模塊對(duì)應(yīng)數(shù)據(jù)庫中salary表,職員能夠查看自己工資統(tǒng)計(jì),和查詢歷史統(tǒng)計(jì),管理員能夠添加工資、查詢某個(gè)職員工資統(tǒng)計(jì),本模塊提供了工資統(tǒng)計(jì)刪除功效,能夠?qū)β殕T工資統(tǒng)計(jì)進(jìn)行刪除操作,查詢工資只能由超級(jí)管理員進(jìn)行,因?yàn)樵谄髽I(yè)中,薪資是嚴(yán)格保密,不能隨便查閱,薪資刪除操作也只能由超級(jí)管理員身份來完成,因?yàn)楣芾韱T可能會(huì)有很多,假如管理員身份就能夠進(jìn)行工資統(tǒng)計(jì)刪除操作,可能會(huì)有些人惡意刪除薪資統(tǒng)計(jì),造成數(shù)據(jù)丟失,不過刪除功效是確實(shí)需要,所以把刪除權(quán)限開放給超級(jí)管理員,只有超級(jí)管理員能夠進(jìn)行薪資統(tǒng)計(jì)刪除操作。職員能夠查看自己薪資統(tǒng)計(jì),管理員則能夠進(jìn)入數(shù)據(jù)錄入界面,在錄入工資時(shí)候,能夠查看到當(dāng)月該職員全部考勤信息,如請(qǐng)假時(shí)長(zhǎng)、遲到次數(shù)、加班時(shí)長(zhǎng)等,并能夠依據(jù)這些信息,依靠獎(jiǎng)懲措施錄入工資,薪資錄入界面圖7-7所表示。圖7-7薪資信息錄入界面圖(8)獎(jiǎng)懲措施管理本模塊對(duì)應(yīng)數(shù)據(jù)庫中jc數(shù)據(jù)表,職員能夠查詢企業(yè)中對(duì)多種需要進(jìn)行獎(jiǎng)勵(lì)和處罰情況所作出具體要求,管理員則能夠進(jìn)行增加獎(jiǎng)懲措施、修改獎(jiǎng)懲措施、刪除獎(jiǎng)懲措施操作。本模塊實(shí)現(xiàn)過程是在頁面中新建一個(gè)form表單,將需要輸入內(nèi)容全部包含在表單之中,經(jīng)過name屬性區(qū)分每個(gè)輸入框輸入內(nèi)容,在后臺(tái)使用request.getparameter()方法取得輸入各個(gè)輸入框中內(nèi)容,然后使用JcDao接口JcDaoImpl實(shí)現(xiàn)類里addJc()方法添加獎(jiǎng)懲信息,統(tǒng)計(jì)獎(jiǎng)懲信息時(shí)會(huì)自動(dòng)生成添加時(shí)間,取得時(shí)間語句為newSimpleDateFormat(“yyyy-MM-ddHH:mm:ss”).format(newDate());插入獎(jiǎng)懲措施sql語句為:insertjcvalues(?,?,?,?,?),newObject[]{};用preparedstatement中setObject方法替換sql語句中問號(hào),并將數(shù)據(jù)存放到數(shù)據(jù)庫中,獎(jiǎng)懲信息錄入界面圖7-8所表示。圖7-8薪資信息錄入界面圖(9)系統(tǒng)設(shè)置在此模塊中,職員能夠修改登錄密碼,在更改密碼時(shí)需要輸入原密碼,而且兩次輸入新密碼需要一致,管理員能夠創(chuàng)建新賬號(hào)為新職員使用,不過最高只能創(chuàng)建管理員身份用戶,這是考慮了系統(tǒng)數(shù)據(jù)安全問題后做出實(shí)現(xiàn)方法,這么能夠確保數(shù)據(jù)安全,假如任意管理員身份全部能夠創(chuàng)建超級(jí)管理員賬號(hào),會(huì)對(duì)系統(tǒng)數(shù)據(jù)安全造成隱患,假如需要?jiǎng)?chuàng)建超級(jí)管理員身份,就需要用超級(jí)管理員賬號(hào)在權(quán)限修改界面將權(quán)限修改為超級(jí)管理員,管理員能夠查看職員權(quán)限情況,并能夠最高修改為管理員身份,不能修改為超級(jí)管理員身份,能夠?qū)~號(hào)做出禁用操作,禁用賬號(hào)不能登錄系統(tǒng)。實(shí)現(xiàn)方法為在form表單中輸入需要修改職員姓名,輸入需要修改身份,將數(shù)據(jù)提交到后臺(tái),使用preparedstatementsetObject方法將問號(hào)替換,實(shí)施修改操作,增加賬號(hào)界面圖7-9所表示。圖7-9添加賬號(hào)界面圖(10)考勤系統(tǒng)本模塊對(duì)應(yīng)數(shù)據(jù)庫中attendance數(shù)據(jù)表,簽到在每個(gè)企業(yè)中全部是必需要有一個(gè)功效,為此本系統(tǒng)加入了此模塊,職員在天天進(jìn)入到企業(yè)后,需要登錄本系統(tǒng),點(diǎn)擊簽到按鈕進(jìn)行簽到,點(diǎn)擊按鈕時(shí)觸發(fā)事件,在將簽到信息保留到數(shù)據(jù)庫時(shí)會(huì)進(jìn)行驗(yàn)證,先查詢?cè)撡~號(hào)在當(dāng)日簽到統(tǒng)計(jì),假如查詢到結(jié)果,證實(shí)該賬號(hào)今天已經(jīng)進(jìn)行簽到了,會(huì)提醒用戶不要反復(fù)簽到,假如是當(dāng)日第一次簽到,則會(huì)獲取簽到時(shí)時(shí)間,并保留到數(shù)據(jù)庫中,并對(duì)簽到時(shí)間做出判定,假如簽到時(shí)間晚于早上9點(diǎn),則認(rèn)為該職員遲到,設(shè)置flag為0,并將這些信息統(tǒng)計(jì)到數(shù)據(jù)庫中,職員能夠進(jìn)行簽到操作,并能夠按天和月份查詢自己簽到信息,考勤統(tǒng)計(jì)是對(duì)職員進(jìn)行綜合考察一項(xiàng)關(guān)鍵依據(jù),所以本模塊不提供考勤統(tǒng)計(jì)修改方法,任何人全部不能修改考勤信息,所以在刪除考勤統(tǒng)計(jì)權(quán)限方面只開放到了超級(jí)管理員,除超級(jí)管理員身份之外任何人不能刪除考勤信息。本模塊實(shí)現(xiàn)方法為在職員登錄后,點(diǎn)擊“每日簽到”,系統(tǒng)會(huì)在后臺(tái)調(diào)用AttendanceDao實(shí)現(xiàn)類AttendanceDaoImpl類中AddAttendance()方法,該方法會(huì)首先實(shí)施一個(gè)新建日期語句Format(“yyyy-MM-ddHH:mm:ss”).format(newDate());該語句會(huì)新建一個(gè)年月日時(shí)分秒格式時(shí)間字符串,然后使用sql語句在數(shù)據(jù)庫中查詢:select*fromattendancerecordwhereattendancetimelike“?-?-?%anduserid=?”;使用preparedstatement.setObject()方法將年月日三個(gè)信息和userid傳進(jìn)去,假如返回有結(jié)果,則說明該賬號(hào)當(dāng)日已經(jīng)進(jìn)行過簽到,會(huì)提醒用戶不要反復(fù)簽到,假如沒有查詢到數(shù)據(jù),則會(huì)加入一條統(tǒng)計(jì),并判定時(shí)間是否晚于9點(diǎn),晚點(diǎn)則視為遲到,實(shí)現(xiàn)sql語句為:insertattendancerecordvalues(?,?,?,?);然后使用findAttedanceByMonthAndDate()方法查詢統(tǒng)計(jì),得到一個(gè)裝有AttendancerecordList<>對(duì)象,返回給前臺(tái)后,前臺(tái)用增強(qiáng)for循環(huán)將List<>中類取出來,并取得她們屬性,將結(jié)果展示在前臺(tái)頁面上,考勤界面展示列表圖7-10所表示。圖7-10出勤統(tǒng)計(jì)信息列表圖(11)請(qǐng)假系統(tǒng)本系統(tǒng)對(duì)應(yīng)數(shù)據(jù)庫中l(wèi)eaves數(shù)據(jù)表,職員能夠申請(qǐng)請(qǐng)假,并輸入請(qǐng)假信息,包含離開時(shí)間、天數(shù)、理由等,在前臺(tái)頁面點(diǎn)擊提交按鈕,請(qǐng)假表單就會(huì)以post方法提交,輸入name屬性,得到表單中各個(gè)數(shù)據(jù)輸入內(nèi)容,調(diào)用LeavesDao層并使用多態(tài)[16]方法,父類=new子類,將LeavesDaoImpl實(shí)例化,調(diào)用addLeaves方法將請(qǐng)假信息保平到數(shù)據(jù)庫中,添加時(shí)處理狀態(tài)默認(rèn)為未處理,在提交以后,會(huì)顯示到待處理請(qǐng)假信息表中,管理員登錄系統(tǒng)后,能夠查詢?nèi)课刺幚碚?qǐng)假信息,處理這些請(qǐng)假信息,能夠許可或拒絕請(qǐng)假申請(qǐng),更改ispassed為2或3,并會(huì)自動(dòng)保留處理人ID,還能夠輸入備注信息。請(qǐng)假信息申請(qǐng)界面圖7-11所表示。圖7-11添加請(qǐng)假界面圖(12)加班管理本系統(tǒng)對(duì)應(yīng)數(shù)據(jù)庫中extrawork數(shù)據(jù)表,加班情況在企業(yè)中是很正?,F(xiàn)象,為了統(tǒng)計(jì)這些信息,實(shí)現(xiàn)了這個(gè)加班信息模塊,職員能夠添加加班信息,管理員能夠查看全部些人加班信息,考慮到可能會(huì)有些人統(tǒng)計(jì)虛假加班信息,在本模塊中提供了加班信息刪除功效,本系統(tǒng)把權(quán)限開放給了管理員,管理員能夠查詢某個(gè)人加班信息,并能夠?qū)@些信息進(jìn)行刪除操作,加班信息填寫界面圖7-12所表示。圖7-12加班信息填寫界面圖(13)公告系統(tǒng)本系統(tǒng)對(duì)應(yīng)數(shù)據(jù)庫中news數(shù)據(jù)表,考慮到在企業(yè)實(shí)際運(yùn)作過程中,錄入公告不一定是管理員,公告錄入和公布工作可能由職員完成,所以把公布公告權(quán)限開放給了職員,職員能夠在這個(gè)模塊中公布、查詢公告、查看公告詳情操作。而且第一條公告會(huì)在系統(tǒng)主頁中顯示,為了確保公告內(nèi)容正確和安全,預(yù)防有些人惡意修改公告,造成數(shù)據(jù)丟失,本系統(tǒng)沒有實(shí)現(xiàn)公告修改功效,至于公告刪除權(quán)限則開放到了管理員身份,管理員能夠?qū)孢M(jìn)行刪除操作,界面圖7-13所表示。圖7-13添加公告信息界面圖(14)資料共享本模塊對(duì)應(yīng)數(shù)據(jù)表是datum數(shù)據(jù)表,該表統(tǒng)計(jì)了資料上傳時(shí)間、上傳者、存放路徑等信息,和公告系統(tǒng)相同,企業(yè)內(nèi)部任何人全部能夠上傳資料,能夠上傳doc、docx、pdf等文件,上傳文件存放在apacheupload路徑下,每個(gè)人全部能夠查詢文件名稱,選擇文件進(jìn)行下載,管理員能夠?qū)Y料進(jìn)行刪除。本模塊實(shí)現(xiàn)方法為在目錄中加入了一個(gè)開源工具包:smartupload,利用開源包里提供方法實(shí)現(xiàn)文件上傳和下載,實(shí)施成功后,會(huì)將文件保留到tomcat[15]服務(wù)器中upload文件夾中,并將上傳人信息、上傳時(shí)間、文件名稱等信息統(tǒng)計(jì)到Datum數(shù)據(jù)表中,管理員能夠依據(jù)數(shù)據(jù)表中存放統(tǒng)計(jì)進(jìn)行文件整理工作,在下載頁面能夠進(jìn)行文件下載操作,下載實(shí)現(xiàn)方法為。filename=request.getParameter("filename");StringdownPath="upload/"+filename;su.downloadFile(downPath); 上傳資料界面圖7-14所表示。圖7-14上傳文件界面截圖(15)通用功效打開計(jì)算器:在calcServlet中實(shí)現(xiàn),點(diǎn)擊按鈕觸發(fā)調(diào)用系統(tǒng)自帶calc.exe文件,然后文件開始實(shí)施,就能夠完成打開計(jì)算器軟件操作,實(shí)現(xiàn)過程為新建一個(gè)Runtime對(duì)象,創(chuàng)建線程Process,用該進(jìn)程開啟需要開啟軟件,關(guān)鍵語句為:processp=r.exec("calc.exe"),系統(tǒng)自帶應(yīng)用不需要輸入完整路徑,輸入exe文件名稱即可實(shí)施,實(shí)施結(jié)束后系統(tǒng)自帶計(jì)算器程序成功運(yùn)行,打開計(jì)算器界面圖7-15所表示。圖7-15打開計(jì)算器界面圖7.2應(yīng)聘子系統(tǒng)實(shí)現(xiàn)為了方便人事管理人員資料錄入工作,考慮到招聘工作很繁忙,人事專員需要花費(fèi)大量時(shí)間對(duì)應(yīng)聘資料進(jìn)行錄入,所以設(shè)計(jì)了企業(yè)人事管理系統(tǒng)附加系統(tǒng):應(yīng)聘子系統(tǒng),該系統(tǒng)和主系統(tǒng)應(yīng)聘表candidate共用一張數(shù)據(jù)表,不過頁面不相同,應(yīng)聘人員只能訪問自己信息頁面,和查看企業(yè)所以要職位,和打開excel、計(jì)算器、word文檔等通用功效,不能訪問系統(tǒng)主頁面,此隸屬系統(tǒng)在界面上是獨(dú)立于主系統(tǒng),而且這個(gè)系統(tǒng)會(huì)公布到互聯(lián)網(wǎng)上,全部應(yīng)聘者能夠經(jīng)過這個(gè)頁面填寫應(yīng)聘信息,應(yīng)聘人員能夠在這個(gè)隸屬系統(tǒng)上注冊(cè)賬號(hào),并能夠登錄系統(tǒng),完善自己應(yīng)聘資料,在完善自己資料后,點(diǎn)擊提交,應(yīng)聘者信息會(huì)出現(xiàn)在主系統(tǒng)應(yīng)聘管理中未處理表中,在進(jìn)行處理后,狀態(tài)改變,應(yīng)聘者能夠查看自己錄用情況。登錄界面圖7-16所表示。圖7-16子系統(tǒng)登錄界面圖假如沒有賬號(hào),可點(diǎn)擊左下角注冊(cè)按鈕注冊(cè)一個(gè)賬號(hào),注冊(cè)提交時(shí)會(huì)調(diào)用checkisExist()方法,檢測(cè)該帳號(hào)是否已存在,假如已存在則無法注冊(cè),注冊(cè)帳號(hào)界面圖7-17所表示。圖7-17應(yīng)聘注冊(cè)界面輸入賬號(hào)密碼,驗(yàn)證成功后能夠登錄到主頁面中,應(yīng)聘人員能夠填寫自己應(yīng)聘資料,填寫完成后點(diǎn)擊提交,則自己信息將會(huì)出現(xiàn)在應(yīng)聘管理未處理表格中,人事人員在登錄后,能夠處理這些應(yīng)聘信息,添加備注并能夠修改處理狀態(tài),1為默認(rèn)狀態(tài),未處理。2為未錄用,3為已錄用,狀態(tài)更改后,應(yīng)聘人員能夠在應(yīng)聘系統(tǒng)中看到結(jié)果,處理情況界面圖7-18所表示。圖7-18應(yīng)聘處理情況截圖應(yīng)聘人員能夠隨時(shí)修改自己應(yīng)聘資料,備注自己個(gè)人技能等信息,應(yīng)聘資料填寫界面圖7-19所表示。圖7-19應(yīng)聘資料填寫界面圖7.3關(guān)鍵方法(1)JDBCJDBC是系統(tǒng)和數(shù)據(jù)庫交互關(guān)鍵組成部分,假如需要使用JDBC讓java代碼和數(shù)據(jù)庫之間傳輸數(shù)據(jù),首先需要在項(xiàng)目標(biāo)WebRoot目錄下WebInf,lib文件夾中加入JDBC驅(qū)動(dòng)jar包,在項(xiàng)目中導(dǎo)入,初始化Connection和PrepareStatement類,加載JDBC驅(qū)動(dòng),取得連接后用PrepareStatement中exec方法實(shí)施輸入Sql語句,使用SetObject替換Sql語句中問號(hào),實(shí)施結(jié)束后依據(jù)所實(shí)施語句判定是否需要返回值,假如沒有返回值則方法會(huì)返回一個(gè)布爾類型值去提交給系統(tǒng)使用,假如有返回值則用ResultSet接收,最終封裝成為一個(gè)List<List<String>>對(duì)象交給調(diào)用方法處理,關(guān)鍵代碼以下。Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=cpmns",sa,sa);(2)導(dǎo)航欄Tab切換特效實(shí)現(xiàn)在鼠標(biāo)移動(dòng)到導(dǎo)航欄上模塊時(shí),會(huì)自動(dòng)顯示該模塊下對(duì)應(yīng)子模塊選項(xiàng),本系統(tǒng)實(shí)現(xiàn)方法是在Top.jsp頁面中,建立一個(gè)主menu,下面子選項(xiàng)則是7個(gè)小menu,初始時(shí)只有第一個(gè)menu能夠顯示,其它六個(gè)不顯示,將其它六個(gè)子menudisplay屬性設(shè)為none,然后在主menu七個(gè)<></li>標(biāo)簽中添加onmouseover(i)事件,當(dāng)鼠標(biāo)移動(dòng)到主menu時(shí)觸發(fā)這些事件,方法中有一個(gè)for循環(huán),在判定鼠標(biāo)在哪個(gè)主menu上,將對(duì)應(yīng)子menudisplay屬性設(shè)為block,然后在for循環(huán)里將其它子menudisplay屬性設(shè)為none,達(dá)成Tab特效效果,關(guān)鍵實(shí)現(xiàn)代碼以下。for(vari=1;i<=7;i++){if(i==num){document.getElementById("content"+i).style.display="block";}else{document.getElementById("content"+i).style.display="none";}(3)分頁方法在系統(tǒng)運(yùn)行時(shí),肯定會(huì)有大量數(shù)據(jù),假如這些數(shù)據(jù)全部在同一頁顯示是很不明智,這時(shí)就要用到分頁方法,分頁方法實(shí)現(xiàn)思想是先在后臺(tái)取得前臺(tái)頁面頁數(shù)屬性,假如為空,則說明是第一頁,將currentpage設(shè)為1,然后定義每一頁顯示幾條數(shù)據(jù),在這里定義了一個(gè)頁面能夠顯示8條數(shù)據(jù),intpagesize=8;然后在前臺(tái)進(jìn)行操作時(shí),假如是上一頁操作,將currentpage減一,假如是下一頁操作,將currentpage加一,首頁則把currentpage設(shè)為1,尾頁則要先計(jì)算數(shù)據(jù)庫中有多少數(shù)據(jù),除以pagesize得到總頁面數(shù),再返回最終幾條數(shù)據(jù)即可,最終就是將得到List返回給前臺(tái),關(guān)鍵實(shí)現(xiàn)代碼以下。intpageSize=3;intcurrPage=Integer.parseInt(scurrPage);inttotalPage=PageUtil.pageTotal(pageSize,count);List<UserInfo>list=uid.findInfoByPage(pageSize,currPage);request.setAttribute("list",list);(4)數(shù)據(jù)庫通用類DBUtil數(shù)據(jù)庫和系統(tǒng)交互是常常需要被調(diào)用,然而一次一次反復(fù)寫代碼是效率很低下行為,為了提升代碼復(fù)用性,使代碼變得簡(jiǎn)練高效,在項(xiàng)目中創(chuàng)建了一個(gè)cpmns.cpy.dbutil包,里面DBUtil類實(shí)現(xiàn)了和JDBC交互通用方法,首先將Connection和preparedstatement初始化為null,然后加載JDBC驅(qū)動(dòng),使用connection方法建立連接,和數(shù)據(jù)庫得到連接后,實(shí)施sql語句,返回需要得到結(jié)果集,最終關(guān)閉連接,完成整個(gè)交互過程,具體代碼以下所表示。ps=con.prepareStatement(sql);if(args!=null){for(inti=1;i<=args.length;i++){ps.setObject(i,args[i-1]);res=ps.executeQuery();(5)權(quán)限管理在企業(yè)管理系統(tǒng)中,權(quán)限管理是必不可少功效,本系統(tǒng)實(shí)現(xiàn)方法以下:在頁面跳轉(zhuǎn)超鏈接后添加鼠標(biāo)onclick事件checkpower(n),方法代碼為。functioncheckpower2(rid){if(rid<2){alert("youhavenoroot");returnfalse;在session中得到目前登錄用戶User實(shí)體類,取得rid后進(jìn)行判定,假如小于對(duì)應(yīng)操作需要權(quán)限后,就會(huì)彈出“您沒有權(quán)限進(jìn)行該操作”提醒窗口,方法返回false值,取消發(fā)送請(qǐng)求,達(dá)成權(quán)限管理目標(biāo)。權(quán)限管理截圖圖7-20所表示。圖7-20權(quán)限控制截圖(6)簽到功效職員在進(jìn)行簽到時(shí),首先會(huì)到數(shù)據(jù)庫中查找該職員當(dāng)日是否已經(jīng)簽到,使用sessino.getattribute()方法得到目前操作用戶,得到當(dāng)日日期語句為:Stringdate=newSimpleDateFormat(“yyyy-MM-dd”).format(newDate())這么就得到了當(dāng)日日期,在數(shù)據(jù)庫中判定后,假如這個(gè)用戶當(dāng)日已經(jīng)簽到,則會(huì)提醒用戶不要反復(fù)簽到,假如沒有查到統(tǒng)計(jì),則說明用戶是第一次簽到,統(tǒng)計(jì)了日期和用戶ID后,會(huì)對(duì)是否遲到進(jìn)行判定,取得目前簽到小時(shí)數(shù),假如這個(gè)數(shù)字大于9,則說明該職員遲到了,數(shù)據(jù)表中有一個(gè)flag字段,1為正常,0為遲到,統(tǒng)計(jì)數(shù)據(jù)后,完成整個(gè)簽到業(yè)務(wù)處理。8系統(tǒng)測(cè)試軟件測(cè)試是確保軟件可靠性一個(gè)關(guān)鍵方法,利用人工或自動(dòng)化方法對(duì)整個(gè)系統(tǒng)做出評(píng)定,查看和預(yù)期結(jié)果是否有差異,對(duì)軟件質(zhì)量確保相關(guān)鍵意義,軟件測(cè)試要盡早開始,缺點(diǎn)發(fā)覺越早,修復(fù)所花費(fèi)代價(jià)就越低。經(jīng)過了前面全部開發(fā)階段,現(xiàn)在要進(jìn)行就是軟件測(cè)試工作,因?yàn)樵谥伴_發(fā)過程中可能會(huì)存在很多問題,假如不能立即發(fā)覺這些缺點(diǎn),并更正這些缺點(diǎn),軟件產(chǎn)品很有可能不能正常使用,就算能夠運(yùn)行起來,也會(huì)存在多種多樣風(fēng)險(xiǎn),如數(shù)據(jù)丟失、常常宕機(jī)等等,會(huì)對(duì)開發(fā)商信譽(yù)造成不良影響,所以軟件測(cè)試是軟件開發(fā)工作必需要進(jìn)行一個(gè)關(guān)鍵階段。8.1用例設(shè)計(jì)軟件測(cè)試階段目標(biāo)就是依據(jù)軟件開發(fā)過程中產(chǎn)生文檔資料和程序源代碼,測(cè)試工作最關(guān)鍵部分就是編寫測(cè)試用例,在設(shè)計(jì)測(cè)試用例時(shí)應(yīng)該充足考慮實(shí)際情況,一個(gè)好測(cè)試用例是發(fā)覺了迄今為止從未發(fā)覺錯(cuò)誤。軟件測(cè)試是軟件開發(fā)整個(gè)生命周期中不可缺乏一部分,軟件測(cè)試是從需求分析就開始,貫穿于整個(gè)軟件開發(fā)生命周期工作,目標(biāo)就是在軟件正式公布之前,使用測(cè)試工具或人工手段,對(duì)產(chǎn)品進(jìn)行功效測(cè)試和性能測(cè)試等

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論