




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
基于Python的工資管理系統的設計與實現摘要隨著我國經濟的快速發展,各個企業逐漸向大型化以及規模化轉型,在大型企業管理中,員工的職稱等級與薪酬制度息息相關,僅靠傳統的薪酬核算方式是遠遠不夠的,并且容易出現失誤和紕漏,所以,企業應當遵循時代的發展規律,利用計算機工資核算系統取代傳統的人工核算模式,在新增員工這一模塊,設置工資查詢功能,便于核算統計等操作,合理規范的薪資管理制度能夠優化企業的薪資管理流程,提高工資核算效率,對企業的發展和壯大有著非常重要的意義。本文所涉及的工資管理系統基于Python作為系統的開發語言,該系統主要涉及到工資檔案管理、工資計算管理、工資報表管理和權限管理等功能模塊。利用python中的yacc模塊以及Alex模塊,設定一種語法解析功能與途徑,便于完成自定義工資數據的分析,進而自動生成員工工資單,核算出應發的工資以及需要扣除的稅款,企業薪酬管理系統具有四大優勢:第一,安全性高;第二,穩定性強;第三,準確度高;第四,可擴展性好,對企業的現有業務以及人員的規模有具體拓展功能,系統在應用過程中不僅節約了企業的人力成本,還很大程度的提升了工作效率,為滿足企業的壯大和發展奠定了堅實的基礎,利用系統化薪資發放模式,不僅能夠規范企業的管理制度,還要加強推廣力度,適用于其他各個行業。關鍵詞:績效工資;管理系統;Python
目錄TOC\o"1-2"\h\z\u1緒論 31.1本課題研究目的 31.2本課題研究意義 31.3國內外研究動態 31.4研究內容 42技術概述 62.1Python簡介 62.3Mysql數據庫 63工資管理系統的需求分析 83.1系統功能需求分析 83.2系統用例分析 93.3系統性能需求分析 104工資管理系統設計 124.1工資管理系統總體設計 124.2系統各功能模塊設計 154.3數據庫設計 205工資管理系統實現 235.1系統的軟硬件環境和開發工具 235.2系統各功能模塊實現 236工資管理系統測試 306.1測試方法 306.2測試過程 306.3測試結果 317結論與展望 327.1總結 327.2展望 32參考文獻 33致謝 341緒論1.1本課題研究目的目前,科技發展的如火如荼,越來越多的公司管理進行了現代化的升級,例如使用電子打卡系統、員工管理系統、局域網消息系統等,但是還沒有一個很好的方法實現工資財務管理系統。目前,大多數公司選擇銀行轉賬的方式發放工資,代替了原先現金發放工資的方式,使用轉賬的方式雖然較為簡便,無需專門的地方存放現金,也無需擔心現金丟失,但是每次發放工資的時候都需要一一核對工資,輸入工資卡賬號,核對人員信息后進行轉賬,同樣花費了較多的時間和人力,基于此現況,本文研究了基于Python的工資管理系統,可以通過計算機、數據庫的方式存儲數據,以實現發放工資時無需操作繁多的數據,僅須通過設計好的程序進行簡單操作后,便可實現發放工資的操作,以達到減少過程中的財產損失和節約工作人員操作時間的目的。1.2本課題研究意義很多企業財務部門的管理仍然沒有使用更為方便的網絡管理,然而使用的其他管理模式需要的不單止是公司的財務和支出,同時需要員工有處理事務的速度和準確度,其極大程度的影響公司面向未來規劃的發展,不利于公司盈利更不符合國家經濟發展的趨勢,針對于此種跟不上時代并且不科學的管理方式在很大情況下容易出現管理體系的不嚴謹、不便捷等問題,構建便捷快速的事物管理系統是勢在必行。提高管理效率的同時,如何協調化的處理工資管理系統的操作便利性、減少管理人員的投入、資金節流等問題也是必須納入參考的。因此本文基于Python的工資管理系統具有很大的研究意義。1.3國內外研究動態1.3.1國外研究動態工資管理在發達國家已有較為成熟的發展,在這個系統技術領域中,國外以多種Struts框架以及webService兩者相互結合的模式,并對此做出了詳細的對比,總結出兩者之間的優勢以及不足之處,選取適應Struts和WebService集成模式的運行環境,解決序列化問題的有效途徑是利用服務總線來進行有效的規避,采用可以實現web系統的管理模式,根據相關的文獻資料做出參考,這種集成模式較為簡便,對Web應用系統的部署工作提供了規范化管理,并且在此條件下,有效地開發出了相關的應用程序,對程序的修改和重建工作提升了很高的效率。1.3.2國內研究動態近年來,國內企業工資管理的話題是企業管理人員較為關注的重點,就企業的發展現狀而言,人力資源部門側重于激勵機制的建立,為人事制度的合理分配而制定的管理體系,在實際工作中,企業對工資管理的應用依然處于初始階段,在傳統的人力資源管理模式中,是以JDBC技術連接數據庫為主。根據相關文獻的記載表明,Hibernate系統作為一個開放源代碼的映射框架,在企業人事管理系統中,只要符合JDBC的運行環境,都能夠安裝Hibernate系統,因此,既能夠作為單獨的系統適用于Servlet以及JSP的Web頁中,也可以成為系統開發中JAVE的客戶端。分析其工作原理,Hibernate是通過強大的O/R映射功能將Java對象和存放在關系數據庫中的數據實施映射,企業人事管理系統可以根據程序員的思維進行編程和操作,在開發Hibernate的系統過程中,能夠預防系統開發人員利用SQL語言對數據庫進行編輯,使企業薪資管理系統的開發效率得到了很高的提升。1.4研究內容本文主要的研究內容是企業薪酬管理系統的開發和應用,是為了提升核算系統的安全性和高效性,為企業的業務拓展加大了優化空間,提升了整個企業的工資管理效率,該系統一共有四個重要組成部分:第一,工資檔案模塊;第二,工資計算模塊;第三,工資報表模塊;第四,權限管理模塊。本論文的綱要劃分為以下六個部分:第一部分是緒論。這部分主要結合現代背景下的互聯網發展在國內外企業中的運用現狀,以及對企業工資管理帶來的各種效果,以“互聯網+”為載體,拓展企業的發展規模和市場前景,該系統在國內企業中的需求量很大,還能夠為企業工作人員帶來了相關的激勵作用。第二部分是需求分析。主要針對其功能以及性能方面展開論述,企業工資管理系統中的各個功能模塊有著不同的作用,需要從計算能力以及安全性能方面展開詳細的分析。第三部分是系統設計。從企業架構以及功能方面分析工資管理系統的設計理念,除此之外,還包括功能模塊的用途分析。第四部分是系統的使用。利用系統的運行界面論述工資管理系統功能模塊的詳細操作步驟。第五部分測試。在對系統功能的測試方面,首先是對基本操作模塊功能進行測試,利用大數據對比分析,將實驗進行量化,總結出對比結果以及相關優勢。第六部分是總結。對于該系統的測試結果,除了具有傳統基礎的優勢以外,還存在著許多不足之處,對系統的優化和完善工作做出總結和進一步的展望。2技術概述2.1Python簡介吉多·范羅蘇姆,率先創造了python程序語言,在上世紀90年代初發布了第一版。在設計Python時人們更看重兩點:一是代碼的可讀性;二是語法的簡潔性。Python是完全免費的,在很多開源的科學計算庫中都可以直接調用Python。用戶可以在所有的計算機上免費安裝Python和它的擴展庫。與MATLAB相比,同為計算機語言的Python更為簡單,也不乏嚴謹性。采用Python編寫的程序代碼更加簡單易懂,維護也比較方便。通常在計算科學及工程等方面會廣泛用到MATLAB。不過仍會有一些需求在計算領域不可或缺。而Python中含有很多庫,完成高級任務也并不困難,所以用Python可以完成幾乎所有完整應用程序所需的功能。
2.2Redis技術介紹Redis數據庫是以C語言為基礎而研發的一款高性能鍵值對數據庫(key-value),它可以提供大量的電子數據,滿足不同場景的儲存需求,它是一種非關系型數據庫??梢杂靡越鉀Q高并發,高可用,高拓展等問題。同時具有持久化功能??纱鎯Φ臄祿愋拓S富,可以滿足大部分開發所需。對于Redis的應用大部分使用場景是用做緩存,分布式鎖以及分布式session共享等。2.3Mysql數據庫Mysql是一個開放源碼的關系數據庫管理系統,它支持sql查詢語言,并保證以多種方式查詢數據。Mysql提供了一整套數據庫、表,并以非常直觀的方式創建、訪問它們。更改數據庫的創建和訪問機制,以便建立各種數據及其關系。因其開源性,其主要優勢突出于開發成本低,由于MySQL數據庫的體積小,運行速度快,對各種大型數據庫都有著一定的支持功能,還具有高效的數據處理效率,在各種情況下都能夠滿足中小型數據庫的需求,除此之外,MySQL數據庫能夠支持多個系統的共同運行以及多種編程語言,MySQL在運行過程中無須經過特殊處理,采用相關的可視化管理工具,就可對該系統進行便捷化操作。因此,Mysql數據庫是進行在線商城系統數據存儲開發的首選。Mysql是一種可以運行在各種平臺上的關系數據庫系統,提供事物和非事物的存儲機制。MySQL數據庫可任意訪問因特網的各個模塊,但對使用權限有所控制,只有專業的操作人員才能訪問后臺數據庫。因為它在網絡運用方面取得了很大的成果,因而也被許多大型物聯網公司所喜歡。
3工資管理系統的需求分析3.1系統功能需求分析3.1.1工資檔案管理功能為了滿足現代社會的發展需求,積極響應國家的環保號召,無紙化辦公已成為企業的發展趨勢,專業的計算系統能夠準確的搜集員工的相關信息,通過計算功能對員工的薪資報酬做出準確的核算,并自動生成工資清單,再進行歸檔統一儲存管理。該系統功能主要將基本的數據源做出整理,對員工的工資單進行匯總,提供相關的核算結果,將員工的基本信息進行儲存管理。譬如:工號、崗位、崗位的實習工資、轉正后的基本工資、考勤率以及社保公積金等其他激勵獎勵,用戶可將以上數據信息轉換成Excel表格,根據實際情況對數據進行更改,將更改后的信息進行核實以表格的形式導出系統,成為線下數據記錄并存檔,該系統的管理功能主要是為了實現數據的統一化管理,將線下的文檔記錄線上化和自動化,這樣可以大幅度的提高用戶的工作效率。3.1.2工資計算功能隨著企業財務稅收制度的調整,對薪酬核算的要求也有所提高,為了使企業的薪酬管理制度具有合法公平性,企業采用了數字化工資管理系統,以此來提升企業的資產配置,避免傳統的人工核算錯誤,節約了大量的人工成本,減輕了人事部門的工作量。企業管理人員可以對員工的工作表現作出評估,參照工資的構成內容以及稅收方案對員工工資進行修改,經過核實以后再進行發放,對員工薪酬的修改為了滿足激勵機制的考核,利用薪酬獎勵鼓勵優秀員工為企業做出更多的貢獻,根據不同的計算方法,對公司項目增添或刪減,使工資單的生成更具靈活性。該系統的核心功能就是薪酬計算功能,除了融入大量的設計理念以外,還要根據企業的角度作為研發目標,自由添加各類數據項目并能夠靈活的修改,根據員工的實際工作情況,對實發工資添加獎勵項目或者扣除項目。3.1.3權限管理功能為了保證信息的安全性,企業要根據人力資源的各種特點,將使用權限進行合理的分配,并按照功能模塊對使用角色進行劃分,要利用前端和后臺做出全面的鑒別,嚴格監督系統的安全性能,根據不同的崗位劃分不同的權限,在企業薪酬管理系統中,有著多重的使用角色,譬如:檔案管理者,計算管理者以及報表管理者等,對于每個崗位都分配了不同的使用權限,在薪資管理系統中,對于權限的設定是由權限管理模塊功能實現的,由符合權限的工作人員才能在頁面中打開相對應的功能菜單。管理架構中的層級越高擁有的權限就越多,薪酬報表管理者擁有一定的授權權限,權限最低的是檔案管理者,僅擁有對數據的導出、導入以及整理權限。3.2實際操作分析本系統的用戶群體主要劃分為四個類別:第一,薪酬檔案管理者;第二,薪酬核算管理者;第三,薪酬管理者;第四,系統管理者。薪酬管理者主要是對員工工資進行核算,并以excel的形式導出數據庫,根據員工的實際收入進行數據的添加或刪除;核算管理者主要是針對薪酬檔案實施操作,根據工資的形成以及薪酬結構的調整,以員工所在的崗位對公司方案進行修正,主要用于對以下三個類別的調整:一,工資項目的調整;二,工資方案的調;三,工資單的建立、修改以及刪除等;薪酬核算管理者要對薪酬檔案進行管理;報表管理者要對薪酬檔案的調取和計算進行管理,并能夠隨時查看工資單結構以及相關的報表明細,這類權限主要給予領導管理者以及薪酬發放者;系統管理員的權限相當于整個系統的總管,擁有全部的使用權限,還能隨意增添使用角色,及時賦予某個部門以及員工相對應的權限,這類負責人主要由企業的人力資源管理者擔任,用于對薪酬發放的監督以及人力資源的管理,本系統的核心部分是對員工工資單的管理。下圖表明了用戶權限與系統功能之間的聯系,具體可參考3-1所示:圖3-1系統結構用例圖上面的系統結構用例圖,主要介紹了檔案管理和報表管理功能的用戶用例圖,權限這個功能的用例圖與一般的權限管理類似,也是基本的角色和權限的綁定,然后進行基礎的增刪改查操作。3.3系統性能需求分析按照性能需求進行劃分,主要分為五個方面:3.3.1系統的計算準確度高該系統實現了員工薪酬統計和計算功能,擁有非常強大的數據處理和儲存優勢,在數據的處理過程中可以精確到小數點,如果該系統失去了精確度以及計算能力,那么,會對整個公司的正常運營帶來毀滅性的災難。3.3.2系統的計算效率高企業薪酬項目涉及的類別較多,需要接收的數據龐大、來源廣泛,類型也較為復雜,所以,在計算方面要保持準確性和高效性,當企業員工超過數萬時,將核算速度設定在五分鐘內,核算速度會因為員工數量的增加而得到延伸,時間會相對的延長。3.3.3安全性能較高對于大型企業而言,員工薪酬的管理都有一定的保密性,對薪酬計算系統的安全要求較高,為了防止信息泄露,相關人員要對數據庫信息進行加密保護,在系統的使用權限方面,還要利用二次驗證進行核實,對登錄模塊以及操作模塊進行監督,管理人員要利用內網對訪問數據進行排查,有助于提升信息數據的安全性。3.3.4系統可擴展性高企業在發展過程中,規模會越來越大,軟件系統的開發要及時滿足公司的發展需求,在對薪資酬系統加強管理時,有必要的對其性能進行優化,由于模塊之間的功能耦合度低下,相關的業務聯系比較緊密,所以整個系統中存在著三種功能設計:第一,儲存功能;第二,計算功能;第三,顯示功能。在系統中增加功能模塊時需要增添新的用戶,其權限功能僅用于對系統的訪問和使用。3.3.5頁面的響應查詢響應利用數字化薪酬核算系統,主要是為了取代傳統的人工核算方法,以此來降低人工成本,提升工作效率,用戶可以利用自身權限對數據進行線上線下的導入和導出。通過瀏覽器開啟相關報表對數據進行篩選和查詢,在后臺進行計算處理后,對前端的頁面進行數據信息的顯示,在頁面瀏覽中,系統會提供所需要的相關信息,用戶可以根據自身的需求下載到本地,獲取想要的處理結果。
4工資管理系統設計4.1工資管理系統總體設計在工資管理系統中,操作人員可對企業項目進行選擇并自動生成工資單,利用計算模塊,根據員工的出勤狀況進行核算,參考編程的相關理論,通過自定義語言對于用戶的使用功能進行配置,再根據計算公式進行編輯,目前所采用的是python編程語言,以此來執行相對應的命令,由于該系統的使用人員過多,對計算公式的導入和分布提供了不同的解決方案,利用大數據節約了大量的耗時,本論文將拓撲圖論用于數據結構中,提升了項目之間的循環引用率。4.1.1系統功能結構該系統中的綜合功能,具體可參考圖4-1所示:工資管理系統工資管理系統權限管理模塊工資報表模塊工資計算模塊工資檔案模塊權限管理模塊工資報表模塊工資計算模塊工資檔案模塊圖4-1表示:系統的綜合功能圖各個功能模塊的設定:工資檔案模塊:是將線下數據導入工資數據信息中,利用MySQL數據庫進行保存,數據導入成功后,由檔案管理者對數據進行核對,該模塊的子功能一共分為四個內容:第一,員工基本信息;第二,員工薪資;第三,員工考勤;第四員工社保公積金。工資計算模塊:將所需要的基本數據作為計算項目再生成工資計算清單,在計算過程中,利用獲取的相關數據,將每一個計算項目分配到員工的工資單中。根據不同數據的類型,依照其關聯性,利用python解析語法樹,如實計算員工的應發工資。工資報表模塊:企業管理員根據相關數據作出篩選,利用系統展示功能,對所需的數據進行下載,按照表格的方式打印出來。譬如:對員工工號的查詢、姓名崗位、工資薪酬等,在輸入相關信息后,能夠快速的篩選出所需要的信息,報表會自動生成web專餅狀圖、Excel數據表格、折線圖等不同形式,員工可以根據自己的需求選擇任意一種報表模式,企業管理者可根據相關報表上的數據,對企業的發展做出有利的決策。權限管理模塊:主要針對該系統的管理工作設定了具體的權限訪問功能,通過系統前端與后端的配置,對模塊管理人員的權限做出更改和匹配,根據不同崗位對權限進行劃分,既在源頭上監督了員工的操作規范,也對權限的入口進行統一的管理,在很大程度上提升了系統的安全性。4.1.2系統的技術架構系統采用了redis+隊列的形式,對計算機進行分布式計算,以此來提升薪酬計算模塊的各項功能,在語言程序的角度上充分利用了python的功能特點,將其三大優勢做出充分的發揮:第一,豐富的數據庫;第二,拓展性能;第三,可嵌入性能等,做為開發系統的程序語言。在框架角度上,充分利用Django框架的兩大特點:第一,便于更新換代;第二,有利于開發,以此來實現該系統的拓展功能,從整體角度出發,該系統在對數據收集以及處理方面,整個計算流程都十分順暢,系統內部的軟件架構,具體可參考下圖4.2所示:圖4.2為系統軟件架構圖數據信息層的詳細概述:(1)存儲層利用MySQL數據庫作為信息存儲層,該數據庫的數據信息共分為兩個部分:第一,工資檔案部分,該部分涵蓋了企業員工的所有信息,包括工號姓名崗位、薪資標準、出勤率、社保公積金等四個主要的數據模塊,通過數據的整理自動生成excel數據表格,用戶可根據自己的需求將表格打印出來,或者上傳到相應的薪酬檔案中,按照企業的發放標準統一核實并發放,再儲存到數據庫中;第二,利用離線數據,譬如:員工的績效獎、離職補償等一些額外的費用,操作人員需要通過手動輸入數據來執行相關操作,充分體現了數據庫的高效性,將數據導出數據庫以后,自動生成Excel表格形式,實現了數據的安全性能,使數據源頭有了可參照性。(2)處理層隨著我國經濟的不斷提升,各個企業的規模逐漸向最大化轉型,大型企業的員工數量已超過萬人以上,稅務部門也出臺了相關的稅務政策,導致員工的薪酬計算方式以及稅收形式呈現了多元化,數據處理主要是利用薪酬制度的合算邏輯對數據進行解析,然后再重組自動生成員工工資清單,該數據的來源是由下層向上層傳輸,并將核算結果已Web的形式展現,由于企業規模逐漸增大,員工的數量也不斷增加,為了處理大量數據,使各種復雜的計算方式統一化,操作人員要對工資的核算項目進行自定義管理,再利用統一的方案對員工的工資進行計算,只要一個核算方案作為多項工資項目的計算,再通過方案對單組員工工資進行計算,每種工資的核算方法都有不同的規律,譬如:公式算法、數據對接法以及手動錄入法,每個項目中的數據都可以互相引用,解決了復雜的邏輯性和判斷性,經過專業的數據核算后,將計算任務儲存到rq中,根據不同的計算類型去分析相關數據,將結果存儲于數據庫中,便于查詢和篩選。(3)展示層數據展示層是將從底層收集到的數據上傳至數據庫中,再以報表的形式全面呈現,該系統中的報表通常是工資單的計算結果,具有以下四個特點:第一,美觀;第二,簡潔;第三,快速;第四,穩定,將收集到的數據以可視化形式展現,為操作人員提供便捷化和客觀性,與此同時,管理人員要向企業領導者提供相關數據報表,便于決策者能夠根據數據的評估和分析作出正確的決策。4.2系統各功能模塊設計4.2.1工資檔案模塊設計模塊實現線下以excel的形式,收集好數據之后,工資檔案管理者將數據導入到統一的數據庫中,以表格形式生成各種清單,并能在web頁面中進行下載或上傳處理,還提供對數據的修改或刪除功能,模塊的綜合結構圖,具體可參考4-3所示:圖4-3為薪酬檔案綜合功能結構圖各個模塊的功能結構始終是對數據的處理和核算,在使用這項功能以前,必須要提供充分的數據。由于操作人員的不熟練,無法正確導入底層數據,在必要的情況下,將數據源導入或導出,既為操作者提供了便捷化,也提升了工作效率,增強了數據來源的真實性和可靠性,使數據有形成了統一來源,便于查找和解決各種問題。在功能模塊中python的功能做出了充分的體現,將本身自帶的開源模塊以及高性能數據處理能力作為有效的工具包,模塊的開發源與python帶來的openpyxl工具,實現了對excel文件的數據解析,提升了該系統中文件上傳以及下載的速度,系統前端采用了ag-grid表格作為主框架,該框架具有兩大性能:第一,穩定性;第二,高效性,通過web前端自動篩選和過濾相關數據,使操作界面更加便捷和美觀,4.2.2工資計算模塊設計該模塊主要解決工資和稅收的多元化計算方式,企業會根據員工的不同狀況發放不同的薪資獎勵,因此,形成了多元化的核算方法,不同工作崗位的員工,工資核算方式也有所差異,必須采用不同的計算方案獲取準確的核算結果,根據相對應的核算方案,自動生成相對應的計算項目,所以不同的計算項目形成了不同的工資數據,系統中的每一個項目都由不同的計算項目組成,此類項目除了利用公式計算以外,必要時還需要手動輸入以及與數據進行對接,數據對接主要是從薪資檔案中提取的數據,再通過手動錄入到核算項目的界面,在公式計算界面配置相關的數據組件,通過數據的對接形式,將計算項目自動生成Excel公式進行核算,在進行工資核算時,計算項目作為表格的第一個項目,在獲取員工ID信息時儲存于row表格中,再利用組件對數據進行解析,自動保存在excel表格中生成相對應的項目數據,下圖4-4為薪酬計算結構圖:圖4-4為薪酬計算結構圖薪酬計算項目子模塊功能介紹如下:工資項目的添加與刪除:將工資單的固定項目進行定義,再將該項目數據進行劃分,譬如:對基本薪資的定義、工作地點、入職時間、各類補助以及加班時長等。工資單數據項目的收集以及生成:對工資表格中所需要的工資項目做出定義,并自動添加和刪除工資方案中的項目數據,利用公式ID自動代入;另外,將每一份工資單列成表格:開發一個工資單方案,第一種方式是點擊系統上的生成活動,第二種方式是到了指定日期就會自動形成方案,在這一個模塊下面,可以看到具體的活動內容,查看這些內容時,系統會自動進行計算,系統還會自動生成和方案相匹配的各種數據。想要設計出一套系統的工資單模式,這套工資單里包含著許多可以計算工資的各種項目,要保證運算結果的準確性,系統在進行計算時,需要對一些特殊數據運算的方式進行特殊編程,譬如,在運算時遇到的百分數和數字等。在計算的過程中,系統會根據用戶不同的計算需求來選擇不同的計算方式,不同的計算方式在處理數據時也是不一樣的,譬如,在數據接入項這一塊,系統可以在電腦里直接獲取需要的數據。在公式計算項這一塊,系統會分析這個公式的計算規律,之后計算出相關的數據,最后得出最終的結果。在手動輸入項這一塊,用戶可以根據自己的需求,建立一個運算法則,將已知數據輸入進去,獲取自己需要的信息。想要將系統變得更加智能化,可以自動生出各種需要的工資單,首先需要解決兩個問題,要做到的第一點是設計出可以解析自定義配置的模式,由系統內部自行進行運算,并且這套運算系統有著強大的邏輯關系。可以參考編譯原理理論,在這套理論的基礎上,編輯出一套適合運用在工資單上面的運算法則,通過這篇理論上面的語法指導編輯成一個語法樹。還可以學習了解yacc,自己編輯一套解析規則。需要解決的第二個問題是,每一個工資項目都需要引用不同的數據,也有可能是相同的數據,需要借鑒拓撲圖論理論的方法,將每個數據之間的引用關系的邏輯變得更加清晰,在一個工資單里,可以同時引用多個工資項目。發生這種情況以后,自己編輯的解析規則計算出的數值會有所偏差。譬如在一份工資單里,有四個工資項目,用字母ABCD分別進行表示,這些字母在數據庫中都有著自己的ID,這些字母可以獨立存在,也可以相互依存,存在的關系如下圖所示。圖4-5每一個工資項目的關系圖表在計算字母A的時候,需要其他三個項目進行輔助,會借用到這些項目中的部分數據;在計算字母B時,需要借用到D中的部分數據;在計算D時,需要借用到C中的部分數據。由此可見,每一個項目的運算邏輯是這樣的:首先,計算C中的數據,用C的結果計算出D的數據,用D的結果計算出B的相關數據,最后才可以得出A的結果。當每個項目之間的相互依賴關系如下圖所示時,C的計算結果就需要借用A的相關數據,這四個項目之間依然是循環利用的關系,得出來的數值并不準確。在編輯這套系統時,想要實現每一個工資項目可以自行運算,首先就需要實現系統可以將每一個工資項目識別,并且進行分類,在創建員工專用的工資單時,有許多種不同的選擇方式,為每一種項目自行配置的數據以及運算法則都不同,通常來講,一共有三種數據屬性,分別是日期類數據,數值類數據和字符串類數據。運算法則一共有兩種運算方式,分別是用戶輸入類運算方式和公式計算的運算方式。在用戶輸入類這一塊兒,這里面的數據可以對其他的項目進行引用,在計算公式類的項目時,需要檢查每組公式里存在的循環依賴關系,之后再決定是否可以用在其他項目中。當用戶將所有需要處理的數據輸入到系統中以后,系統會解析這些數據,并且生成一種計算法則,對這些數據進行計算,譬如,項目1的值如果大于1500,那么數值取13000,否則取17000。圖4-6創建一組數據到完成整個計算流程的效果。圖4-6創建這組數據的效果圖4.2.3Web報表展現模塊設計(1)員工薪資的明細表格通過標題可以了解到公司的管理為了查看每位員工的工資時更加方便,所以要創建一套系統,可以隨時查看每位員工的工資。在創建這套系統時,需要將每位員工的工號,身份證號和郵箱全部輸入進去,可以按照時間劃分將員工的工資分成幾大板塊,因此,需要設置一個按時間篩選的按鈕。薪資信息屬于每位員工的個人私密信息,不應該外泄,只有創建系統的工作人員才可以查看每位員工的工資信息,其他人沒有權限進入到系統內部。將每位員工的信息輸入到后臺數據庫以后,可以按照薪資組的規定進行劃分,點擊查看以后就可以看到所有員工的工資信息。工資項目涉及到的數據非常龐大,每一個工資單方案對應的都是不同的工資選項,因此,每一組工資項的輸出,都需要利用系統控制好,在篩選時可以更加方便快捷。全部設置完成以后得出來的最終結果進行展示,這個結果可以通過excel進行下載查看。(2)員工工資的結構想要得到每一位員工工資的結構,就需要調查公司每一個月為員工發放工資的所有相關信息。工資結構包含許多項內容,主要的內容有四大項,由基本工資、級別獎金、績效工資和其他這四大類共同組成,將每位員工每個月的所有工資信息全部進行匯總,之后采用餅圖的形式進行展示,這樣看起來更加直觀,因此,每個月需要獲取員工的工資信息,以這種形式將員工的工資結構進行展示。4.2.4權限管理模塊設計操作者的權限也需要受到限制,設計模塊這一個板塊時就可以限制操作者的部分權限,有一些比較敏感的,或者商業機密的信息,不能隨意被工作人員看到,只有公司指定的角色才能進入系統內部進行查看。設置權限管理模塊十,這里的權限是可以配置的,管理員可以在系統的菜單里看到這個模塊的展示,想要在前端展示,也需要得到后臺的授權,管理員可以決定是否將這項控制菜單展示在用戶面前。這個模塊中主要包含著兩大內容,一個是角色管理,另一個是權限列表,在角色管理中,可以創建不同的角色,當這些角色不再需要時,可以將這些角色進行刪除,模塊下面還有許多子模塊,在子模塊里,也可以增加不同的角色。權限管理可以創建新角色,也可以刪除一些東西,還可以和指定的角色進行關系綁定。用戶在自己的頁面就可以直接設置權限,也可以直接操作,但是涉及到薪酬的問題非常敏感,所以在登錄時應該選擇用內網登錄,與此同時還需要在簽署auth2.0協議原理的第三方平臺登錄。圖4-7是模塊的構成效果圖。圖4-7權限管理模塊構成效果圖4.3數據庫設計4.3.1數據庫邏輯結構設計想要設計出一套完整的系統,需要涉及到許多數據信息和實體信息,首先,將活動和權限表進行詳細分析,如圖所示,圖4-8是權限表的相關結構圖,權限表E-R圖,圖4-9是用戶活動關聯信息圖。圖4-8權限表相關結構圖圖4-9用戶活動關聯信息圖通過上面兩張圖片,可以發現在權限表里主要包括主鍵的ID,權限的生肖效果可以影響status的狀態,在創建時間時,可以采用基礎的字段方法。這個表格解釋的是在權限管理模塊當中創建權限的相關手段,每一個創建的角色都有對應的關系。在這個系統中,關聯最多的就是活動表,而在這里畫出的只是一部分關系圖。一個用戶可以創建許多不同的活動,而每一個活動只對應著一個方案。在創建出的活動中,每個員工的信息在表格中都有著詳細的記錄,一個活動里可以包含著許多不同的員工。row表代表一行信息,cell代表在每一行里劃分的不同單元選項,這些單元格的信息,由此可見,二者之間也存在著聯系。一個詳細的工資單方案由許多不同的工資項組成,最后匯聚成工資單的表頭,每一個表頭都表示,一位員工的工資信息。在工資單方案里,工資表頭與工資表都有著一對多的關系,每個工資項表都代表著不同的項目類型,這些項目類型可以由用戶自己創建,在公司向表里,可以包含著不同的工資信息。4.3.2創建數據表在設計系統的過程中,需要用到許多數據表,譬如在薪酬這一個模塊里,需要將員工每天的考勤表輸入到系統當中,正式員工與實習生的工資標準不一樣,在設計數據表時,也需要注意,本篇文章將以下幾種數據類型進行詳細分析:在創建員工信息表時,需要將員工的基本信息全部輸入進去,和員工薪資相關的信息,在生成工資單時,會根據系統之前錄入的相關數據進行生成,進行工資明細篩選時,也會用到這一塊。extra是附帶的一個字段,這一塊通常有由json字符串的形式作為展示,不使用這一個板塊時,會保存在數據庫里,需要用到時就可以提取出來,詳細內容如下圖所示。表4-1員工的相關信息employee_info創建角色表的目的是為了設置權限,防止某些機密信息泄露,創建出不同的角色,并且為這些角色授予不同的權限,這個時候,角色表發揮著非常重要的作用,詳細的內容如下圖分析所示。表4-2角色表role創建工資向表示,為了使工資劃分的更加詳細,直觀,工資向表可以將每一個工資單的表頭表示清楚。在整個工資單方案里,工資項是最基礎的單元,是構成一份完整的工資單的基礎單位,在編輯工資項表時可以使用status字段進行編輯。使用最多的就是數據類型的字段,通常會用到金額和字符串等,如果涉及到的項目是需要引用的類型,就可以直接去系統里,輸入ID以后去找到對應的數據信息,詳細的介紹效果圖如下圖所示。表3-3工資項表item活動方案表可以將工資單上的所有記錄進行備份,將工資單上的信息進行整合記錄,對這份表格的詳細介紹如下圖所示。表3-4活動方案表row5工資管理系統實現5.1系統的軟硬件環境和開發工具在開發這套系統時,需要使用到python語言開發,使用的服務器是redis服務器,在系統外部,需要使用到文件存儲系統,通過這套系統,可以將員工的薪酬進行計算,由此可見,要求這套系統的軟件,硬件等各方面配置極高,下文介紹這套系統配置的軟硬件的詳細信息。(1)該系統中的硬件配置表5-1硬件配置的各種參數(2)該系統中的軟件配置表5-2軟件配置的各種參數5.2系統各功能模塊實現5.2.1工資檔案功能模塊的實現在設計這套系統中,會涉及到的許多信息都比較私密,因此這些數據需要進行保密,這些數據信息可以在后臺進行加密,之后再用json這種方式將數據信息存儲在data_value字段里。在設計頁面時,可以采用三種色調,分別是紅色,白色和灰色,這三種顏色比較簡約,產生的視覺效果比較好。這些選項都可以左右上下滑動,在進行頁面截圖時,有些數據會進行隱藏,部分數據可以展示一些表頭信息。在薪酬檔案里,一共有四個子模塊,這四個子模塊的功能都是一樣的,可以解析各種相關數據,還可以將獲取到的數據進行儲存。選取一個研究對象,將薪酬檔案里員工的考勤模塊和員工的基本信息作為研究對象,分別對這兩個模塊進行詳細分析,具體情況如下圖所示。圖5-1員工的基礎信息頁面員工的基礎信息包含著每位員工的名字和工作室的ID,在公司里,每位員工都有著不同的級別,因此將每位員工的級別以及績效考核都需要以extra字段進行加密以后,將這些信息保存在employee_info表中。在查看員工的基本信息時,這個列表可以左右滑動,列表上可以顯示大量的信息,系統會自動對這些信息進行運算。在員工考勤列表里,詳細記錄著每一位員工的考勤相關信息,可以將這些信息導入導出,也可以進行刪除和修改。在員工考勤這個頁面,左邊的菜單欄只有系統中的檔案管理員和負責員工考勤的管理人員才有權限進入并查看和編輯。想要進入員工考勤列表時,就需要選擇員工考勤模塊,進去以后可以看到每一個月,每一個員工上傳的考勤信息記錄,默認展示的是當前這個年份,這個月的考勤記錄,每一條記錄管理人員可以進行刪除和編輯。在這個頁面里,還可以新建考勤記錄,還有年費選擇的選項,有新建考勤記錄的需求時,會出現以下的彈出框。如圖5-2新建考勤彈出框在新建考勤彈窗時有三個必須填的字段,分別是考勤名稱、月份和文件。選擇文件上傳這個按鈕時,可以選擇本地的文件,也可以將本地的文件直接拖拽到指定地方;還可以下載自己需要的模塊,將模塊導入到指定地方這些模塊有每個員工每個月工作的總天數和請假的天數等組成。5.2.2工資計算功能模塊的實現在模塊當中,web這個頁面里可以將工資項和工資單上面的所有內容進行刪除,修改等各項操作。工資向列表上的所有信息都保存在irem里面,而在每一個公司向你的分類信息都保存在category里。在工資方案里,涉及到的一些信息保存在plan表里,這個表格和員工的活動表是對應的關系。在計算工資單時,可以手動添加各種所需內容,也可以將這些活動設置好之后,再設置一個生效時間,到達生效時間之后,活動內容也會自動生成,活動生成以后,系統會自動執行設置的指令。每一個工資單里包含著多個工資項,工資向有著自己的所屬ID,可以和其他工資項進行區分。如果輸入方式選擇的是手動輸入類型,工資向相關的一些數據都會保存在plan表當中的extra字段里。將扣款項和實發項作為分析內容進行詳細論述。在公司項列表里,不僅包含著每位員工的基本工資,這些工資還有著不同的分類,手動輸入時可以增加不同的分類以及新的工資項,點擊一下就會出現新的彈窗,如下圖所示。圖5-3新建工資項彈窗當需要新建工資項時,需要填寫四個基礎內容,分別是新建內容的中英文名稱和新建內容的項目分類,以及數據所屬類型,所有工資項都需要進行數據化分,要選擇屬于的分類,在后續的計算中,系統會自動識別這些類型,并且匹配到最優的計算方式,計算出來的數值也會更加準確。在工資方案模塊里,可以創建不同的模塊,這些模塊也可以在此界面展示,將工資單上的項目和方案進行綁定,每一個工資項的計算方式和計算公式應該相匹配,共同保存在plan_item_ref表中,利用item_id和formula_id字段選擇正確的工資項內容。并且將計算出來的信息保存在extra的json串中。再計算工資上時,一共有三種計算方式,可以通過默認公式進行計算,還可以將數據接入到計算系統中,第三種方式是將數據輸入到自行配置的計算系統中,詳細的計算方式分類如下圖所示。圖5-4工資方案列表在查看工資方案的詳情時,這個界面一共有兩個按鈕,用戶可以添加新的工資項,還可以自動生成不同的計算活動。在工資方案中可以看到,所有的工資項內容,選擇添加新建工資,像時就會出現對應的提示框,具體情況如下圖所示。圖5-5加工資項時出來的提示界面在工資單的方案里,有添加工資項的需求時,需要用戶手工進行錄入,首先,選擇正確的數據類型后,輸入需要的數據內容。5.2.3工資報表功能模塊的實現在這個頁面里,一共包含著兩個子模塊,這兩個子模塊分別顯示工資單的明細和工資結構。并且不是任何人隨意就可以進入查看的,只有系統管理員和薪酬管理員有權限可以進入頁面進行查看。在工資單明細里,記錄著員工從入職以來所有的工資往來信息,可以選取不同的月份和各種小項目進行查看,用戶在操作時只可以操作跟自己同組員工的相關信息。這些數據信息都是加密的,在查看時需要進行解密后進行查看,解密需要符合相關的解密條件。工資結構通常以餅圖的形式呈現在用戶面前,可以更加直觀地了解到,每一位員工工資的組成內容,可以提高管理者的管理效率,也可以促使公司成長進步。詳細的工資單明細如下圖所示。圖5-6工資單明細記錄表在工資單明細和界面里,可以選擇五個查詢條件,分別包括員工的ID、員工的郵箱、發放工資的時間、工資單的項目。用戶在查詢時輸入以上任意一條信息,就可以查看到詳細的工資單明細。通常可以發現,每一位員工請假的天數、扣款的內容、每個月應發的工資和實發工資,以及其他信息??劭钸@項內容包含員工因為自己的事情請假扣款,因為生病請的病假扣款,公司為員工繳納五險一金時扣款。應發的工資包含著員工每個月的基本工資,每個月的交通補貼、通話補貼、崗位績效等等多個項目。員工的崗位績效可以從當前的數據信息中計算出來,工資單明細支持用戶進行導出,如果用戶需要買房,在貸款的時候,銀行需要員工開收支證明時,員工可以將自己的工資明細進行導出。具體情況如下圖所示。圖5-7員工工資組成結構餅圖設計員工工資結構餅圖時,需要獲取員工這個月和工資相關的各個信息,由每一個工資的項目共同組成。調查每位員工在這個月獲得的提成和獎金,以及因為病假扣的款項。在設計這個模塊時,需要運用到基礎的條件查詢和文件導出方法,在設計條件查詢時,可以采用Django,這種方式對查詢語句有著更好的支持,拼接各種查詢條件時非常方便快捷。在導出文件時,根據自己的搜索條件來查詢某一位員工的工資記錄,設計方法和設計上面條件查詢的方法一樣,除此之外,需要使用python內部的工具包。5.2.4權限管理功能模塊的實現在這個模塊中,一共包含著兩個仔模塊,分別是角色管理和權限管理。在系統中,可以創建出不同的角色來管理不同的模塊,這套系統需要薪酬檔案管理員和薪酬計算管理員、以及薪酬報表管理員和系統管理員,這四個管理員分別對應著四個不同的角色,在這套系統中產生著舉足輕重的作用。每一個管理員的權限都不一樣,因此,在權限這一塊兒,需要進行細分。四個不同的角色在菜單里的四個tab也不一樣。將創建出的角色保存在role中,將權限內容保存在permission表中。每一個角色對應著多種不同的權限,將這些關系保存在role_permission_ref表中。員工的薪酬是非常重要的,這部分數據需要進行加密保存,因此,需要檢查對接權限的入口。這套系統是企業的薪酬管理系統,設置的登錄頁面是企業登錄的頁面,如下圖所示。業內部有自己的通訊工具,這個通訊工具作為企業的第三方溝通平臺,需要得到用戶的授權才可以登錄,在設計登錄驗證流程時可以參考auth2.0的設計方式。圖5-8登錄時的頁面圖5-9權限角色授權將系統中的每一個角色進行管理,這些角色需要分別授予不同的權限,角色在查看,刪除和新建相關內容時,都有著不同的權限程度。
6工資管理系統測試6.1測試方法軟件測試主要的目的是為了明晰系統運行情況,找出系統在運行環節出現的問題,并將問題得到妥善解決,以此來提高系統運行環節的穩定性和可靠性?;诖耍P于本次測試,筆者主要是從各模塊性能方面來進行,即在性能測試環節,需要實際調查各種數據信息進行分析,還需要進行壓力測試,將系統處理這些文件所花費的平均時間,以表格的形式呈現出來,再進行詳細分析。6.2測試過程(1)功能測試過程在使用工資管理系統時,用戶首先需要創建一個工資選項,再設置一套科學合理的計算規則,之后,創建核算方案,生成一個完整的核算活動,輸入相關數據以后就可以得出準確的工資單。在測試過程中,根據這項流程進行運作,將系統的各個管理板塊都進行測試,以后全部通過,詳細的測試內容如下圖所示。表6-1功能測試用例表將設計好的企業薪酬管理系統進行測試號碼操作內容優化設計①添加工資項目在工資項列表里添加新的工資項②刪除工資項目在工資項列表里,新的工資項目清除③將公司項目的類型進行修改在工資項列表里,工資項的類型改變④創建新的工資方案在工資方案列表里寫入其他的工資方案⑤將工資方案進行刪除在工資方案列表里,新寫的工資方案消失⑥添加新的工資項目在工資方案詳情里添加新的工資項⑦將工資項目進行刪除在公司方案詳情里,工資項消除⑧查看工資單詳細內容通過工資項可以計算每位員工的工資⑨將工資單的內容進行清空工資單詳情里沒有關于工資項的記錄⑩創建新的角色角色管理列表中創建新的角色11刪除角色內容角色管理列表中消除已有角色12創建新的權限在權限管理列表中添加新的權限13將權限相關內容清除權限管理列表中清除權限(2)測試系統的可行
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藥劑考試復習方法試題及答案
- 汽車生產面試題及答案
- 激光技術工程師備考指南試題及答案
- 藥物研發中的臨床實踐試題及答案
- 衛生管理健康服務創新管理試題及答案
- 衛生管理決策過程中的試題及答案
- 營養改善項目的評估與反饋試題及答案
- 光電技術的質量控制方法試題及答案
- 研究方法2025年計算機二級考試試題及答案
- 蘇教版2025年小學三年級語文下學期月考考試強化檢測
- 教學課件:《數據結構》陳越
- 梁長虹解讀碘對比劑使用指南第二(呼和浩特)
- 電壓互感器課件
- 口腔檢查-口腔一般檢查方法(口腔科課件)
- 畜禽養殖場排查情況記錄表
- 2023年高考全國甲卷數學(理)試卷【含答案】
- 弗雷德里克 桑格
- 淺談初中數學單元整體教學的實踐 論文
- 歷史時期的地貌變遷優秀課件
- 心血管內科五年發展規劃
- GB/T 38620-2020物位計性能評定方法
評論
0/150
提交評論