吳亮
(江蘇旅游職業(yè)學院,江蘇 揚州225000)
信息系統(tǒng)的目的是及時地輸出和傳遞決策所需的信息。建立以計算機為主要手段的管理信息系統(tǒng),已經(jīng)成為現(xiàn)代企業(yè)、政府部門等各類組織提高自身素質(zhì)、實現(xiàn)組織目標的戰(zhàn)略措施?,F(xiàn)代社會是信息社會,過去落后的工作和生產(chǎn)方式已遠遠不能滿足現(xiàn)代社會信息高速交換的需要。
1.2.1 MyEclipse 6.0
現(xiàn)在,市場上可以選購的應(yīng)用開發(fā)產(chǎn)品很多,流行的也有數(shù)十種。其中MyEclipse 是較為流行的一種。
1.2.2 數(shù)據(jù)庫平臺SQLServer2000
SQL Server 是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng)。
1.2.3 Tomcat
Tomcat 是一個免費的開源的Serlvet 容器。
1.2.4 JSP
JSP(Java Server Pages)技術(shù)提供了一種簡單快速的方法來創(chuàng)建顯示動態(tài)生成內(nèi)容的Web 頁面。由業(yè)界處于領(lǐng)先地位的Sun 公司制定了相關(guān)的JSP 技術(shù)規(guī)范,該規(guī)范定義了如何在服務(wù)器和JSP 頁面間進行交互,描述了頁面的格式和語法。
1.2.5 JavaBean
JavaBean 是用Java 語言描述的軟件組件模型。
本系統(tǒng)使用到了Microsoft SQLServer2000 、jdk1.6、Tomcat5.5。
本系統(tǒng)采用三層的B/S 模式,結(jié)合傳統(tǒng)的MVC(model,view,control)模式,利用struts 第三方框架實現(xiàn)。
過往有些人事管理仍然采取手工方式對企業(yè)員工信息進行管理。將一般的員工個人情況記錄在紙質(zhì)檔案上,這樣對于人力資源部的工作人員來說管理起來比較麻煩,查找資料時得在眾多的資料中翻閱、查找,費時費力且效率低下。手工操作使得企業(yè)人事管理工作混亂而又復(fù)雜。為了更好地提高工作效率和質(zhì)量,在經(jīng)濟上是可行的。
a.人事管理功能,設(shè)置一部分人員的基本情況。
b.待遇管理功能,設(shè)置不同種類的待遇等級,并為員工設(shè)置不同的待遇標準。
c.企業(yè)架構(gòu)功能,一個企業(yè)有時會有一些部門的建立或者調(diào)整,該模塊用于企業(yè)部門的設(shè)置。
d.系統(tǒng)管理,該系統(tǒng)只限于管理員使用,即一個企業(yè)人事部的員工,只有他們有對系統(tǒng)操作的權(quán)限。
e.附加功能,包括重新登陸,修改登陸這密碼和退出系統(tǒng)。
f.統(tǒng)一、友好的操作界面,用以保證系統(tǒng)的易用性。
人事管理模塊包含檔案管理、查詢管理兩個子模塊。
a.規(guī)劃階段。
b.需求分析階段。
c.設(shè)計階段。
d.程序編制階段。
e.調(diào)試階段。
f.運行和維護階段。
對于一個開發(fā)一個信息管理系統(tǒng)的人來說,最重要的其實并不是系統(tǒng)里的數(shù)據(jù)和數(shù)據(jù)庫中有多少表,最重要的是如何對數(shù)據(jù)庫表之間邏輯結(jié)構(gòu)進行劃分,使整個系統(tǒng)的數(shù)據(jù)庫的范式等級較高,從而減少數(shù)據(jù)冗余通過對E-R 圖中各實體及實體間關(guān)系的分析,最終確定出這幾張數(shù)據(jù)表之間的關(guān)系圖如圖1。
對于一個信息系統(tǒng)來說,它的靈魂就是數(shù)據(jù)庫,在該系統(tǒng)中使用了Microsoft SQLServer2000 來設(shè)計數(shù)據(jù)庫,使用Hibernate 來實現(xiàn)前臺與數(shù)據(jù)庫的連接,另外,需要將映射文件***.hbm.xml 中g(shù)enerator 的class 屬性改為native,(
圖1 數(shù)據(jù)庫邏輯結(jié)構(gòu)
在MyEclipse6.0 開發(fā)平臺下新建名為PersonalManage 的Web工程,導(dǎo)入hibernate 包和truts 包,由平臺生成hibernate.cfg.xml 后,連接數(shù)據(jù)庫,再在hibernate 視圖下的DB Browser 工作區(qū)域中選擇要連接的數(shù)據(jù)庫,并有數(shù)據(jù)庫表直接生成持久化類及映射文件,然后將所有映射文件中id 映射部分的
src 目錄下的包中存放的都是.java 文件:com.action 包中存放控制器類,從頁面獲得的請求提交到這里來處理,它調(diào)用方法,并返回結(jié)果,以便系統(tǒng)進行跳轉(zhuǎn)。com.actionFormbao 中存放持久化類文件和映射文件。com.core 中存放公共類,即連接數(shù)據(jù)庫的類和獲取系統(tǒng)時間的類。com.dao 中存放邏輯操作類,也是系統(tǒng)中正真實現(xiàn)功能的類。Css 目錄下存放樣式文件style.css。image 目錄下存放圖片文件。JS 目錄下存放.js 文件,menu.js 文件實現(xiàn)主頁上菜單的下拉;onclock.js 用于實現(xiàn)時間的顯示。目錄WEB-INF 中主要存放了一些Struts 配置文件。剩下的都是一些.jsp 文件。
進入系統(tǒng)首頁index.jsp,直接定向到登陸頁面login.jsp,管理員登陸系統(tǒng)??刂破黝悓崿F(xiàn)對控制器所捕獲的請求的驗證,并轉(zhuǎn)向到所請求的頁面,LoginDao 類中用于登陸驗證.操作完成后,query()方法將返回一個List 型的值給LoginDao 中的login()方法,在由該控制器類返回mapping.findForward("loginok")從而跳轉(zhuǎn)到用戶所請求的頁面main.jsp。登錄成功后將進入主頁面,在banner 上有三個功能,其中的修改密碼供登陸用戶改密碼。修改功能仍由login 控制器進行邏輯操作,將登陸時得到的form 對象上轉(zhuǎn)型為TbLogin 對象。
a.檔案管理:
主頁面,它只有一個導(dǎo)航欄,點擊下拉菜單中的“檔案管理”,將進入recordList.jsp 員工列表界面,該界面列出了每一個員工的精簡信息。對該頁面的訪問主要通過名為people 的控制器,查詢后返回一個List 值,通過方法request.setAttribute("recordlist",recordDao.query(str))將值傳遞到頁面中。如果要瀏覽詳細信息,就點擊相應(yīng)員工的“詳細”鏈接,頁面將查詢的員工的id 傳遞給控制器,在由Dao層通過兩次hql 連接查詢將所得結(jié)果以O(shè)bject 型數(shù)組的形式返回給控制器,在通過request.setAttribute("**",**)方法將所得結(jié)果傳遞給表示層,進入peopleDetail.jsp 頁面在該方法中主要使用了hql 查詢語句中聯(lián)結(jié)查詢中的內(nèi)連接查詢,將得到的對象存放在一個Object 對象的數(shù)組中,返回給LoginAction 類然后分別讀出,通過request.setAttribute( )方法將員工信息傳遞給頁面。上面的代碼僅僅列出了如何獲得TbDutyInfo 對象和TbRecord 對象。
如果想要新建員工信息,在員工列表頁面點擊相關(guān)內(nèi)容,進入peopleAdd.jsp。
方法在RecordDao.java 的boolean peopleInsert( )中,將從頁面獲得的參數(shù)插入數(shù)據(jù)庫中。
在recordList.jsp 員工列表界面點擊“刪除”連接將刪除指定要刪除的員工, 在頁面中通過代碼 將參數(shù)id 傳遞給RecordAction 類,然后到Dao 層中去進行數(shù)據(jù)庫的操作。
b.查詢管理
在此功能中用戶首先選擇需要的查詢條件,接著敲入關(guān)鍵字。提交后由people 控制器捕獲請求,并將參數(shù)傳遞給Dao 層中RecordDao 類中的方法,它會先進行查詢條件的判斷,再根據(jù)關(guān)鍵字精確匹配后返回查詢結(jié)果。
待遇管理模塊主要有兩個功能:新建帳套和修改帳套。在新建帳套的過程中如果該帳套名稱已經(jīng)存在,那將會彈出提示對話框,也就是說不能重復(fù),該項檢查是通過在對數(shù)據(jù)庫進行操作的業(yè)務(wù)邏輯類DepartDao 類中的方法boolean departAdd()來實現(xiàn)的。
在該系統(tǒng)中,每一個員工都有屬于自己的那個帳套,當要修改員工所屬的帳套時,點擊“人員設(shè)置”進入修改頁面。
所有對導(dǎo)航欄上下拉菜單中頁面的請求都不是單純的重定向或是鏈接,而全部都由控制器完成。該模塊主要有兩個功能:添加和修改。如果部門添加成功將直接在上一個頁面的表格中添加一行。
如果要修改部門,點擊“修改”要修改的那個部門就會變成輸入框。修改后按保存即可。該部分的實現(xiàn)基本上與帳套設(shè)置模塊類似。
模塊中的下拉菜單“添加管理員”是用來添加用于登陸該系統(tǒng)的帳號的。
該模塊的控制器為login,填寫好要新建的管理員帳號和管理員密碼后單擊“添加”按鈕,struts 將請求提交給LoginAction.java,其中包括將頁面的form 屬性參數(shù),再由控制層調(diào)用Dao 層中的方法,而Dao 層直接對數(shù)據(jù)持久層進行操作,操作完成后返回,并彈出提示對話框,提醒用戶管理員添加成功,單擊“確定”后將彈回登陸頁面,該部分的實現(xiàn)與添加帳套類似。