軟通人力資源管理系統(tǒng)——人員管理與薪金管理的設計和開發(fā)

天津商務職業(yè)學院畢業(yè)設計(論文)題目:軟通人力資源管理系統(tǒng)——人員管理與薪金管理的設計和開發(fā)專業(yè)班級軟件1001班學 號0108100129姓 名江濤指導教師馮毅企業(yè)指導教師張建軍 2013年4月12日班 級:軟件1001班姓 名:江濤聯(lián)系電話:15502236510摘 要在傳統(tǒng)的人力資源管理工作中,要完成相當數(shù)量的職工情況及人力資源政策法規(guī)的查詢工作,一般是職工直接到辦公室或通過電話查詢,使人力資源工作者在這些常規(guī)性的查詢及相關政策法規(guī)的解答上花費大量時間,不利于工作效率的提高及人力資源研究工作的深入進行人力資源人力資源管理系統(tǒng)將包括人力資源工作中涉及的職工的歷史狀況和現(xiàn)狀,人力資源政策法規(guī)的宣傳及解答,借助于網(wǎng)絡,實現(xiàn)職工的自我查詢,這不僅對人力資源管理工作的順利進行具有積極的作用,而且對企業(yè)系統(tǒng)的建設也有很大意義人力資源部門由于對外宣傳和查詢的需要,大部分機器申請上網(wǎng),這些機器中有的帶有組織、人力資源管理系統(tǒng)雖然這些管理系統(tǒng)在平時維護時是通過口令(密碼)進入,但經測試,在熟悉計算機應用的情況下,任何人都可以不經過口令而直接進入系統(tǒng),可查閱、修改相關數(shù)據(jù)。
如果建立局域網(wǎng)將有效地解決這一問題系統(tǒng)可明確用戶的使用權限,防止非法用戶的攻擊性破壞,保證整個系統(tǒng)的安全此外,通過局域網(wǎng)還能防止公用網(wǎng)上病毒對計算機的侵蝕 關鍵詞:人力資源;HR;ABSTRACTIn the traditional personnel management work, will have to complete the considerable amount the staff situation and the human affairs policy laws and regulations inquiry work, generally will bet he staff directly to the office or through the telephone inquiry, the personnel management system includes staff's historical condition and the present situation which in the human affairs work will involve,the human affairs policy laws and regulations propaganda and the explanation, with the aid of to the network, will realize staff's self-inquiry, this not only smoothly will carry on to the personnel management work has the positive function, moreover also will have the very big significance to the enterprise system construction. Although these management system management systems usually are main training time is (password) enters through the password, but passes through the test, in the familiar computer application situation, any person all may but directly not enter the system after the password, may consult,the revision correlation data. If will establish the local area network effectively to solve this problem. The system may be clear about the user the use jurisdiction, prevents the illegal user the aggressive destruction, the guarantee overall system security. In addition, also can prevent the public on-line virus through the local area network to the computer corrosion.Key words:human affairs; HR;目 錄第一章 緒論 11.1概念 11.2開發(fā)背景以及課題意義 11.3目前人力資源管理的現(xiàn)狀 21.3.1人力資源管理的重視程度不夠 21.3.2人力資源部的基礎建設急需完善 21.3.3戰(zhàn)略人力資源管理體系的建立尚處于起步階段 31.4 系統(tǒng)開發(fā)環(huán)境的選擇 31.5 系統(tǒng)數(shù)據(jù)庫環(huán)境的選擇 4第二章 系統(tǒng)分析 52.1 可行性分析 52.2 系統(tǒng)功能需求分析 72.2.1人員管理模塊 72.2.3薪金管理模塊 7第三章 系統(tǒng)設計 83.1 總體結構設計 83.2 模塊功能設計 83.2.1人員管理模塊 83.2.2獎懲管理模塊 93.2.3薪金管理模塊 93.3 數(shù)據(jù)庫設計 93.3.1 概念結構設計 103.3.2 邏輯結構設計 133.3.3 數(shù)據(jù)表詳細設 14第四章 系統(tǒng)實現(xiàn) 174.1 系統(tǒng)公共類的實現(xiàn) 174.2系統(tǒng)登錄功能的實現(xiàn) 204.3人員管理模塊功能實現(xiàn) 204.4獎罰管理模塊設計與實現(xiàn) 234.5薪金模塊功能的設計與實現(xiàn) 264.6 實現(xiàn)效果評價 28結 論 29參考文獻 30致 謝 31天津商務職業(yè)學院2010屆??粕厴I(yè)設計(論文)第一章 緒論隨著我國市場經濟的發(fā)展,就業(yè)情況也跟著不斷發(fā)展,但部分企業(yè)在人力資源管理方面仍然采用非科技化管理方式。
因此,人力資源管理系統(tǒng)對于企業(yè)的決策者和管理者是非常的重要的本系統(tǒng)是為管理者提供更方便而有效率的管理而設計1.1概念人力資源管理(Human Resource Management,簡稱HRM)人力資源:是指在一定范圍內的人口總體所具有的勞動能力的總和,或者說是指能夠推動整個經濟和社會發(fā)展的具有智力勞動和體力勞動能力的人們的總和從另一方面,人力資源管理是指根據(jù)企業(yè)發(fā)展戰(zhàn)略的要求,有計劃地對人力資源進行合理配置,通過對企業(yè)中員工的招聘、培訓、使用、考核、激勵、調整等一系列過程,調動員工的積極性,發(fā)揮員工的潛能,為企業(yè)創(chuàng)造價值,給企業(yè)帶來效益確保企業(yè)戰(zhàn)略目標的實現(xiàn),是企業(yè)的一系列人力資源政策以及相應的管理活動這些活動主要包括企業(yè)人力資源戰(zhàn)略的制定,員工的招募與選拔,培訓與開發(fā),績效管理,薪酬管理,員工流動管理,員工關系管理,員工安全與健康管理等即:企業(yè)運用現(xiàn)代管理方法,對人力資源的獲?。ㄟx人)、開發(fā)(育人)、保持(留人)和利用(用人)等方面所進行的計劃、組織、指揮、控制和協(xié)調等一系列活動,最終達到實現(xiàn)企業(yè)發(fā)展目標的一種管理行為21世紀是全球化、市場化、信息化的世紀,是知識主宰的世紀在新經濟條件下,企業(yè)人力資源管理必然要發(fā)生相應的變化。
因此,企業(yè)人力資源管理系統(tǒng)將構筑在Internet/intranet的計算機網(wǎng)絡平臺上,形成新型的人力資源管理模式1.2開發(fā)背景以及課題意義人力資源管理是公司引進所需人才和管理人才的重要手段之一人力資源管理系統(tǒng)能夠幫助HR有效的進行人力資源工作的展開,提高工作效率,避免冗余信息增加工作復雜度因此,人性化設計,復合人力資源工作的基本流程,以軟件系統(tǒng)來支持人力資源工作,使得HR能夠輕松高效的完成工作人力資源管理目標是指企業(yè)人力資源管理需要完成的職責和需要達到的績效人力資源管理既要考慮組織目標的實現(xiàn),又要考慮員工個人的發(fā)展,強調在實現(xiàn)組織目標的同時實現(xiàn)個人的全面發(fā)展人力資源管理目標包括著全體管理人員在人力資源管理方面的目標任務與專門的人力資源部門的目標與任務顯然兩者有所不同,屬于專業(yè)的人力資源部門的目標任務不一定是全體管理人員的人力資源管理目標與任務,而屬于全體管理人員承擔的人力資源管理目標任務,一般都是專業(yè)的人力資源部門應該完成的目標任務無論是專門的人力資源管理部門還是其它非人力資源管理部門,進行人力資源管理的目標與任務,人力資源專家鐘克峰先生認為主要包括以下三個方面:1.保證組織對人力資源的需求得到最大限度的滿足2.最大限度地開發(fā)與管理組織內外的人力資源,促進組織的持續(xù)發(fā)3.維護與激勵組織內部人力資源,使其潛能得到最大限度的發(fā)揮,使其人力資本得到應有的提升與擴充。
1.3目前人力資源管理的現(xiàn)狀1.3.1人力資源管理的重視程度不夠 雖然最近幾年,“以人為本”“高度重視人力資源管理”已經成為一些企業(yè)老總的口頭禪,實際上企業(yè)中的人力資源經理們經??梢园l(fā)現(xiàn),在老總的日程表上,在公司的各項工作安排上,市場、銷售、研發(fā)、生產等方面的工作總是排在最重要的位置,而人力資源管理則排在不那么重要的位置誠然,市場占有率,銷售額,利潤,新產品的開發(fā)和生產對于企業(yè)來說,尤其是對于中國企業(yè)來說,的確是企業(yè)生存和發(fā)展的基本條件但是,企業(yè)的老總千萬不要忘記上述這些指標反映的僅僅是企業(yè)的短期效益和狀況,真正決定企業(yè)長久發(fā)展和持續(xù)生存的關鍵因素應該是企業(yè)的人力資源以及人力資源管理老總的這種短視,以及對人力資源管理認識的不足是中國企業(yè)人力資源管理所面臨的最嚴重的問題由于老總不能從思想上充分地認識到人力資源管理的重要性,也沒有從行動上花大力氣支持企業(yè)各項人力資源管理活動的開展,使得中國企業(yè)的人力資源管理的發(fā)展非常緩慢,實施戰(zhàn)略人力資源管理也就無從談起此外,直線經理對人力資源管理重要性的認識也不夠,因而人力資源部在開展各項活動時很難得到他們的支持和配合,使得各項活動的效果大打折扣1.3.2人力資源部的基礎建設急需完善 對于中國企業(yè)來說,人力資源可以說還是一個新興的名字,人力資源部的成立也是最近幾年的事情,甚至有部分企業(yè)還沒有重視人力資源部的建立。
即使有一些公司成立了人力資源部,所承擔的主要工作還是傳統(tǒng)人事部門的工作,僅限于員工的薪酬與福利,獎懲與升遷、檔案管理等方面,這就是使得人力資源部很難發(fā)揮應該發(fā)揮的作用 人力資源部的地位和結構也有待進一步改善由于公司老總并沒有高度重視人力資源管理工作,人力資源經理很少甚至沒有機會參與公司的高層決策,使得人力資源為公司戰(zhàn)略服務根本就無從談起人力資源部的人數(shù)配備、分工以及專業(yè)水平也有較大的發(fā)展空間企業(yè)并沒有完全根據(jù)企業(yè)的戰(zhàn)略規(guī)劃來對人力資源部的人員進行合理配備和分工,人力資源從業(yè)者大部分都是從其他專業(yè)或者職能轉到人力資源部來的,這就在一定程度影響了人力資源管理發(fā)揮其戰(zhàn)略作用1.3.3戰(zhàn)略人力資源管理體系的建立尚處于起步階段 人力資源管理要想發(fā)揮作用,必須和企業(yè)戰(zhàn)略結合起來,建立戰(zhàn)略人力資源管理系統(tǒng)但是,目前國內大部分企業(yè)尚未形成一套完整的戰(zhàn)略人力資源管理思想和管理模式,尚未真正實現(xiàn)從傳統(tǒng)的人事管理向戰(zhàn)略人力資源管理的轉變比如,人力資源部經常是根據(jù)業(yè)務部門的短期業(yè)務需求去招聘合適的人選,往往沒有考慮公司的長期發(fā)展戰(zhàn)略,表面上招進來的員工能滿足公司短期業(yè)務發(fā)展需要實際上,招進來的員工極有可能并不符合公司的長遠發(fā)展需要。
1.4 系統(tǒng)開發(fā)環(huán)境的選擇系統(tǒng)開發(fā)的平臺和選擇語言的優(yōu)劣及相互協(xié)調的程度,將直接影響到開發(fā)的效率和系統(tǒng)的質量1、編程語言的選擇本系統(tǒng)采用java語言作為開發(fā)語言目前主流的動態(tài)網(wǎng)站的設計技術有ASP、PHP、.NET和JSP等而其中最受歡迎的是.NET和JSP本系統(tǒng)之所以采用java開發(fā),有以下幾個原因:首先,java是一種簡單的、流行的、面向對象的、類型安全的編程語言,它是為生成運行在java虛擬機上的、廣泛的企業(yè)級應用程序而設計的其次,它較容易上手,能夠在短時間內開發(fā)出一個較完整的系統(tǒng)最后,java最熟悉的編程語言,采用該語言將為系統(tǒng)的開發(fā)節(jié)省不少時間2、開發(fā)環(huán)境的選擇表1-1 開發(fā)環(huán)境分類名稱版本語種操作系統(tǒng)Windows xp簡體中文操作系統(tǒng)的附加功能SP43簡體中文數(shù)據(jù)庫平臺Sql server2005簡體中文應用平臺Tomcat7.0簡體中文瀏覽器IE/FireFox簡體中文1.5 系統(tǒng)數(shù)據(jù)庫環(huán)境的選擇目前市場上已有的數(shù)據(jù)庫系統(tǒng)包括MYSQL、Access、Microsoft SQL Server、Oracle(9i、10g、11g),其中以后兩種數(shù)據(jù)庫最為普遍本系統(tǒng)采用的是 SQL Server 2005數(shù)據(jù)庫系統(tǒng),原因如下:1. SQL Server 2005是作者接觸基于關系型數(shù)據(jù)庫系統(tǒng)以來學的最早也是時間最長的一個數(shù)據(jù)庫系統(tǒng),而且T-Sql語句也是作者最熟悉的查詢語句,采用該種數(shù)據(jù)庫對保證系統(tǒng)開發(fā)過程的順利進行將有很大的幫助。
2. SQL Server 2005適用于中小型項目,根據(jù)本系統(tǒng)中用到的數(shù)據(jù)表以及數(shù)據(jù)表之間關系的復雜程度,SQL Server 2005提供的功能足以滿足系統(tǒng)需求第二章 系統(tǒng)分析系統(tǒng)分析要回答新系統(tǒng)“做什么”本章節(jié)從系統(tǒng)的可行性、最終使用者(用戶)的角度以及系統(tǒng)中各類數(shù)據(jù)的流向分析了系統(tǒng)是否值得開發(fā)、應提供哪些功能模塊通過本章內容,使得分析者深刻的理解和認識系統(tǒng),并能將其完整、準確地表達,不僅起到溝通用戶和開發(fā)者的作用,還是后續(xù)工作的依據(jù)2.1 可行性分析可行性分析主要包括社會可行性、經濟可行性、技術可行性1) 先進性1、系統(tǒng)在網(wǎng)絡情況較好的情況下響應時間較快2、后臺數(shù)據(jù)庫實時更新2)成熟性經過我們初步的測試,本系統(tǒng)可以長時間無異常運行3)實用性1、系統(tǒng)要求在非高峰時間根據(jù)編號和名稱特定條件進行搜索,可在3秒內得到查詢結果2、在工作日期間,從上午八點至下午八點,系統(tǒng)的可用性至少要達到99%4)適用性適用于Windows 7及Windows XP以下各個操作系統(tǒng)5)易用性網(wǎng)站界面符合基本的用戶直覺,操作簡單,所以一個從未使用過該系統(tǒng)的用戶也可以在很短的時間內學會本系統(tǒng)的使用方法并且用戶可以通過任何一定版本的瀏覽器登錄到該網(wǎng)站上進行使用,易用性較高。
6)可擴展性本系統(tǒng)在需求或環(huán)境發(fā)生某些變化時,有適應能力的要求,如:需求及流程變化;操作方式變化;機構人員變化;空間地點變化(移動用戶、分布式)7)穩(wěn)定性系統(tǒng)可以長時間無異常運行8)安全性管理員權限明確,且人工操作減少,能夠降低出錯率9)戰(zhàn)略性使用本系統(tǒng)進行人力資源管理,提高工作效率,并對項目和人員有效直觀地進行管理,使各種信息一目了然,方便管理者進行判斷10)可維護性系統(tǒng)應在運行出現(xiàn)故障時易于修復,并可支持未來功能擴展的能力11)可靠性系統(tǒng)可長期使用,保持功能正常,性能穩(wěn)定12)實時性1、系統(tǒng)要求在非高峰時間根據(jù)編號和名稱特定條件進行搜索,可在3秒內得到查詢結果2、在網(wǎng)站上的用戶數(shù)量處于平均水平且用戶所處網(wǎng)絡情況良好時,每個用戶請求的響應時間約在0.3秒左右13)系統(tǒng)性能 1、用戶承載量:目前大約10人并行訪問系統(tǒng),響應速度在10秒之內; 2、用戶請求響應時延:系統(tǒng)要求在非高峰時間根據(jù)編號和名稱特定條件進行搜索,可在3秒內得到查詢結果在網(wǎng)站上的用戶數(shù)量處于平均水平且用戶所處網(wǎng)絡情況良好時,每個用戶請求的響應時間約在0.3秒左右 3、處理結果的精度要求:工作量統(tǒng)計時間精確到分鐘14)時間特性要求處理速度:目前大約10人并行訪問系統(tǒng),響應速度在10秒之內;處理結果的精度要求:工作量統(tǒng)計時間精確到分鐘系統(tǒng)要求在非高峰時間根據(jù)編號和名稱特定條件進行搜索,可在3秒內得到查詢結果在網(wǎng)站上的用戶數(shù)量處于平均水平且用戶所處網(wǎng)絡情況良好時,每個用戶請求的響應時間約在0.3秒左右。
15)靈活性每次故障發(fā)生后,平均修復時間為1.5小時左右2.2 系統(tǒng)功能需求分析本系統(tǒng)主要實現(xiàn)人力資源管理中的人員信息的管理,應聘信息的管理,培訓計劃的管理、獎懲制度的管理、薪金的管理等功能系統(tǒng)管理的業(yè)務處理包括信息的瀏覽、添加、修改、刪除、入庫等,可實現(xiàn)各類相關信息歷史數(shù)據(jù)的輸出2.2.1人員管理模塊名稱功能功能描述瀏覽人員信息修改修改人員的基本信息,包括人員姓名、登錄密碼、性別、出生日期、簡介等信息刪除刪除選中人員的所有信息添加人員信息添加添加人員的基本信息,包括人員姓名、登錄密碼、性別、出生日期、簡介等信息表2-1 人員管理模塊 2.2.2獎懲管理模塊表2-2 獎懲管理模塊名稱功能功能描述瀏覽獎懲制度詳細(包含修改功能)查看獎懲名稱、獎懲原因、獎懲說明等信息包括修改以上信息刪除刪除選中獎懲信息添加獎懲制度添加添加獎懲名稱、獎懲原因、獎懲說明等信息2.2.3薪金管理模塊表2-3 薪金管理模塊名稱功能功能描述瀏覽薪金列表修改修改員工姓名、基本薪金、飯補、房補、全勤獎、賦稅、額外補助、罰款、發(fā)放時間等信息刪除刪除選中薪金列表的信息添加薪金數(shù)據(jù)添加添加員工姓名、基本薪金、飯補、房補、全勤獎、賦稅、額外補助、罰款、發(fā)放時間等信息。
第三章 系統(tǒng)設計本章節(jié)的總體目標是將上一章節(jié)需求分析階段得到的目標系統(tǒng)的邏輯模型,變換為目標系統(tǒng)的物理模型,具體將從系統(tǒng)的結構設計和數(shù)據(jù)庫的設計兩方面進行講解簡單的說就是根據(jù)上一章節(jié)中需求分析的”做什么”,確定系統(tǒng)應該”怎么做”3.1 總體結構設計系統(tǒng)結構和功能是系統(tǒng)設計的核心部分,通過系統(tǒng)結構圖可以清楚的看出整個系統(tǒng)的結構針對每個結構模塊分別做分析,為以后的設計和實現(xiàn)打下基礎根據(jù)功能需求,系統(tǒng)總體結構如圖3-1所示 圖3-1 總體結構設計3.2 模塊功能設計本系統(tǒng)主要實現(xiàn)人力資源管理中的人員信息的管理,應聘信息的管理,培訓計劃的管理、獎懲制度的管理、薪金的管理等功能系統(tǒng)管理的業(yè)務處理包括信息的瀏覽、添加、修改、刪除、入庫、注銷登錄等子模塊等,可實現(xiàn)各類相關信息歷史數(shù)據(jù)的輸出具體的模塊功能設計如下3.2.1人員管理模塊1、 瀏覽人員信息修改:修改人員的基本信息,包括人員姓名、登錄密碼、性別、出生日期、簡介等信息刪除:刪除選中人員的所有信息2、 添加人員信息添加:添加人員的基本信息,包括人員姓名、登錄密碼、性別、出生日期、簡介等信息3.2.2獎懲管理模塊1、 瀏覽獎懲制度詳細(包含修改功能):查看獎懲名稱、獎懲原因、獎懲說明等信息。
包括修改以上信息 刪除:刪除選中獎懲信息2、 添加獎懲制度添加:添加獎懲名稱、獎懲原因、獎懲說明等信息3.2.3薪金管理模塊1、 瀏覽薪金列表修改:修改員工姓名、基本薪金、飯補、房補、全勤獎、賦稅、額外補助、罰款、發(fā)放時間等信息刪除:刪除選中薪金列表的信息2、 添加薪金數(shù)據(jù)添加:添加員工姓名、基本薪金、飯補、房補、全勤獎、賦稅、額外補助、罰款、發(fā)放時間等信息3.3 數(shù)據(jù)庫設計系統(tǒng)分析結束后進入設計階段,抽象地分析數(shù)據(jù),理解數(shù)據(jù)之間的關系,建立E-R模型,然后對數(shù)據(jù)庫進行概念結構設計和邏輯結構設計由于SQL Server 2005能夠以極高的效率完成各種數(shù)據(jù)庫查詢,并能方便的使用存儲過程,同時它的圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單另外由于對Web技術的支持,使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到Web頁面上所以本系統(tǒng)采用了SQL Server 2005進行數(shù)據(jù)庫的存儲管理與維護表3-1 數(shù)據(jù)庫字段約束表名l 表以名詞或名詞短語命名,表名一律采用單數(shù)形式;l 表別名命名方式如下:? 如果表名只有一個單詞,則用該單詞命名表名;? 如果表名由多個單詞組成,則采用英文,以短下劃線“_”將各個單詞相連,每個部門首字母需大寫;l 所有關聯(lián)類通過下劃線連接兩個基本類之后(基本類使用表別名,不加下劃線),再加前綴“R_”的方式命名。
后面按照字母順序羅列;l 所有用于財務存儲的冗余類前面加上前綴“X_”,以保證這些類在數(shù)據(jù)庫中的存儲能夠置于尾部;屬性(列)名l 保證每個列名獨立唯一,命名有意義;l 通過前面加上表別名前綴,區(qū)分不同表中的類似屬性;視圖名l 視圖名使用前綴“V_”命名;觸發(fā)器名l 觸發(fā)器名使用前綴“TR_”命名;存儲過程名l 存儲過程使用前綴“UP_”命名; 3.3.1 概念結構設計將需求分析得到的用戶需求抽象為信息結構即概念結構設計,這一步是數(shù)據(jù)庫設計的關鍵一般采用自底向上的方法進行數(shù)據(jù)抽象和結構設計在本系統(tǒng)中涉及到的實體如下所示:1、人員管理(dbo.users): 人員的基本信息,包括人員姓名(username)、登錄密碼(password)、性別(sex)、出生日期(birthday)等信息,如圖3.1所示圖3-1 人員管理users實體集2、招聘管理個人信息表(dbo.job):應聘人員所有的基信息,包括姓名(name)、性別(sex)、年齡(age)、職位(job)、所學專業(yè)(specialty)、工作經驗(experience)、學歷(studyeffort)、畢業(yè)學校(school)、電話(tel)、Email等信息。
圖3-2 招聘信息job實體集3、培訓計劃表(dbo.educate):培訓計劃的基本信息,包括培訓名稱(name)、培訓目的(purpose)、培訓開始時間(begintime)、培訓結束時間(endtime)、講師(datum)、培訓人員(teacher)、培訓材料(datum)等信息如圖3.3所示圖3-3 培訓計劃educate實體集4、獎罰登記表(dbo.institution):獎懲名稱(name)、獎懲原因(reason)、獎懲說明(explain)等信息如圖3.4所示圖3-4 獎罰institution實體集 5、薪金(dbo.stipend):員工姓名(name)、基本薪金(basic)、飯補(eat)、房補(house)、全勤獎(duty)、賦稅(other)、額外補助(punishment)、罰款(punishment)、發(fā)放時間(granttime)等信息,如圖3.5所示圖3-5薪金表stipend實體集3.3.2 邏輯結構設計系統(tǒng)數(shù)據(jù)庫設計的優(yōu)劣直接影響到以后網(wǎng)站與數(shù)據(jù)連接的速度和更新查詢的復雜度本節(jié)介紹本系統(tǒng)基于關系數(shù)據(jù)庫的數(shù)據(jù)庫總體結構設計及數(shù)據(jù)表的設計本系統(tǒng)的數(shù)據(jù)庫設計是在系統(tǒng)功能分析后,依據(jù)系統(tǒng)的需求目標而做出的設計。
數(shù)據(jù)庫表名中文名作用 dbo.users人員管理中的人員信息表存儲人員管理中的人員信息dbo.job招聘管理個人信息表存儲招聘管理中的人才信息 dbo.educate培訓計劃表存儲培訓計劃的相關信息dbo.institution獎懲登記表存儲獎懲相關信息dbo.stipend 薪金列表存儲薪金相關信息圖3-2 數(shù)據(jù)表列表 邏輯結構設計如下:數(shù)據(jù)表dbo.users(人員管理中的人員信息表)dbo.job (招聘管理個人信息表)dbo.educate (培訓計劃表)dbo.institution (獎懲登記表)dbo.stipend (薪金列表)圖3-6數(shù)據(jù)邏輯結構設計3.3.3 數(shù)據(jù)表詳細設各個數(shù)據(jù)表之間主鍵和外鍵之間存在某種關系,本系統(tǒng)中共涉及以5張數(shù)據(jù)關系表下面列出了本數(shù)據(jù)庫中主要涉及到的數(shù)據(jù)表:一、 人員管理包含瀏覽人員信息和添加人員信息兩部分主要包括:1、人員信息的錄入2、完成人員的錄入后,人員信息的列表顯示 3、完成人員的錄入后,可以進行相應人員信息的瀏覽、修改、刪除3.3.3.1 dbo.users(人員管理中的人員信息表)表3-2 人員信息表列名類型是否為空備注描述idintN人員編號usernamevarchar(50)N人員姓名passwordvarchar(50)N登錄密碼sexbitN性別birthdaydatatimeN出生日期contentvarchar(2000)N執(zhí)行操作 二、 招聘管理包含瀏覽應聘信息、添加應聘信息以及瀏覽人才庫三部分。
主要包括:1、人員應聘信息的錄入 2、完成應聘信息的錄入后,可以進行相應信息的瀏覽、入庫、修改、刪除等操作 3、將選中的應聘信息入庫后,可以在“瀏覽人才庫”中進行查看、修改、刪除等操作3、 獎懲管理包含瀏覽獎懲制度和添加獎懲制度兩部分主要包括: 1、獎懲制度的錄入 2、完成錄入后,獎懲制度的列表顯示 3、完成錄入后,可以進行相應獎懲信息的瀏覽、修改、刪除3.3.3.2dbo.institution(獎懲登記表)表3-3 獎懲登記表列名類型是否為空備注idintN編號namevarchar(50)N獎懲名稱reasonvarchar(1000)N獎懲原因explainvarchar(1000)N獎懲說明 4、 薪金管理包含瀏覽薪金列表和添加薪金數(shù)據(jù)兩部分主要包括:1、薪金數(shù)據(jù)的錄入2、完成錄入后,薪金數(shù)據(jù)的列表顯示3、完成錄入后,可以進行相應薪金數(shù)據(jù)的瀏覽、修改、刪除3.3.3.3dbo.stipend (薪金列表)表3-4 薪金列表列名類型是否為空備注idintN編號namevarchar(50)N員工姓名basicfloatN基本薪金eatfloatN飯補housefloatN房補dutyfloatN全勤獎scotfloatN賦稅punishmentfloatN罰款otherfloatN額外補助granttimedatetimeN發(fā)放時間totalizefloatN總計 第四章 系統(tǒng)實現(xiàn)總體設計階段完成了軟件的結構設計,劃分了模塊,并規(guī)定了各個模塊的功能及他們之間的聯(lián)系。
在此之后,按軟件開發(fā)工程化的觀點,應進入系統(tǒng)的詳細設計階段,即系統(tǒng)實現(xiàn)該階段的根本目標是確定應該怎樣實現(xiàn)所要求的系統(tǒng),給出軟件模塊結構中各個模塊的內部過程描述本章將分模塊對系統(tǒng)的實現(xiàn)給予介紹具體結構層次如下圖所示:客戶層jspJavaScriptStrutsWeb.xmlHibernate數(shù)據(jù)庫beanbean視圖層:模型層:控制層:圖4-1 結構層次4.1 系統(tǒng)公共類的實現(xiàn)本節(jié)介紹系統(tǒng)使用的公共類,如數(shù)據(jù)庫訪問通用類(用于返回數(shù)據(jù)集、對象、受影響行數(shù)等)、用于完成購物功能的類等編寫公共類可以在其他頁面中直接調用公共類的方法、屬性,避免重復代碼的編寫,有利于系統(tǒng)代碼的維護和日后系統(tǒng)的升級利用hibernate進行對數(shù)據(jù)庫的訪問,開發(fā)方便快捷,大大提高了項目的完成進度,對5張表的數(shù)訪問分為EducateDao、instituitionDao、JobDao、StipendDao、UserDao,導入hibernate后Dao大體實現(xiàn)相同舉例說名,實現(xiàn)如下: public void addEducate(Educate e) throws HibernateException { e.setCreatetime(new java.util.Date()); e.setEducate(new Byte("0")); Session session = HibSessionFactory.currentSession(); Transaction tx = session.beginTransaction(); session.save(e); mit(); HibSessionFactory.closeSession(); } public void deleteEducate(Educate e) throws HibernateException { Session session = HibSessionFactory.currentSession(); Transaction tx = session.beginTransaction(); session.delete(e); mit(); HibSessionFactory.closeSession(); } public Educate loadEducate(long id) throws HibernateException { Session session = HibSessionFactory.currentSession(); Transaction tx = session.beginTransaction(); Educate e = (Educate) session.load(Educate.class, new Long(id)); System.out.println(e.getName()); mit(); HibSessionFactory.closeSession(); return e; } @SuppressWarnings("unchecked") public List listEducate(byte educate,int pagenum) throws HibernateException { Session session = HibSessionFactory.currentSession(); Transaction tx = session.beginTransaction(); Query query = session .createQuery("select e from Educate as e where e.educate =:educate order by createtime"); query.setByte("educate", educate); query.setMaxResults(4); query.setFirstResult(pagenum*4); List list = query.list(); mit(); HibSessionFactory.closeSession(); return list; } public List listEducateAll(byte educate) throws HibernateException { Session session = HibSessionFactory.currentSession(); Transaction tx = session.beginTransaction(); Query query = session .createQuery("select e from Educate as e where e.educate =:educate order by createtime"); query.setByte("educate", educate); List list = query.list(); mit(); HibSessionFactory.closeSession(); return list; } public void updateEducate(Educate educate) throws HibernateException { Educate e = this.loadEducate(educate.getId().longValue()); if (educate.getBegintime() != null) { e.setBegintime(educate.getBegintime()); } if (educate.getDatum() != null) { e.setDatum(educate.getDatum()); } if (educate.getEffect() != null) { e.setEffect(educate.getEffect()); } if (educate.getEndtime() != null) { e.setEndtime(educate.getEndtime()); } if (educate.getName() != null) { e.setName(educate.getName()); } if (educate.getPurpose() != null) { e.setPurpose(educate.getPurpose()); } if (educate.getStudent() != null) { e.setStudent(educate.getStudent()); } if (educate.getSummarize() != null) { e.setSummarize(educate.getSummarize()); } if (educate.getEducate() != null) { e.setEducate(educate.getEducate()); } if (educate.getTeacher() != null) { e.setTeacher(educate.getTeacher()); } Session session = HibSessionFactory.currentSession(); Transaction tx = session.beginTransaction(); session.update(e); mit(); HibSessionFactory.closeSession(); }}4.2系統(tǒng)登錄功能的實現(xiàn)為了系統(tǒng)的安全性,系統(tǒng)管理模塊必須由成功輸入管理員信息的用戶才能進入,同時在管理員成功登錄后將其登錄信息存入Session會話變量。
同時在系統(tǒng)管理模塊的非登錄頁面,當頁面第一次加載的時候判斷Session中是否存在管理員的登錄信息,這樣就可防止用戶通過在地址欄中直接鍵入系統(tǒng)管理頁面的地址、繞過登錄頁面直接進入系統(tǒng)管理模塊系統(tǒng)登錄頁面的設計如圖4-1所示圖4-2 系統(tǒng)登陸頁面4.3人員管理模塊功能實現(xiàn)人員信息需要進行人工錄入,人員管理包含瀏覽人員信息和添加人員信息兩部分人員管理模塊實現(xiàn)了人員管理的的列表顯示,以及對人員信息的內容進行的編輯,包括增加、修改、刪除功能流程實現(xiàn)大體如下:圖4-3 添加人員信息頁面圖4-4 查看人員信息1、人員信息的錄入2、完成人員的錄入后,人員信息的列表顯示3、完成人員的錄入后,可以進行相應人員信息的瀏覽、修改、刪除具體實現(xiàn):UsersAction public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String action = request.getParameter("action"); System.out .println("\nUsersAction*********************action=" + action); if (action == null || "".equals(action)) { return mapping.findForward("error"); } else if ("listuser".equals(action)) { return listUser(mapping, form, request, response); } else if ("adduser".equals(action)) { return addUsers(mapping, form, request, response); } else if ("logon".equals(action)) { return logon(mapping, form, request, response); } else if ("updateuser".equals(action)) { return updateUser(mapping, form, request, response); } else if ("deleteuser".equals(action)) { return deleteUser(mapping, form, request, response); } else if ("selectuser".equals(action)) { return selectUser(mapping, form, request, response); } return mapping.findForward("error"); } private ActionForward selectUser(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws HibernateException { Long id = new Long(request.getParameter("id")); Users u = dao.loadUsers(id.longValue()); request.setAttribute("user", u); return mapping.findForward("success"); } private ActionForward deleteUser(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws HibernateException { Long id = new Long(request.getParameter("id")); Users users = new Users(); users.setId(id); dao.deleteUsers(users); return mapping.findForward("success"); } private ActionForward updateUser(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws HibernateException { UsersForm usersform = (UsersForm) form; Users users = usersform.populate(); dao.updateUsers(users); return mapping.findForward("success"); } private ActionForward logon(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws HibernateException { UsersForm usersform = (UsersForm) form; Users users = new Users(); users.setUsername(usersform.getUsername()); users.setPassword(usersform.getPassword()); boolean flag = dao.logonUsers(users); if (flag) { request.getSession().setAttribute("users", users); return mapping.findForward("success"); } else { return mapping.findForward("failed"); } } private ActionForward listUser(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws HibernateException { String pagenum=request.getParameter("pagenum"); if(pagenum==null) pagenum="0"; request.getSession().setAttribute("pagenum", pagenum); request.setAttribute("list1", dao.listUserAll()); request.setAttribute("list", dao.listUser(((UsersForm)form).getPagenum())); return mapping.findForward("success"); }4.4獎罰管理模塊設計與實現(xiàn)獎懲制度需要進行人工錄入,獎懲管理包含瀏覽獎懲制度和添加獎懲制度兩部分。
獎懲管理模塊實現(xiàn)了獎懲制度的列表顯示,以及對獎懲制度的內容進行的編輯,包括增加、修改、刪除,設計如圖所示 圖4-5 錄入獎罰記錄圖4-6 維護獎罰信息1、獎懲制度的錄入2、完成錄入后,獎懲制度的列表顯示3、完成錄入后,可以進行相應獎懲信息的瀏覽、修改、刪除具體實現(xiàn):InstitutionActionpublic class InstitutionAction extends Action { private InstitutionDao dao = new InstitutionDao(); public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String action = request.getParameter("action"); System.out.println("\nInstitutionAction*********************action="+ action); if (action == null || "".equals(action)) { return mapping.findForward("error"); } else if ("listinstitution".equals(action)) { return listInstitution(mapping, form, request, response); } else if ("addinstitution".equals(action)) { return addInstitution(mapping, form, request, response); } else if ("updateinstitution".equals(action)) { return updateInstitution(mapping, form, request, response); } else if ("deleteinstitution".equals(action)) { return deleteInstitution(mapping, f。