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



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