??? 摘? 要: 將二次建模方法應用在政府信息化軟件的開發工作中,提出了在任務分解時,首先從需求中分解出獨立特征和具體業務特征,再從具體業務特征中分別抽象出共性特征和具體業務的個性特征,并對共性特征和獨立特征與具體業務的個性特征分別建模。應用實踐表明,該方法提高了軟件的可重用性,縮短了開發周期,便于維護,增強了開發政府信息化軟件的實用性。?
??? 關鍵詞: 政府信息化; 公共特征; 領域模型; 業務模型?
?
??? 政府信息化軟件是面向政府部門、企事業單位,幫助有關部門的業務人員進行業務信息化管理的應用軟件系統。政府信息化軟件的研究與應用起源于20世紀80年代末,近年來,隨著分布式技術、網絡技術、數據庫技術、軟件系統集成技術等的發展,政府信息化軟件的支撐技術日益成熟,無論從分析、設計到實現,從界面顯示、數據存儲到應用功能等各個方面都得到了很大的提高,政府信息化軟件的應用范圍迅速擴展。但是,政府信息化軟件的開發過程中一直存在著開發效率低下、可靠性差、軟件質量無法保證的遺憾,主要體現在:(1)開發進度難以控制,系統開發周期太長,開發成本高;(2)無法同步于業務辦公環境的變化,使用壽命短,適用性差。這些問題在某種程度上影響了用戶的應用積極性,使得開發者長期陷于無休止的維護工作,從而影響了我國政府信息化工作的進度和質量。?
??? 本文根據多年來政府信息化軟件開發的實際工作經歷,采用基于二次建模的軟件開發方法,進行政府信息化軟件的開發。該方法已在實際的軟件開發中得以檢驗,結果證明:基本上可以解決上述存在的問題,并且對同類應用軟件的開發也具有一定的參考作用。?
1 政府信息化開發中二次建模的思想?
??? 傳統軟件工程的開發方法,是把整個開發過程劃分為需求分析、軟件設計、代碼設計、測試和維護等幾個有序的階段。各階段的工作都與具體業務密切相關,系統模型是以具體業務為基礎、通過一次性建模構建的業務模型,這樣的模型對業務內容、運作方式的變化十分敏感,對業務運作環境的持續穩定性具有較高的要求。然而,對于具體用戶來講,機構調整、工作模式的改變是十分現實的需求,這使得政府信息化軟件可能在開發階段由于需求的變化而不斷返工,在運行階段,又因需求變化“牽一發而動全身”使系統難以得到有效的維護,從而降低軟件的可用性。?
??? 政府信息化軟件并不是所有內容都與具體的業務直接相關。一方面,系統的一部分功能具有一些獨立于具體業務的特征,例如:通用查詢、系統設置、信息瀏覽等,簡稱為獨立特征;另一方面,具體業務也存在一些共性特征,例如:流轉、規劃、審核等業務,其工作流可抽象歸結為角色、活動、遷移條件以及相關數據、被調應用等要素的有機組合。將這些與具體業務非直接相關的獨立特征和共性特征抽取出來并對其建模,稱為領域建模[1]。領域模型與具體業務沒有直接關聯,因此,基于領域模型實現的系統模塊具有一定的穩定性。但領域模型體現的是抽象的和局部的系統特征以及它們之間的關系,沒有涵蓋政府信息化軟件的全部特征及具體業務,因此,需要以領域模型為基礎建立覆蓋全部系統需求的業務模型。這種設計方法包含了兩次系統建模:領域建模和業務建模的過程,實現了政府信息化軟件共性特征和變化性特征的分離,因而能在保證實現系統目標的前提下,提高各個模塊的可重用性,使系統具有更強的適用性,在一定程度上可以降低系統的維護成本。圖1為二次建模方法的示意圖。?
?
?
2 政府信息化軟件的領域建模?
??? 政府信息化軟件以業務辦公為中心,涉及業務、文檔、報表、圖形等多種資源,收件、審批、上報、回復等多類操作,區劃、部門、人員、職能等多種權限要素,是一種比較復雜的軟件系統。對系統中這些要素進行概括和抽象,可歸納出以下幾類實體:?
??? (1)業務:特定用戶所處理的相對獨立的一項事物,具有一定的生命周期(從創建到結束),有比較固定的辦理流程,用戶辦理業務時需要處理一些特定的文檔、圖形,輸出規定格式的圖表等。?
??? (2)流程:業務在用戶之間的流轉過程,包括活動、變遷條件、被調應用等要素。用戶在活動環節處理業務資料,觸發系統內部處理過程,并實現活動的自動遷移。?
??? (3)文檔:用戶辦理業務過程中所涉及的各種材料,包括輸入表、掃描材料、公文表格、多媒體電子檔案等。用戶根據權限對文檔進行閱讀、編輯、輸出等操作。?
??? (4)圖形:業務辦理及專題分析所涉及的圖形材料,包括業務所包含的業務圖件和辦理業務時需參考的圖件。圖形按用途分類,以層來組織。?
??? (5)報表:業務材料或其他信息按規定格式匯總輸出。圖形可按業務類型、區劃、時間等要素統計生成報表。?
??? (6)操作:指用戶對系統資源的處理。如對文檔的讀、寫、輸出,對圖形的縮放瀏覽,對業務的審批、發送等。?
??? (7)角色:用戶在系統中所具有的職能。對系統資源的處理權限先分配到角色,再建立用戶與角色的對應關系,這樣可兼顧權限配置的穩定性與靈活性。?
??? (8)人員:即系統用戶。人員須扮演一定的角色才能在系統中辦理業務;政府信息化辦公軟件中的人員除按部門組織外,還需考慮服務區域的問題。?
??? 上述各類要素之間存在著復雜的聯系,對其進行分析與梳理,可建立政府信息化軟件領域模型,圖2為高度簡化的系統領域模型。?
?
?
??? 政府信息化軟件領域模型的具體實現,即領域軟件的開發。可采用基于構件的框架技術[2],在框架的指導下通過構件組裝完成;也可以采用平臺技術,基于領域模型開發系統平臺,再在系統平臺上,選擇業務模型中適合不同業務需求的構件,搭建適合各種需求的應用系統。?
3 政府信息化軟件的業務建模?
??? 基于二次建模模式的政府信息化軟件開發具有雙重的生命周期:首先是進行領域分析、領域建模與實現的系統領域工程階段;然后是在領域模型的指導下,對具體業務進行分析、建模與實現的實施工程階段。后者與傳統工程不同的是,在需求分析、軟件設計、代碼設計、測試與維護的各個階段均需考慮已建立的領域模型。需求分析應在領域模型的指導下展開,領域模型中的特征單元是需求分析的重點關注對象;系統設計以領域模型為基礎,業務模型是基于具體業務環境下的領域模型的擴展;代碼設計階段將模型特征實例化,并按照具體業務的結構和運轉方式將其組裝成應用系統;應用維護主要是針對業務實例的維護,而領域模型及領域軟件的維護則屬于系統領域工程的范疇。?
??? 以科技項目管理的規劃、審批工作流為例來說明基于領域模型的業務建模,其模型如圖3所示。圖3(a)為抽象的業務流程領域模型[3],圖3(b)為具體的預審業務流程模型。
?
?
??? 政府信息化軟件業務模型的實現也可以采用兩種途徑:若領域模型采用平臺技術實現,則可以通過系統的構建平臺直接構建業務模型,通過系統的運行平臺對業務模型進行解析,實現系統的功能[4];若領域模型是以構件方式實現,則需要根據業務模型擴展新的應用構件,并編寫“膠合”代碼,將構件組裝成應用系統。?
4 基于二次建模模式的政府信息化軟件的實現?
??? 科技項目管理是政府信息化軟件應用的一個典型事例。作者通過對科技項目管理業務辦公管理機制的調查與分析,建立了領域模型,并設計開發了科技項目管理政府信息化軟件平臺;基于系統平臺,為某市科技局構建了業務模型,并將其應用于該局日常的業務辦公管理中。?
??? 實踐表明,采用二次建模模式分別建立系統領域模型和業務模型,可有效縮短業務模型的實現時間;同時,因為領域模型具有與業務無關的特性,應用系統維護的難度得以降低。在采用平臺技術實現領域模型的情況下,用戶經過簡單的培訓基本可做到自我維護系統。?
??? 政府信息化軟件通過二次建模方式把傳統的一次性建模過程分割為領域建模與業務建模兩個階段,實現了政府信息化軟件共性特征和個性特征的分離,并在領域模型的基礎上構件了系統的運行平臺,兼顧了系統的穩定性和靈活性,增強了系統的適應性和可重用性,降低了系統的維護成本。從更高層次看,二次建模模式部分實現了軟件技術與具體應用的分離,使軟件工程師和實施工程師各司其責,因而有助于開發工作的分工和管理。?
??? 值得注意的是:政府信息化軟件的領域建模必須基于對系統的深刻理解,建模人員必須具有高度的抽象思維能力,目前還沒有完善的理論對領域建模進行指導。領域建模及平臺或構件的開發具有較高難度,因而對于單個應用系統來講,必然會增加系統開發的成本。但領域模型所具有的適應性使其可復用到其他類似的政府信息化軟件中,領域建模及開發時投入的成本可以分攤到多個應用系統的設計與開發工作中。?
參考文獻?
[1]?張偉, 梅宏. 一種面向特征的領域模型及其建模過程.軟件學報,2003,14(8).?
[2]?劉瑜, 張世琨, 王立福,等. 基于構件的軟件框架與角色擴展形態研究.軟件學報,2003,14(8):1364-1370.?
[3] HOLLINGSWORTH D. The workflow reference model.TC00-1003: UK, Workflow Management Coalition, 1995:29-31.?
[4] 余井泉, 崔秉良. 可定制圖文政務軟件設計及其應用.國土資源信息化, 2003(4).