《基于Spring Boot的人力資源管理系統的設計與實現》15000字(論文)_第1頁
《基于Spring Boot的人力資源管理系統的設計與實現》15000字(論文)_第2頁
《基于Spring Boot的人力資源管理系統的設計與實現》15000字(論文)_第3頁
《基于Spring Boot的人力資源管理系統的設計與實現》15000字(論文)_第4頁
《基于Spring Boot的人力資源管理系統的設計與實現》15000字(論文)_第5頁
已閱讀5頁,還剩27頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于SpringBoot的人力資源管理系統的設計與實現隨著計算機和信息業的快速發展,企業員工和各項事務的不斷增加,人力資源管理系統已經是現在企業不可缺少的部分。現今國內仍有部分企業使用傳統人工的方式進行人力資源管理,根據市場需求的開發了該人力資源管理系統。本系統基于B/s結構,用Java語言進行開發,采用SpringBoot框架就行構建項目。前端使用Vue開發,后端數據庫使用MySQL結合MyBatis技術完成持久層的實現,用Redis對系統數據進行緩存。利用電子信息技術的優勢,使公司的人事管理統一、規范化,以及實現各功能板塊的業務需求,提高公司人力資源信息管理的效率。B/S;SpringBoot;人力資源管理目錄1緒論 11.1課題背景及意義 11.2國內外發展現狀 11.3主要目標和內容 51.3.1課題研究目標 51.3.2課題研究內容 51.4論文組織結構 51.5本章小節 62系統相關技術簡介 62.1開發相關技術簡介 62.1.1SpringBoot 62.1.2MyBatis 72.1.3Vue簡介 72.1.4Redis簡介 82.2本章小結 83需求分析 83.1可行性分析 83.1.1社會可行性分析 83.1.2操作可行性分析 83.1.3技術可行性分析 93.1.4經濟可行性分析 93.2系統功能需求分析 93.2.1面向對象分析 93.2.2性能描述 113.3非功能需求分析 113.3.1軟件運行環境 113.3.2系統質量屬性 113.3.3開發環境配置 123.4本章小結 124系統設計 124.1系統總體設計概要 124.2系統核心業務流程分析與設計 134.2.1系統登陸 134.2.2員工管理 144.2.3薪資管理 154.2.4系統管理 154.3數據庫設計 164.3.1數據庫概念設計 164.3.2數據庫邏輯設計 194.4本章小結 215系統實現 215.1系統登陸 215.2員工管理 245.3薪資管理 275.4系統管理 295.5本章小結 316系統測試 316.1測試重要性及目的 316.2性能測試 316.3系統功能測試 326.4本章小結 32結束語 33參考文獻 34附錄 35PAGE5緒論各種企業隨著現代經濟的高速發展在快速崛起,相應企業員工的數量和內部各項事務也在不斷增加,使企業人力資源管理的需求和成本越來越大。在計算機和信息業的高速發展和應用的背景下,人力資源管理系統軟件的普及和應用成為發展的必然。傳統人力資源管理的信息管理與信息化的系統相比存在很大不足:人員手工管理數據的增減修改,會導致人事信息雜亂而不易整理,使企業在人事管理相關方面較為薄弱;同時人力資源職工需要做較多的重復和易錯的工作,致使信息資源使用安全水平較低。企業的發展伴隨著信息量的增加,大信息的背景下對于數據的增加、檢索、刪除和更新等操作就會越來越困難,而且數據不易整理。因此隨著傳統人工進行管理信息已經無法滿足當今信息化背景下企業的發展需要。使用計算機軟件和新型的信息技術來管理企業人力資源數據,有著大數據量儲存、檢索高速、系統安全性高等優點,顯著提高企業內部人力資源管理的效率,幫助企業管理事務的發展。課題背景及意義當前傳統人工進行企業人事管理已經不滿足企業的發展需要,使用新型信息技術開發的人力資源管理系統,能夠明顯減少人工管理信息所造成的錯誤,系統化規范化統一化的進行人力資源管理。目前中國人力資源管理系統的開發已經有了一定應用的市場。隨著企業規模的發展,為了能夠搭建出先進的規范的企業人力資源管理體系,企業首先要建立專業的管理體系,才能夠幫助企業建立起擁有自己特色的人力資源管理系統,對各自企業的內部人事管理有著強針對性,幫助搭建出企業特色的人力資源管理系統。人力資源職員通過操作計算機安裝的人力資源信息軟件進行企業人事事務的管理以此來提高人事管理效率。應用型強的的人力資源管理系統,最基礎要有員工的資料管理,還要包括人事調動,薪資調整,職位職稱評級、獎懲管理等功能。幫助減少人力資源員工的任務量和重復的工作,以此提高了員工工作效率。對企業人力資源信息進行統一的數字化管理,及時進行人力資源數據的更新,來保持企業數據的時效性和準確度。企業需要能夠及時了解員工對內部管理的意見和建議,因此平臺建立消息通知系統能夠真實反應員工的訴求,幫助解決企業管理的痛點,為員工幸福度和公司的管理創造價值,提高員工工作滿意度和個人歸屬感。以上功能板塊的實現應該建立起相應的人事管理制度,員工工作效率和積極性,為企業提供信息保障的同時也促進了企業的發展。國內外發展現狀國內的很多大企業在近幾年自行研發了人力資源管理軟件,雖然能一定程度上滿足企業的個性化定制需求,但是仍有很多內部軟件的開發人員缺乏開發人事系統的經驗,開發出來的管理系統并不能滿足使用者的現實要求,只能供給企業內部實用,沒有市場競爭力,不能有效發揮企業人事管理系統的真正作用。我國現今正處于由傳統人工管理企業的方式向信息化資源管理的轉型時期,軟件需要隨著信息化的發展開發出更適合的版本,提高軟件的生命活力。國外與國內的人力資源管理軟件分析后發現,西方發達國家的人力資源管理系統已經在企業進行廣泛應用,開發前就已經規劃好系統的功能,預留出后期維護和功能的開發接口,開發技術應該同步先進的互聯網技術,使開發的產品有著良好的設計架構。相比之下國外的較多成熟的管理軟件,在設計、技術、易用性等方面都要優于國內產品,但國外的產品,大部分又不適用于國內的公司體系和組織加過。我們需要設計出一套吸收國內外先進技術的,而又適用性較高的有企業特色的系統,開發出我們中國企業真正需要的管理軟件。陸天睿等[1]將信息化技術運用于人力資源管理,然后指出當下工業革命的快速變革意味著對于人才的要求會越高,而人力資源管理部門就需要采取更為有效的方式來進行全體員工的高效管理。侯澤民等[2]提出了在信息化時代,企業的發展更要與時俱進,應用新型人力資源管理系統,是企業信息化發展的措施之一。可以降低企業人力資源職工的工作強度,為企業管理層決策的提供依據。說明了建立基于Web的人力資源管理系統,能夠幫助企業進行科學的規范的管理。李忠華[3]通過人工智能算法使系統監視和查詢,能夠將數據庫的主動服務作用得到充分地發揮。對此技術在企業人力資源管理系統中的科學運用進行了重點探究,以提升人力資源管理的水平,充分為企業發展做好服務。馬登萍[4]提出了大數據技術的快速發展和大型企業人事管理的應用,給企業創新和人事管理帶來了新的機遇。現今的人力資源管理要充分結合企業發展的規劃,利用企業內部實際需求進行管理的改革,推進人力資源管理系統的技術體系的發展,提高企業人力資源管理能力和企業的市場競爭力,幫助推進企業的高速、可持續、穩定發展。賈新穎[5]指出了開發人力資源管理系統時的設計和分析有重要的研究價值。提前構建出清晰的系統框架和設計好設計流程,保證管理系統的高效運轉。實現業務功能來滿足企業各個部門的需求,以此來推動企業進步。楊靜[6]采用MVC的設計模式將前端和后端進行了分離,開發人員負責設計Servlet和JavaBean,前端設計人員負責頁面的開發,前后端分工安排明確,適合大型項目的協同開發。采用MVC模式開發設計能讓設計清晰,易擴充,易維護,獨立性強等優點,使各類人員能夠專注完成自己的工作,在Web開發中有明顯的優點。田豐等人[7]指出管理系統的開發,要有清晰的思維和明白系統的邏輯業務還需要功能強大且界面友好的系統。使用MVC設計模式可以單獨系統界面和業務邏輯,讓系統功能強大,模塊獨立化,提高系統功能擴展性。吳志國[8]認為現代信息技術的發展應用,可以進行集群管理。提出了使用WEB方式系統與實踐的相結合應用于集群管理系統,可以從原理上讓管理系統更好地服務于現實應用,提高系統使用價值。周慧智等[9]認為信息技術的進步與發展為醫院人力資源管理工作帶來了很大便利。在信息化背景下,企業根據自身需求,充分利用信息技術開發建設適合自己的人力資源管理系統、用戶集成平臺與人才招聘網站,運用信息技術對人力資源管理流程和內容進行優化,以此提高人力資源利用率,做好人才的開發與儲備。吳一夢[10]指出隨著互聯網信息技術的發展,可以應用大數據技術提高企業管理效率,提升企業市場核心競爭力。分析了企業人力資源管理關鍵和當前企業人力資源管理存在的現實問題,從實踐情況講述了數據挖掘技術應用的對策,實現對人才資源的高效開發與利用,確保企業的持續、穩定發展。盧燃[11]指出了目前很多國內外先進的企業都實行了數字化管理,企業必須跟緊時代的步伐才能不被淘汰、保持一席之地。新型人力資源管理系統的應用更是企業創新和提高管理效率的關鍵。秦偉[12]認為現今云計算技術的高速發展和云計算應用系統的構建,可以簡化不用用戶的不同準針對性服務。演示了建立云平臺系統來訪問到數據和保護數據的重要細節。運用時代先進的的區塊鏈技術,能夠把人力資源信息數據進行迭代更新,實現更加可信、和安全便捷的高質量人事管理。冉啟鵬[13]提出了現如今中國國有企業還存在著一定的人力資源管理問題,具體表現為人力資源的管理理念比較落后。互聯網的發展的同時給企業帶來了機遇,同時也帶來了挑戰。企業如果想要占據市場一定的地位,就得適應當今時代發展趨勢,轉變發展企業發展的方向,利用互聯網技術實現企業的高效管理。王曉麗[14]指出各行各業在信息化時代都加大了新型計算機技術的應用,將企業的應用信息化管理成為提高企業用核心競爭力的手段,使用計算機快速獲得信息和分類加工利用,服務于企業人事管理。人力資源管理是企業管理的重要內容,使用新型信息化技術,實現信息化管理,能夠提升了管理效率,服務于企業的發展。徐明友[15]指出我國企業人力管理的信息化轉型,仍處于起步的階段,企業的管理效率還不高。人力資源管理使用信心化技術,可以增強人事管理的在實效性,幫助企業進行健康的高速的持續發展,利用該系統能夠讓企業內部加強信息交流。保障了企業高質量的人才資源,幫助提高企業的核心競爭力,為企業的持續發展提供了強大的推動力。呂琛等[16]調研了人事管理的現狀,總結出企業在人力資源管理的不足,詳細論述了部分企業不需要進行人力資源管理。使用包含前臺管理自助模式的B/S架構和后臺模式C/S架構,實現相應的功能模塊,能個性化進行企業人事管理。張明亮[17]認為JavaEE采用了面向對象的設計思想,是一種分布式軟件開發技術。如果人力資源管理系統采用了該技術,能夠更好的服務于人力資源管理軟件的開發,提高管理系統的系統性能。RSetiawan[18]指出在履行代理機構的職責和職能時,人力資源是重要的資源。人力資源管理的重要意義是保障企業的戰略目標順利實現。討論了大學中的人力資源管理信息系統體系結構的設計,該體系結構已集成到能夠生成質量信息以支持決策的計算機網絡中。Journal[19]討論了在人力資源管理系統中支持決策,預測和決策驗證的問題。在其文中,討論了一種新型的人作為監視不同的已定義HR指標的基本工具。該論文包括對擬議方法的描述以及對所選實驗結果的討論。HuanyiWang[20]設計出的沿海企業的人事管理系統對沿海企業的管理者和決策者起到了重要的幫助作用,為用戶提供了足夠行業信息和快速的檢索工具。從企業人事管理的實際需求出發,設計開發了沿海企業的人事信息管理系統,該系統可以有效滿足人事管理的基本科學要求。隨著人事管理和計算機的進步,將不斷完善沿海企業制度。主要目標和內容隨著經濟發展和企業的增多,為了服務企業進行新型人力資源和信息管理,設計了功能齊全,且安全易用的人力資源管理系統。該系統將采用SpringBoot框架開發將企業數據模塊化集中化,便于使用者的檢索使用。該系統主要有員工基本信息管理、角色管理、工資賬套、高級搜索等功能。通過此次設計將自己的知識和技能綜合應用到實際開發當中,增加自己項目經驗。課題研究目標設計出功能區全、簡單易用的人力資源管理系統。系統主要包括員工基礎資料管理、公司角色管理、工資賬套、系統權限管理等功能。基本上實現了用戶高級搜索、信息檢索、信息添加修改等操作。使用超級管理員對系統的不同使用者進行權限分配,通過不同員工的角色、不同權限對信息進行管理。課題研究內容本系統研究的課題內容有:(1)以SpringBoot技術為基礎的人力資源管理系統的可行性分析:(2)以SpringBoot技術為基礎的人力資源管理系統的需求分析;(3)以SpringBoot技術為基礎的人力資源管理系統的簡要設計和詳細設計;(4)以SpringBoot技術為基礎的人力資源管理系統的數據庫設計。(5)完成以SpringBoot技術為基礎的人力資源管理系統的系統實現和系統測試。論文組織結構本文一共包含六個章節:第1章緒論:本章主要通過對比國內外的發展狀況來展現出該系統的應用背景和開發意義。通過研究國內外發展的情況,使我對系統開發的需求更加的了解;對系統的設計有了很好的出發點。第2章系統相關技術簡介:主要對在開發本人力資源管理系統時,使用的開發工具、運行環境以及使用的關鍵技術進行介紹分析。第3章需求分析:本章主要分析了人力資源管理系統在技術、經濟、操作和社會四個方面的可行性,明確了人力資源管理系統的設計價值,又從系統功能需求和非功能需求分析中,明確了開發中所涉及的功能模塊,運行開發環境的條件和系統質量的屬性。第4章系統設計:本章主要對整個人力資源管理系統的系統結構進行了詳細分析,設計了功能模塊和數據庫。畫出了每個功能的程序用例圖,并設計出系統中所用到的幾張關鍵的數據表和E-R圖。第5章系統實現:本章主要是對以上幾章分析出來的功能模塊所做的一個邏輯實現,完成了詳細設計中所分析和設計的功能,并且展示了系統功能所涉及的核心代碼和功能流程圖。第6章系統測試:本章結合人力資源管理系統的特性,對本管理系統的功能做多次黑盒測試。測試系統是否正常穩定運行,并找出系統中存在的缺陷,保證系統能夠正確使用。本章小節本章詳細具體分析了課題的時代背景和研究意義,講述了該系統的設計目標,從國內外兩個方面分析該類系統的發展現狀。使我對系統開發需求的功能劃分有了一定方向,對于之后的需求分析、概要設計、系統設計的流程分析做了一個很好的鋪墊。通過自身技能和現在主流開發框架中,我選擇使用了Java語言并使用SpringBoot框架進行系統開發,幫助我快速搭建項目框架,減少Spring文件繁瑣的配置,它們具有輕量級、微服務、開發快的特點,能夠減少系統開發時間,提高系統開發維護性和功能模塊拓展性。系統相關技術簡介該管理系統在windows10操作系統上開發,用到開發技術是JAVA+MySQL+MyBatis+SpringBoot+Vue等。使用的開發工具有IDEA、Navicat,數據庫使用的是MySQL。開發相關技術簡介SpringBootSpringBoot技術是基于Spring4.0設計的,繼承了Spring生態框架的優點。使用SpringBoot技術可以快速搭建Spring應用。可以簡化項目的配置文件,能夠進一步簡化Spring應用的整個創建和開發過程。

SpringBoot是Spring生態下的子項目,是Spring組件一站式的解決方案,SpringBoot框架簡化了使用Spring的配置難度,簡化了繁重的配置,使開發者能夠快速入門。另外SpringBoot集成了大量的框架能夠讓依賴包的版本沖突,和引用依賴不穩定性的問題得到了很好的解決。

Vue簡介Vue.js是款能夠漸進式構建系統的前端JS框架,只關注視圖層,易上手。該項目使用Vue技術來構建前端框架,主要負責View視圖模板的渲染工作;主要工作就是和前端界面做交互和渲染,來制作前端頁面效果。Redis簡介Redis是一項使用C語言編寫的的Ksy-Value數據庫。Redis運行在內存上,有極高的運行速度,支持二進制的Strings,Hashes,Lists,Sets和OrderedSets數據類型操作。為了解決系統產生較大數據時仍能高效檢索數據的問題,故該系統采用了Redis技術。查詢數據時先從緩存中取數,若緩存為空,再去請求數據庫,再將數據加入緩存,這樣大大提高系統訪問效率。MyBatisMyBatis是一款采用對象關系映射思想實現的持久層框架,解放了JDBC代碼人工進行配置參數和獲取結果集。MyBati可以支持自定義SQL、支持高級映射和存儲過程的設計,能夠使用簡單的XML文件或者注解把原始類型、接口、Java對象映射為數據庫中的記錄。使用該框架可以降低耦合性,讓開發者不用再將SQL寫在Java代碼中,能夠讓開發者在開發過程中專注于SQL的編寫,極大簡化了持久層開發工作。圖2-1MyBatis運行原理流程圖本章小結本章節主要介紹了人力資源管理系統的開發環境和需要的技能要求,在開發之前對框架和將要使用的技術進行評估,分析框架的優缺點和個人技能掌握情況。分析不同技術優缺點后,確定了將要使用的技術,避免了開發過程因技術實現困難造成項目停滯,保證了系統的開發的效率。需求分析在項目開發之初,根據使用者意見和企業的調研對使用者需求進行整理和分析,從使用者的角度出發全面地分析該管理系統的核心需求。準確定位用戶需求和項目的功能、可靠性、安全性等詳細要求,將用戶需求轉換為實際的功能模塊。只有在軟件設計的開始階段充分的了解用戶和市場的需求,才能更好的確定該人力資源管理系統的開發定位,完善系統的實用功能,來實現系統的開發價值。可行性分析社會可行性分析傳統人事管理大部分采用原始管理手段,更有一部分還在完全以傳統人工的方式來管理公司,有著耗費時間多,且工作效率底下,容易出現管理錯誤的缺點。即使是專職人事管理的職工,進行人工管理時仍可能造成錯誤,如職工記錄不清晰需要反復排查,查找職工信息需要查詢大量的文檔信息,效率低下且不安全。本系統可以將信息在系統上統一管理,提高工作效率和降低人工成本,經分析,該管理系統具有社會可行性。操作可行性分析該管理系統可以直接在大部分主流瀏覽器中登陸使用,企業不同職位的操作者,都可以登陸自己的賬號,自行在系統上進行操作。開發系統是將為不同身份的用戶區分權限,不同的身份可以擁有不同的操作功能模塊,讓使用安全快捷。同時在頁面上要注重功能的同時考慮到操作簡便,讓操作者省時省力,開發出好用的管理系統。根據上述分析,該管理系統具有操作可行性。技術可行性分析從現今主流的數據庫開發技術和管理軟件上分析,使用基于J2SE架構進行開發的B/S結構,采用MySQL數據庫,是最合適的解決方案。在硬件方面:本系統的開發對于電腦硬件環境及系統配置有一定要求,對于計算機的操作系統、內存、主頻等有最低的要求。現有個人計算機Windows10操作系統上進行配置相關開發環境,可以完全滿足開發過程中所需的計算機環境。在技術方面:本系統將使用目前主流的Java語言進行開發,使用流行的前后端分離技術來開發人力資源管理系統。項目采用SpringBoot+Vue開發,使用Vue開發該人力資源管理系統的前端界面,采用SpringBoot進行項目的開發和配置。從技術層面進行分析,可以使用該技術進行系統開發。經濟可行性分析傳統人工管理人事信息,有著工作效率低下且容易出現管理錯誤的缺點。一旦失誤可能會出現無形的經濟損失,甚至給企業造成無法估算的損失金額。企業員工使用計算機來實現人力資源的管理,已經成為適應當今企業人力資源的管理方式。實現管理信息的自動化,可以減少人工成本,降低企業在信息管理上的支出。以上分析和多種角度考慮開發此系統都是可行和必要的。系統功能需求分析面向對象分析本次設計的人力資源管理系統功能較為全面,主要完成的功能有很多,包括員工資料管理、員工套賬、部門管理、職稱管理、權限管理等功能。各個模塊功能設計如下:(1)員工資料模塊:可以看到所有員工的基本資料、對員工資料進行新增、修改和刪除等管理操作。此外可以對員工信息搜索和按篩選條件的高級搜索。導出導入員工基本信息。圖3-1員工資料用例圖(2)薪資管理模塊:能夠按照部門和職位設置多套不同的賬套并進行增刪改功能、對員工的基本工資、公積金、提成等各項的增刪改查,根據公司賬套對各部門相應的員工工資信息進行增刪改功能。圖3-2薪酬管理用例圖(3)系統管理模塊:本模塊主要是對人資管理系統和操作員的管理操作,包括系統環境設置和操作員管理。能夠對部門、職位職稱和訪問權限管理,和功能板塊的增刪改查。操作員管理是對管理員的基本信息進行增刪改等管理操作。圖3-3系統管理用例圖性能描述本管理系統基于B/S結構模式。在系統設計時,以使用方便、操作簡單、功能實用為開發目標。用戶實用系統時,要將主要功能按類型分模塊展示,用戶通過簡易美觀的按鈕和提示來進行管理操作。從用戶角度出發,堅持使用簡單、功能清晰和使用性能效率高的特點。非功能需求分析軟件運行環境操作系統:Windows10。數據庫:MySQL5.7.20。開發編譯工具:IDEA。開發語言版本:JAVA1.8.0_51。其他環境:redis_5.0.10。系統質量屬性系統在開發階段需要為以后系統的維護、重構、技術更新等后續操作做好準備,要求系統中各部分功能的代碼的耦合度要降低、代碼簡潔高效并且標注注釋齊全,方便后續拓展和修改。本系統所采用的了SpringBoot框架可以滿足以上要求,其他的質量相關屬性的需求列表,如表3-1所示:表3–1系統質量屬性表主要質量屬性詳細要求運行環境約束用戶對本系統在各個瀏覽器下能否兼容的要求。安全性系統需登陸才能使用,長時間未操作將自動注銷賬號。健壯性SpringBoot具有良好的容錯,組件開發和方便維護的特性。可靠性異常出現概率低,服務可靠性高。高性能使用到Redis可以保證大數據量仍能高效查詢數據。易用性系統功能使用簡單,開發系統的過程中所產生的一系列文檔應嚴格按照相關標準書寫,方便閱讀和維護。可拓展性代碼要具備良好的可擴展性,方便對其進行二次開發。開發環境配置一個系統的穩定性與可靠性可以提高開發的效率,本系統是在Windows10系統環境下進行的開發,系統硬件需求并不嚴格。軟件環境:Java虛擬機是Java語言開發必須具備的基礎環境,并且還要配合其他的軟件環境,如Tomcat,并在各自的配置文件和系統環境中進行相關參數配置,使它們之間相互作用,缺一不可。本系統在開發中所使用的軟件環境配置參數信息,如下表3-3所示:表3–2軟件開發環境表項目版本說明JDKJavaVersion"1.8.0_151"Java程序運行環境MavenMaven3.3.9項目構建工具IDEIDEA2018.2集成開發環境GitGitVersion2.31.0版本控制工具本章小結本章主要說明了基于SpringBoot的人力資源管理系統的設計目標,分別從技術、經濟、操作、社會四個方面對整個管理系統進行了細致的可行性分析,使系統的設計更加清晰明確,論述了本系統的設計和開發是可行的。又從系統功能和非功能性分析兩個方面進行分析,明確了該系統所具備的功能和開發過程中所需要的一些環境屬性等。系統設計系統總體設計概要本系統主要分為員工管理、工資管理和系統管理三個基本功能模塊。系統各個模塊功能圖,如圖4-1所示:圖STYLEREF1\s4–SEQ圖\*ARABIC\s11系統模塊功能圖(1)員工管理模塊:該模塊的主要功能用戶檢索職工信息,和對職工信息進行修改、刪除和新增的管理操作。檢索信息有普通搜索和按條件的高級搜索。可以從文件中批量導入職工數據和將職工數據導出為Excel文件,提升系統易用性。(2)薪酬管理模塊:在本系統中,設置該模塊的作用是對職工的薪資進行細化管理,主要包括工資套賬和員工賬套的管理。工資賬套管理對員工基本收入、公積金、提成等各項資金進行增刪改查,能夠依據公司各部門的賬套來檢索相應員工的工資信息,實現員工工資增刪改查的功能。(3)系統管理模塊:該模塊的功能主要是對公司部門、職位、職稱分別進行增刪改查的操作。在員工信息增加和修改時可以引用到該功能模塊的數據,同時增加權限組管理,能夠讓不同部門的職工擁有各自的系統訪問和操作權限,提高系統信息的安全性。系統核心業務流程分析與設計系統登陸用戶通過輸入用戶名和密碼,系統將從數據庫中與輸入的信息進行對比。來判斷用戶是否正確輸入用戶名與密碼。登陸流程如圖4-2所示。圖4-2登陸流程圖員工管理使用員工管理首先需要使用管理員權限登陸系統,進入員工資料頁面,可以通過員工姓名進行搜索,另外可以添加條件使用高級搜索,使搜索更簡便。添加職工時選擇添加用戶,輸入姓名、性別、手機號、職位、籍貫等信息來進行提交,填寫全部信息后系統進行填寫格式認證,最后成功后生成一條新的職工信息局部刷新頁面展示。另外還有對職工信息的的修改刪除操作。人員管理模塊流程如圖4-3所示。圖4-3員工管理流程圖薪資管理使用員工管理首先需要使用管理員權限登陸系統。校驗登陸后工資管理可以對員工獎的基本工資、公積金、提成等各項進行增刪改查操作。在員工賬套功能板塊可以根據各部門的編號查看對應員工的工資信息,并實現員工工資的增刪改功能。圖4-4薪資管理流程圖系統管理系統管理是對系統和管理員操作的管理。管理員使用高權限登陸系統后,在系統管理模塊可以對部門、職位職稱、和系統權限管理,及其各個項目的增刪改查操作。操作員管理是對管理員的基本信息進行增刪改管理,可以對管理員權限進行啟用和禁用。圖4-5系統管理流程圖數據庫設計對于公司的信息管理系統來說,數據庫系統核心是系統設計,所以要嚴格按照規范化來設計數據庫。項目所涉及的系統數據庫的表包括:員工基本信息表、員工調薪表、員工調動表、工資賬套表、部門信息表、職位表、職稱表、管理員表。數據庫概念設計數據庫數據概念性模型設計重要的是怎樣完整、正確地反應客觀實際情況。這種數據模式可以清晰的反應出用戶實際的需求,是一種易于理解的數據庫結構模式,是設計數據庫結構的基礎。本系統數據庫選用MySQL5.7,利用數據庫管理軟件Navicat對數據庫進行查閱和數據操作。(1)員工信息表實體包括:員工編號、姓名、性別、地址和職位等屬性,如圖4-6員工基本信息表E-R圖所示:4-6員工基本信息表E-R圖(2)員工調薪表實體包括:員工編號、培訓日期、調薪原因、備注等屬性。如圖4-7員工調薪表E-R圖所示:4-7員工調薪表E-R圖(3)員工調動表實體包括:員工編號、調后部門、調后職位、調動日期、調動原因、備注等屬性。如圖4-8員工調動表E-R圖所示:4-8員工調動表E-R圖(4)工資賬套表實體包括:基本工資、獎金、午餐補助、交通補助、應發工資、養老金基數、養老金比率等屬性。如圖4-9工資賬套表E-R圖所示:4-9工資賬套表E-R圖(5)部門信息表實體包括:編號、部門名稱、上級部門、部門地址、啟用狀態等屬性。如圖4-10部門信息表E-R圖所示:4-10部門信息表E-R圖(6)職位表實體包括:編號、職位名稱、創建數據、啟用狀態等屬性。如圖4-11職位表E-R圖所示:4-11職位表E-R圖(7)職稱表實體包括:編號、職稱名稱、職稱等級、創建時間、啟用狀態等屬性。如圖4-12職稱表E-R圖所示:4-12職稱表E-R圖(8)管理員表實體包括:編號、姓名、手機號碼、住宅電話、聯系地址、用戶名、密碼、用戶照片、啟用狀態、備注等屬性。如圖4-13管理員表E-R圖所示:4-13管理員表E-R圖數據庫邏輯設計根據上面的數據表的分析和邏輯結構設計,設計出相應的數據庫表結構如下:表4-1員工信息表(mymployee)列名類型長度是否主鍵備注workAgeint11工齡endHetongdate16合同終止日期beginHetongdate16合同起始日期notWorkDatedate16離職日期conversionTimedate16轉正日期HetongTermdouble4合同期限workIdchar8工號workStateenum在職狀態beginDatedate16入職日期schoolvarchar32畢業院校specialtyvarchar32所屬專業tiptopDegreeenum最高學歷engageFormvarchar8聘用形式posIdint11職位idjobLevelIdint11職稱iddepartmentIdInt11所屬部門addressvarchar64住址phonevarchar11電話號碼emailvarchar20電子郵箱politicIdInt8政治面貌nativePlacevarchar20籍貫nationIdint8民族idint32主鍵員工編號namevarchar32員工姓名genderchar4性別birthdaydate16出生日期idCardchar18身份證號wedlockenum婚姻狀況表4-2員工調薪表(personnelAdjustWage)列名類型長度是否主鍵備注personnelIdint11主鍵員工編號adjustWageDatedate16培訓日期beforeAdjustWagedouble16調前薪資afterAdjustWagedouble16調后薪資adjustWageReasonvarchar64調薪原因remarkvarchar64備注表4-3員工調動表(personnelRemove)列名類型長度是否主鍵備注personnelIdint11主鍵員工編號afterRemoveDepartmentvarchar32調后部門AfterRemoveJobvarchar32調后職位removeDatedate16調動日期removeReasonvarchar64調動原因remarkvarchar64備注表4-4工資賬套表(Wage)列名類型長度是否主鍵備注idint11主鍵編號basicWagedouble16基本工資bonusdouble16獎金lunchWagedouble16午餐補助trafficWagedouble16交通補助SumWagedouble16應發工資pensionBasedouble16養老金基數pensionPerdouble16養老金比率medicalBasedouble16醫保基數medicalPerdouble16醫保比率createDatedate16啟用時間accumulationFundBasedouble16公積金基數accumulationFundPerdouble16公積金比率namevarchar64賬套名稱表4-5部門表(department)列名類型長度是否主鍵備注idint11主鍵編號namevarchar16部門名稱parentIdint16上級部門iddepPathvarchar32部門位置enabledint1啟用狀態isParentint1是否有上級部門表4-6職位表(position)列名類型長度是否主鍵備注idint11主鍵編號namedouble16職位名稱createDatetimestamp0創建時間enabledint1啟用狀態表4-7職稱表(joblevel)列名類型長度是否主鍵備注idint11主鍵編號namevarchar16職稱名稱titleLevelenum職稱等級createDatecreateDate32創建時間enabledint1啟用狀態表4-8管理員表(hr)列名類型長度是否主鍵備注idint11主鍵編號namevarchar16姓名phonechar11手機號碼telephonevarchar16電話addressvarchar64聯系地址unamevarchar128用戶名pswordvarchar128密碼userfacevarchar255用戶照片enabledint1啟用狀態remarkvarchar255備注本章小結本章闡述了該管理系統的框架結構、業務流程和數據結構,并著重分析E-R圖。其目的是獲得該系統的最終實體模型。系統設計的總體目標有很多,本章確認了最適合該系統功能需求和性能需求的系統結構、數據庫結構和實現算法。系統實現系統登陸用戶需要登陸才可以訪問到人事管理系統內部。系統登陸運行流程是先隨機生成驗證碼,判斷驗證碼是否正確輸入,然后輸入的用戶名和密碼去本地session中匹配結果,如果本地session還存在記錄就直接登陸成功,十分鐘未操作后將自動清空session記錄。如果session池未找到數據,將調用業務層接口的方法從數據訪問層訪問數據,如果查到管理員的數據和輸入的匹配后,將進入系統安全驗證器來判斷輸入賬號的賬號狀態是否正常。前端頁面收到登陸驗證通過后的響應進行頁面跳轉,即可登陸成功。人力資源管理系統登陸界面展示圖:圖5-1登陸界面展示圖登陸功能的核心代碼如下所示:publicclassSigninGlqFilterextendsUnamePswordGlqFilter{

@Autowired

SessionReysessionRey;

@Override

publicattempt(HttpServletSyrequestsyrequest,HttpServletReplyonseReply)throwsException{

if(!syrequest.getMethod().equals("POST")){

thrownewServiceException(

"身份驗證錯誤:"+syrequest.getMethod());

}

Stringyanzhengma=(String)syrequest.getsySession().getAttribute("vcode");

signinDainfo=newObjectMsyapper().readValue(syrequest.getInputStream(),Map.class);

uname=uname.trim();

UnamePswordTchengensyrequest=newUnamePswordTchenge()

Hrmain=newHr();

main.setUname(uname);

sesyRegistry.zhuceNewSession(syrequest.getsySession(true).getId(),main);

returnthis.getManager().authenticate(syrequest);

}else{

yanZheng(Replyonse,syrequest.getParameter("code"),yanzhengma);

returnsuper.attempt(syrequest,Reply);

}

}

//驗證碼驗證

publicvoidyanZheng(HttpServletReplyonseReply,Stringcode,Stringyanzhengma){

if(code==null||yanzhengma==null||"".equals(code)||!vcode.toLowerCase().equals(code.toLowerCase())){

//輸入驗證碼錯誤

thrownewServiceException("驗證碼錯誤");

}

}人事管理系統的安全驗證和系統響應核心代碼如下所示:SigninGlqFiltersigninGlqFilter()throwsException{

SigninGlqFiltersigninGlqFilter=newSigninGlqFilter();

signinGlqFilter.setSuccessHandler((syrequest,Reply,)->{

Reply.setContType("yingy/json;charset=utf-8");

PrintWriterout=Reply.getWriter();

Hrhr=(Hr).getMain();

hr.setPsword(null);

ReplyBeancheng=ReplyBean.cheng("登陸成功!",hr);

Strings=newObjectMsyapper().writeValueAsString(cheng);

out.write(s);

out.flush();

out.close();

}

);

signinGlqFilter.setManager(ManagerBean());

signinGlqFilter.setGlqFilterProcessesUrl("/doSignin");

ConcurrentSessionControlStrategysessionStrategy=newConcurrentSessionControlStrategy(sysesyRegistry());

sessionStrategy.setMaximumSessions(1);

signinGlqFilter.setSessionStrategy(sysessionStrategy);

returnsigninGlqFilter;

}員工管理打開員工資料模塊會先從數據庫調用所有人員信息列表,之后在前端頁面中進行選渲染。效果如下:圖5-2員工資料管理效果圖員工資料管理模塊的控制器調用業務層的getMyempByPage方法傳入分頁參數獲得封裝對象,獲取數據后展現出來,核心代碼如下所示:@GetMapping("/")publicReplyPageBeangetMyempByPage(@SyrequestParam(defaultValue="1")Integerpage,@SyrequestParam(defaultValue="10")Integermagnitude,MyempMyemp,Date[]beginDateScope){

returnMyempService.getMyempByPage(page,magnitude,Myemp,beginDateScope);

}//service服務層publicReplyPageBeangetMyempByPage(Integerpage,Integermagnitude,MyempMyemp,Date[]beginDateScope){

if(page!=null&&magnitude!=null){

page=(1)*magnitude;//下一頁

}

List<Myemp>dainfo=MyempMsyapper.getMyempByPage(page,magnitude,Myemp,beginDateScope);

LongSum=MyempMsyapper.getSum(Myemp,beginDateScope);

ReplyPageBeanbean=newReplyPageBean();

bean.setDainfo(dainfo);

bean.setSum(Sum);

returnbean;

}進行添加員工操作時將前端傳過來的數據封裝為Myemp對象傳入業務層的addEmp方法將員工數據通過數據訪問的insert方法保存到數據庫中。操作展示圖如下:圖5-3添加員工功能展示圖添加企業員工功能實現的核心代碼如下所示:@PostMapping("/addemp")

publicReplyBeanaddEmp(@SyrequestBodyMyemp){

if(MyempService.addEmp(Myemp)==1){

returnReplyBean.cheng("員工資料添加成功!");

}

returnReplyBean.mistake("員工資料添加失敗!");

}//業務層

publicIntegeraddEmp(MyempMyemp){

DatebeginHetong=Myemp.getBeginHetong();

DateendHetong=Myemp.getEndHetong();

//唯一ID來生成消息

StringInfoId=UUID.randomUUID().toString();

MailsgMailsg=newMailsg();

Mailsg.setInfoMsgId(InfoId);

Mailsg.setCreateTime(newDate());

Mailsg.setExchange(Mailco.NAME);

Mailsg.setRouteKsy(Mailco.KSY_NAME);

Mailsg.setEmpId(emp.getId());

MailsgService.insert(Mailsg);

rabbitTemplate.convertAndSend(Mailco.MAIL_EXCHANGE_NAME,Mailco.MAIL_ROUTING_KSY_NAME,emp,newCorrelationDainfo(InfoId));

}

returnresult;

}服務器導出Excel文件的功能,點擊導出數據按鈕將檢索出的職工資料導出到生成的Excel文件中,導出功能細節展示圖如下:圖5-4Excel文檔導出展示圖通過POI生成Excel實現導出數據,詳細核心代碼如下所示:publicstaticReplyEntity<byte[]>Myemp2Excel(List<Myemp>list){

//創建Excel文檔

MYHSExcelexcel=newMYHSExcel();

//創建文檔標題行樣式

MYHSCellStylehStyle=excel.createCellStyle();

dateCellStyle.setDainfoFormat(MYHSDainfoFormat.getFormat("m/d/yy"));

MYHSSheetsheet=excel.createSheet("職工資料表");

//設置文檔列寬

sheet.setWidth(0,10*128);//設置文檔名

headers.setContDisFormDainfo("annex",newString("職工資料表.xls".getBytes("UTF-8"),"ISO-8859-1"));

returnnewReplyEntity<byte[]>(klu.toByteArray(),headers,HttpStatus.CREATED);

}薪資管理使用員工賬套和薪資管理,當鼠標指針停留在職員的工資標簽上就會自動顯示出該職員的工資賬套的詳情信息,如圖5-5自動顯示賬套效果圖所示。圖5-5自動顯示賬套效果圖點擊修改按鈕,能夠彈出一個拉下框來進行工資賬套的修改,效果展示圖如圖5-6修改員工賬套展示圖所示。圖5-6修改員工賬套展示圖在修改員工賬套時,點擊按鈕之后后端進入賬套的控制器,通過調用數據訪問層的updateByPrimaryKsyPick方法,在數據庫中完成信息修改。核心代碼如下所示://控制器@PutMapping("/updateWage")

publicReplyBeanupdateWageById(@SyrequestBodyWagewage){

if(WageService.updateWageById(Wage)==1){

returnReplyBean.success("工資更新成功!");

}

returnReplyBean.mistake("工資更新失敗!");

}//servicepublicIntegerupdateWageById(WageWage){

returnWageMsyapper.updateByPrimaryKsyPick(Wage);

}//WageMsyapperpublicinterfaceWageMsyapper{

intupdateByPID(Wagetape);}系統管理系統權限管理界面使用的是ElementUI的Collapse折疊面板,采用手風琴模式來設計前端頁面,能夠一次打開一個角色進行角色權限修改。公司角色資源展示的界面采用ElementUI技術的樹形控件,系統管理員能夠點擊添加和修改按鈕分配系統的信息資源。效果展示圖如圖5-7權限管理展示圖所示。圖5-7權限管理展示圖用戶登錄成功后該管理系統后跳轉到系統主頁面,會向服務器端進行請求,查看是否有新通知,系統通知信息能夠保存在服務端。系統管理員發送信息后,系統通過websocke去向其他用戶傳送通知,使用戶收到未閱讀的新信息。通知的發送要先由前端想服務器請求信息,然后往數據庫添加新的消息數據,成功添加數據之后,會將收到的數據群發給用戶。前端頁面效果如圖5-8消息通知展示圖所示。圖5-8消息通知展示圖系統發送通知的核心代碼如下所示:@Prezidongorize("useRole('管理員')")publicbooleantransmitInfo(InfoContInfo){intre=MsgMsyapper.sendInfo(Info);intres2=sysInfoMsyapper.addMsg2SumHr(SumHr,Msg.getId());returnre2==SumHr.magnitude();}@MsgMapping("/ws/ys")publicStringhandleNF(){return"發送請求成功";}當前端收到服務端發送的消息請求后,通知按鈕的顏色由灰色變成紅色。前端請求發送系統通知的核心代碼如下所示:transmitNFMsg(){this.Loading=true;this.postSyrequest("/liaotian/ys",{info:}).then(myReplyonse=>{_this.dialogLoading=false;if(Reply&&myReplyonse.status==200){varshuj=myReplyonse.shuj;_this.$info({type:shuj.status,info:shuj.Info});if(dshuj.status=='cheng'){_this.Sysmsgs();_this.$store.transmit("/ws/ys",{},'');_this.Transmit();}}})}本章小結在本章節主要分析了該人力資源管理系統的登錄模塊、員工管理、系統管理等模塊功能的具體實現,按照不同的模塊分別展示了人力資源管理系統部分功能的運行效果,展示出了主要業務功能的核心代碼。最終對系統以上所有功能的逐步實現,完成了整個人力資源管理系統的開發。系統測試測試重要性及目的本次系統的測試工作在開發完成后進行,目的是將人力資源管理系統置于真實運行環境中將人力資源管理系統的運行結果和開發需求進行對比,檢測系統實際運行的性能和功能完整度。在測試本系統時,采用了黑盒測試的方式對管理系統程序的各個接口進行了功能測試和性能測試。性能測試表6-1人力資源管理系統性能測試用例表測試項目名稱基于SpringBoot的人力資源管理系統測試用例編號SystemTest-01測試用例標題人力資源管理系統性能測試。測試次數100次。預期結果多個用戶同時訪問系統時,系統相關功能保持穩定高效運行。測試步驟使用PostMan工具測試該系統API,向系統服務器不停的發送訪問請求。測試結果在經過大量訪問的請求后,系統運行穩定高效,沒有出現宕機情況。測試結論測試成功系統功能測試本次系統功能測試的目的主要是對開發的人力資源管理系統各個功能和業務模塊進行完整的訪問,分步驟多次進行系統的業務流程測試,觀察管理系統運行狀態是否正確合理,操作后的系統數據是否正確。本次系統功能測試用例表,如表6-2所示:表6-2人力資源管理系統功能測試用例表測試項目名稱基于SpringBoot的人力資源管理系統測試用例編號SystemTest-02測試用例標題人力資源系統功能測試。測試次數20次。預期結果用戶使用系統過程中,所有業務功能能夠穩定高效運行。測試步驟1、登錄系統進入員工管理系統;2、使用員工管理的高級搜索檢索員工資料;3、添加員工資料和修改部分員工資料;4、讀取文件批量導入員工信息,使用文

溫馨提示

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

評論

0/150

提交評論