[摘要] 傳統的考勤方式已不能滿足現代企業信息化管理發展的需求,本文探討了UML和J2EE技術在企業考勤管理系統開發中的應用,運用UML對系統進行建模分析,能消除J2EE技術與實際項目存在的語義差異,二者結合能開發出更為高效的企業級應用程序。
[關鍵詞] 體系結構 用例 UML 2EE
一、引言
考勤管理是企業人力資源管理的一部分,隨著企業規模的擴大,企業的子部門不斷增多,樓宇趨于分散,傳統的考勤方式已不能滿足現代企業管理的需求。成熟的Intranet企業網絡及企業內部大型數據庫管理平臺的建立,為企業考勤管理系統的實現提供了便利條件。
在系統開發中,良好的模型能使工作事半功倍,良好的體系結構通過合理的層次劃分,可以提高開發效率,并為程序的升級和移植提供便利。J2EE(Java 2 Platform Enterxprise Edition)為搭建具有可伸縮性、靈活性、易維護性的商務系統提供了良好的機制,然而J2EE技術與實際項目存在語義差異,采用UML統一建模語言建立的系統模型能很好地消除這種差異,本文探討了二者在企業考勤管理系統開發中的應用。
二、UML及J2EE概述
1.UML概述
UML(Unified modeling Language)是一種定義良好、易于表達、通用的可視化建模語言,它能很好的將人們的思想活動轉化成一種他們所熟悉的“書面性”的抽象形式,它支持面向對象的從系統需求分析開始的軟件開發全過程。
UML主要以圖的方式來描述系統模型,為了從不同角度描述系統,UML定義了5類共10種模型圖:用例圖、靜態圖(包括類圖、對象圖和包圖)、行為圖(包括狀態圖、活動圖)、交互圖(包括時序圖、協作圖)、實現圖(包括組件圖、配置圖)。
2.J2EE概述
Sun Microsystems的Java 2平臺有三個版本,微型版(J2ME)、標準版(J2SE)和企業版(J2EE)。 J2EE是由一套規范和建立在J2SE平臺之上的應用編程接口(API)組成,除了現有J2SE的API,同時還提供了對EJB(Enterprise JavaBeans)、Java Servlet API、JSP(Java Server Pages),以及XML技術的全面支持。
為了縮減開發成本,快速跟蹤企業應用的設計和開發,J2EE技術提供了基于組件的設計方法,開發、集成和部署應用程序。J2EE平臺提供了多層分布式應用模式,使其具有重用的能力。
三、系統需求分析
需求是系統必須提供的具體功能,本項目采用的是用例驅動的方法來獲取需求。用例是從用戶(或外界系統)的角度,通過描述用戶與系統的交互來理解系統的功能。要建立需求分析的用例模型,首先是獲取業務角色(參與者),然后從參與者中找出用例,確定了系統參與者和用例之后,即可得到系統用例圖。
考勤管理系統旨在對企業員工的出勤情況進行考察,之后將考勤與財務工資系統及相關的獎懲機制掛鉤。整個系統由數據維護模塊、統計報表模塊、查詢模塊組成。
數據維護模塊:包括員工基本信息維護、考勤信息維護、設置考勤類別。通過維護對這些原始數據進行修改或擴展。
統計報表模塊:對數據庫進行讀寫操作,通過前面采集的數據生成相關報表。查詢模塊:包括考勤信息查詢,綜合信息查詢。
下面以數據維護模塊為例,分析得到與其交互的角色如下:
1.打卡機
負責采集打卡員工的職工號、打卡時間及打卡機號碼,顯示打卡前后的提示信息。
2.系統管理員
主要負責在公司規定的時間段開/關系統,統計、查詢員工打卡數據,對考勤類別進行詳細設置。
3.員工
是系統的考察對象,參與的業務是提供打卡信息,以及查詢本人當月考勤情況。用例分析如圖1和圖2所示:
四、系統設計
系統設計是構造系統的階段,它是對分析結構的進一步精化,分析側重于理解問題域,設計側重于解決方案。設計的成果可以作為程序員編碼的依據和指導。設計階段的主要任務是: 系統體系結構設計、對象類設計、持久對象設計,模型圖主要由順序圖、類圖、協作圖構成。
1.系統體系結構設計
J2EE使用多層分布式的應用模型,應用邏輯按功能劃分為組件,各種不同的應用組件構成分布在不同的依賴于層的機器上的J2EE程序,這些組件分別是:運行在客戶端機器上的客戶層組件,運行在J2EE服務器上的Web層組件和業務邏輯層組件,運行在數據庫服務器上的企業信息系統(Enterprise information system,簡稱EIS)層軟件。考勤管理系統所采用的體系結構如圖3所示。
客戶層是系統的顯示部分,將來自系統的信息顯示給用戶。Web層接收來自客戶層的請求并將處理結果反饋給客戶層。業務邏輯層負責實際工作的執行,處理與考勤系統相關的業務邏輯,并在需要時與數據庫進行交互。EIS層提供主要的數據服務。J2EE提供的只是一個體系結構,在實際的項目開發中,需要進行具體的設計。
2.Web層的設計
Web層由Servlet、Java Bean和JSP組成,來自客戶的請求由Servlet處理,然后重定向到JSP顯示,這種顯示與邏輯相分離的機制有利于系統的開發。JSP具有雙重功能,一是向客戶端提供Web顯示頁面,另外在服務器端執行某些邏輯操作。因此,可將JSP劃分為兩個不同的部分:《Client JSP》表示JSP在客戶端的行為,《Server Page》表示JSP在服務器端的行為。當員工打卡時,數據傳輸至服務器端,并且打卡請求處理后生成的反饋頁面傳輸給卡機顯示終端。
3.業務邏輯層的設計
業務邏輯層上的EJB處理來自客戶端的數據,該層的動態行為模型可以由UML的交互圖及設計類的類圖表達。這里使用的交互圖是順序圖和協作圖,類圖體現了類之間的關系,是系統實現的基礎。下面以員工打卡用例為例說明業務邏輯層的設計過程。
員工打卡用例的業務流程為:員工在打卡界面激活打卡命令,打卡信息提交給Servlet處理,并由EJB執行邏輯判斷是否可以打卡,如果可以打卡,則返回提示信息至打卡界面,然后員工卡號及打卡時間通過網絡傳輸保存至數據庫服務器,打卡用例順序圖如圖4所示。
順序圖有助于開發人員理解用例的實現過程,然而在具體的實現階段需要的是具體的類,類包括邊界類、控制類和實體類,識別出系統中主要用例的類是編寫代碼的基礎。
員工打卡用例是由以下類來實現:員工類、打卡界面類、返回界面類、業務控制類、數據庫實體類。員工類是指用戶的實際操作,即員工通過打卡輸入員工卡號及打卡時間。打卡界面類負責顯示提示信息,返回界面類顯示打卡后的反饋信息,業務控制類負責對業務的控制,數據庫實體類負責員工打卡數據的讀取。員工打卡用例的類圖如圖5所示,在識別類的基礎上,能方便地畫出用例的協作圖,如圖6所示。
4.EIS層的設計
EIS層保存了考勤管理系統的持久對象,持久對象數據庫的創建采用SQL Server實現,采用JDBC驅動程序訪問數據庫,通過應用服務器(Weblogic)配置數據源,其配置步驟分兩步:一是建立并配置連接池;二是配置數據源。
五、展望
基于UML和J2EE的系統設計,可以幫助用戶和設計人員對問題的描述和理解達到一致,使用J2EE組件技術能開發出低價位的、高速的、占用少量資源的企業級應用程序,隨著電子商務的發展,基于UML和J2EE的企業級應用將發揮越來越重要的作用。
參考文獻:
[1]寧波:J2EE結合UML在企業級系統中的應用.計算機工程與科學[J],2004.3
[2]邵維忠梅宏:統一建模語言UML述評.計算機研究與發展[J],1999年第10期
[3][美] John Hunt,Chris Loftus[著],周立斌楊飛等[譯].精通J2EE—Java企業級應用[M].清華大學出版社
[4]崔立元羅燕京李剛:基于企事業模型的軟件需求工程方法.計算機工程與應用[J],2002,7
[5]謝衛宇王恒山:基于用例驅動分析的軟件需求獲取方法.計算機與現代化[J],2002年第6期
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”