高莉春
(中交一公局第三工程有限公司,北京101102)
目前發達國家建筑公司90%以上的項目都采用軟件進行管理,而我國建筑施工企業信息化起步比較晚,到目前實施信息化的企業還不到10%[1],并以單機版功能為主。近幾年,國內建筑施工企業對企業信息化建設有了新的認識,許多大型建筑企業開始從辦公管理、項目管理、技術管理、門戶網站等多方面嘗試企業信息化管理[2]。中國社會科學院信息化研究中心2006年所做的有關國內中小企業發展狀況調查報告顯示,我國大多數施工企業的信息化還只是處于項目管理級,只有極個別的企業發展到企業管理級。建筑施工企業軟件大多結合工程量清單,以成本核算為核心進行項目管理,部分按項目生命周期為主線,通過項目過程控制進行項目管理。在建筑施工軟件的開發中既有專業軟件公司,也有建筑施工企業自主的研發產品。但在建筑施工企業尚沒有發現基于業務流程管理(Business Process Management)[3]的軟件應用。
某施工企業的業務范圍包括高速公路、橋梁、隧道、鐵路、市政工程等不同產品,現場施工項目27個,且有持續發展壯大的趨勢。原有的管理模式已無法滿足對現場的監督、指導等需要,信息交流問題日益突出。為此,企業提出了利用先進的信息技術和網絡技術加強管理的要求,以便更好地應對不斷變化的市場和日益復雜的工藝要求,加強企業內部的數據共享與信息溝通。
企業的產品種類雖多,但在生產過程中具有相似的管理流程和工藝要求。實際操作中因管理人員素質不一導致了管理效果的巨大差異。一些好的管理模式沒有得到貫徹,好的工藝流程沒有得到重復利用。基于流程化的系統設計一是要把好的管理模式和制度用流程的形式加以固化,確保執行;二是靈活地2次開發功能可以方便隨時優化流程,提高綜合管理水平和工作效率。
企業的項目業務流程管理子系統是遵循企業實際情況,按照項目生命周期進行開發,對不同產品的施工過程管理,通過工序控制實現。企業產品的項目生命周期,如圖1。

圖1 項目生命周期Fig.1 Project lifecycle
從圖1可知,工程項目是從招標、投標、中標,到項目組織、項目計劃、執行、交驗再到竣工總結,最后項目解散。一個業務活動完成后,下一個活動啟動,各個業務活動間既有延續性也有部分重疊。在企業信息化系統中各個業務活動觸發不同的角色完成不同的事務,實現各個業務活動的目標。公司管理層和項目人員通過對項目各個業務活動流程狀態和數據的查詢了解工程進展情況。
施工項目業務流程管理子系統各個功能模塊的實現建立在業務流程管理應用中間件基礎上,如圖2。

圖2 信息化系統結構Fig.2 Information system structure
施工項目業務流程管理子系統通過基于標準的JAVA[4]開放的中間件平臺實現各項應用,通過業務流程管理中間件實現數據采集、報表設計、登陸管理等,從而構建開發多組織結構管理構件和存儲建模等功能模塊的開發,實現零代碼流程建模。
施工項目業務流程管理子系統的實現,通過需求分析獲得項目生命周期各階段數據,建立元數據存儲模型,并按公司習慣定制數據的展現形式,最后根據不同的業務活動制定不同的工作流程,實現各個角色對各自業務活動的處理。項目業務管理子系統實現了項目質量、進度跟蹤,技術文檔審核收集,項目資源配置,合同審批、招投標等項目生命周期管理。
在技術選型上,既要考慮系統性能特點和技術的先進性,也要考慮成本問題,因此在應用系統開發中盡量選擇免費的開源代碼,實行快速開發[5]。施工項目業務流程管理子系統適宜在公司總部部署,各項目通過網絡進行訪問,獲取相關信息和上傳數據資料。
由于施工項目業務流程管理子系統建立在業務流程管理中間件上,還要考慮表示層與中間層的交互。在交互設計中,因此采用了 MVC[6]模式的Struts作為WEB框架,通過MVC模式降低了表示層與中間層的耦合,并隱藏中間層實現細節和組件類型及位置。由于是分布式架構,在傳輸機制上采用XML編碼格式。為加強系統查詢和綜合數據處理能力,采用 Hibernate[7]的對象關系映射(Object/Relation Mapping,ORM)機制作為系統的數據持久層。利用java bean實現對數據的控制和操作,Web Service對外提供Web服務接口實現SOA[8]。項目業務流程管理子系統構建在業務流程管理應用中間件平臺上,如圖3。

圖3 施工項目業務流程管理子系統構架Fig.3 Subsystem of construction project business process management
由圖3可知,實現施工項目業務流程管理子系統,須提供業務流程管理應用中間件中存儲模型設計構件、表單模型設計構件和流程模型工具,并通過工作流引擎實現業務流程的交互。
應用是完成人機交互和應用的執行。在系統設計過程中,根據用戶職責的不同將其分為超級管理員、系統管理員和一般用戶3種。一般用戶是業務活動的辦理者,系統為其分配任務、給予指示,配合完成流程的執行。用戶登錄后,點擊工作列表項可以看到自己所啟動的所有歷史工作的記錄;點擊待辦事宜項,可以看到該用戶沒有做或沒有做完的工作,這樣就把用戶待處理的工作展示在用戶面前。在每個用戶處理完工作流實例中的節點任務后,可以保存、可以提交,如果保存只保存當前任務的業務數據,對工作流信息沒有變化。如果提交,系統工作流引擎檢索到后續路由關系,自動路由到下一節點用戶或彈出下一節點的辦理者要求用戶選擇,用戶選擇完成后提交,系統產生下一活動的活動實例,從而實現業務活動的傳遞和流程的執行。
施工項目業務流程管理子系統的開發過程中,采用了迭代式增量開發的方法,融入了流程化管理和模型驅動的思想。從搭建系統的基本框架開始,逐步完善和豐富系統的功能,同時0代碼2次開發的功能方便了企業的應用擴展和持續的流程優化。
施工企業的項目面對的既有上級主管部門,也有不同地區的業主和監理單位,這些相關部門對施工過程的數據要求存在差異,尤其是不同地區差異會更大。如何融合外部相關單位數據,與業主、監理乃至協作單位實現數據共享、信息互通,是施工企業信息化進行軟件開發的更高需要。
[1]馬智亮.施工企業信息化成功秘密[M].北京:中國建筑工業出版社,2006:2-11.
[2]中國社會科學院信息化研究中心.中國中小企業信息化發展狀況調查報告[N].北京:中國計算機報,2006-01-09(4).
[3][英]Margaret May.業務流程管理:網絡環境下的戰略整合[M].史曉峰,譯.北京:經濟管理出版社,2004:5-37.
[4][美]George Reese.JDBC與JAVA數據庫編程[M].石永鑫,宋隆,譯.2版.北京:中國電力出版社,2002:7-168.
[5]Steve McConnell.快速軟件開發:英文版[M].北京:機械工業出版社,2003:109-389.
[6]孫衛琴.精通struts:基于MVC的Java Web設計與開發[M].北京:電子工業出版社,2004:9-15.
[7]孫衛琴.精通Hibernate:Java對象持久化技術詳解[M].北京:電子工業出版社,2005:1-5.
[8][美]Thomas ERL.SOA概念·技術與設計[M].王滿紅,陳美華,譯.北京:機械工業出版社,2007:280-357.