1 引言
由于血液采集、存儲、使用等流程管理不善,血液信息不能共享,給國家和人民的生命財產造成巨大的威脅。隨著血液中心的管理模式向以業務流程為中心轉變,傳統的血液管理系統已經不能適應新的需要,我們必須開發網絡環境下運行的血液管理信息系統,以滿足各使用單位進行“實時、動態跟蹤”血液數據的要求。根據目前血液管理系統的特征、客戶的反饋意見和現有信息技術的發展,我們提出了基于BPM的血液管理信息系統的開發。
整個系統的設計將以《義務獻血法》、《血站管理辦法》為依據,產品滿足衛生部有關血液管理的相關政策、法規要求。該系統以血站為主要應用對象,涉及血源管理、體檢管理、化驗管理、采血管理、血庫管理、成份制備管理、質控管理、站長管理等;涉及的部門和人員有血源科、體檢科、化驗科、采血科、成分科、血庫、獻血辦、質控科、財務科、總務科、人事科、業務科、站長等。血站各部門的信息通過數據庫和網絡實現共享和交換,對外部通過WEB進行信息查詢和發布。其中管理系統部分僅在血站內部使用,所面對的用戶較少、信息處理的速度快且安全性要求較高;信息共享和交換要求面向所有授權用戶。鑒于對系統的特殊要求,系統的設計按照實用性與先進性、經濟性與擴展性并用的原則進行。在系統設計中,首要考慮的是實用、便于操作、易于管理和維護,保證數據交換的安全性。
2 業務流程建模語言(Business Process Modeling Language)
BPM(Business Process Management)是一種基于業務流程技術(Work Flow)及企業應用集成技術(EAI)的新型的管理信息系統開發技術,強調從業務流程的角度對企業進行管理,依靠業務流程的改進推動企業持續發展。BPM的核心思想是為企業內及企業間的各種業務流程提供一個統一的建模、執行和監控的環境。BPML(Business Process Modeling Language)是用XML語法表達業務流程的一種語言規范,它為我們定義企業業務流程和復雜的web服務提供了依據。
BPML規范為表達業務流程提供了一個具體的模型,為描述業務流程做了詳細的規定。它基于XML擴展,是用于業務流程建模的元語言。業務流程通常包含以下四種基本實體:工序(Process)、活動(Activities)、組件和數據(Components)和控制部分(Control)。其中,(1)Process是模型中工序的集合,是完成特定任務的執行順序,一個工序包括若干活動、相關數據和子工序;(2)活動是對具體功能的執行,復雜活動可以包含子活動。較大工序的子工序可以是活動本身,因此對活動的定義普遍適用于工序的定義;(3)組件是指基于XML語法的應用程序;(4)控制是對執行順序的規定,通常以數據流的形式控制哪些活動要被執行或終止。
Namespace(命名空間)是BPML重要組成部分之一,在我們的模型中所有的命名都應包含在這個命名空間中。通常命名空間應包含對工序(Process)、實例(Instance)、功能(Function)、Web服務描述語言(WSDL)等定義。在BPML中允許自定義命名空間,用以支持用戶的擴展。
3 MVC設計模式
從狹義上說,設計模式是指某個具體的類;從廣義上說,它可以是任何粒度的軟件集合。小到一個類,大到整個系統,都可以被認為是一個可以復用的組件。設計模式作為一種軟件開發的指導思想,有效的支持了變化和復用的要求,在面向對象設計中發揮了極其重要的作用。MVC(Model—view—Controller)設計模式來源于面向對象語言Smalltalk,它的主要思想分為三個部分:MVC設計模式包括三種對象:模型(Model)是應用對象,即業務處理模塊;視圖(view)是屏幕上的表示,即用戶視圖模塊;控制器(Controller)定義用戶界面對用戶請求的響應方式,即流程控制模塊。
圖1 MVC模式
該模型將實現兩個功能(圖1所示)。其一,Controller首先通過用戶界面生成請求條件。然后調用Model中的相應業務邏輯程序化請求條件,最后View將處理結果生產HTTP界面返回用戶。其二,是將用戶提交的請求轉化為系統識別的語句,判斷用戶請求是否符合安全權限,并通過ModeI返回。這樣就實現了用戶請求過程和數據庫分離,因此對于企業級應用是一種有效的解決方案。
通過MVC設計模式和BPM相結合構建血液管理信息系統,可以有效利用資源,提高復用性及MIS系統效率。
4 基于BPM的血液管理信息系統設計
在系統需求及功能分析的基礎上,把血液管理信息系統開發劃分為如下3個部分:業務流程建模、數據庫設計和用戶界面。
4.1 業務流程建模
圖2是用BPMN(Business Process Management Notation)建立的一個完整的血液管理信息系統流程,其中活動如果有其子活動,用“+”表示:
在業務流程建模階段,首先要對業務流程作深入的分析,確定組織機構之間及其內部的業務流程處理工序,確定控制流的走向。同時要對各流程進行細化,包含相關實體的定義及其上下文的信息,由于各個流程之間可以互相通信,我們對業務流程進行分層次建模。其次,活動之間通過信息轉移進行聯系,由上層活動提供輸入資源,活動根據相應的要求進行處理,完成其功能。處理完畢后,將所請求的信息提供給相應的活動。以圖2中的血庫為例:“成份科”從其上層活動“采血科”和“化驗科”得到信息并對其處理,將結果告知血庫將其檢驗結果通知血庫,血庫根據要求進行相應的處理。從一個活動向另一個活動的轉移可以是有條件的,也可以是無條件,如:采血科向血庫提交成份血就是無條件的,而進入化驗科的信息需要是體檢合格人員的信息。
4.2 Mvc模式系統功能設計
4.2.1 血液管理信息系統模型(Model)
圖2 血液管理流程圖
系統總體設計如圖3所示,將系統程序結構按照科室進行劃分,每一個科室設計為兩個包(Package),界面包(UI Package)包含系統界面的一些類放在一起,用來顯示系統與用戶的交互界面,并將用戶的請求發送到事務包(Business Package);事務包(Business Package)處理所有有關數據庫及其他的事務,并將處理結果返回到用戶界面(UI Package)。
圖3 總體模型
子系統設計模型以圖4血源科子系統為例,血源科子系統也分為兩個包(Package):界面包(GUI Package)和事務包(Business Package)。界面包包含的事務對象有血員不變信息、血員可變信息、標簽輸出、輸入血員信息、淘汰血員信息,界面包含血員基本信息錄入界面、血員基本信息查詢界面、查體結果統計界面、化驗結果統計界面、Rh血員情況錄入和查詢界面、采血計劃制定界面、獻血情況統計排名界面、信息發布界面等。
4.2.2 構建系統視圖(View)
用戶視圖負責產生返回客戶端的HTML頁面,圖5是應用在血液管理系統中的查詢界面。
這些不同視圖的都是通過Model的兩個程序集來處理業務邏輯返回處理結果并由Controller控制顯示的。通過User—Control技術把業務邏輯和用戶界面分開,可以在不改變業務邏輯功能的情況下應用CSS樣式表等技術格式化頁面,形成好的軟件開發模式。
圖4 血源科子系統
4.2.3 構建交互控制器(Controller)
Controller控制對用戶的響應方式和流程:將用戶請求提交給相應的模塊,并將模塊的改變及時反饋給用戶視圖。Controller將HTTP協議輸入到與協議無關的程序集,整合業務邏輯處理元素,然后委托頁面構建組件,生成響應客戶端的界面。其次,Controller可根據客戶端提交的請求調用相應的程序集處理業務邏輯返回客戶端顯
示。
圖5是我們以血源科為例構建的交互式控制器。經過實體對象分析和規范化處理后,設計了系統代碼表、血員表、淘汰學員表、固定資產檔案表、人員信息表、映射表等數據庫表。其控制關系為:一條血員可變信息對應一條血員不變信息,反過來,一條血員不變信息可對應一條或者若干條血員可變信息;血員有償獻血信息和無償獻血信息都從血員可變信息繼承而來,具有血員可變信息的所有特征;輸入血員基本信息時(包括可變信息和不變信息),可以有一條或者沒有血員基本信息。淘汰信息與血員基本信息關聯,即淘汰的血員必須有血員基本信息。
圖6 血源科Controller
4.3 安全機制
血液管理信息系統在B/S模塊的開發過程中,使用.Net內置驗證控件進行驗證,同時針對各種可能輸入的腳本關鍵字、SQL關鍵字進行監控。在涉及到數據庫操作中,使用數據庫存儲過程,這樣既保證數據庫的連接方式的安全,也防止用戶通過惡意的SQL注入對數據庫進行攻擊。
5 結束語
本文介紹的血液管理信息系統已經在西部多個城市的血站、血液中心中應用。這種研究在BPM基礎上利用MVC設計模式構建MIS系統的設計方法對B/S結構的MIS開發有著重要的現實意義。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:基于BPM的血液管理信息ERP系統的構建
本文網址:http://www.guhuozai8.cn/html/consultation/1081967887.html