畢業(yè)設(shè)計(論文)-springboot海納部門人事管理系統(tǒng)設(shè)計_第1頁
畢業(yè)設(shè)計(論文)-springboot海納部門人事管理系統(tǒng)設(shè)計_第2頁
畢業(yè)設(shè)計(論文)-springboot海納部門人事管理系統(tǒng)設(shè)計_第3頁
畢業(yè)設(shè)計(論文)-springboot海納部門人事管理系統(tǒng)設(shè)計_第4頁
畢業(yè)設(shè)計(論文)-springboot海納部門人事管理系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本科生畢業(yè)論文(設(shè)計)題目springboot海納部門人事管理系統(tǒng)學院XXXXX專業(yè)班級XXXXX用戶姓名XXXX指導教師XXXX撰寫日期:2022年5月10日目錄TOC\o"1-3"\h\u摘要 摘要科技進步的飛速發(fā)展引起人們?nèi)粘I畹木薮笞兓娮有畔⒓夹g(shù)的飛速發(fā)展使得電子信息技術(shù)的各個領(lǐng)域的應(yīng)用水平得到普及和應(yīng)用。信息時代的到來已成為不可阻擋的時尚潮流,人類發(fā)展的歷史正進入一個新時代。在現(xiàn)實運用中,應(yīng)用軟件的工作規(guī)則和開發(fā)步驟,采用Java技術(shù)建設(shè)海納部門人事管理系統(tǒng)。本設(shè)計主要實現(xiàn)集人性化、高效率、便捷等優(yōu)點于一身的海納部門人事管理系統(tǒng),完成用戶管理、員工檔案信息、上班打卡、遲到人員登記、遲到警示、工資條、通知欄等功能模塊。系統(tǒng)通過瀏覽器與服務(wù)器進行通信,實現(xiàn)數(shù)據(jù)的交互與變更。本系統(tǒng)通過科學的管理方式、便捷的服務(wù)提高了工作效率,減少了數(shù)據(jù)存儲上的錯誤和遺漏。海納部門人事管理系統(tǒng)使用Java語言,采用基于MVC模式的springboot技術(shù)進行開發(fā),使用MyEclipse2017CI10編譯器編寫,數(shù)據(jù)方面主要采用的是微軟的MySQL關(guān)系型數(shù)據(jù)庫來作為數(shù)據(jù)存儲媒介,配合HTML+CSS技術(shù)完成系統(tǒng)的開發(fā)。關(guān)鍵詞:springboot技術(shù);MYSQL;海納部門人事管理系統(tǒng)AbstractTherapiddevelopmentofscientificandtechnologicalprogresshascausedgreatchangesinpeople'sdailylife.Therapiddevelopmentofelectronicinformationtechnologyhaspopularizedandappliedtheapplicationlevelofelectronicinformationtechnologyinvariousfields.Theadventoftheinformationagehasbecomeanirresistiblefashiontrend,andthehistoryofhumandevelopmentisenteringanewera.Inpracticalapplication,accordingtotheworkingrulesanddevelopmentstepsoftheapplicationsoftware,JavatechnologyisusedtobuildthepersonnelmanagementsystemofHainadepartment.ThisdesignmainlyrealizesthepersonnelmanagementsystemofHainadepartment,whichintegratestheadvantagesofhumanization,highefficiencyandconvenience,andcompletesthefunctionalmodulessuchasusermanagement,employeefileinformation,clockin,latepersonnelregistration,latewarning,payslip,noticebarandsoon.Thesystemcommunicateswiththeserverthroughthebrowsertorealizetheinteractionandchangeofdata.Throughscientificmanagementandconvenientservice,thesystemimprovesworkefficiencyandreduceserrorsandomissionsindatastorage.ThepersonnelmanagementsystemofHainadepartmentusesJavalanguage,adoptsspringboottechnologybasedonMVCmode,andiswrittenwithMyEclipse2017CI10compiler.Intermsofdata,Microsoft'sMySQLrelationaldatabaseismainlyusedasthedatastoragemedium,andthesystemdevelopmentiscompletedwithHTML+CSStechnology.Keywords:Springboottechnology;MYSQL;PersonnelmanagementsystemofHainaDepartment1緒論1.1研究背景及意義信息作為生產(chǎn)力最活躍的因素,很早就在人類經(jīng)濟生活中發(fā)揮著不可替代的作用,但把信息納入企業(yè)經(jīng)營管理系統(tǒng)中的高效處理和應(yīng)用是在計算機發(fā)明以后的50年代末。人事管理系統(tǒng)就是把分散的企業(yè)單位的職工信息實行統(tǒng)一,集中,規(guī)范的收集管理,建立分類編號管理,電腦存儲查詢以及防火,防潮,防蛀防盜等現(xiàn)代化,專業(yè)化的管理系統(tǒng),為企事業(yè)單位和職工解除后顧之憂。海納部門人事管理系統(tǒng)為企事業(yè)單位提供信息咨詢,信息檢索,信息寸取等服務(wù)。人事管理系統(tǒng)基本上能夠滿足現(xiàn)代海納部門人事管理系統(tǒng)使用表格對各種信息分門別類,組成海納部門人事管理系統(tǒng),可以方便地查詢,查閱,修改,交流和重復(fù)使用。企業(yè)人事管理是企業(yè)管理的一個重要內(nèi)容,隨著時代的進步,企業(yè)也逐漸變得龐大起來。如何管理好企業(yè)內(nèi)部員工的信息,成為企業(yè)管理中的一個大的問題。在這種情況下,一個可以規(guī)范化,自動化的海納部門人事管理系統(tǒng)就顯的非常必要。人事管理系統(tǒng)的革命性變革出現(xiàn)在20世紀90年代末。由于市場競爭的需要,如何吸引和留住人才,激發(fā)員工的創(chuàng)造性、工作責任感和工作熱情已成為關(guān)系企業(yè)興衰的重要因素,人才已經(jīng)成為企業(yè)最重要的資產(chǎn)之一。1.2開發(fā)現(xiàn)狀目前國內(nèi)的人事管理系統(tǒng)的開發(fā)技術(shù)已經(jīng)非常成熟,主要原因在于人事管理系統(tǒng)本身具有業(yè)務(wù)清晰、數(shù)據(jù)處理規(guī)范等許多優(yōu)點,為其信息化提供了必要的優(yōu)越條件,加上近十年計算機技術(shù)的飛躍發(fā)展,人事管理系統(tǒng)在國內(nèi)基本上已經(jīng)進入了普及應(yīng)用的階段。國內(nèi)目前已有多種通用的人事管理系統(tǒng)軟件供應(yīng)用單位選擇使用,而且還有多種人事管理系統(tǒng)開發(fā)通用工具供用戶開發(fā)自己的人事管理系統(tǒng)擇用。應(yīng)該說,人事管理系統(tǒng)的開發(fā)與應(yīng)用在國內(nèi)已經(jīng)進入了成熟階段。目前國內(nèi)的人事管理信息系統(tǒng)的特點:面向網(wǎng)絡(luò),采用大型、通用性好的數(shù)據(jù)庫機制;堅持標準化、規(guī)范化原則,提供靈活構(gòu)庫機制;提供強大的基礎(chǔ)信息管理功能,如機構(gòu)設(shè)置、信息錄入、人員類別變動、調(diào)動人員信息的轉(zhuǎn)移等,為各項人事業(yè)務(wù)的職能化管理提供有效、準確的基礎(chǔ)數(shù)據(jù)支持;提供靈活、易操作的業(yè)務(wù)管理功能,實現(xiàn)人事業(yè)務(wù)職能化管理與基礎(chǔ)信息管理的有效結(jié)合;提供用于輸入的列表、模板組件和用于輸出的報表組件,使系統(tǒng)直觀,操作性好;為保證人事信息的機密性,提供安全的用戶權(quán)限管理機制;為更好地實現(xiàn)層與層之問的數(shù)據(jù)傳遞,提供點到點、報盤、郵件等多種傳輸方式,有效地實現(xiàn)指標代碼、數(shù)據(jù)結(jié)構(gòu)、人事與編制信息綜合網(wǎng)絡(luò)管理、模板、報表表樣及數(shù)據(jù)的發(fā)送接收。在國外,與我國的人事管理信息系統(tǒng)相對應(yīng)的是人力資源管理系統(tǒng)(HRMS,HumanResourcesManagementSystem),該系統(tǒng)本身與其相應(yīng)的計算機信息應(yīng)用技術(shù)均非常成熟。國外幾乎所有發(fā)達國家均建立了自己的人力資源管理系統(tǒng),這個系統(tǒng)是全國性的,覆蓋了全國的人力資源管理。國外公司的人事部一般均建立了計算機信息系統(tǒng),負責公司內(nèi)部的人力資源。國外一些發(fā)達國家的企事業(yè)單位非常注重自身人力資源管理與決策支持系統(tǒng)的開發(fā)應(yīng)用。尤其是一些跨國公司,更是不惜巨大的投資開發(fā)相應(yīng)的人力資源管理與決策支持系統(tǒng)。人力資源管理與決策支持系統(tǒng)在跨國公司中,既不是一個普通的人事部,也不是一個福利部門,而是圍繞提高工作效率而設(shè)立的由多種信息、數(shù)據(jù)和活動形成的一個開放性系統(tǒng)。微軟的人事流動管理與決策支持系統(tǒng)就是其中一例。微軟于1997年開發(fā)了一個由6大模塊組成的人事管理與決策支持系統(tǒng)HeadlTrax,用于處理員工的招聘、晉升、調(diào)動或部門內(nèi)的變動。該系統(tǒng)使微軟任何級別的經(jīng)理都能夠迅速根據(jù)外界環(huán)境的變化調(diào)整部門結(jié)構(gòu)及人事安排;使人力資源部門可以使用這個電子工具進行人力資源管理的趨勢分析;采用了數(shù)字授權(quán)技術(shù),使得經(jīng)理能夠把任何類型的人事申請的批準職責下放給其他人,從而提供了靈活性,又不會使過程復(fù)雜化,較好地滿足了公司對人力資源管理的要求。1.3系統(tǒng)開發(fā)技術(shù)的特色(1)海納部門人事管理系統(tǒng)中的web后臺管理中的后端不再使用古老的jsp+javabean+servlet技術(shù),而是使用當前主流的springboot框架,它減少java配置代碼,簡化編程代碼,目前springboot框架也是很多企業(yè)選擇的框架之一。(2)海納部門人事管理系統(tǒng)中的web后臺管理中的前端使用的是JavaScript框架,它配合ajax[8]和jquery[9]可以美化頁面設(shè)計。(3)海納部門人事管理系統(tǒng)中數(shù)據(jù)庫用的mysql5.7,它執(zhí)行效率高。1.4論文結(jié)構(gòu)與章節(jié)安排論文將分層次經(jīng)行編排,除去論文摘要致謝文獻參考部分,正文部分還會對網(wǎng)站需求做出分析,以及闡述大體的設(shè)計和實現(xiàn)的功能,最后羅列部分調(diào)測記錄,論文主要架構(gòu)如下:第一章:引言。第一章主要介紹了課題研究的背景,系統(tǒng)開發(fā)的現(xiàn)狀和本文的開發(fā)現(xiàn)狀與主要工作。第二章:系統(tǒng)需求分析。第二章主要從系統(tǒng)的用戶、功能等方面進行需求分析。第三章:系統(tǒng)設(shè)計。第三章主要對系統(tǒng)框架、系統(tǒng)功能模塊、數(shù)據(jù)庫進行功能設(shè)計。第四章:系統(tǒng)實現(xiàn)。第四章主要介紹了系統(tǒng)框架搭建、系統(tǒng)界面的實現(xiàn)。第五章:系統(tǒng)測試。第五章主要對系統(tǒng)的部分界面進行測試并對主要功能進行測試第六章:總結(jié)。2海納部門人事管理系統(tǒng)系統(tǒng)分析系統(tǒng)分析是開發(fā)一個項目的先決條件,通過系統(tǒng)分析可以很好的了解系統(tǒng)的主體用戶的基本需求情況,同時這也是項目的開發(fā)的原因。進而對系統(tǒng)開發(fā)進行可行性分析,通常包括技術(shù)可行性、經(jīng)濟可行性等,可行性分析同時也是從項目整體角度進行的分析。然后就是對項目的具體需求進行分析,分析的手段一般都是通過用戶的用例圖來實現(xiàn)。下面是詳細的介紹。2.1可行性分析(1)經(jīng)濟可行性:在項目上使用的工具大部分都是是當下流行開源免費的,所以在開發(fā)前期,開發(fā)時用于項目的經(jīng)費將會大大降低,不會讓開發(fā)該軟件在項目啟動期受到經(jīng)費的影響,所以經(jīng)濟上還是可行的。盡量用最少的花費去滿足用戶的需求。省下經(jīng)費用于人工費,以及設(shè)備費用。將在無紙化,高效率的道路上越走越遠。所以經(jīng)濟可行性沒有問題。(2)操作可行性:此次項目設(shè)計參考了幾個該模式下網(wǎng)站的開發(fā)案例,對他們的操作界面分析,將眾多案例結(jié)合在一起,突出以人為本簡化操作,所以具有基本計算機知識的人都會操作本項目。因此操作可行性也沒有問題。(3)技術(shù)可行性:技術(shù)可行性指的是對于搭建框架的可行性,以及有更優(yōu)秀的技術(shù)出現(xiàn)時系統(tǒng)的技術(shù)更新?lián)Q代的納新性如何,開發(fā)時間成本費用比如何?,F(xiàn)有的springboot技術(shù)能夠迎合所有電子商務(wù)系統(tǒng)的搭建。開發(fā)這個海納部門人事管理系統(tǒng)的時候我采用了springboot+MYSQL用以運行整體程序。綜上所述技術(shù)可行性也沒有問題。(4)法律可行性:從開發(fā)者角度來看,springboot和MYSQL是網(wǎng)上開源且免費的,在知識產(chǎn)權(quán)方面不會產(chǎn)生任何法律糾紛。從用戶使用角度來看,只要不再系統(tǒng)上販賣違禁品,對系統(tǒng)做出條約協(xié)議,杜絕非法支付即可。綜上所述法律可行性也沒有問題。2.2系統(tǒng)流程分析業(yè)務(wù)流程是用一些特定的符合和線條來進行演示用戶在使用系統(tǒng)時的過程,在進行系統(tǒng)分析的時候,業(yè)務(wù)流程可以幫助開發(fā)人員更好的理解業(yè)務(wù),發(fā)現(xiàn)錯誤,完善系統(tǒng)。2.2.1數(shù)據(jù)增加流程用戶成功登入系統(tǒng)后就能夠?qū)崿F(xiàn)增加數(shù)據(jù)的操作,增加數(shù)據(jù)的編號是特定的,系統(tǒng)生成,用戶不能隨意填寫,除了編號以外,其他增加信息用戶自己填寫,填寫后的信息經(jīng)過系統(tǒng)驗證,驗證合法通過就顯示增加數(shù)據(jù)成功了,相反的話,就沒有增加成功,圖2-1顯示的就是在增加數(shù)據(jù)時的流程。圖2-1數(shù)據(jù)增加流程圖2.2.2數(shù)據(jù)修改流程數(shù)據(jù)修改時的流程和上面介紹的數(shù)據(jù)增加時的流程差不多,如圖2-2所示。圖2-2數(shù)據(jù)修改流程圖2.2.3數(shù)據(jù)刪除流程如果系統(tǒng)里面存在一些沒有用的數(shù)據(jù)的話,相關(guān)的管理人員還可以對這些數(shù)據(jù)進行刪除,圖2-3就是數(shù)據(jù)刪除時的流程圖。圖2-3數(shù)據(jù)刪除流程圖2.3系統(tǒng)功能分析2.3.1功能性分析按照海納部門人事管理系統(tǒng)的角色,我劃分為了普通用戶管理模塊、部門經(jīng)理管理模塊和管理員管理模塊這兩大部分。普通用戶管理模塊:(1)用戶注冊登錄:用戶注冊為用戶并登錄海納部門人事管理系統(tǒng);用戶對個人信息的增刪改查,比如個人資料,密碼修改。(2)查看海納部門人事管理系統(tǒng)的首頁信息:海納部門人事管理系統(tǒng)的首頁信息包含了首頁、上班打卡、遲到警示、工資條、通知欄等。(3)通知公告:用戶在公告這一菜單下對用戶提交的查看、同時也可以發(fā)布、評論。(4)上班打卡:用戶進行上班打卡的信息查詢,查看管理者發(fā)布的上班打卡信息。(5)工資條:用戶進行工資條查詢,查看管理者發(fā)布的工資條信息。管理員管理模塊:(1)用戶管理:管理員可以對注冊過的用戶信息、部門經(jīng)理進行管控,也可以對管理員信息進行管控。(4)更多管理:在“更多管理”這一菜單下,可以對管理人員用戶操作的員工檔案信息、上班打卡、遲到人員登記、遲到警示、工資條、通知欄進行管控。(5)員工檔案管理:管理員可以對海納部門人事管理系統(tǒng)中現(xiàn)有的員工檔案信息進行增刪改查。(6)上班打卡管理:管理員可以對海納部門人事管理系統(tǒng)中現(xiàn)有的上班打卡進行增刪改查。(7)遲到人員登記管理:管理員可以對海納部門人事管理系統(tǒng)中現(xiàn)有的遲到人員登記進行增刪改查。(8)工資條管理:管理員對用戶提交的工資條進行管控。2.3.2非功能性分析海納部門人事管理系統(tǒng)的非功能性需求比如海納部門人事管理系統(tǒng)的安全性怎么樣,可靠性怎么樣,性能怎么樣,可拓展性怎么樣等。具體可以表示在如下3-1表格中:表3-SEQ表3\*ARABIC1海納部門人事管理系統(tǒng)非功能需求表安全性主要指海納部門人事管理系統(tǒng)數(shù)據(jù)庫的安裝,數(shù)據(jù)庫的使用和密碼的設(shè)定必須合乎規(guī)范。可靠性可靠性是指海納部門人事管理系統(tǒng)能夠安裝用戶的指示進行操作,經(jīng)過測試,可靠性90%以上。性能性能是影響海納部門人事管理系統(tǒng)占據(jù)市場的必要條件,所以性能最好要佳才好??蓴U展性比如數(shù)據(jù)庫預(yù)留多個屬性,比如接口的使用等確保了系統(tǒng)的非功能性需求。易用性用戶只要跟著海納部門人事管理系統(tǒng)的頁面展示內(nèi)容進行操作,就可以了??删S護性海納部門人事管理系統(tǒng)開發(fā)的可維護性是非常重要的,經(jīng)過測試,可維護性沒有問題2.4系統(tǒng)用例分析通過2.3功能的分析,得出了本海納部門人事管理系統(tǒng)的用例圖:普通用戶角色用例如圖2-3所示。圖2-3海納部門人事管理系統(tǒng)普通用戶角色用例圖web后臺管理上的管理員是維護整個海納部門人事管理系統(tǒng)中所有數(shù)據(jù)信息的。部門經(jīng)理角色用例如圖2-4所示。圖2-4海納部門人事管理系統(tǒng)部門經(jīng)理角色用例圖web后臺管理上的管理員是維護整個海納部門人事管理系統(tǒng)中所有數(shù)據(jù)信息的。管理員角色用例如圖2-5所示。圖2-5海納部門人事管理系統(tǒng)管理員角色用例圖2.5本章小結(jié)本章主要通過對海納部門人事管理系統(tǒng)的可行性分析、流程分析、功能需求分析、系統(tǒng)用例分析,確定整個海納部門人事管理系統(tǒng)要實現(xiàn)的功能。同時也為海納部門人事管理系統(tǒng)的代碼實現(xiàn)和測試提供了標準。3海納部門人事管理系統(tǒng)總體設(shè)計本章主要討論的內(nèi)容包括海納部門人事管理系統(tǒng)的功能模塊設(shè)計、數(shù)據(jù)庫系統(tǒng)設(shè)計。3.1系統(tǒng)架構(gòu)設(shè)計本海納部門人事管理系統(tǒng)從架構(gòu)上分為三層:表現(xiàn)層(UI)、業(yè)務(wù)邏輯層(BLL)以及數(shù)據(jù)層(DL)。圖3-1海納部門人事管理系統(tǒng)系統(tǒng)架構(gòu)設(shè)計圖表現(xiàn)層(UI):又稱UI層,主要完成本海納部門人事管理系統(tǒng)的UI交互功能,一個良好的UI可以打打提高用戶的用戶體驗,增強用戶使用本海納部門人事管理系統(tǒng)時的舒適度。UI的界面設(shè)計也要適應(yīng)不同版本的海納部門人事管理系統(tǒng)以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用戶進行交互操作時必須要得到與之相符的交互結(jié)果,這就要求表現(xiàn)層要與業(yè)務(wù)邏輯層進行良好的對接。業(yè)務(wù)邏輯層(BLL):主要完成本海納部門人事管理系統(tǒng)的數(shù)據(jù)處理功能。用戶從表現(xiàn)層傳輸過來的數(shù)據(jù)經(jīng)過業(yè)務(wù)邏輯層進行處理交付給數(shù)據(jù)層,系統(tǒng)從數(shù)據(jù)層讀取的數(shù)據(jù)經(jīng)過業(yè)務(wù)邏輯層進行處理交付給表現(xiàn)層。數(shù)據(jù)層(DL):由于本海納部門人事管理系統(tǒng)的數(shù)據(jù)是放在服務(wù)端的mysql數(shù)據(jù)庫中,因此本屬于服務(wù)層的部分可以直接整合在業(yè)務(wù)邏輯層中,所以數(shù)據(jù)層中只有數(shù)據(jù)庫,其主要完成本海納部門人事管理系統(tǒng)的數(shù)據(jù)存儲和管理功能。3.2系統(tǒng)功能模塊設(shè)計3.2.1整體功能模塊設(shè)計在上一章節(jié)中主要對系統(tǒng)的功能性需求和非功能性需求進行分析,并且根據(jù)需求分析了本海納部門人事管理系統(tǒng)中的用例。那么接下來就要開始對本海納部門人事管理系統(tǒng)的架構(gòu)、主要功能和數(shù)據(jù)庫開始進行設(shè)計。海納部門人事管理系統(tǒng)根據(jù)前面章節(jié)的需求分析得出,其總體設(shè)計模塊圖如圖3-2所示。圖3-2海納部門人事管理系統(tǒng)功能模塊圖3.2.2用戶模塊設(shè)計后臺管理者能夠?qū)崿F(xiàn)對注冊的用戶增刪改查操作,用戶模塊結(jié)構(gòu)圖如下圖:圖3-3用戶用戶模塊結(jié)構(gòu)圖3.2.3員工檔案信息管理模塊設(shè)計海納部門人事管理系統(tǒng)是中需要存儲不少員工檔案信息,其模塊功能結(jié)構(gòu),具體的結(jié)構(gòu)圖如下:圖3-4員工檔案信息模塊結(jié)構(gòu)圖3.2.5遲到人員登記管理模塊設(shè)計海納部門人事管理系統(tǒng)最重要的一個功能就是登記,其模塊功能結(jié)構(gòu),具體的結(jié)構(gòu)圖如下:圖3-5遲到人員登記模塊結(jié)構(gòu)圖3.3數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計一般包括需求分析、概念模型設(shè)計、數(shù)據(jù)庫表建立三大過程,其中需求分析前面章節(jié)已經(jīng)闡述,概念模型設(shè)計有概念模型和邏輯結(jié)構(gòu)設(shè)計兩部分。3.3.1數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計下面是整個海納部門人事管理系統(tǒng)中主要的數(shù)據(jù)庫表總E-R實體關(guān)系圖。圖3-6海納部門人事管理系統(tǒng)總E-R關(guān)系圖下面根據(jù)海納部門人事管理系統(tǒng)的數(shù)據(jù)庫總E-R關(guān)系圖可以得出海納部門人事管理系統(tǒng)需要很多E-R圖,在此羅列出來一些主要的數(shù)據(jù)庫E-R模型圖。圖3-7普通用戶E-R關(guān)系圖圖3-8工資條E-R關(guān)系圖圖3-9遲到人員登記E-R關(guān)系圖圖3-10上班打卡E-R關(guān)系圖3.3.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計通過上一小節(jié)中海納部門人事管理系統(tǒng)中總E-R關(guān)系圖上得出一共需要創(chuàng)建很多個數(shù)據(jù)表。在此我主要羅列幾個主要的數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計。pay_slip表:名稱類型長度不是null主鍵注釋pay_slip_idint11是是工資條IDmonthvarchar64否否月份base_payint11否否基本工資achievementsint11否否績效allowanceint11否否津貼overtime_payint11否否加班費five_insurances_and_one_fundint11否否五險一金absence_deductionint11否否缺勤扣除net_salaryvarchar64否否實發(fā)工資employee_job_numberint11否否員工工號employee_namevarchar64否否員工姓名recommendint11是否智能推薦create_timedatetime0是否創(chuàng)建時間update_timetimestamp0是否更新時間ordinary_users表:名稱類型長度不是null主鍵注釋ordinary_users_idint11是是普通用戶IDemployee_job_numbervarchar64否否員工工號employee_namevarchar64否否員工姓名gendervarchar64否否性別agevarchar64否否年齡examine_statevarchar16是否審核狀態(tài)recommendint11是否智能推薦user_idint11是否用戶IDcreate_timedatetime0是否創(chuàng)建時間update_timetimestamp0是否更新時間notification_bar表;名稱類型長度不是null主鍵注釋notification_bar_idint11是是通知欄IDnotice_titlevarchar64否否通知標題notification_timedate0否否通知時間employee_job_numberint11否否員工工號employee_namevarchar64否否員工姓名notice_contenttext0否否通知內(nèi)容employee_replytext0否否員工回復(fù)recommendint11是否智能推薦create_timedatetime0是否創(chuàng)建時間update_timetimestamp0是否更新時間late_personnel_registration表:名稱類型長度不是null主鍵注釋late_personnel_registration_idint11是是遲到人員登記IDemployee_job_numberint11否否員工工號employee_namevarchar64否否員工姓名punch_in_statusvarchar64否否打卡狀態(tài)late_timesvarchar64否否遲到次數(shù)remarkstext0否否備注recommendint11是否智能推薦create_timedatetime0是否創(chuàng)建時間update_timetimestamp0是否更新時間late_warning表:名稱類型長度不是null主鍵注釋late_warning_idint11是是遲到警示IDwarning_titlevarchar64否否警示標題warning_timedate0否否警示時間employee_job_numberint11否否員工工號employee_namevarchar64否否員工姓名warning_contenttext0否否警示內(nèi)容recommendint11是否智能推薦create_timedatetime0是否創(chuàng)建時間update_timetimestamp0是否更新時間employee_profile_information表名稱類型長度不是null主鍵注釋employee_profile_information_idint11是是員工檔案信息IDemployee_numbervarchar64否否員工編號employee_namevarchar64否否員工姓名gendervarchar64否否性別agevarchar64否否年齡positionvarchar64否否職位employee_statusvarchar64否否員工狀態(tài)entry_datedate0否否入職日期recommendint11是否智能推薦create_timedatetime0是否創(chuàng)建時間update_timetimestamp0是否更新時間division_manager表:名稱類型長度不是null主鍵注釋division_manager_idint11是是部門經(jīng)理IDname_of_managervarchar64否否經(jīng)理姓名gendervarchar64否否性別agevarchar64否否年齡examine_statevarchar16是否審核狀態(tài)recommendint11是否智能推薦user_idint11是否用戶IDcreate_timedatetime0是否創(chuàng)建時間update_timetimestamp0是否更新時間clock_in表:名稱類型長度不是null主鍵注釋clock_in_idint11是是上班打卡IDpunch_in_titlevarchar64否否打卡標題clock_in_timedatetime0否否上班打卡時間employee_job_numberint11否否員工工號employee_namevarchar64否否員工姓名punch_in_statusvarchar64否否打卡狀態(tài)recommendint11是否智能推薦create_timedatetime0是否創(chuàng)建時間update_timetimestamp0是否更新時間3.4本章小結(jié)整個海納部門人事管理系統(tǒng)的需求分析主要對系統(tǒng)總體架構(gòu)以及功能模塊的設(shè)計,通過建立E-R模型和數(shù)據(jù)庫邏輯系統(tǒng)設(shè)計完成了數(shù)據(jù)庫系統(tǒng)設(shè)計。4海納部門人事管理系統(tǒng)詳細設(shè)計與實現(xiàn)海納部門人事管理系統(tǒng)的詳細設(shè)計與實現(xiàn)主要是根據(jù)前面的海納部門人事管理系統(tǒng)的需求分析和海納部門人事管理系統(tǒng)的總體設(shè)計來設(shè)計頁面并實現(xiàn)業(yè)務(wù)邏輯。主要從海納部門人事管理系統(tǒng)界面實現(xiàn)、業(yè)務(wù)邏輯實現(xiàn)這兩部分進行介紹。4.1用戶功能模塊4.1.1車主用戶首頁界面當進入海納部門人事管理系統(tǒng)的時候,首先映入眼簾的是系統(tǒng)的導航欄,下面是系統(tǒng)內(nèi)容,其主界面展示如下圖4-1所示。圖4-1車主用戶首頁界面圖4.1.2用戶登錄界面海納部門人事管理系統(tǒng)中的注冊后的用戶是可以通過自己的賬戶名和密碼進行登錄的,當用戶輸入完整的自己的賬戶名和密碼信息并點擊“登錄”按鈕后,將會首先驗證輸入的有沒有空數(shù)據(jù),再次驗證輸入的賬戶名+密碼和數(shù)據(jù)庫中當前保存的用戶信息是否一致,只有在一致后將會登錄成功并自動跳轉(zhuǎn)到海納部門人事管理系統(tǒng)的首頁中;否則將會提示相應(yīng)錯誤信息,用戶登錄界面如下圖4-2所示。圖4-2用戶登錄界面圖登錄關(guān)鍵代碼如下所示。/***登錄*@paramdata*@paramhttpServletRequest*@return*/@PostMapping("login")publicMap<String,Object>login(@RequestBodyMap<String,String>data,HttpServletRequesthttpServletRequest){("[執(zhí)行登錄接口]");Stringusername=data.get("username");Stringemail=data.get("email");Stringphone=data.get("phone");Stringpassword=data.get("password");ListresultList=null;Map<String,String>map=newHashMap<>();if(username!=null&&"".equals(username)==false){map.put("username",username);resultList=service.select(map,newHashMap<>()).getResultList();}elseif(email!=null&&"".equals(email)==false){map.put("email",email);resultList=service.select(map,newHashMap<>()).getResultList();}elseif(phone!=null&&"".equals(phone)==false){map.put("phone",phone);resultList=service.select(map,newHashMap<>()).getResultList();}else{returnerror(30000,"賬號或密碼不能為空");}if(resultList==null||password==null){returnerror(30000,"賬號或密碼不能為空");}//判斷是否有這個用戶if(resultList.size()<=0){returnerror(30000,"用戶不存在");}UserbyUsername=(User)resultList.get(0);Map<String,String>groupMap=newHashMap<>();groupMap.put("name",byUsername.getUserGroup());ListgroupList=userGroupService.select(groupMap,newHashMap<>()).getResultList();if(groupList.size()<1){returnerror(30000,"用戶組不存在");}UserGroupuserGroup=(UserGroup)groupList.get(0);//查詢用戶審核狀態(tài)if(!StringUtils.isEmpty(userGroup.getSourceTable())){Stringsql="selectexamine_statefrom"+userGroup.getSourceTable()+"WHEREuser_id="+byUsername.getUserId();Stringres=String.valueOf(service.runCountSql(sql).getSingleResult());if(res==null){returnerror(30000,"用戶不存在");}if(!res.equals("已通過")){returnerror(30000,"該用戶審核未通過");}}//查詢用戶狀態(tài)if(byUsername.getState()!=1){returnerror(30000,"用戶非可用狀態(tài),不能登錄");}Stringmd5password=service.encryption(password);if(byUsername.getPassword().equals(md5password)){//存儲Token到數(shù)據(jù)庫AccessTokenaccessToken=newAccessToken();accessToken.setToken(UUID.randomUUID().toString().replaceAll("-",""));accessToken.setUser_id(byUsername.getUserId());tokenService.save(accessToken);//返回用戶信息JSONObjectuser=JSONObject.parseObject(JSONObject.toJSONString(byUsername));user.put("token",accessToken.getToken());JSONObjectret=newJSONObject();ret.put("obj",user);returnsuccess(ret);}else{returnerror(30000,"賬號或密碼不正確");}}4.1.3用戶注冊界面不是海納部門人事管理系統(tǒng)中正式會員的是可以在線進行注冊的,如果你沒有本海納部門人事管理系統(tǒng)的賬號的話,添加“注冊”,當填寫上自己的賬號+密碼+確認密碼+昵稱+郵箱+手機號等后再點擊“注冊”按鈕后將會先驗證輸入的有沒有空數(shù)據(jù),再次驗證密碼和確認密碼是否是一樣的,最后驗證輸入的賬戶名和數(shù)據(jù)庫表中已經(jīng)注冊的賬戶名是否重復(fù),只有都驗證沒問題后即可用戶員注冊成功。其用用戶注冊界面展示如下圖4-3所示。圖4-2用戶注冊界面圖用戶注冊關(guān)鍵代碼如下所示。/***注冊*@paramuser*@return*/@PostMapping("register")publicMap<String,Object>signUp(@RequestBodyUseruser){//查詢用戶Map<String,String>query=newHashMap<>();query.put("username",user.getUsername());Listlist=service.select(query,newHashMap<>()).getResultList();if(list.size()>0){returnerror(30000,"用戶已存在");}user.setUserId(null);user.setPassword(service.encryption(user.getPassword()));service.save(user);returnsuccess(1);}/***用戶ID:[0,8388607]用戶獲取其他與用戶相關(guān)的數(shù)據(jù)*/@Id@GeneratedValue(strategy=GenerationType.IDENTITY)@Column(name="user_id")privateIntegeruserId;/***賬戶狀態(tài):[0,10](1可用|2異常|3已凍結(jié)|4已注銷)*/@Basic@Column(name="state")privateIntegerstate;/***所在用戶組:[0,32767]決定用戶身份和權(quán)限*/@Basic@Column(name="user_group")privateStringuserGroup;/***上次登錄時間:*/@Basic@Column(name="login_time")privateTimestamploginTime;/***手機號碼:[0,11]用戶的手機號碼,用于找回密碼時或登錄時*/@Basic@Column(name="phone")privateStringphone;/***手機認證:[0,1](0未認證|1審核中|2已認證)*/@Basic@Column(name="phone_state")privateIntegerphoneState;/***用戶名:[0,16]用戶登錄時所用的賬戶名稱*/@Basic@Column(name="username")privateStringusername;/***昵稱:[0,16]*/@Basic@Column(name="nickname")privateStringnickname;/***密碼:[0,32]用戶登錄所需的密碼,由6-16位數(shù)字或英文組成*/@Basic@Column(name="password")privateStringpassword;/***郵箱:[0,64]用戶的郵箱,用于找回密碼時或登錄時*/@Basic@Column(name="email")privateStringemail;/***郵箱認證:[0,1](0未認證|1審核中|2已認證)*/@Basic@Column(name="email_state")privateIntegeremailState;/***頭像地址:[0,255]*/@Basic@Column(name="avatar")privateStringavatar;/***創(chuàng)建時間:*/@Basic@Column(name="create_time")@JsonFormat(pattern="yyyy-MM-ddHH:mm:ss")privateTimestampcreateTime;@Basic@TransientprivateStringcode;}4.1.4個人信息界面用戶進入后臺后點擊“個人信息”,能夠看到自己要修改的個人信息,對個人信息進行管控。界面如下圖4-3所示。圖4-3個人信息界面圖4.1.5工資條界面用戶進入后臺后點擊“工資條”,能夠看到用戶可以查詢工資條信息。界面如下圖4-4所示。圖4-4工資條界面圖4.1.6遲到警示界面用戶進入后臺后點擊“遲到警示”,能夠看到用戶遲到的信息。遲到警示界面如下圖4-5所示。圖4-5遲到警示界面圖4.3管理員功能模塊4.3.1用戶管理界面海納部門人事管理系統(tǒng)中的管理人員是可以對注冊的車主用戶進行管理的,也可以對管理員進行管控。界面如下圖4-6所示。圖4-6用戶管理界面圖用戶管理關(guān)鍵代碼如下所示。publicStringencryption(StringplainText){Stringre_md5=newString();try{MessageDigestmd=MessageDigest.getInstance("MD5");md.update(plainText.getBytes());byteb[]=md.digest();inti;StringBufferbuf=newStringBuffer("");for(intoffset=0;offset<b.length;offset++){i=b[offset];if(i<0)i+=256;if(i<16)buf.append("0");buf.append(Integer.toHexString(i));}re_md5=buf.toString();}catch(Exceptione){e.printStackTrace();}returnre_md5;}4.3.2遲到人員登記管理界面海納部門人事管理系統(tǒng)中的管理人員是可以對用戶遲到人員登記信息進行管控的,界面如下圖4-11所示。圖4-7遲到人員登記管理界面圖4.3.3工資條管理界面海納部門人事管理系統(tǒng)中的管理人員在“工資條管理界面”這一菜單中是可以對用戶顯示的工資進行管控。界面如下圖4-8所示。圖4-8工資條管理界面圖工資條管理界面關(guān)鍵代碼如下所示。@PostMapping("/add")@TransactionalpublicMap<String,Object>add(HttpServletRequestrequest)throwsIOException{service.insert(service.readBody(request.getReader()));returnsuccess(1);}@TransactionalpublicMap<String,Object>addMap(Map<String,Object>map){service.insert(map);returnsuccess(1);}publicMap<String,Object>readBody(BufferedReaderreader){BufferedReaderbr=null;StringBuildersb=newStringBuilder("");try{br=reader;Stringstr;while((str=br.readLine())!=null){sb.append(str);}br.close();Stringjson=sb.toString();returnJSONObject.parseObject(json,Map.class);}catch(IOExceptione){e.printStackTrace();}finally{if(null!=br){try{br.close();}catch(IOExceptione){e.printStackTrace();}}}returnnull;}publicvoidinsert(Map<String,Object>body){StringBuffersql=newStringBuffer("INSERTINTO");sql.append("`").append(table).append("`").append("(");for(Map.Entry<String,Object>entry:body.entrySet()){sql.append("`"+humpToLine(entry.getKey())+"`").append(",");}sql.deleteCharAt(sql.length()-1);sql.append(")VALUES(");for(Map.Entry<String,Object>entry:body.entrySet()){Objectvalue=entry.getValue();if(valueinstanceofString){sql.append("'").append(entry.getValue()).append("'").append(",");}else{sql.append(entry.getValue()).append(",");}}sql.deleteCharAt(sql.length()-1);sql.append(")");("[{}]-插入操作:{}",table,sql);Queryquery=runCountSql(sql.toString());query.executeUpdate();}4.3.4更多管理界面海納部門人事管理系統(tǒng)中的管理人員在“更多管理”這一菜單下是可以對海納部門人事管理系統(tǒng)內(nèi)的員工檔案信息、上班打卡、遲到人員登記、遲到警示、工資條、通知欄進行管控的,其管理界面如下圖4-9所示。圖4-9更多管理界面圖更多管理關(guān)鍵代碼如下所示。@RequestMapping(value="/del")@TransactionalpublicMap<String,Object>del(HttpServletRequestrequest){service.delete(service.readQuery(request),service.readConfig(request));returnsuccess(1);}@Transactionalpublicvoiddelete(Map<String,String>query,Map<String,String>config){StringBuffersql=newStringBuffer("DELETEFROM").append("`").append(table).append("`").append("");sql.append(toWhereSql(query,"0".equals(config.get(FindConfig.GROUP_BY))));("[{}]-刪除操作:{}",table,sql);Queryquery1=runCountSql(sql.toString());query1.executeUpdate();}5系統(tǒng)測試5.1系統(tǒng)測試的目的 系統(tǒng)開發(fā)到了最后一個階段那就是系統(tǒng)測試,系統(tǒng)測試對軟件的開發(fā)其實是非常有必要的。因為沒什么系統(tǒng)一經(jīng)開發(fā)出來就可能會盡善盡美,再厲害的系統(tǒng)開發(fā)工程師也會在系統(tǒng)開發(fā)的時候出現(xiàn)紕漏,系統(tǒng)測試能夠較好的改正一些bug,為后期系統(tǒng)的維護性提供很好的支持。通過系統(tǒng)測試,開發(fā)人員也可以建立自己對系統(tǒng)的信心,為后期的系統(tǒng)版本的跟新提供支持。5.2系統(tǒng)測試用例系統(tǒng)測試包括:用戶登錄功能測試、員工展示功能測試、員工添加、員工搜索、密碼修改功能測試,如表5-1、5-2、5-3、5-4、5-5所示:用戶登錄功能測試:表5-1用戶登錄功能測試表用例名稱用戶登錄系統(tǒng)目的測試用戶通過正確的用戶名和密碼可否登錄功能前提未登錄的情況下測試流程1)進入登錄頁面2)輸入正確的用戶名和密碼預(yù)期結(jié)果用戶名和密碼正確的時候,跳轉(zhuǎn)到登錄成功界面,反之則顯示錯誤信息,提示重新輸入實際結(jié)果實際結(jié)果與預(yù)期結(jié)果一致員工查看功能測試:表5-2員工查看功能測試表用例名稱員工查看目的測試員工查看功能前提用戶登錄測試流程點擊員工列表預(yù)期結(jié)果可以查看到所有員工信息實際結(jié)果實際結(jié)果與預(yù)期結(jié)果一致管理員添加員工界面測試:表5-3管理員添加員工界面測試表用例名稱員工發(fā)布測試用例目的測試員工發(fā)布功能前提用戶正常登錄情況下測試流程1)點擊員工信息管理就,然后點擊添加后并填寫信息。2)點擊進行提交。預(yù)期結(jié)果提交以后,頁面首頁會顯示新的員工信息實際結(jié)果實際結(jié)果與預(yù)期結(jié)果一致員工搜索功能測試:表5-4員工搜索功能測試表用例名稱員工搜索測試目的測試員工搜索功能前提無測試流程1)在搜索框填入搜索關(guān)鍵字。2)點擊搜索按鈕。預(yù)期結(jié)果頁面顯示包含有搜索關(guān)鍵字的員工實際結(jié)果實際結(jié)果與預(yù)期結(jié)果一致密碼修改功能測試:表5-5密碼修改功能測試表用例名稱密碼修改測試用例目的測試管理員密碼修改功能前提管理員用戶正常登錄情況下測試流程1)管理員密碼修改并完成填寫。2)點擊進行提交。預(yù)期結(jié)果使用新的密碼可以登錄實際結(jié)果實際結(jié)果與預(yù)期結(jié)果一致5.3系統(tǒng)測試結(jié)果通過編寫海納部門人事管理系統(tǒng)的測試用例,已經(jīng)檢測完畢用戶登錄模塊、員工查看模塊、員工添加模塊、員工搜索模塊、密碼修改功能測試,通過這5大模塊為海

溫馨提示

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

評論

0/150

提交評論