吳雅雙,張淳,董湛
(福建幼兒師范高等專科學(xué)?,F(xiàn)代教育技術(shù)中心,福建福州 350007)
引入工作流技術(shù)[1]可以滿足高校設(shè)備管理相關(guān)要求.高校教學(xué)設(shè)備資源是保障教學(xué)工作正常運作的關(guān)鍵基礎(chǔ)設(shè)施,設(shè)備資源整合的合理與否、管理水平的高低都關(guān)系到整個高職院校教學(xué)工作的效率[2].如何最大限度發(fā)揮教學(xué)設(shè)備資源的作用,減輕教學(xué)設(shè)備管理人員的工作量,提升信息化教學(xué)辦公的能力,這是許多高職院校設(shè)備管理信息化建設(shè)中遇到的問題.同時,高校設(shè)備管理還是一個流程復(fù)雜的管理體系 ,大量業(yè)務(wù)或管理流程穿插于各部門.傳統(tǒng)的信息管理系統(tǒng)解決了信息處理的自動化, 卻不能有效管理和執(zhí)行業(yè)務(wù)流程.而工作流技術(shù)作為流程管理的核心技術(shù),可以方便實現(xiàn)業(yè)務(wù)流程的自動流動和控制,增強業(yè)務(wù)流程的靈活性.目前,工作流技術(shù)已越來越成熟,其應(yīng)用也越來越普及.在國內(nèi),大多數(shù)政府機關(guān)與企事業(yè)單位利用工作流技術(shù)來實現(xiàn)規(guī)范化管理,在此基礎(chǔ)上衍生出一系列的基于工作流的管理系統(tǒng),大大提高了工作效率.在國外,許多著名的公司也大力發(fā)展基于工作流的產(chǎn)品,如IBM、微軟、ORACLE等.因此,引入工作流技術(shù)可以很好地解決高校設(shè)備管理遇到的問題,有效提高設(shè)備管理效率.本文在對高職院校教學(xué)設(shè)備管理業(yè)務(wù)流程和傳統(tǒng)教學(xué)設(shè)備管理系統(tǒng)的研究基礎(chǔ)上,對教學(xué)設(shè)備管理系統(tǒng)進行需求分析,然后使用php語言實現(xiàn)自定義工作流的設(shè)計,并通過自定義工作流以及三層應(yīng)用架構(gòu)完成了設(shè)備管理系統(tǒng)的設(shè)計和實現(xiàn).
本文研究包括兩個部分:第一部分是分析教學(xué)設(shè)備管理系統(tǒng)的需求和功能模塊,第二部分是介紹系統(tǒng)的具體實現(xiàn),包括系統(tǒng)應(yīng)用架構(gòu)、數(shù)據(jù)庫設(shè)計以及自定義工作流在系統(tǒng)中的設(shè)計與應(yīng)用.
需求分析是軟件工程的第一步.本系統(tǒng)的設(shè)計是為了實現(xiàn)高校電教設(shè)備的借用及歸還流程、報修流程、統(tǒng)計等功能,使得需要人力完成的設(shè)備借用登記、審批、歸還、設(shè)備報修等工作都可以信息化地集成在系統(tǒng)中,簡化設(shè)備管理人員的日常管理[3].同時系統(tǒng)應(yīng)具有良好的可擴展性,當(dāng)高校設(shè)備管理業(yè)務(wù)流程有變動或者有新增的需求,可以支持對工作流進行修改,以及新增相應(yīng)的工作流程.還可以實現(xiàn)設(shè)備的集成管理,包括設(shè)備的添加、刪除、修改和查詢,并可以有效地跟進設(shè)備的進出過程.同時,可以以學(xué)年、學(xué)期、月、周為單位對所有設(shè)備的借用情況進行分類統(tǒng)計,并生成統(tǒng)計表格和借用次數(shù)柱狀圖,有利于支持決策和教學(xué)評估.
從系統(tǒng)功能模塊角度可以將系統(tǒng)劃分為三個部分,包括用戶功能模塊、工作人員功能模塊、管理員功能模塊,如圖1所示.
用戶功能模塊:用戶在使用自己的賬號登錄系統(tǒng)后,可以在工作流程菜單下發(fā)起設(shè)備借用、設(shè)備報修等工作流程,還可以查詢自己的待辦、已發(fā)申請,并進行相應(yīng)處理.可以查看通知公告菜單中發(fā)布的公告.在個人中心中查閱提醒信息、內(nèi)部通訊錄等.
工作人員功能模塊:這里的工作人員是學(xué)校信息中心的設(shè)備管理員.他們登錄系統(tǒng)后,主要對設(shè)備借用歸還、設(shè)備報修等各工作流程進行審批處理以及流程的跟蹤處理.同時,根據(jù)辦公需求進行流程管理,實現(xiàn)新增及修改工作流.它還可以管理采購設(shè)備的出入庫,并可以根據(jù)系統(tǒng)生成的設(shè)備使用報告分析設(shè)備的使用情況,作為設(shè)備管理決策的依據(jù).
圖1 系統(tǒng)功能模塊圖
管理員功能模塊:包括組織架構(gòu)管理、用戶管理和權(quán)限管理.組織管理主要是建立學(xué)校的組織架構(gòu).用戶管理主要分配用戶、菜單權(quán)限等.同時可靈活地進行人員-菜單權(quán)限設(shè)置管理,人員權(quán)限查看等.
系統(tǒng)架構(gòu)是系統(tǒng)設(shè)計的關(guān)鍵 , 對系統(tǒng)運行的整體穩(wěn)定性有很大影響.系統(tǒng)設(shè)計基于B/S模式,其架構(gòu)主要由瀏覽器、WEB服務(wù)器和數(shù)據(jù)庫服務(wù)器組成.用戶可以通過瀏覽器訪問和操作系統(tǒng).同時,系統(tǒng)應(yīng)用架構(gòu)采用經(jīng)典的三層架構(gòu),分為視圖層 、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層[4].視圖層主要為用戶提供與系統(tǒng)交互的訪問界面,該系統(tǒng)使用Bootstrap前端框架.業(yè)務(wù)邏輯層是系統(tǒng)的核心和關(guān)鍵點,主要關(guān)注自定義工作流的實現(xiàn),以及通過自定義工作流實現(xiàn)具體的業(yè)務(wù)流程.數(shù)據(jù)訪問層主要接收來自業(yè)務(wù)邏輯層的請求 , 持久化數(shù)據(jù),并將獲得的查詢結(jié)果返回給業(yè)務(wù)邏輯層[5].
自定義工作流是該系統(tǒng)的核心,自定義工作流的相關(guān)數(shù)據(jù)包含工作流實例、流程各個環(huán)節(jié)的執(zhí)行狀態(tài)和審批信息以及流程步驟等信息.系統(tǒng)通過這些數(shù)據(jù),對工作流實例進行調(diào)度和操作,實現(xiàn)業(yè)務(wù)流程的流轉(zhuǎn).自定義工作流相關(guān)表結(jié)構(gòu)及關(guān)系如圖 2 所示.
流程模塊表:該表主要配置不同的流程,具體信息包括流程名稱、流程類別、流程編號、對應(yīng)主表、摘要條件等.
流程實例表:不同類型的流程對應(yīng)于不同的流程實例表,用于記錄用戶啟動的不同類型的工作流實例.以設(shè)備借用流程實例表為例,包括申請人、設(shè)備ID、借用日期、預(yù)計歸還日期和借用說明等.
流程步驟表:該表主要配置對應(yīng)流程的步驟.步驟之間的流轉(zhuǎn)是單向流轉(zhuǎn),并且根據(jù)步驟對應(yīng)的序列值依次完成步驟的執(zhí)行.它包括步驟名稱、審核人員類型、審核人員、審核條件、審核操作、審核處理表單、步驟的處理順序等.
流程單據(jù)表:用來記錄工作流各個環(huán)節(jié)的審批記錄.具體包含流程單據(jù)編號、模塊id、當(dāng)前審核人、審核意見、當(dāng)前狀態(tài)等信息.
圖2 自定義工作流相關(guān)表及其關(guān)系圖
工作流是一類能夠完全或者部分自動執(zhí)行的過程,它根據(jù)一系列過程規(guī)則,文檔,信息或任務(wù)能夠在不同的執(zhí)行者之間進行傳遞與執(zhí)行[6].根據(jù)此定義,自定義工作流的核心旨在滿足以下功能:流程的發(fā)起,流程的流轉(zhuǎn)、退回,信息的傳遞以及任務(wù)的分配.系統(tǒng)采用php語言實現(xiàn)自定義工作流的設(shè)計,包括流程步驟設(shè)計、流程表單設(shè)計、工作流引擎等,同時還可以靈活配置以實現(xiàn)不同的工作流程.本文以設(shè)備借用歸還流程為例,說明自定義工作流的設(shè)計與實現(xiàn).
2.3.1 流程步驟設(shè)計
流程步驟設(shè)計是自定義工作流的核心要素之一,當(dāng)一個業(yè)務(wù)流程需要審核時就必須設(shè)置流程審核步驟.系統(tǒng)中設(shè)備借用歸還從設(shè)備借用開始到設(shè)備歸還結(jié)束,這整個流程就是一個過程,這個過程根據(jù)業(yè)務(wù)流程設(shè)計可以分為上級審批、校長審批、信息中心負責(zé)人審批、設(shè)備管理員確認、借用人歸還等流程步驟,如圖3所示.每個步驟都包含相應(yīng)的審核員類型,審核條件,審核操作,審核處理表單等.系統(tǒng)會根據(jù)每個步驟對應(yīng)的審核人員類型來選取對應(yīng)的處理人員,并給其分派處理任務(wù),如上級審批步驟的審核人員類型為上級,表示該步驟處理人員為前一環(huán)節(jié)處理人員的上級領(lǐng)導(dǎo).每個步驟的審核動作可以自定義,如信息中心負責(zé)人審批步驟的審批動作就包括通過和不通過.流程步驟設(shè)計完成后,就會在流程步驟表生成一條對應(yīng)記錄,為后續(xù)該流程的流轉(zhuǎn)提供依據(jù).關(guān)鍵代碼如圖4所示.
圖3 設(shè)備借用歸還流程
圖4 獲取處理人員代碼
2.3.2 工作流控制模式
工作流模式是指在工作流過程模型中重復(fù)出現(xiàn)的過程基本結(jié)構(gòu),是衡量工作流建模語言在控制流中的表現(xiàn)力和適用性的重要標(biāo)準(zhǔn).基本控制模式[7]包含了五種模式:順序、并行分叉、同步、排他選擇和簡單合并.其中順序模式(Sequence)是指一個活動在另一個活動結(jié)束之后開始,這種模式毫無疑問是最為基本的.當(dāng)多個活動之間存在依賴關(guān)系時,可以使用此模式.根據(jù)設(shè)備借用歸還業(yè)務(wù)流程設(shè)計,其部分環(huán)節(jié)依賴于上一個環(huán)節(jié),還存在某個環(huán)節(jié)結(jié)束后,在多個可能的后繼環(huán)節(jié)中選擇一個作為后繼節(jié)點,因此可以采用順序與排他選擇相結(jié)合的模式.例如,“初始狀態(tài)”節(jié)點在用戶提交之后,變更為“上級審批”節(jié)點,并在設(shè)備管理員確認之后,變更為結(jié)束節(jié)點.“上級審批”節(jié)點結(jié)束后根據(jù)是否重要設(shè)備來選擇是否經(jīng)過“校長審批”環(huán)節(jié).
2.3.3 流程表單設(shè)計及權(quán)限控制
在基于 Web的工作流系統(tǒng)中, 表單通常用于表示與工作流和外部應(yīng)用均可訪問的應(yīng)用領(lǐng)域相關(guān)的數(shù)據(jù).表單是工作流系統(tǒng)可以訪問和控制的數(shù)據(jù)域集合,可以將其視為HTML頁面. 因此, 工作流處理是在多個用戶之間傳輸和填充數(shù)據(jù)的過程. 基于此處理, 表單可以被視為多個表單項的組合, 每個表單項是用戶需要填寫的內(nèi)容[8].設(shè)備借用歸還流程表單就包含借用日期、預(yù)計歸還時間、聯(lián)系電話、設(shè)備、借用數(shù)量、歸還時間、說明等表單項,這些表單項包含了完成整個業(yè)務(wù)流程所需要記錄的信息.同時,這個表單在流程的多個環(huán)節(jié)上流轉(zhuǎn),每個環(huán)節(jié)對應(yīng)頁面所顯示的內(nèi)容可能不一樣,不同用戶對頁面上控件的操作權(quán)限也不一樣.例如,設(shè)備借用發(fā)起人填寫時,只能填寫設(shè)備借用相關(guān)的信息,而沒有審核動作等信息;設(shè)備管理員審批時,可以填寫審批動作及審批意見,可以查看前面環(huán)節(jié)的審核信息,但不能進行修改.這樣,同一表單對不同環(huán)節(jié)中的用戶具有不同的權(quán)限.部分代碼如圖5所示.
圖5 判斷讀取權(quán)限代碼
2.3.4 工作流引擎設(shè)計
工作流引擎是自定義工作流的核心.工作流引擎[9]主要工作就是根據(jù)工作流控制模式和流程步驟的定義,對流程進行實例化,然后根據(jù)用戶執(zhí)行其中的任務(wù)來推動流程的進行.本系統(tǒng)工作流引擎主要負責(zé)流程的流轉(zhuǎn),采用的是任務(wù)驅(qū)動的方式,當(dāng)用戶填寫對應(yīng)的表單并提交后,工作流引擎按照相對應(yīng)的操作、當(dāng)前環(huán)節(jié)以及流程步驟表來綜合判斷下一個跳轉(zhuǎn)的節(jié)點,然后控制流程跳轉(zhuǎn)到下一個環(huán)節(jié),并且將待辦任務(wù)分配給下一環(huán)節(jié)對應(yīng)的用戶.同時,每一次的過程控制都會生成一個操作記錄.部分關(guān)鍵代碼如圖6所示.
圖6 流程處理代碼
2.3.5 工作流執(zhí)行過程
(1)業(yè)務(wù)最開始發(fā)生時,即借用人發(fā)起設(shè)備借用申請時,向設(shè)備借用流程實例表djsb_assetmborrow表及流程單據(jù)表djsb_flow_bill插入數(shù)據(jù),流程單據(jù)表中allcheckid字段為其所在流程的所有處理人編號,nowcheck為流程步驟表djsb_flow_course中初始環(huán)節(jié)處理人類別關(guān)聯(lián)操作員表所獲取到的當(dāng)前處理人的操作員編號;并更新提醒消息表djsb_todo和操作日志表djsb_flow_log;
(2)提交后,流程進入下一步驟;
(3)下一處理人(根據(jù)流程單據(jù)表nowcheck字段判斷)可查看當(dāng)前要處理的數(shù)據(jù),選擇進行處理,并將處理結(jié)果(0:不通過,1:通過)以及審批意見插入到流程單據(jù)表djsb_flow_bill中,若為通過則根據(jù)流程步驟表中下一步驟處理人類別關(guān)聯(lián)操作員表獲取到下一步驟的操作員編號來更新流程單據(jù)表的 nowcheck字段,若不通過,則更新nowcheck為發(fā)起人,并會發(fā)送提醒消息到當(dāng)前處理人,同時更新操作日志表;
(4)下一處理人繼續(xù)(3)和(4)的循環(huán),直至流程的結(jié)束;
(5)流程最后一個步驟,將根據(jù)處理結(jié)果更新djsb_flow_bill表的status列,通過為1,不通過為0.
通過工作流方式實現(xiàn)的設(shè)備管理系統(tǒng),將設(shè)備借用歸還、設(shè)備報修等各業(yè)務(wù)流程中的環(huán)節(jié)構(gòu)成完整的運作體系,使得相應(yīng)的業(yè)務(wù)過程必須按照一步步的有效操作來嚴格進行,并且進行電子留檔,方便日后審核,從而有效避免了制度外的情況發(fā)生.
該系統(tǒng)的實現(xiàn),摒棄了原來設(shè)備管理紙質(zhì)化辦公的方式,有效提高了工作效率.經(jīng)過統(tǒng)計,原來設(shè)備借用歸還整個業(yè)務(wù)流程的完成一般需要1個工作日,有時候在人員外出辦公的情況下,甚至需要幾個工作日,而通過設(shè)備管理系統(tǒng)工作流的方式,整個業(yè)務(wù)流程縮短至1個小時內(nèi)即可全部完成,設(shè)備管理效率和利用率都明顯大大提高.
現(xiàn)有的工作流管理系統(tǒng)大多是重量級的,相對高職院校設(shè)備管理所需要的功能顯得過于龐大.而本文設(shè)計的自定義工作流是輕量級的,結(jié)構(gòu)簡單,易于實現(xiàn).它不僅可以滿足高職院校設(shè)備管理應(yīng)用,而且還可以通過流程管理設(shè)計不同的業(yè)務(wù)流程,從而應(yīng)用于OA辦公審批等多種其他高校辦公應(yīng)用.同時,系統(tǒng)采用模塊化設(shè)計,各模塊獨立運行,在不影響其他模塊運行的情況下可以方便添加新模塊.因此,該系統(tǒng)具有擴展性強的特點.
設(shè)備管理是高校資產(chǎn)管理的重要任務(wù).合理使用設(shè)備,通過信息手段對設(shè)備進行管理和使用分析,對提高設(shè)備利用率具有重要意義.本文從教學(xué)設(shè)備管理人員的角度研究了設(shè)備管理系統(tǒng).在需求分析的基礎(chǔ)上,設(shè)計實現(xiàn)了自定義工作流,并通過自定義工作流及三層應(yīng)用架構(gòu),完成整個系統(tǒng)的設(shè)計.系統(tǒng)自投放使用以來,方便了教師的設(shè)備借用歸還、設(shè)備報修等,也極大地簡化了設(shè)備管理人員的工作.同時,該系統(tǒng)還易于擴展,可以支持除設(shè)備管理外的其他多種高校辦公應(yīng)用.