文/魏永鋒
安全生產(chǎn)領域軟件復用技術研究
文/魏永鋒
為了提升企業(yè)安全保障能力和政府監(jiān)管能力,近年來各級安全監(jiān)管監(jiān)察機構和企業(yè)相繼建設了數(shù)量眾多的安全生產(chǎn)綜合監(jiān)管、隱患監(jiān)管、危險源監(jiān)控等軟件系統(tǒng),這些信息系統(tǒng)的設計方式,基本上是基于功能分解的系統(tǒng)構造方式,使得軟件的剛性太強。并且這類安全生產(chǎn)軟件在實施時要求按照企業(yè)或機構固有的業(yè)務進行定制,而安全生產(chǎn)領域一個重要特點是監(jiān)管的行業(yè)眾多,當監(jiān)管的對象發(fā)生變化時,這種模式就不能夠滿足需要了,造成安全生產(chǎn)信息系統(tǒng)的二次開發(fā)工作量很大,并極易造成項目實施的失敗。
通過對國家安全監(jiān)管總局綜合政務信息系統(tǒng)、行政執(zhí)法統(tǒng)計系統(tǒng)、非藥品類易制毒化學品等業(yè)務系統(tǒng)的分析,筆者提出一種可變性分析、可變點分析到可配置的柔性原型的一種適合安全生產(chǎn)領域的界面復用技術。通過該技術可以動態(tài)構建安全生產(chǎn)領域的軟件系統(tǒng),實現(xiàn)監(jiān)管業(yè)務流程的動態(tài)調(diào)整,能夠靈活適應企業(yè)及監(jiān)管機構的戰(zhàn)略思路、應用模式和組織結構的變化以及企業(yè)業(yè)務的可持續(xù)發(fā)展。這種基于原型的柔性技術使其開發(fā)和實施快速化,從而降低了開發(fā)和實施的風險和成本,為促進安全生產(chǎn)監(jiān)管監(jiān)察信息化系統(tǒng)的研究和建設提供了一種新的思路和途徑。
安全生產(chǎn)領域信息系統(tǒng)的一個特點是監(jiān)管對象眾多,界面格式可變性強,不同的業(yè)務操作的界面元素既具有相似點又具有不同點,如各類監(jiān)管對象的信息錄入界面相似度很高,但后臺數(shù)據(jù)處理部分基本一致。因此通過對安全生產(chǎn)信息化系統(tǒng)的界面可變性分析來提高整個系統(tǒng)的可重用性,可以起到事半功倍的效果。
1.分析工具選擇
傳統(tǒng)結構化和流行的面向?qū)ο髢煞N主要軟件工程設計方法,都只側(cè)重軟件內(nèi)部模型的需求分析和設計。涉及到軟件外部用戶界面時,除了純粹概念性的功能分析和表達外,并未提供完善的理論和表示支持。顯然,這與用戶界面在軟件中重要的主導地位是不相符的。造成這一現(xiàn)狀的原因,除了界面的分析設計缺乏足夠的表達方法外,界面本身的復雜性恐怕是主要問題。為了解決這個問題,已經(jīng)提出了許多界面工程設計和自動生成的模型和方法。我們采用界面分析中支持用戶參與界面設計的FMP模型作為界面分析的模型工具,采用FODA(Feature-OrientedDomain AnalysisMethod,面向特征的領域分析方法)作為界面分析的方法,并采用UML作為描述工具。
2.界面模型可變性分析
為了歸納提取可復用元素,需要選擇至少兩個界面進行分析,現(xiàn)選擇一個安全生產(chǎn)綜合政務信息系統(tǒng)中的政務信息報送和請示報告起草兩個界面進行分析,按照FMP分析模型,兩個界面都包括數(shù)據(jù)模型、功能模型、表示模型三個模型視圖。通過可變性分析,得出界面的表示模型是界面中可復用程度最高的部分,可復用元素與數(shù)據(jù)模型的關聯(lián)度大,通過模型分析得到的元素進行可復用界面設計,可以最大化在安全生產(chǎn)信息系統(tǒng)內(nèi)多個業(yè)務功能界面的可重用性。
3.界面元素可變點分析
根據(jù)界面模型分析的結果,結合特征分析方法,可以對表示模型中的可配置元素進行分析。將元素分解為具有一定語義功能的基本單位,稱這些基本單位為特征,同一個特征在各個界面元素中會存在局部性的差異,為了表示這種差異性,可以用可變點和變體的概念來表示特征中存在的變化(可變點)及這些變化的不同表現(xiàn)方式(變體),特征可以有零個、一個或者多個可變點,每一個可變點還可以附加一個或者多個變體,變體是可變點的一個枚舉項。
目前,界面設計方法主要包括兩類,一類是把生成界面代碼作為主要目的,根據(jù)設計人員對界面的定義生成出靜態(tài)的界面;另一類是界面配置技術,在系統(tǒng)運行以前通過可視化界面配置工具對初始運行界面進行配置。采用配置技術可以動態(tài)實現(xiàn)對系統(tǒng)功能的裁減、重組、擴充,提高界面的可重用性。基于以上對界面可變性分析,提出一種基于原型的安全生產(chǎn)信息系統(tǒng)界面配置技術。設計及實現(xiàn)原理如圖1所示。

圖1 設計及實現(xiàn)原理
基于原型的安全生產(chǎn)信息系統(tǒng)界面設計思想,是將用戶界面劃分為不同的功能區(qū)域,每個功能區(qū)域由一個元素來實現(xiàn)和管理,通過界面元素可變性分析,提取元素中可變性后將元素可變特征抽取為參數(shù),從而建設了一組可復用的原型庫。在界面設計時通過選擇組合需要的原型,并根據(jù)界面的功能模型及數(shù)據(jù)模型對原型進行參數(shù)化,在界面運行時自動將原型參數(shù)化為元素后,再動態(tài)組合成一個稱為模板的可視頁面中,從而實現(xiàn)了對原型的復用,實現(xiàn)了快速界面開發(fā)。
基于原型的界面設計方法,通過用戶界面中原型的參數(shù)配置,自動生成用戶界面,使得界面易于修改和擴展,極大地減少安全生產(chǎn)信息系統(tǒng)開發(fā)界面過程中繁雜、重復性的工作。
在設計了基于原型的安全生產(chǎn)信息系統(tǒng)界面設計框架基礎上,對原型庫、界面編輯器、動態(tài)組裝器與編譯器進行了實現(xiàn)。下圖是基于原型的安全生產(chǎn)政務信息報送界面的實現(xiàn)示例:

圖2 基于原型的界面生成實例
通過界面編輯器,在信息報送界面中使用了五個元素,根據(jù)元素的信息類別,標題、起草人姓名、起草日期、所屬單位分別使用了原型庫中的“EIMS單行”原型,信息正文元素選擇“信息正文”原型,并通過指定原型的公文項屬性,將不同元素分別與數(shù)據(jù)模型中的信息字段關聯(lián),原型實例化為元素并通過編輯器進行動態(tài)組裝后生成源代碼,后臺編譯器監(jiān)測到代碼的變動,對源代碼進行動態(tài)編譯從而生成可執(zhí)行的界面。
基于原型的安全生產(chǎn)軟件復用技術研究的目的,是通過柔性軟件技術來適應安全生產(chǎn)信息系統(tǒng)個性化需求,來適應監(jiān)管業(yè)務動態(tài)變化,從而增強安全生產(chǎn)軟件開發(fā)的質(zhì)量和效率、降低開發(fā)和實施的難度及成本、減少風險。通過領域分析抽取安全生產(chǎn)領域信息系統(tǒng)的共性和個性,從而設計出具有可配置機制的界面配置工具組件,通過配置來滿足不同業(yè)務流程的個性化界面集,這樣在安全生產(chǎn)監(jiān)管的對象發(fā)生變化時,就可以使用工具進行再配置或再組合來調(diào)整系統(tǒng),使其適合新的業(yè)務變化。同時這種體系結構對功能擴展具有開放性,在原有的原型集的基礎上增加新的原型不影響原系統(tǒng),使系統(tǒng)具有伸縮性和良好的可維護性。目前,這項研究成果已經(jīng)在多個安全生產(chǎn)電子政務應用工程中獲得了驗證,并取得了良好的階段性成果。
(作者單位:國家安全生產(chǎn)監(jiān)督管理總局通信信息中心)
(責任編輯:古偉鋒)