摘 要: 為了避免中小型企業(yè)人事管理的手工管理方式,采用Java和MySQL數(shù)據(jù)庫(kù),設(shè)計(jì)了一個(gè)對(duì)中小型企業(yè)進(jìn)行人事管理的系統(tǒng)軟件。在此從系統(tǒng)分析、功能設(shè)計(jì)以及數(shù)據(jù)庫(kù)設(shè)計(jì)等方面介紹了企業(yè)人事管理系統(tǒng)的設(shè)計(jì)過(guò)程。詳細(xì)闡述了系統(tǒng)主界面、數(shù)據(jù)庫(kù)連接等功能的實(shí)現(xiàn)過(guò)程。采用Java和MySQL數(shù)據(jù)庫(kù)結(jié)合的方法,能夠?qū)崿F(xiàn)中小型企業(yè)人事的自動(dòng)化管理,具有簡(jiǎn)單,實(shí)用,使用方便的特點(diǎn),從而提高了管理水平和工作效率。
關(guān)鍵詞: Java; 人事管理系統(tǒng); MySQL; MVC
中圖分類(lèi)號(hào): TN911?34; TP311 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2013)20?0091?03
0 引 言
隨著信息時(shí)代的高速發(fā)展, 企業(yè)的信息化管理是企業(yè)發(fā)展的必然趨勢(shì),也是企業(yè)興衰的主要因素之一[1]。企業(yè)健康有序發(fā)展最為關(guān)鍵性的因素就是人力資源,人力資源管理儼然已經(jīng)成為現(xiàn)代企業(yè)管理中不可或缺的重要組成部分,最為人力資源管理工作之基礎(chǔ)的人事信息管理也逐漸受到關(guān)注和重視[2]。人事管理系統(tǒng)是一個(gè)企業(yè)不可缺少的部分,它能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄蝃3]。但是目前人事管理的方式、手段仍然處在低劣狀態(tài)之中,跟不上時(shí)代發(fā)展需要[4]。為此,設(shè)計(jì)和開(kāi)發(fā)一個(gè)功能實(shí)用、操作方便,簡(jiǎn)單明了的人事管理系統(tǒng)就顯得極為必要。
本文闡述了基于中小型企業(yè)的人事管理系統(tǒng)的分析、設(shè)計(jì)與實(shí)現(xiàn)的過(guò)程。
1 Java簡(jiǎn)介
Java是在C++的基礎(chǔ)上研制開(kāi)發(fā)的,它克服了C++語(yǔ)言在編寫(xiě)程序時(shí)的缺點(diǎn),如:指針的使用,使得編程更加簡(jiǎn)單[5?7]。它不僅僅可以為復(fù)雜的網(wǎng)絡(luò)環(huán)境設(shè)計(jì)相關(guān)應(yīng)用軟件,同時(shí)還可以進(jìn)行桌面應(yīng)用程序的編寫(xiě)和運(yùn)行。它主要有以下特點(diǎn):可移性;解釋性;安全性;結(jié)構(gòu)中立性[6]。因此,本系統(tǒng)使用Java 語(yǔ)言作為前臺(tái)開(kāi)發(fā)語(yǔ)言。
2 系統(tǒng)分析
人事檔案管理系統(tǒng)一般包括人事檔案的統(tǒng)計(jì)、查詢、更新、報(bào)表輸出等功能[8]。本系統(tǒng)的用戶可以分為2大類(lèi):系統(tǒng)管理人員和普通員工。其中系統(tǒng)管理人員可以根據(jù)需要添加相應(yīng)的用戶信息,可以對(duì)用戶信息進(jìn)行增、刪、改、查等基本操作;而員工可以對(duì)自己的相應(yīng)信息進(jìn)行瀏覽,對(duì)自己的基本信息可以進(jìn)行修改。
3 系統(tǒng)的總體設(shè)計(jì)
3.1 系統(tǒng)功能設(shè)計(jì)
中小型企業(yè)人事管理系統(tǒng)的操作對(duì)象是企業(yè)的管理人員和普通員工,主要完成對(duì)員工信息、部門(mén)信息、考勤、工資等的信息查詢和修改。系統(tǒng)功能模塊包括基本系統(tǒng)用戶管理、職工信息管理、職工工資管理、職工假條管理、公司部門(mén)管理、職工考勤管理、職工加班管理。系統(tǒng)功能結(jié)構(gòu)圖如圖1所示。
圖1 人事管理系統(tǒng)功能結(jié)構(gòu)圖
3.2 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
數(shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫(kù)模塊,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)數(shù)據(jù),滿足各種用戶的信息要求和處理要求。
3.2.1 數(shù)據(jù)庫(kù)管理系統(tǒng)
數(shù)據(jù)庫(kù)選擇MySQL。MySQL是現(xiàn)在中小型公司乃至大公司普遍運(yùn)用的數(shù)據(jù)庫(kù),相比其他的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)來(lái)說(shuō),MySQL容易操作,簡(jiǎn)單,小巧,免費(fèi)[9]。它提供了一套圖形化的方便易用的系統(tǒng);對(duì)多用戶應(yīng)用提供了充足的保護(hù)措施,能夠阻止沖突和防止錯(cuò)誤產(chǎn)生,并且能高效地給多用戶分配可用的資源[10]。
3.2.2 數(shù)據(jù)庫(kù)表
4 系統(tǒng)實(shí)現(xiàn)
4.1 系統(tǒng)架構(gòu)
本系統(tǒng)將采用JavaEE中最常規(guī)的開(kāi)發(fā)模式MVC三層架構(gòu)的模式對(duì)系統(tǒng)進(jìn)行開(kāi)發(fā)。Model就是數(shù)據(jù)層,在本系統(tǒng)中所對(duì)應(yīng)的就是通過(guò)hibernate生成;Entity Control就是處理具體業(yè)務(wù)的場(chǎng)所,在本系統(tǒng)中通過(guò)Service以及Struts的Action去實(shí)現(xiàn),Service與Action通過(guò)Spring的依賴注入進(jìn)行關(guān)聯(lián);最終Action將處理的結(jié)果返回至頁(yè)面中向用戶反饋,這就是頁(yè)面顯示層(View)。
4.2 系統(tǒng)關(guān)鍵功能模塊實(shí)現(xiàn)
4.2.1 系統(tǒng)登錄界面實(shí)現(xiàn)
當(dāng)?shù)卿浫耸鹿芾頃r(shí),在登錄界面,由用戶輸入賬號(hào)、密碼和驗(yàn)證碼,系統(tǒng)根據(jù)用戶輸入的賬號(hào)、密碼和驗(yàn)證碼進(jìn)行驗(yàn)證。如果輸入的內(nèi)容為空,系統(tǒng)會(huì)給出相應(yīng)的提示;當(dāng)輸入的內(nèi)容不為空時(shí),系統(tǒng)會(huì)到數(shù)據(jù)庫(kù)中進(jìn)行查詢。如果該用戶存在且密碼正確,并且驗(yàn)證碼也正確,則登錄成功,進(jìn)入主窗體;否則登錄失敗,當(dāng)然,系統(tǒng)也會(huì)給出相應(yīng)的信息,提示用戶登錄失敗。系統(tǒng)會(huì)根據(jù)登陸用戶的角色來(lái)判斷進(jìn)入何種歡迎頁(yè)面,不同用戶的管理員。登錄界面如圖2所示。
4.2.2 系統(tǒng)主界面功能實(shí)現(xiàn)
系統(tǒng)主界面共有兩個(gè),分別是系統(tǒng)主界面和個(gè)人主界面,頁(yè)面采用左側(cè)是樹(shù)狀菜單,中間主體部分是各個(gè)功能的頁(yè)面,采用Tab頁(yè)的管理方式實(shí)現(xiàn)。系統(tǒng)主界面如圖3所示。
4.2.3 個(gè)人頁(yè)面模塊實(shí)現(xiàn)
該模塊主要包括了登陸的員工對(duì)的個(gè)人信息查看、考勤記錄查詢、假期申請(qǐng)查詢等功能。其中用戶可以對(duì)自己的密碼進(jìn)行修改,修改的流程為:?jiǎn)?dòng)修改密碼窗體,輸入原密碼、新密碼和確認(rèn)密碼;從用戶信息表檢查該用戶的原密碼是否與輸入的原密碼相同;如果不同則進(jìn)行信息提示,處理中止;如果相同,檢驗(yàn)新密碼是否為空,如果為空則進(jìn)行信息提示,處理終止;如果新密碼非空,檢驗(yàn)輸入的確認(rèn)密碼和新密碼是否相同;如果不同則進(jìn)行信息提示,處理終止。若相同則更新用戶信息中的用戶密碼字段。
4.2.4 數(shù)據(jù)庫(kù)鏈接
數(shù)據(jù)源名稱(chēng)(DSN)包含了有關(guān)某個(gè)特定數(shù)據(jù)庫(kù)信息的數(shù)據(jù)結(jié)構(gòu),這個(gè)信息是開(kāi)放式數(shù)據(jù)庫(kù)連接驅(qū)動(dòng)能夠連接到數(shù)據(jù)庫(kù)上必需的信息。DSN存儲(chǔ)在注冊(cè)表或作為一個(gè)單獨(dú)的文本文件,DSN里面包含的信息有名稱(chēng)、目錄和數(shù)據(jù)庫(kù)驅(qū)動(dòng)器,以及用戶ID和密碼(根據(jù)DSN的類(lèi)型)。系統(tǒng)開(kāi)發(fā)人員為每個(gè)數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)獨(dú)立的DSN。數(shù)據(jù)源的實(shí)現(xiàn)代碼如下所示:
crossContext=\"true\" workDir=\"\"> type=\"javax.sql.DataSource\" maxActive=\"100\" maxIdle=\"30\" maxWait=\"10000\" username=\"root\" password=\"root\" driverClassName=\"com.mysql.jdbc.Driver\" url=\"jdbc:mysql://localhost:3306/hr?useunicode=trueamp;characterEncoding=gbk\" /> <!?? driverClassName=\"com.microsoft.sqlserver.jdbc.SQLServerDriver\" url=\"jdbc:sqlserver://localhost:1433;DatabaseName=hr \" /> ??>
5 結(jié) 語(yǔ)
本文介紹了基于Java技術(shù)的中小型人事管理系統(tǒng)的開(kāi)發(fā)過(guò)程,對(duì)技術(shù)的選擇、系統(tǒng)的設(shè)計(jì)和重要功能的實(shí)現(xiàn)進(jìn)行了詳細(xì)的介紹。該系統(tǒng)操作簡(jiǎn)單,方便可靠,具有良好的穩(wěn)定性、安全性和實(shí)用性。通過(guò)本系統(tǒng)的使用,能夠?qū)崿F(xiàn)中小型企業(yè)人事的自動(dòng)化管理,具有簡(jiǎn)單,實(shí)用,使用方便的特點(diǎn),從而提高了管理水平和工作效率。
參考文獻(xiàn)
[1] 魏廣科.基于.NET的企業(yè)人力資源信息管理系統(tǒng)研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2007,28(11):184?187.
[2] 郝利珍.基于Web的企業(yè)人事信息管理系統(tǒng)分析[J].煤炭技術(shù),2011,30(10):162?164.
[3] 王善發(fā),吳道榮.Java Web編程中中文信息處理出現(xiàn)亂碼的研究[J].保山學(xué)院學(xué)報(bào),2010(5):51?54.
[4] 仲玉春.深化企業(yè)人事檔案管理[J].檔案管理,2008(5):84?86.
[5] 劉芳宇,師衛(wèi).基于J2EE的企業(yè)人事管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].太原師范學(xué)院學(xué)報(bào):自然科學(xué)版,2011,4(10):108?111。
[6] 孟慶君,閆曉進(jìn).基于JAVA 的教職工信息管理系統(tǒng)[J].科技資訊,2011(18):6?7.
[7] 苗志剛,曹瑩.大型企業(yè)信息服務(wù)系統(tǒng)開(kāi)發(fā)中JAVA開(kāi)發(fā)軟件的應(yīng)用[J].制造業(yè)自動(dòng)化,2012,34(4):27?29.
[8] 劉寧.建立行之有效的高校人事管理系統(tǒng)[J].鞍山師范學(xué)院學(xué)報(bào),2011(1):98?99.
[9] WELLING Luke, THOMSON Laura. PHP和MySQL Web開(kāi)發(fā)[M].武欣,譯.4版.北京:機(jī)械工業(yè)出版社,2009.
[10] 趙慧玲.MySQL數(shù)據(jù)庫(kù)中并發(fā)控制的研究[J].長(zhǎng)春工程學(xué)院學(xué)報(bào),2009(4):11?12.