賈磊
摘 要:為了更好地對(duì)企業(yè)人事進(jìn)行統(tǒng)一管理,開發(fā)一套基于J2EE技術(shù)的企業(yè)人事管理系統(tǒng)。系統(tǒng)設(shè)計(jì)使用Visio2003、RationalRose、Myeclipse、PL\SQLdeveloper等企業(yè)級(jí)開發(fā)工具進(jìn)行,嚴(yán)格遵守軟件開發(fā)標(biāo)準(zhǔn)。整體架構(gòu)采用瀏覽器/服務(wù)器模型,使用軟件體系結(jié)構(gòu)中非常成熟的MVC(Model-View-Control)設(shè)計(jì)模式。
關(guān)鍵詞:人事管理系統(tǒng);SpringMVC;MyBatis;JqueryEasyui
中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1006-8937(2015)12-0026-03
在現(xiàn)代的社會(huì)中,辦公自動(dòng)化進(jìn)入社會(huì)的每一個(gè)角落,而人事管理系統(tǒng)是辦公自動(dòng)化的一個(gè)小小體現(xiàn),對(duì)于企業(yè)來說,它為人事管理大量又繁雜的員工數(shù)據(jù)工作提供了方便,提高了人事管理工作的效率。
本文所設(shè)計(jì)的人事管理系統(tǒng)就是針對(duì)企業(yè)人事管理,為其提供充足的信息和快捷的查詢手段。企業(yè)由于人員眾多、數(shù)據(jù)源復(fù)雜、統(tǒng)計(jì)管理工作困難,每做一項(xiàng)工作往往需要很多的精力和時(shí)間。傳統(tǒng)的人工管理方式有諸多弊端例如效率低,保密性差,查找、更新、維護(hù)困難等。
因此,我們開發(fā)一套人事管理系統(tǒng)主要是為了能夠讓用戶使用計(jì)算機(jī)對(duì)人事資料進(jìn)行管理,給應(yīng)用者帶來很多方便,例如檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高人事管理的效率,同時(shí)這也是企業(yè)的科學(xué)化、正規(guī)化管理以及與世界先進(jìn)管理技術(shù)接軌的重要條件。
1 相關(guān)技術(shù)簡(jiǎn)介
1.1 SpringMVC框架技術(shù)簡(jiǎn)介
SpringMVC屬于SpringFrameWork的后續(xù)產(chǎn)品,已經(jīng)融合在SpringWebFlow里面。
Spring框架提供了構(gòu)建Web應(yīng)用程序的全功能MVC模塊。
使用Spring可插入的MVC架構(gòu),可以選擇使用內(nèi)置的SpringWeb框架,還可以選擇Struts這樣的Web框架。
MVC模式(Model-View-Controller)是軟件工程中的一種軟件架構(gòu)模式。Spring是以輕量級(jí)的開源框架,它以控制反轉(zhuǎn)原則和面向方面編程思想為基礎(chǔ),提供管理業(yè)務(wù)對(duì)象服務(wù)。
Spring框架提供構(gòu)建Web應(yīng)用程序的全功能MVC模塊,它是一種高度可配置的MVC框架。SpringMVC實(shí)現(xiàn)了MVC的核心概念,它為Controller和處理程序提供了大量與此模式相關(guān)的功能,當(dāng)向MVC添加反轉(zhuǎn)控制時(shí),它使應(yīng)用程序高度解耦,提供簡(jiǎn)單的配置更改就可以動(dòng)態(tài)地更改組件的靈活性。
1.2 MyBatis框架技術(shù)簡(jiǎn)介
MyBatis的前身是著名的IBATIS框架,它也算是一個(gè)持久化層框架,但是和Hibernate這類重量級(jí)的框架相比,MyBatis最明顯的優(yōu)點(diǎn)就是將JDBC的訪問接口進(jìn)行了封裝,在操作數(shù)據(jù)庫(kù)時(shí),會(huì)自動(dòng)調(diào)用開發(fā)人員預(yù)先編寫在配置文件中的SQL來完成,開發(fā)人員就省去了大量調(diào)用JDBC接口的重復(fù)性工作,由于MyBatis是由開發(fā)人員自己編寫SQL,這樣可以靈活的運(yùn)用SQL語(yǔ)句來查詢不同的對(duì)象,這是Hibernate等重量級(jí)框架所不具備的,所以MyBatis的性能比重量級(jí)的ORM框架要高得多,這也是目前大量開發(fā)人員選擇MyBatis的主要原因。
1.3 JQueryEasyUI框架技術(shù)簡(jiǎn)介
JQueryEasyUI是一組基于JQuery的用戶界面插件集合,它在優(yōu)化了Ajax使用接口的同時(shí),為Web開發(fā)提供了一系列的常用UI組件,包括菜單、對(duì)話框、布局、窗簾、表格、表單等等。它是一個(gè)優(yōu)秀的跨瀏覽器的JavaScript框架,開發(fā)者不需要編寫復(fù)雜的Javascript代碼,也不需要對(duì)css樣式有深入的了解,只需要了解一些簡(jiǎn)單的html標(biāo)簽,就可以輕松地打造出功能豐富并且布局清晰美觀的用戶界面。
通過使用EasyUI框架,開發(fā)者將更專注于程序邏輯結(jié)構(gòu)及功能的實(shí)現(xiàn)。
2 系統(tǒng)分析
2.1 需求分析
人才在信息高度發(fā)達(dá)的今天逐漸成為企業(yè)最為重要的核心資源之一。在企業(yè)管理中,人力資源管理無疑也是最核心的部分,人事管理的對(duì)象是一個(gè)企業(yè)中員工的基本信息。由于人員眾多、數(shù)據(jù)源復(fù)雜、統(tǒng)計(jì)工作困難等問題,每做一項(xiàng)處理都需要花費(fèi)很多的精力和時(shí)間。
本設(shè)計(jì)的企業(yè)人事管理系統(tǒng)旨在能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?,將人力資源工作者從繁重的日?,嵥榈氖聞?wù)中解放出來,將更多的精力用于企業(yè)的人力資源職能管理和管理決策,保證企業(yè)的高效持續(xù)運(yùn)營(yíng)。
2.2 功能分析
本系統(tǒng)的最終面向的用戶是企業(yè)的所有員工,他們是具有一定的計(jì)算機(jī)基礎(chǔ)知識(shí)和操作計(jì)算機(jī)的能力。
權(quán)限定義,見表1。
系統(tǒng)維護(hù)人員是計(jì)算機(jī)專業(yè)人員,熟悉Web編程和數(shù)據(jù)庫(kù)。
公司的人員類型有系統(tǒng)用戶、部門領(lǐng)導(dǎo)、普通員工幾個(gè)不同的角色,該系統(tǒng)的主要功能是對(duì)系統(tǒng)信息的管理,其中系統(tǒng)信息包括職工情況、職工調(diào)入調(diào)出情況、職工工資,還有對(duì)數(shù)據(jù)庫(kù)中的信息數(shù)據(jù)按照一定的規(guī)則進(jìn)行統(tǒng)計(jì),和系統(tǒng)管理員設(shè)置密碼、對(duì)系統(tǒng)的功能和開發(fā)信息進(jìn)行介紹的功能。
大部分涉及敏感數(shù)據(jù)修改的工作僅由系統(tǒng)管理人員完成,如計(jì)算工資、修改調(diào)入調(diào)出情況、指定部門、指定員工的基本薪資等,普通員工可以通過此系統(tǒng)瀏覽自己的基本資料、調(diào)入調(diào)出情況、薪資信息等,部門領(lǐng)導(dǎo)可以查看本部門所有普通員工的個(gè)人信息、調(diào)入調(diào)出情況、薪資信息,以便調(diào)整預(yù)算和安排崗位。
2.3 數(shù)據(jù)分析
企業(yè)人事管理系統(tǒng)其中包括了用戶表,部門表,職工表,職工工資表,職工調(diào)動(dòng)表,考勤表,考勤對(duì)照表,它們之間的關(guān)系可以通過E-R圖來表示,如圖1所示。
人事管理系統(tǒng)的數(shù)據(jù)庫(kù)表信息見表2。
數(shù)據(jù)的相關(guān)存儲(chǔ)都是利用Oracle10g數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù)的,各數(shù)據(jù)庫(kù)表結(jié)構(gòu)這里不再詳述。
3 系統(tǒng)設(shè)計(jì)
3.1 功能劃分
3.1.1 職工個(gè)人情況管理
職工個(gè)人情況管理是將當(dāng)前登錄用戶權(quán)限下的職工個(gè)人情況表中的數(shù)據(jù)顯示出來,系統(tǒng)管理員可以操作所有的職工信息,部門領(lǐng)導(dǎo)可以操作本部門所有職工的信息,普通職工只可以查看本人的信息。
3.1.2 職工的調(diào)入調(diào)出
職工調(diào)入調(diào)出是統(tǒng)計(jì)本公司職工在部門間的調(diào)動(dòng),用于記錄員工的調(diào)動(dòng)信息,不同的權(quán)限下顯示的內(nèi)容不同,系統(tǒng)管理員可以操作所有的調(diào)動(dòng)信息,部門領(lǐng)導(dǎo)可以操作所有調(diào)入部門或調(diào)出部門為本部門的調(diào)動(dòng)信息,普通員工可以顯示所有的職工號(hào)為當(dāng)前登錄用戶的調(diào)入調(diào)出的信息。
3.1.3 職工工資管理
職工工資管理統(tǒng)計(jì)了職工的工資信息,每一個(gè)月一條記錄統(tǒng)計(jì)當(dāng)月的基本工資、請(qǐng)假費(fèi)用、加班費(fèi)用以及小計(jì)。系統(tǒng)管理員可以對(duì)所有職工的工資信息進(jìn)行操作,部門領(lǐng)導(dǎo)可以對(duì)本部門的所有工資信息進(jìn)行操作,普通職工只能查看自己的所有工資信息。
3.1.4 部門管理
部門管理主要是對(duì)于企業(yè)內(nèi)部部門的維護(hù),只有管理員有此權(quán)限,可以增加部門信息,修改部門信息,刪除已經(jīng)不存在的部門。
3.1.5 考勤管理
考勤管理主要是為了計(jì)算職工每個(gè)月工資而存在的表格。
3.1.6 考勤對(duì)照管理
這個(gè)主要是對(duì)應(yīng)考勤表中不同考勤種類的獎(jiǎng)懲情況的具體信息,也是計(jì)算工資的重要內(nèi)容,也便于以后其他考勤種類的維護(hù)。
3.1.7 統(tǒng)計(jì)報(bào)表模塊
在該模塊用于對(duì)數(shù)據(jù)庫(kù)中的信息數(shù)據(jù)按照一定的規(guī)則進(jìn)行統(tǒng)計(jì)后顯示,并且可以進(jìn)行導(dǎo)出和打印。
3.1.8 系統(tǒng)服務(wù)模塊
該模塊用于系統(tǒng)管理人員設(shè)密碼、對(duì)系統(tǒng)的功能和開發(fā)信息進(jìn)行介紹。
3.2 層次模塊圖
人事管理系統(tǒng)的功能模塊如圖2所示,從圖中可以反應(yīng)出系統(tǒng)各個(gè)模塊及其子模塊。
3.3 功能描述
功能描述主要是通過用戶的一系列動(dòng)作將系統(tǒng)的前端頁(yè)面,中間控制和后臺(tái)的數(shù)據(jù)處理連接到一起,可以很直觀的看出系統(tǒng)運(yùn)行時(shí)的操作步驟和業(yè)務(wù)流程。一部分實(shí)際內(nèi)容相似,只包含了出現(xiàn)次數(shù)較多的內(nèi)容。
管理員登錄時(shí)序圖如圖3所示,其他時(shí)序圖不再詳述。
4 系統(tǒng)實(shí)現(xiàn)
4.1 系統(tǒng)整體架構(gòu)
系統(tǒng)的實(shí)現(xiàn)采用經(jīng)典的MVC設(shè)計(jì)模式。
視圖層采用JSP+JQuery EasyUI,控制層采用SpringMVC,模型層采用MyBatis。這些J2EE技術(shù)的整合使用,為系統(tǒng)在安全性、健壯性、可移植性等方面提供了保障。
4.2 系統(tǒng)實(shí)現(xiàn)
4.2.1 數(shù)據(jù)庫(kù)設(shè)計(jì)
數(shù)據(jù)庫(kù)采用oracle10g數(shù)據(jù)庫(kù),為了更好地查看數(shù)據(jù)庫(kù)中的內(nèi)容,使用PL\SQL devoloper進(jìn)行操作,首先創(chuàng)建一個(gè)表空間名為system,之后創(chuàng)建用戶名為user01的用戶,密碼是u01,之后在該用戶下建表。
使用數(shù)據(jù)庫(kù)框架(這里用的是MyBatis)對(duì)數(shù)據(jù)庫(kù)中的表進(jìn)行操作。為了避免導(dǎo)入jar包可能導(dǎo)致的錯(cuò)誤,使用maven工程進(jìn)行項(xiàng)目的整理,在maven工程的配置文件pom.xml中配置需要的jar。
4.2.2 創(chuàng)建數(shù)據(jù)庫(kù)操作層
首先定義一個(gè)dao層接口,定義好所有操作數(shù)據(jù)的方法;然后定義一個(gè)serive和serviceImpl類,實(shí)現(xiàn)dao中定義的方法,并且通過MyBatis對(duì)數(shù)據(jù)庫(kù)中的內(nèi)容進(jìn)行操作。
4.2.3 創(chuàng)建控制層(controller)
之前在SpringMVC的配置文件中對(duì)于controller的調(diào)用進(jìn)行了明確的配置,客戶通過頁(yè)面提交請(qǐng)求,controller接收到請(qǐng)求,調(diào)用需要的方法進(jìn)行處理,之后將得到的各種結(jié)果處理后返回給用戶??刂茖釉谡麄€(gè)MVC系統(tǒng)中起著連接的作用。
4.2.4 創(chuàng)建視圖層
4.2.5 創(chuàng)建配置文件
配置文件主要有四種:pom.xml,springmvc-servlet.xml,web.xml,mybatis-config.xml。
pom.xml主要是對(duì)于maven工程使用的jar包進(jìn)行聲明。
springmvc-servlet.xml主要是對(duì)于springmvc的一些配置信息。
web.xml配置了整個(gè)工程都要涉及到的內(nèi)容。
mybatis-config.xml是對(duì)多個(gè)sqlmap通過sqlsessionfactory創(chuàng)建實(shí)例。
4.2.6 配置運(yùn)行環(huán)境
在maven中配置工程,點(diǎn)擊工程右鍵->Run As->Maven Build->jetty:run,運(yùn)行工程,通過將訪問路徑輸入瀏覽器地址欄進(jìn)行訪問。
5 結(jié) 語(yǔ)
企業(yè)人事管理系統(tǒng)可集中、整合各種信息來源,有利于降低管理成本,提高企業(yè)管理效率,從而促進(jìn)企業(yè)的進(jìn)一步發(fā)展和變革。本文通過對(duì)人事管理系統(tǒng)的分析和設(shè)計(jì),實(shí)現(xiàn)了最基本的功能,并構(gòu)建了登錄和執(zhí)行見面,取得了比較好的效果。
參考文獻(xiàn):
[1] 徐雯,高建華.基于Spring MVC及MyBatis的Web應(yīng)用框架研究[J].微型電腦應(yīng)用,2012,(7).
[2] 夏汛,陳玲.基于Spring MVC和Mybatis的動(dòng)態(tài)表單設(shè)計(jì)[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2012,(20).
[3] 符紅霞.Spring MVC技術(shù)分析及在實(shí)踐教學(xué)系統(tǒng)中的應(yīng)用[J].信息技術(shù),2012,(10).
[4] 楊旭光.基于EasyUI datagrid實(shí)現(xiàn)數(shù)據(jù)庫(kù)操作的方法[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2012,(22).