軟通人力資源管理系統(tǒng)——人員管理與薪金管理的設(shè)計和開發(fā)
天津商務(wù)職業(yè)學(xué)院
畢業(yè)設(shè)計(論文)
題目:軟通人力資源管理系統(tǒng)——
人員管理與薪金管理的設(shè)計和開發(fā)
專業(yè)班級
軟件1001班
學(xué) 號
0108100129
姓 名
江濤
指導(dǎo)教師
馮毅
企業(yè)指導(dǎo)教師
張建軍
2013年4月12日
班 級:軟件1001班
姓 名:江濤
聯(lián)系電話:15502236510
摘 要
在傳統(tǒng)的人力資源管理工作中,要完成相當數(shù)量的職工情況及人力資源政策法規(guī)的查詢工作,一般是職工直接到辦公室或通過電話查詢,使人力資源工作者在這些常規(guī)性的查詢及相關(guān)政策法規(guī)的解答上花費大量時間,不利于工作效率的提高及人力資源研究工作的深入進行。人力資源人力資源管理系統(tǒng)將包括人力資源工作中涉及的職工的歷史狀況和現(xiàn)狀,人力資源政策法規(guī)的宣傳及解答,借助于網(wǎng)絡(luò),實現(xiàn)職工的自我查詢,這不僅對人力資源管理工作的順利進行具有積極的作用,而且對企業(yè)系統(tǒng)的建設(shè)也有很大意義。人力資源部門由于對外宣傳和查詢的需要,大部分機器申請上網(wǎng),這些機器中有的帶有組織、人力資源管理系統(tǒng)。雖然這些管理系統(tǒng)在平時維護時是通過口令(密碼)進入,但經(jīng)測試,在熟悉計算機應(yīng)用的情況下,任何人都可以不經(jīng)過口令而直接進入系統(tǒng),可查閱、修改相關(guān)數(shù)據(jù)。如果建立局域網(wǎng)將有效地解決這一問題。系統(tǒng)可明確用戶的使用權(quán)限,防止非法用戶的攻擊性破壞,保證整個系統(tǒng)的安全。此外,通過局域網(wǎng)還能防止公用網(wǎng)上病毒對計算機的侵蝕。
關(guān)鍵詞:人力資源;HR;
ABSTRACT
In 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;
目 錄
第一章 緒論 1
1.1概念 1
1.2開發(fā)背景以及課題意義 1
1.3目前人力資源管理的現(xiàn)狀 2
1.3.1人力資源管理的重視程度不夠 2
1.3.2人力資源部的基礎(chǔ)建設(shè)急需完善 2
1.3.3戰(zhàn)略人力資源管理體系的建立尚處于起步階段 3
1.4 系統(tǒng)開發(fā)環(huán)境的選擇 3
1.5 系統(tǒng)數(shù)據(jù)庫環(huán)境的選擇 4
第二章 系統(tǒng)分析 5
2.1 可行性分析 5
2.2 系統(tǒng)功能需求分析 7
2.2.1人員管理模塊 7
2.2.3薪金管理模塊 7
第三章 系統(tǒng)設(shè)計 8
3.1 總體結(jié)構(gòu)設(shè)計 8
3.2 模塊功能設(shè)計 8
3.2.1人員管理模塊 8
3.2.2獎懲管理模塊 9
3.2.3薪金管理模塊 9
3.3 數(shù)據(jù)庫設(shè)計 9
3.3.1 概念結(jié)構(gòu)設(shè)計 10
3.3.2 邏輯結(jié)構(gòu)設(shè)計 13
3.3.3 數(shù)據(jù)表詳細設(shè) 14
第四章 系統(tǒng)實現(xiàn) 17
4.1 系統(tǒng)公共類的實現(xiàn) 17
4.2系統(tǒng)登錄功能的實現(xiàn) 20
4.3人員管理模塊功能實現(xiàn) 20
4.4獎罰管理模塊設(shè)計與實現(xiàn) 23
4.5薪金模塊功能的設(shè)計與實現(xiàn) 26
4.6 實現(xiàn)效果評價 28
結(jié) 論 29
參考文獻 30
致 謝 31
天津商務(wù)職業(yè)學(xué)院2010屆??粕厴I(yè)設(shè)計(論文)
第一章 緒論
隨著我國市場經(jīng)濟的發(fā)展,就業(yè)情況也跟著不斷發(fā)展,但部分企業(yè)在人力資源管理方面仍然采用非科技化管理方式。因此,人力資源管理系統(tǒng)對于企業(yè)的決策者和管理者是非常的重要的。本系統(tǒng)是為管理者提供更方便而有效率的管理而設(shè)計。
1.1概念
人力資源管理(Human Resource Management,簡稱HRM)人力資源:是指在一定范圍內(nèi)的人口總體所具有的勞動能力的總和,或者說是指能夠推動整個經(jīng)濟和社會發(fā)展的具有智力勞動和體力勞動能力的人們的總和。
從另一方面,人力資源管理是指根據(jù)企業(yè)發(fā)展戰(zhàn)略的要求,有計劃地對人力資源進行合理配置,通過對企業(yè)中員工的招聘、培訓(xùn)、使用、考核、激勵、調(diào)整等一系列過程,調(diào)動員工的積極性,發(fā)揮員工的潛能,為企業(yè)創(chuàng)造價值,給企業(yè)帶來效益。確保企業(yè)戰(zhàn)略目標的實現(xiàn),是企業(yè)的一系列人力資源政策以及相應(yīng)的管理活動。這些活動主要包括企業(yè)人力資源戰(zhàn)略的制定,員工的招募與選拔,培訓(xùn)與開發(fā),績效管理,薪酬管理,員工流動管理,員工關(guān)系管理,員工安全與健康管理等。即:企業(yè)運用現(xiàn)代管理方法,對人力資源的獲?。ㄟx人)、開發(fā)(育人)、保持(留人)和利用(用人)等方面所進行的計劃、組織、指揮、控制和協(xié)調(diào)等一系列活動,最終達到實現(xiàn)企業(yè)發(fā)展目標的一種管理行為。
21世紀是全球化、市場化、信息化的世紀,是知識主宰的世紀。在新經(jīng)濟條件下,企業(yè)人力資源管理必然要發(fā)生相應(yīng)的變化。因此,企業(yè)人力資源管理系統(tǒng)將構(gòu)筑在Internet/intranet的計算機網(wǎng)絡(luò)平臺上,形成新型的人力資源管理模式。
1.2開發(fā)背景以及課題意義
人力資源管理是公司引進所需人才和管理人才的重要手段之一。人力資源管理系統(tǒng)能夠幫助HR有效的進行人力資源工作的展開,提高工作效率,避免冗余信息增加工作復(fù)雜度。因此,人性化設(shè)計,復(fù)合人力資源工作的基本流程,以軟件系統(tǒng)來支持人力資源工作,使得HR能夠輕松高效的完成工作。
人力資源管理目標是指企業(yè)人力資源管理需要完成的職責(zé)和需要達到的績效。人力資源管理既要考慮組織目標的實現(xiàn),又要考慮員工個人的發(fā)展,強調(diào)在實現(xiàn)組織目標的同時實現(xiàn)個人的全面發(fā)展。
人力資源管理目標包括著全體管理人員在人力資源管理方面的目標任務(wù)與專門的人力資源部門的目標與任務(wù)。顯然兩者有所不同,屬于專業(yè)的人力資源部門的目標任務(wù)不一定是全體管理人員的人力資源管理目標與任務(wù),而屬于全體管理人員承擔(dān)的人力資源管理目標任務(wù),一般都是專業(yè)的人力資源部門應(yīng)該完成的目標任務(wù)。
無論是專門的人力資源管理部門還是其它非人力資源管理部門,進行人力資源管理的目標與任務(wù),人力資源專家鐘克峰先生認為主要包括以下三個方面:
1.保證組織對人力資源的需求得到最大限度的滿足
2.最大限度地開發(fā)與管理組織內(nèi)外的人力資源,促進組織的持續(xù)發(fā)
3.維護與激勵組織內(nèi)部人力資源,使其潛能得到最大限度的發(fā)揮,使其人力資本得到應(yīng)有的提升與擴充。
1.3目前人力資源管理的現(xiàn)狀
1.3.1人力資源管理的重視程度不夠
雖然最近幾年,“以人為本”“高度重視人力資源管理”已經(jīng)成為一些企業(yè)老總的口頭禪,實際上企業(yè)中的人力資源經(jīng)理們經(jīng)??梢园l(fā)現(xiàn),在老總的日程表上,在公司的各項工作安排上,市場、銷售、研發(fā)、生產(chǎn)等方面的工作總是排在最重要的位置,而人力資源管理則排在不那么重要的位置。誠然,市場占有率,銷售額,利潤,新產(chǎn)品的開發(fā)和生產(chǎn)對于企業(yè)來說,尤其是對于中國企業(yè)來說,的確是企業(yè)生存和發(fā)展的基本條件。但是,企業(yè)的老總千萬不要忘記上述這些指標反映的僅僅是企業(yè)的短期效益和狀況,真正決定企業(yè)長久發(fā)展和持續(xù)生存的關(guān)鍵因素應(yīng)該是企業(yè)的人力資源以及人力資源管理。老總的這種短視,以及對人力資源管理認識的不足是中國企業(yè)人力資源管理所面臨的最嚴重的問題。由于老總不能從思想上充分地認識到人力資源管理的重要性,也沒有從行動上花大力氣支持企業(yè)各項人力資源管理活動的開展,使得中國企業(yè)的人力資源管理的發(fā)展非常緩慢,實施戰(zhàn)略人力資源管理也就無從談起。此外,直線經(jīng)理對人力資源管理重要性的認識也不夠,因而人力資源部在開展各項活動時很難得到他們的支持和配合,使得各項活動的效果大打折扣。
1.3.2人力資源部的基礎(chǔ)建設(shè)急需完善
對于中國企業(yè)來說,人力資源可以說還是一個新興的名字,人力資源部的成立也是最近幾年的事情,甚至有部分企業(yè)還沒有重視人力資源部的建立。即使有一些公司成立了人力資源部,所承擔(dān)的主要工作還是傳統(tǒng)人事部門的工作,僅限于員工的薪酬與福利,獎懲與升遷、檔案管理等方面,這就是使得人力資源部很難發(fā)揮應(yīng)該發(fā)揮的作用。
人力資源部的地位和結(jié)構(gòu)也有待進一步改善。由于公司老總并沒有高度重視人力資源管理工作,人力資源經(jīng)理很少甚至沒有機會參與公司的高層決策,使得人力資源為公司戰(zhàn)略服務(wù)根本就無從談起。人力資源部的人數(shù)配備、分工以及專業(yè)水平也有較大的發(fā)展空間。企業(yè)并沒有完全根據(jù)企業(yè)的戰(zhàn)略規(guī)劃來對人力資源部的人員進行合理配備和分工,人力資源從業(yè)者大部分都是從其他專業(yè)或者職能轉(zhuǎn)到人力資源部來的,這就在一定程度影響了人力資源管理發(fā)揮其戰(zhàn)略作用。
1.3.3戰(zhàn)略人力資源管理體系的建立尚處于起步階段
人力資源管理要想發(fā)揮作用,必須和企業(yè)戰(zhàn)略結(jié)合起來,建立戰(zhàn)略人力資源管理系統(tǒng)。但是,目前國內(nèi)大部分企業(yè)尚未形成一套完整的戰(zhàn)略人力資源管理思想和管理模式,尚未真正實現(xiàn)從傳統(tǒng)的人事管理向戰(zhàn)略人力資源管理的轉(zhuǎn)變。比如,人力資源部經(jīng)常是根據(jù)業(yè)務(wù)部門的短期業(yè)務(wù)需求去招聘合適的人選,往往沒有考慮公司的長期發(fā)展戰(zhàn)略,表面上招進來的員工能滿足公司短期業(yè)務(wù)發(fā)展需要。實際上,招進來的員工極有可能并不符合公司的長遠發(fā)展需要。
1.4 系統(tǒng)開發(fā)環(huán)境的選擇
系統(tǒng)開發(fā)的平臺和選擇語言的優(yōu)劣及相互協(xié)調(diào)的程度,將直接影響到開發(fā)的效率和系統(tǒng)的質(zhì)量。
1、編程語言的選擇
本系統(tǒng)采用java語言作為開發(fā)語言。目前主流的動態(tài)網(wǎng)站的設(shè)計技術(shù)有ASP、PHP、.NET和JSP等。而其中最受歡迎的是.NET和JSP。
本系統(tǒng)之所以采用java開發(fā),有以下幾個原因:首先,java是一種簡單的、流行的、面向?qū)ο蟮?、類型安全的編程語言,它是為生成運行在java虛擬機上的、廣泛的企業(yè)級應(yīng)用程序而設(shè)計的。其次,它較容易上手,能夠在短時間內(nèi)開發(fā)出一個較完整的系統(tǒng)。最后,java最熟悉的編程語言,采用該語言將為系統(tǒng)的開發(fā)節(jié)省不少時間。
2、開發(fā)環(huán)境的選擇
表1-1 開發(fā)環(huán)境
分類
名稱
版本
語種
操作系統(tǒng)
Windows
xp
簡體中文
操作系統(tǒng)的附加功能
SP4
3
簡體中文
數(shù)據(jù)庫平臺
Sql server
2005
簡體中文
應(yīng)用平臺
Tomcat
7.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是作者接觸基于關(guān)系型數(shù)據(jù)庫系統(tǒng)以來學(xué)的最早也是時間最長的一個數(shù)據(jù)庫系統(tǒng),而且T-Sql語句也是作者最熟悉的查詢語句,采用該種數(shù)據(jù)庫對保證系統(tǒng)開發(fā)過程的順利進行將有很大的幫助。
2. SQL Server 2005適用于中小型項目,根據(jù)本系統(tǒng)中用到的數(shù)據(jù)表以及數(shù)據(jù)表之間關(guān)系的復(fù)雜程度,SQL Server 2005提供的功能足以滿足系統(tǒng)需求。
第二章 系統(tǒng)分析
系統(tǒng)分析要回答新系統(tǒng)“做什么”。本章節(jié)從系統(tǒng)的可行性、最終使用者(用戶)的角度以及系統(tǒng)中各類數(shù)據(jù)的流向分析了系統(tǒng)是否值得開發(fā)、應(yīng)提供哪些功能模塊。通過本章內(nèi)容,使得分析者深刻的理解和認識系統(tǒng),并能將其完整、準確地表達,不僅起到溝通用戶和開發(fā)者的作用,還是后續(xù)工作的依據(jù)。
2.1 可行性分析
可行性分析主要包括社會可行性、經(jīng)濟可行性、技術(shù)可行性。
1) 先進性
1、系統(tǒng)在網(wǎng)絡(luò)情況較好的情況下響應(yīng)時間較快。
2、后臺數(shù)據(jù)庫實時更新。
2)成熟性
經(jīng)過我們初步的測試,本系統(tǒng)可以長時間無異常運行。
3)實用性
1、系統(tǒng)要求在非高峰時間根據(jù)編號和名稱特定條件進行搜索,可在3秒內(nèi)得到查詢結(jié)果。
2、在工作日期間,從上午八點至下午八點,系統(tǒng)的可用性至少要達到99%。
4)適用性
適用于Windows 7及Windows XP以下各個操作系統(tǒng)。
5)易用性
網(wǎng)站界面符合基本的用戶直覺,操作簡單,所以一個從未使用過該系統(tǒng)的用戶也可以在很短的時間內(nèi)學(xué)會本系統(tǒng)的使用方法。并且用戶可以通過任何一定版本的瀏覽器登錄到該網(wǎng)站上進行使用,易用性較高。
6)可擴展性
本系統(tǒng)在需求或環(huán)境發(fā)生某些變化時,有適應(yīng)能力的要求,如:需求及流程變化;操作方式變化;機構(gòu)人員變化;空間地點變化(移動用戶、分布式)。
7)穩(wěn)定性
系統(tǒng)可以長時間無異常運行。
8)安全性
管理員權(quán)限明確,且人工操作減少,能夠降低出錯率。
9)戰(zhàn)略性
使用本系統(tǒng)進行人力資源管理,提高工作效率,并對項目和人員有效直觀地進行管理,使各種信息一目了然,方便管理者進行判斷。
10)可維護性
系統(tǒng)應(yīng)在運行出現(xiàn)故障時易于修復(fù),并可支持未來功能擴展的能力。
11)可靠性
系統(tǒng)可長期使用,保持功能正常,性能穩(wěn)定。
12)實時性
1、系統(tǒng)要求在非高峰時間根據(jù)編號和名稱特定條件進行搜索,可在3秒內(nèi)得到查詢結(jié)果。
2、在網(wǎng)站上的用戶數(shù)量處于平均水平且用戶所處網(wǎng)絡(luò)情況良好時,每個用戶請求的響應(yīng)時間約在0.3秒左右。
13)系統(tǒng)性能
1、用戶承載量:目前大約10人并行訪問系統(tǒng),響應(yīng)速度在10秒之內(nèi);
2、用戶請求響應(yīng)時延:系統(tǒng)要求在非高峰時間根據(jù)編號和名稱特定條件進行搜索,可在3秒內(nèi)得到查詢結(jié)果在網(wǎng)站上的用戶數(shù)量處于平均水平且用戶所處網(wǎng)絡(luò)情況良好時,每個用戶請求的響應(yīng)時間約在0.3秒左右。
3、處理結(jié)果的精度要求:工作量統(tǒng)計時間精確到分鐘
14)時間特性要求
處理速度:目前大約10人并行訪問系統(tǒng),響應(yīng)速度在10秒之內(nèi);
處理結(jié)果的精度要求:工作量統(tǒng)計時間精確到分鐘
系統(tǒng)要求在非高峰時間根據(jù)編號和名稱特定條件進行搜索,可在3秒內(nèi)得到查詢結(jié)果在網(wǎng)站上的用戶數(shù)量處于平均水平且用戶所處網(wǎng)絡(luò)情況良好時,每個用戶請求的響應(yīng)時間約在0.3秒左右。
15)靈活性
每次故障發(fā)生后,平均修復(fù)時間為1.5小時左右。
2.2 系統(tǒng)功能需求分析
本系統(tǒng)主要實現(xiàn)人力資源管理中的人員信息的管理,應(yīng)聘信息的管理,培訓(xùn)計劃的管理、獎懲制度的管理、薪金的管理等功能。系統(tǒng)管理的業(yè)務(wù)處理包括信息的瀏覽、添加、修改、刪除、入庫等,可實現(xiàn)各類相關(guān)信息歷史數(shù)據(jù)的輸出。
2.2.1人員管理模塊
名稱
功能
功能描述
瀏覽人員信息
修改
修改人員的基本信息,包括人員姓名、登錄密碼、性別、出生日期、簡介等信息
刪除
刪除選中人員的所有信息
添加人員信息
添加
添加人員的基本信息,包括人員姓名、登錄密碼、性別、出生日期、簡介等信息
表2-1 人員管理模塊
2.2.2獎懲管理模塊
表2-2 獎懲管理模塊
名稱
功能
功能描述
瀏覽獎懲制度
詳細(包含修改功能)
查看獎懲名稱、獎懲原因、獎懲說明等信息。
包括修改以上信息。
刪除
刪除選中獎懲信息
添加獎懲制度
添加
添加獎懲名稱、獎懲原因、獎懲說明等信息。
2.2.3薪金管理模塊
表2-3 薪金管理模塊
名稱
功能
功能描述
瀏覽薪金列表
修改
修改員工姓名、基本薪金、飯補、房補、全勤獎、賦稅、額外補助、罰款、發(fā)放時間等信息。
刪除
刪除選中薪金列表的信息。
添加薪金數(shù)據(jù)
添加
添加員工姓名、基本薪金、飯補、房補、全勤獎、賦稅、額外補助、罰款、發(fā)放時間等信息。
第三章 系統(tǒng)設(shè)計
本章節(jié)的總體目標是將上一章節(jié)需求分析階段得到的目標系統(tǒng)的邏輯模型,變換為目標系統(tǒng)的物理模型,具體將從系統(tǒng)的結(jié)構(gòu)設(shè)計和數(shù)據(jù)庫的設(shè)計兩方面進行講解。簡單的說就是根據(jù)上一章節(jié)中需求分析的”做什么”,確定系統(tǒng)應(yīng)該”怎么做”。
3.1 總體結(jié)構(gòu)設(shè)計
系統(tǒng)結(jié)構(gòu)和功能是系統(tǒng)設(shè)計的核心部分,通過系統(tǒng)結(jié)構(gòu)圖可以清楚的看出整個系統(tǒng)的結(jié)構(gòu)。針對每個結(jié)構(gòu)模塊分別做分析,為以后的設(shè)計和實現(xiàn)打下基礎(chǔ)。根據(jù)功能需求,系統(tǒng)總體結(jié)構(gòu)如圖3-1所示。
圖3-1 總體結(jié)構(gòu)設(shè)計
3.2 模塊功能設(shè)計
本系統(tǒng)主要實現(xiàn)人力資源管理中的人員信息的管理,應(yīng)聘信息的管理,培訓(xùn)計劃的管理、獎懲制度的管理、薪金的管理等功能。系統(tǒng)管理的業(yè)務(wù)處理包括信息的瀏覽、添加、修改、刪除、入庫、注銷登錄等子模塊等,可實現(xiàn)各類相關(guān)信息歷史數(shù)據(jù)的輸出。具體的模塊功能設(shè)計如下。
3.2.1人員管理模塊
1、 瀏覽人員信息
修改:修改人員的基本信息,包括人員姓名、登錄密碼、性別、出生日期、簡介等信息
刪除:刪除選中人員的所有信息
2、 添加人員信息
添加:添加人員的基本信息,包括人員姓名、登錄密碼、性別、出生日期、簡介等信息
3.2.2獎懲管理模塊
1、 瀏覽獎懲制度
詳細(包含修改功能):查看獎懲名稱、獎懲原因、獎懲說明等信息。
包括修改以上信息。
刪除:刪除選中獎懲信息
2、 添加獎懲制度
添加:添加獎懲名稱、獎懲原因、獎懲說明等信息。
3.2.3薪金管理模塊
1、 瀏覽薪金列表
修改:修改員工姓名、基本薪金、飯補、房補、全勤獎、賦稅、額外補助、罰款、發(fā)放時間等信息。
刪除:刪除選中薪金列表的信息。
2、 添加薪金數(shù)據(jù)
添加:添加員工姓名、基本薪金、飯補、房補、全勤獎、賦稅、額外補助、罰款、發(fā)放時間等信息。
3.3 數(shù)據(jù)庫設(shè)計
系統(tǒng)分析結(jié)束后進入設(shè)計階段,抽象地分析數(shù)據(jù),理解數(shù)據(jù)之間的關(guān)系,建立E-R模型,然后對數(shù)據(jù)庫進行概念結(jié)構(gòu)設(shè)計和邏輯結(jié)構(gòu)設(shè)計。由于SQL Server 2005能夠以極高的效率完成各種數(shù)據(jù)庫查詢,并能方便的使用存儲過程,同時它的圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單。另外由于對Web技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到Web頁面上。所以本系統(tǒng)采用了SQL Server 2005進行數(shù)據(jù)庫的存儲管理與維護。
表3-1 數(shù)據(jù)庫字段約束
表名
l 表以名詞或名詞短語命名,表名一律采用單數(shù)形式;
l 表別名命名方式如下:
Ø 如果表名只有一個單詞,則用該單詞命名表名;
Ø 如果表名由多個單詞組成,則采用英文,以短下劃線“_”將各個單詞相連,每個部門首字母需大寫;
l 所有關(guān)聯(lián)類通過下劃線連接兩個基本類之后(基本類使用表別名,不加下劃線),再加前綴“R_”的方式命名。后面按照字母順序羅列;
l 所有用于財務(wù)存儲的冗余類前面加上前綴“X_”,以保證這些類在數(shù)據(jù)庫中的存儲能夠置于尾部;
屬性(列)名
l 保證每個列名獨立唯一,命名有意義;
l 通過前面加上表別名前綴,區(qū)分不同表中的類似屬性;
視圖名
l 視圖名使用前綴“V_”命名;
觸發(fā)器名
l 觸發(fā)器名使用前綴“TR_”命名;
存儲過程名
l 存儲過程使用前綴“UP_”命名;
3.3.1 概念結(jié)構(gòu)設(shè)計
將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)即概念結(jié)構(gòu)設(shè)計,這一步是數(shù)據(jù)庫設(shè)計的關(guān)鍵。一般采用自底向上的方法進行數(shù)據(jù)抽象和結(jié)構(gòu)設(shè)計。在本系統(tǒng)中涉及到的實體如下所示:
1、人員管理(dbo.users): 人員的基本信息,包括人員姓名(username)、登錄密碼(password)、性別(sex)、出生日期(birthday)等信息,如圖3.1所示。
圖3-1 人員管理users實體集
2、招聘管理個人信息表(dbo.job):應(yīng)聘人員所有的基信息,包括姓名(name)、性別(sex)、年齡(age)、職位(job)、所學(xué)專業(yè)(specialty)、工作經(jīng)驗(experience)、學(xué)歷(studyeffort)、畢業(yè)學(xué)校(school)、電話(tel)、Email等信息。
圖3-2 招聘信息job實體集
3、培訓(xùn)計劃表(dbo.educate):培訓(xùn)計劃的基本信息,包括培訓(xùn)名稱(name)、培訓(xùn)目的(purpose)、培訓(xùn)開始時間(begintime)、培訓(xùn)結(jié)束時間(endtime)、講師(datum)、培訓(xùn)人員(teacher)、培訓(xùn)材料(datum)等信息。如圖3.3所示。
圖3-3 培訓(xùn)計劃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 邏輯結(jié)構(gòu)設(shè)計
系統(tǒng)數(shù)據(jù)庫設(shè)計的優(yōu)劣直接影響到以后網(wǎng)站與數(shù)據(jù)連接的速度和更新查詢的復(fù)雜度。本節(jié)介紹本系統(tǒng)基于關(guān)系數(shù)據(jù)庫的數(shù)據(jù)庫總體結(jié)構(gòu)設(shè)計及數(shù)據(jù)表的設(shè)計。本系統(tǒng)的數(shù)據(jù)庫設(shè)計是在系統(tǒng)功能分析后,依據(jù)系統(tǒng)的需求目標而做出的設(shè)計。
數(shù)據(jù)庫表名
中文名
作用
dbo.users
人員管理中的人員信息表
存儲人員管理中的人員信息
dbo.job
招聘管理個人信息表
存儲招聘管理中的人才信息
dbo.educate
培訓(xùn)計劃表
存儲培訓(xùn)計劃的相關(guān)信息
dbo.institution
獎懲登記表
存儲獎懲相關(guān)信息
dbo.stipend
薪金列表
存儲薪金相關(guān)信息
圖3-2 數(shù)據(jù)表列表
邏輯結(jié)構(gòu)設(shè)計如下:
數(shù)據(jù)表
dbo.users(人員管理中的人員信息表)
dbo.job (招聘管理個人信息表)
dbo.educate (培訓(xùn)計劃表)
dbo.institution (獎懲登記表)
dbo.stipend (薪金列表)
圖3-6數(shù)據(jù)邏輯結(jié)構(gòu)設(shè)計
3.3.3 數(shù)據(jù)表詳細設(shè)
各個數(shù)據(jù)表之間主鍵和外鍵之間存在某種關(guān)系,本系統(tǒng)中共涉及以5張數(shù)據(jù)關(guān)系表。下面列出了本數(shù)據(jù)庫中主要涉及到的數(shù)據(jù)表:
一、 人員管理包含瀏覽人員信息和添加人員信息兩部分。
主要包括:1、人員信息的錄入
2、完成人員的錄入后,人員信息的列表顯示。
3、完成人員的錄入后,可以進行相應(yīng)人員信息的瀏覽、修改、刪除。
3.3.3.1 dbo.users(人員管理中的人員信息表)
表3-2 人員信息表
列名
類型
是否為空
備注描述
id
int
N
人員編號
username
varchar(50)
N
人員姓名
password
varchar(50)
N
登錄密碼
sex
bit
N
性別
birthday
datatime
N
出生日期
content
varchar(2000)
N
執(zhí)行操作
二、 招聘管理包含瀏覽應(yīng)聘信息、添加應(yīng)聘信息以及瀏覽人才庫三部分。主要包括:1、人員應(yīng)聘信息的錄入
2、完成應(yīng)聘信息的錄入后,可以進行相應(yīng)信息的瀏覽、入庫、修改、刪除等操作
3、將選中的應(yīng)聘信息入庫后,可以在“瀏覽人才庫”中進行查看、修改、刪除等操作
3、 獎懲管理包含瀏覽獎懲制度和添加獎懲制度兩部分。主要包括:
1、獎懲制度的錄入
2、完成錄入后,獎懲制度的列表顯示。
3、完成錄入后,可以進行相應(yīng)獎懲信息的瀏覽、修改、刪除。
3.3.3.2dbo.institution(獎懲登記表)
表3-3 獎懲登記表
列名
類型
是否為空
備注
id
int
N
編號
name
varchar(50)
N
獎懲名稱
reason
varchar(1000)
N
獎懲原因
explain
varchar(1000)
N
獎懲說明
4、 薪金管理包含瀏覽薪金列表和添加薪金數(shù)據(jù)兩部分。主要包括:
1、薪金數(shù)據(jù)的錄入
2、完成錄入后,薪金數(shù)據(jù)的列表顯示。
3、完成錄入后,可以進行相應(yīng)薪金數(shù)據(jù)的瀏覽、修改、刪除。
3.3.3.3dbo.stipend (薪金列表)
表3-4 薪金列表
列名
類型
是否為空
備注
id
int
N
編號
name
varchar(50)
N
員工姓名
basic
float
N
基本薪金
eat
float
N
飯補
house
float
N
房補
duty
float
N
全勤獎
scot
float
N
賦稅
punishment
float
N
罰款
other
float
N
額外補助
granttime
datetime
N
發(fā)放時間
totalize
float
N
總計
第四章 系統(tǒng)實現(xiàn)
總體設(shè)計階段完成了軟件的結(jié)構(gòu)設(shè)計,劃分了模塊,并規(guī)定了各個模塊的功能及他們之間的聯(lián)系。在此之后,按軟件開發(fā)工程化的觀點,應(yīng)進入系統(tǒng)的詳細設(shè)計階段,即系統(tǒng)實現(xiàn)。該階段的根本目標是確定應(yīng)該怎樣實現(xiàn)所要求的系統(tǒng),給出軟件模塊結(jié)構(gòu)中各個模塊的內(nèi)部過程描述。本章將分模塊對系統(tǒng)的實現(xiàn)給予介紹。
具體結(jié)構(gòu)層次如下圖所示:
客戶層
jsp
JavaScript
Struts
Web.xml
Hibernate
數(shù)據(jù)庫
bean
bean
視圖層:
模型層:
控制層:
圖4-1 結(jié)構(gòu)層次
4.1 系統(tǒng)公共類的實現(xiàn)
本節(jié)介紹系統(tǒng)使用的公共類,如數(shù)據(jù)庫訪問通用類(用于返回數(shù)據(jù)集、對象、受影響行數(shù)等)、用于完成購物功能的類等。編寫公共類可以在其他頁面中直接調(diào)用公共類的方法、屬性,避免重復(fù)代碼的編寫,有利于系統(tǒng)代碼的維護和日后系統(tǒng)的升級。
利用hibernate進行對數(shù)據(jù)庫的訪問,開發(fā)方便快捷,大大提高了項目的完成進度,對5張表的數(shù)訪問分為EducateDao、instituitionDao、JobDao、StipendDao、UserDao,導(dǎo)入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)登錄頁面的設(shè)計如圖4-1所示。
圖4-2 系統(tǒng)登陸頁面
4.3人員管理模塊功能實現(xiàn)
人員信息需要進行人工錄入,人員管理包含瀏覽人員信息和添加人員信息兩部分。人員管理模塊實現(xiàn)了人員管理的的列表顯示,以及對人員信息的內(nèi)容進行的編輯,包括增加、修改、刪除。功能流程實現(xiàn)大體如下:
圖4-3 添加人員信息頁面
圖4-4 查看人員信息
1、人員信息的錄入
2、完成人員的錄入后,人員信息的列表顯示。
3、完成人員的錄入后,可以進行相應(yīng)人員信息的瀏覽、修改、刪除。
具體實現(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獎罰管理模塊設(shè)計與實現(xiàn)
獎懲制度需要進行人工錄入,獎懲管理包含瀏覽獎懲制度和添加獎懲制度兩部分。獎懲管理模塊實現(xiàn)了獎懲制度的列表顯示,以及對獎懲制度的內(nèi)容進行的編輯,包括增加、修改、刪除,設(shè)計如圖所示。
圖4-5 錄入獎罰記錄
圖4-6 維護獎罰信息
1、獎懲制度的錄入
2、完成錄入后,獎懲制度的列表顯示。
3、完成錄入后,可以進行相應(yīng)獎懲信息的瀏覽、修改、刪除。
具體實現(xiàn):InstitutionAction
public 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