孫強強,李 永,居昌英
(1.濱州學院 信息工程學院;2.濱州學院 教務(wù)處,山東 濱州 256603)
《中國制造2025》指出中國的制造企業(yè)智能化轉(zhuǎn)型之路任重道遠。利用自動化軟件可以為智能制造提供技術(shù)支撐,其發(fā)展前景廣闊[1]。計算機環(huán)境下的業(yè)務(wù)過程自動化是計算機支持的協(xié)同工作的一部分,是一系列自動進行、相互銜接的業(yè)務(wù)或任務(wù)[2],也稱為工作流,例如請假申請、加班、出差等日常業(yè)務(wù)流程,廣泛應(yīng)用于物業(yè)服務(wù)、教育、消費品、制造和電信服務(wù)等行業(yè)。由于行業(yè)發(fā)展限制,應(yīng)用比較普及的還是在傳統(tǒng)媒介上的工作流,比如紙質(zhì)媒介、板報等。而在自動化軟件上建立模型可以為整個業(yè)務(wù)流程的閱讀、傳輸和展示等環(huán)節(jié)提供便利,能在時間和空間上提供一種超越傳統(tǒng)的信息操作方式[3]。因此,本文基于模型-視圖-控制器(MVC)設(shè)計模式,引入事件派發(fā)機制、事件流機制、組件式開發(fā)模式和代碼分層技術(shù),設(shè)計開發(fā)了一個既便捷又輕量的業(yè)務(wù)流程建模軟件。該軟件可滿足業(yè)務(wù)過程的核心需求,有效提高企業(yè)中日常業(yè)務(wù)的效率。
隨著信息技術(shù)的發(fā)展,網(wǎng)絡(luò)在企業(yè)信息化建設(shè)中的地位日益凸顯[4]。在提高企業(yè)的工作效率以及降低運營成本方面,傳統(tǒng)的、人工的紙質(zhì)流程已無法適應(yīng)事務(wù)流程在時間及空間的要求?,F(xiàn)代企業(yè)迫切需要建立一套穩(wěn)定、便捷、安全的基于計算機環(huán)境的電子化文件傳輸平臺[5]。企業(yè)工作人員可以不受時間、地點束縛,開展協(xié)同辦公,真正實現(xiàn)無紙化辦公。這在提高工作效率的同時也降低了運營成本,從而提高企業(yè)的競爭力。
業(yè)務(wù)過程軟件就是實現(xiàn)在計算機環(huán)境下業(yè)務(wù)過程自動化的軟件,可以實現(xiàn)業(yè)務(wù)過程的部分或者實現(xiàn)全部的自動化[6]。業(yè)務(wù)流程的安排和執(zhí)行僅僅依賴于計算機網(wǎng)絡(luò),企業(yè)、機關(guān)以及部門便能夠有機的聯(lián)系在一起,從而大大提高工作效率。根據(jù)需求分析,本軟件的用例圖如圖1所示。用戶可以在計算機上對業(yè)務(wù)過程實現(xiàn)基本的模型創(chuàng)建、模型保存、文件打開及修改、打印和動畫展示功能。
圖1 系統(tǒng)用例圖
根據(jù)總體結(jié)構(gòu)和模塊間的關(guān)系,定義了多個功能模塊接口、控制接口并對其審核。功能包括:模型繪制、屬性設(shè)置、文件保存、文件打開、打印功能和動畫展示。其核心是模型繪制,可以通過圖形的方式把用戶需要的流程模型圖進行設(shè)計和展示,并配以明確的圖形和箭頭。同時,為增加系統(tǒng)魯棒性和易維護性,本軟件使用了事件派發(fā)、事件流、組件式開發(fā)、代碼分層等機制。
本軟件各模塊功能介紹如下:
(1)模型繪制。組件庫提供大量模板,提供編輯面板對模型元件進行設(shè)計,可添加線路牽引并繪制完整的業(yè)務(wù)流程模型。
(2)屬性設(shè)置。設(shè)置文字顏色和大小等。
(3)文件保存。把創(chuàng)建好的業(yè)務(wù)流程模型生成統(tǒng)一的xml文件。
(4)文件打開。重新編輯模型。
(5)打印功能。對xml文件和對業(yè)務(wù)流程圖進行打印。
(6)動畫展示。以動畫的形式展示整個業(yè)務(wù)過程,通過角色走動的路線來表現(xiàn)業(yè)務(wù)的執(zhí)行過程。
在程序編寫中應(yīng)用事件派發(fā)機制,事件機制是ActionScript3.0的核心功能之一[7]。通過事件機制的應(yīng)用可以完成大部分的功能。事件派發(fā)是事件機制的一部分,程序要偵聽一個“事件”,那么就要存在這個事件。要讓程序知道有這個事件,然后去偵聽它,就用到了事件派發(fā),事件派發(fā)的作用就是讓整個程序知道某個對象派發(fā)了某個事件,當對那個對象注冊監(jiān)聽時就可以注冊自定義事件的監(jiān)聽。
在軟件設(shè)計過程中,事件流機制如下:
(1)捕獲階段。從舞臺到發(fā)送事件的目標對象的父節(jié)點之間的所有節(jié)點,對每個節(jié)點進行遍歷,加入到達的節(jié)點是注冊了本事件的節(jié)點,就達到了目標。
(2)目標階段。僅包括目標節(jié)點,到達注冊了所發(fā)生的事件的節(jié)點時就是目標階段。
(3)冒泡階段。從目標對象到舞臺之間還回過程中所遇到的所有對象。默認情況下注冊事件是沒有冒泡的,也有一些事件不能添加冒泡。事件流模型如圖2所示。
圖2 事件流模型圖
采用全組件式的模塊化開發(fā)方式,將所有的模塊開發(fā)成組件。在系統(tǒng)運行時,通過建立每個組件聯(lián)系即實例化每個組件以實現(xiàn)想要的功能。通過組合模式實現(xiàn)遞歸和分級數(shù)據(jù)結(jié)構(gòu)的優(yōu)化處理[8]。
業(yè)務(wù)流程軟件有個主要舞臺,系統(tǒng)所有的模塊都要呈現(xiàn)在主舞臺上[9]。而舞臺被劃分為3個模塊:
(1)節(jié)點面板。里面有所有類型的節(jié)點和線段。
(2)屬性面板??梢詫?jié)點和線段的屬性進行編輯。
(3)模型編輯面板。可以實現(xiàn)模型的編輯。此外,使用右鍵快捷菜單可以快捷添加牽引線段。
2.5代碼分層
將系統(tǒng)按照功能的不同進行邏輯劃分,可以降低系統(tǒng)開發(fā)及維護成本。在組件中集成數(shù)據(jù)訪問和邏輯操作,可以使系統(tǒng)擴展性增強的同時提高系統(tǒng)的復用性。運用分層的思想可以抽象出代碼的整體框架、脈絡(luò)[10],有利于代碼復用。要復用某段邏輯的前提是把該段邏輯單獨作為一個模塊封裝出來,同時需要把模塊封裝得非常徹底,不能與其他模塊過多地耦合,否則就不能“一處定義到處使用”。
代碼的合理封裝是代碼分層的基礎(chǔ)。只有封裝才能產(chǎn)生層次結(jié)構(gòu),進而實現(xiàn)固定不變隔離變化,也只有封裝才能實現(xiàn)代碼復用[11]。在業(yè)務(wù)過程軟件設(shè)計過程中就利用了代碼分層的思想,將事件處理的事件類、元件類等不同功能的類分開編寫,可以讓代碼有效利用MVC綜合模式。MVC模式通常用來為軟件應(yīng)用程序創(chuàng)建接口,由3個元素組成:一是模型,包含應(yīng)用程序數(shù)據(jù)和邏輯來管理程序的狀態(tài);二是視圖,在屏幕上呈現(xiàn)用戶接口和應(yīng)用程序狀態(tài);三是控制器,處理用戶輸入來改變應(yīng)用程序狀態(tài)。
計算機環(huán)境下的業(yè)務(wù)過程自動化軟件的開發(fā)平臺有Adobe Flash Professional CS 5.5和Flash Develop兩個。
(1)Adobe Flash Professional CS 5.5,在此平臺上進行組件皮膚的開發(fā)和動畫在時間軸上的編寫。主要的皮膚文件包括菜單按鈕的皮膚、滾動條的皮膚等。在此平臺上設(shè)計的文檔最后要輸出swc格式的文件,它可以包含一些class文件、圖片以及css樣式文件,也可以選擇包含其他文件,這個文件就可以作為一個類庫在代碼編寫的時候進行調(diào)用。
(2)Flash Develop平臺有很好的代碼提示功能,將代碼編寫都在這個平臺上進行,軟件最后編譯成swf的形式。編程語言為ActionScript 3.0。軟件運行的最低硬件需求為Intel Pentium 4或AMD Athlon 64處理器,1 GB內(nèi)存和配備了OpenGL硬件加速技術(shù)的圖形卡。操作系統(tǒng)需要Windows 7及以上操作系統(tǒng),也可以兼容IOS操作系統(tǒng)。
通過在節(jié)點欄將需要的節(jié)點拖到主編輯面板,能夠向面板添加新點選的元件。開始前需要添加開始和結(jié)束節(jié)點,然后添加中間節(jié)點和牽引路線。在編輯面板里面的元件可以任意的拖動,并且之間的牽引線段會根據(jù)前后節(jié)點的位置進行重新繪制,還能自動選擇連接的點。如圖3,右邊是屬性面板,可以對節(jié)點的屬性進行改變。
文件的打開功能可以實現(xiàn)打開本地保存的xml格式的模型文件、展示、再編輯等。文件的保存功能采用統(tǒng)一的數(shù)據(jù)格式,有讀寫方便和在遠程傳送時數(shù)據(jù)量低的優(yōu)點。編輯完的業(yè)務(wù)過程模型化后,系統(tǒng)會生成xml模型的源文件。把生成的xml格式的文件保存到本地計算機,能夠?qū)崿F(xiàn)模型的保存以備下次查看和執(zhí)行其他操作。而文件的保存和打開都是使用了FileReference類的功能,文件打開和保存見圖4。
圖3 模型編輯面板編輯視圖
圖4 文件打開和保存
本軟件實現(xiàn)了對生成xml文件的打印和對生成業(yè)務(wù)流程圖的打印功能。通過獲取編輯面板上的業(yè)務(wù)過程的模型或者xml代碼,將其轉(zhuǎn)換成像素。然后把像素生成圖片調(diào)用本地的打印機程序進行打印。打印功能是計算機媒介與傳統(tǒng)媒介的結(jié)合,提高了業(yè)務(wù)過程的人性化使用,文件打印如圖5所示。
繪制模型的整個業(yè)務(wù)過程可以通過動畫的形式進行展示,然后通過動畫中角色的走動路線來表現(xiàn)業(yè)務(wù)的執(zhí)行過程。此處人物角色是選擇的一款游戲里面的八面人物,根據(jù)走動路徑的角度來選擇角色使用的面來更好地展示動畫。每次節(jié)點位置的改變都會派發(fā)一個位置更改事件,注冊了監(jiān)聽的對象就會做出更新,同時節(jié)點之間的線段會重繪。其中,角色走動的方向是根據(jù)線段兩端的點進行判斷的,動畫展示功能如圖6所示。
圖5 文件打印
圖6 動畫展示業(yè)務(wù)過程
本文研究了業(yè)務(wù)過程軟件在如今企業(yè)管理和發(fā)展中的作用和意義,業(yè)務(wù)過程自動化軟件的開發(fā)有效地實現(xiàn)了基于網(wǎng)絡(luò)的文件傳輸。在軟件開發(fā)過程中,運用了系統(tǒng)工程的流程思想,提高了軟件開發(fā)的效率和以后維護的可能性。該軟件能夠在計算機環(huán)境下實現(xiàn)業(yè)務(wù)過程的模型創(chuàng)建、修改、保存、打印、動畫展示等功能。將來可以在互聯(lián)網(wǎng)上建立一個專門的傳輸平臺,進行定向定時的高效推送,進一步提高系統(tǒng)的智能化程度。