王喜春,孫志禹,李敏,沈大江
(1.長江勘測規(guī)劃設(shè)計研究院 長江空間信息技術(shù)工程有限公司,武漢 430010;2.中國長江三峽集團公司 科技與環(huán)境保護部,北京 100038;3.長江勘測規(guī)劃設(shè)計研究院 庫區(qū)規(guī)劃處,武漢 430010;4.武漢市房產(chǎn)信息中心,武漢 430015)
近年來,在融合網(wǎng)絡(luò)環(huán)境下,水電工程移民管理服務(wù)所面臨的是一個更加復(fù)雜、異構(gòu)、開放、多變的網(wǎng)絡(luò)、資源等環(huán)境。同時,大量用戶不確定的多樣性服務(wù)要求,也導(dǎo)致了頻繁變化與多目標(biāo)的用戶需求。能利用各種網(wǎng)絡(luò)環(huán)境下的跨平臺、松散耦合的若干服務(wù),協(xié)同構(gòu)造一個滿足用戶需求的增值服務(wù)成為未來水電工程移民管理服務(wù)的一個發(fā)展方向。這就要求在針對新的用戶需求進行移民管理服務(wù)設(shè)計時,一方面要保證服務(wù)易被其他服務(wù)重用,另一方面要保證可重用已有服務(wù)。因此如何建立滿足用戶需求的、并易被其他服務(wù)重用的服務(wù)分析、建模、設(shè)計流程十分必要。雖然,新的服務(wù)模式與技術(shù)不斷涌現(xiàn),如SOA、虛擬化技術(shù)、分布式計算技術(shù)、云計算等,但由于缺乏行之有效的方法論,仍然制約了水電工程移民管理服務(wù)的進一步應(yīng)用和發(fā)展。
本文所指的領(lǐng)域與現(xiàn)實中常說的領(lǐng)域不同,它是特指在領(lǐng)域工程中的概念,即共享某種功能性的系統(tǒng)或應(yīng)用程序的集合。領(lǐng)域含義中包含了領(lǐng)域工程中的很多屬性和方法。在同一領(lǐng)域中的所有應(yīng)用系統(tǒng)都具有很多相似,甚至相同的需求和基本功能,領(lǐng)域工程是指收集、組織一個特定領(lǐng)域內(nèi)的系統(tǒng)或者系統(tǒng)的相似或相近的部分并將其加以抽象描述、分析,在構(gòu)造新系統(tǒng)時,提供一種有效的方法來重新利用這些資源。領(lǐng)域工程覆蓋了建立可重用軟件構(gòu)件和領(lǐng)域系統(tǒng)開發(fā)的所有活動。
在傳統(tǒng)的軟件開發(fā)中,從對軟件系統(tǒng)最初的概念設(shè)計到最終編程實現(xiàn)的過程,有許多環(huán)節(jié)是重復(fù)進行的。領(lǐng)域工程以軟件復(fù)用為目的,解決可復(fù)用信息的識別、組織和利用問題,從而提高系統(tǒng)開發(fā)效率、避免重復(fù)勞動。軟件復(fù)用的出發(fā)點是應(yīng)用系統(tǒng)的開發(fā)顛覆了過去采用的一切“從零開始”的模式,充分利用過去應(yīng)用系統(tǒng)開發(fā)過程中積累的知識和經(jīng)驗,使得軟件工作者的主要精力將用于解決新系統(tǒng)中的新問題和新需求。領(lǐng)域工程是目前構(gòu)建軟件可復(fù)用資源的主要手段,它包括領(lǐng)域分析、領(lǐng)域設(shè)計和領(lǐng)域?qū)崿F(xiàn)。領(lǐng)域工程強調(diào)的是把已經(jīng)掌握的領(lǐng)域知識和工程學(xué)相結(jié)合來完成某個領(lǐng)域應(yīng)用工程的所有活動。它是軟件開發(fā)者用于為相應(yīng)領(lǐng)域定義范圍、指定結(jié)構(gòu)和創(chuàng)建可復(fù)用資產(chǎn)的過程和實踐,涵蓋界定、分類及創(chuàng)建可復(fù)用構(gòu)件的所有活動。
領(lǐng)域分析是通過分析、研究一組應(yīng)用系統(tǒng)的特性,發(fā)現(xiàn)并表示出需求的共性和差異的活動。領(lǐng)域分析的工作包含界定領(lǐng)域的邊界以及進行領(lǐng)域分析建模兩部分。首先開發(fā)人員在對現(xiàn)有系統(tǒng),以及過去開發(fā)經(jīng)驗和研究成果的基礎(chǔ)上,確定領(lǐng)域的邊界。然后開發(fā)人員對現(xiàn)存相應(yīng)的系統(tǒng)進行分析,抽取出共同特征和可變特征,形成領(lǐng)域分析模型。
在領(lǐng)域分析過程中,系統(tǒng)開發(fā)人員時刻保持與“領(lǐng)域?qū)<摇边M行溝通與討論。這些領(lǐng)域?qū)<也粌H懂得水電工程移民管理領(lǐng)域知識,而且對計算機系統(tǒng)也有一定了解。根據(jù)《水電工程移民專業(yè)項目規(guī)劃設(shè)計規(guī)范》、《水電工程建設(shè)征地移民實物指標(biāo)調(diào)查規(guī)范》、《水電工程農(nóng)村移民安置規(guī)劃設(shè)計規(guī)范》以及《水電工程移民安置城鎮(zhèn)遷建規(guī)劃設(shè)計規(guī)范》等規(guī)定的內(nèi)容,系統(tǒng)開發(fā)人員與領(lǐng)域?qū)<乙黄鹂偨Y(jié)并明確了水電工程移民管理系統(tǒng)的領(lǐng)域范圍,如圖1所示。水電工程移民管理系統(tǒng)領(lǐng)域范圍主要涵蓋系統(tǒng)管理系統(tǒng)、地理信息應(yīng)用系統(tǒng)、移民遷建管理系統(tǒng)、檔案管理系統(tǒng)及移民公共信息查詢系統(tǒng)5個系統(tǒng)。
圖1 水電工程移民管理系統(tǒng)領(lǐng)域范圍
在水電工程移民管理系統(tǒng)領(lǐng)域范圍中,最關(guān)鍵的業(yè)務(wù)是通過移民遷建管理系統(tǒng)實現(xiàn)的。具體而言,根據(jù)移民安置工作流程,移民遷建管理系統(tǒng)又分為實物指標(biāo)管理、建設(shè)征地管理、規(guī)劃設(shè)計成果管理、計劃管理、實施管理、移民后期扶持管理、監(jiān)測評估管理、輔助設(shè)計與決策支持八大功能模塊。地理信息應(yīng)用系統(tǒng)通過地圖瀏覽、空間定位與選擇、空間分析等GIS模塊輔助實現(xiàn)移民工作的高效管理。檔案管理系統(tǒng)對水電工程移民管理過程中涉及的各種文檔,例如合同、招投標(biāo)書、預(yù)決算報告、監(jiān)理報告、稽查報告等文檔、音像資料進行管理,實現(xiàn)文檔檢索與輸出。移民公共信息查詢系統(tǒng)實現(xiàn)移民政策及法律法規(guī)查詢、移民動態(tài)發(fā)布、移民個人信息及主要規(guī)劃、安置信息查詢等功能。系統(tǒng)管理系統(tǒng)用于管理系統(tǒng)的一些公用代碼、公用參數(shù)等特定或固定的屬性,以及用戶權(quán)限認證、數(shù)據(jù)庫的維護操作等功能。系統(tǒng)管理系統(tǒng)、地理信息應(yīng)用系統(tǒng)、移民遷建管理系統(tǒng)、檔案管理系統(tǒng)及移民公共信息查詢系統(tǒng)從各個方面實現(xiàn)水電工程移民管理工作信息化。
領(lǐng)域分析基于兩個概念:抽象和求精。抽象是一種處理復(fù)雜性的有效手段,領(lǐng)域分析使用抽象原則降低復(fù)雜性,有效地從領(lǐng)域的一系列應(yīng)用中抽取特征,創(chuàng)建領(lǐng)域分析產(chǎn)品;對領(lǐng)域分析產(chǎn)品進行求精就可以開發(fā)領(lǐng)域中的特定應(yīng)用。
鑒于實物指標(biāo)是移民安置規(guī)劃、實施管理的基礎(chǔ),本文以實物指標(biāo)管理為例說明領(lǐng)域分析建模的過程。首先建立功能特征模型,領(lǐng)域分析的目的是建立領(lǐng)域模型,領(lǐng)域模型描述領(lǐng)域中系統(tǒng)之間的共同需求。通過確定移民實物指標(biāo)管理的領(lǐng)域邊界,識別信息源,分析移民管理領(lǐng)域中系統(tǒng)的需求,確定移民實物指標(biāo)管理中被移民管理領(lǐng)域中的系統(tǒng)廣泛共享的需求如下:實物指標(biāo)修改、實物指標(biāo)錄入、實物指標(biāo)查詢、公共信息導(dǎo)入、公共信息導(dǎo)出等,可變的需求如下:用戶切換、通用編碼表管理、標(biāo)注設(shè)置、數(shù)據(jù)庫備份等。在此基礎(chǔ)上最終確定移民實物指標(biāo)管理功能特征模型,如圖2所示。
圖2 實物指標(biāo)管理功能特征模型
領(lǐng)域分析建模工作在標(biāo)準(zhǔn)化領(lǐng)域中進行,開發(fā)人員首先從領(lǐng)域?qū)<姨帿@取域知識,接著利用已有的域知識幫助進行用戶需求分析活動,對水電工程移民管理領(lǐng)域中的移民戶信息、土地利用規(guī)劃信息、移民資金信息、綜合監(jiān)理信息等移民管理核心業(yè)務(wù)信息進行收集、定義、抽象、組織,定義各類對象的屬性名稱,及這些屬性允許的操作,識別構(gòu)造出各種可重用信息。在領(lǐng)域分析的基礎(chǔ)上構(gòu)建移民管理系統(tǒng)領(lǐng)域模型,該模型主要由移民管理核心業(yè)務(wù)信息以及移民管理決策支持兩部分構(gòu)成。移民管理核心業(yè)務(wù)信息向移民管理決策提供后者所需的相關(guān)信息。在移民管理核心業(yè)務(wù)信息中,實物指標(biāo)管理向規(guī)劃設(shè)計成果管理反饋移民戶信息,規(guī)劃設(shè)計成果管理向?qū)嵨镏笜?biāo)管理反饋預(yù)可研階段成果信息、可研階段成果信息以及實施計劃成果信息等相關(guān)業(yè)務(wù)信息。與此類似,實物指標(biāo)管理與計劃管理、實施管理、后期扶持管理、簡單評估管理等進行信息交互,具體如圖3 所示。
通過領(lǐng)域分析得到的領(lǐng)域模型,領(lǐng)域開發(fā)人員設(shè)計出適應(yīng)所有領(lǐng)域系統(tǒng)的共同構(gòu)架。領(lǐng)域設(shè)計依據(jù)領(lǐng)域模型生產(chǎn)出特定領(lǐng)域中的共性軟件體系結(jié)構(gòu),即特定領(lǐng)域的軟件體系架構(gòu)(DSSA)。DSSA 通過對領(lǐng)域模型中表示需求的解決方案進行高層次設(shè)計,來適應(yīng)領(lǐng)域中多個系統(tǒng)需求。DSSA最終強調(diào)的是軟件重用,包括結(jié)構(gòu)重用和構(gòu)件重用。作為最基本的設(shè)計元素,系統(tǒng)構(gòu)件的范圍可大可小,可以是一個對象、一個進程、一個數(shù)據(jù)庫或其他。在確定水電工程移民管理系統(tǒng)領(lǐng)域模型后,我們進行領(lǐng)域設(shè)計,形成可重用的軟件體系架構(gòu)模型,并在此基礎(chǔ)上進行滿足領(lǐng)域需求的軟件構(gòu)件的設(shè)計。水電工程移民管理系統(tǒng)體系結(jié)構(gòu)自頂向下共分為五層:分別是:用戶層、應(yīng)用層、數(shù)據(jù)層、網(wǎng)絡(luò)傳輸層、應(yīng)用支撐技術(shù)層,如圖4 所示。
圖3 移民管理系統(tǒng)領(lǐng)域模型
(1)用戶層。在用戶層,系統(tǒng)將應(yīng)用層數(shù)據(jù)處理的結(jié)果返回給用戶的圖、表、文字等。系統(tǒng)的用戶包括業(yè)主管理部門、地方政府、設(shè)計單位、監(jiān)理、監(jiān)督評估單位、移民以及其他等。
(2)應(yīng)用層。系統(tǒng)應(yīng)用層是系統(tǒng)的功能核心,水電工程移民管理信息系統(tǒng)的功能實現(xiàn)就是在該層進行數(shù)據(jù)處理,包括水電工程移民管理領(lǐng)域范圍內(nèi)的各類應(yīng)用。例如移民遷建管理、檔案管理、移民公共信息查詢、地理信息應(yīng)用等;系統(tǒng)還可在此基礎(chǔ)上逐步拓展到領(lǐng)域內(nèi)的其他更多專業(yè)化應(yīng)用。系統(tǒng)的功能實現(xiàn)是基于構(gòu)件進行組織的,這些基礎(chǔ)性通用構(gòu)件支撐移民業(yè)務(wù)應(yīng)用,如GIS功能構(gòu)件、數(shù)據(jù)維護管理查詢分析統(tǒng)計構(gòu)件、數(shù)據(jù)訪問分析構(gòu)件和決策支持構(gòu)件等。
(3)數(shù)據(jù)層。作為系統(tǒng)的數(shù)據(jù)核心,數(shù)據(jù)服務(wù)層涉及的數(shù)據(jù)庫包括移民數(shù)據(jù)庫和基礎(chǔ)地理信息數(shù)據(jù)庫。移民數(shù)據(jù)庫包括實物指標(biāo)數(shù)據(jù)庫、規(guī)劃成果庫、移民安置管理庫、后期扶持管理庫以及移民檔案庫等?;A(chǔ)地理信息數(shù)據(jù)庫包括數(shù)字地形數(shù)據(jù)、數(shù)字高程模型數(shù)據(jù)、數(shù)字正射影像數(shù)據(jù)以及其他空間數(shù)據(jù)。
(4)網(wǎng)絡(luò)傳輸層。網(wǎng)路傳輸層主要包含各種網(wǎng)絡(luò)傳輸協(xié)議,例如:TCP/IP、Netware、HTTP以及FTP等協(xié)議。
(5)應(yīng)用支撐技術(shù)層。應(yīng)用支撐技術(shù)層為移民管理系統(tǒng)實現(xiàn)提供相應(yīng)的支撐技術(shù),包括數(shù)據(jù)庫技術(shù)、GIS、MIS集成技術(shù)和WEBGIS技術(shù)等。
在領(lǐng)域分析和領(lǐng)域設(shè)計的基礎(chǔ)上進行領(lǐng)域?qū)崿F(xiàn)。領(lǐng)域?qū)崿F(xiàn)通過領(lǐng)域分析模型和DSSA提取、設(shè)計、實現(xiàn)領(lǐng)域中可復(fù)用資源,這些資源包括領(lǐng)域框架、領(lǐng)域特定設(shè)計和代碼構(gòu)件等。
通過定制領(lǐng)域模型完成水電工程移民管理系統(tǒng)領(lǐng)域?qū)崿F(xiàn),形成當(dāng)前應(yīng)用的需求規(guī)范。通過對DSSA 的定制,形成當(dāng)前應(yīng)用的移民管理軟件體系結(jié)構(gòu),并以此為基礎(chǔ)選擇領(lǐng)域構(gòu)件進行組裝,從而形成新的移民管理軟件產(chǎn)品。在領(lǐng)域?qū)崿F(xiàn)階段的主要行為是確定將需求翻譯成可復(fù)用構(gòu)件的系統(tǒng)機制。根據(jù)所采用的復(fù)用策略和領(lǐng)域的成熟和穩(wěn)定程度,這種機制可能是一組與領(lǐng)域模型和DSSA 相聯(lián)系的可復(fù)用構(gòu)件,也可能是應(yīng)用系統(tǒng)的生成器。與此同時,還需要對上述過程中獲取的領(lǐng)域構(gòu)件進行實現(xiàn)以及管理。領(lǐng)域構(gòu)件主要包含領(lǐng)域框架構(gòu)件、領(lǐng)域描述構(gòu)件和代碼構(gòu)件等。在領(lǐng)域?qū)崿F(xiàn)階段實現(xiàn)在領(lǐng)域設(shè)計模型中的功能構(gòu)件和體系結(jié)構(gòu)構(gòu)件,生成最終的二進制代碼,并在應(yīng)用軟件開發(fā)時集成到最終的程序中。這些可復(fù)用的活動的產(chǎn)品包括:領(lǐng)域模型、領(lǐng)域構(gòu)架、領(lǐng)域特定的語言、代碼生成器和代碼構(gòu)件等。
圖4 移民管理系統(tǒng)體系結(jié)構(gòu)
圖5 基礎(chǔ)性通用構(gòu)件復(fù)用及再聚合過程
在應(yīng)用層中依照統(tǒng)一建模形成的各項基本服務(wù)最終以各種基礎(chǔ)性通用構(gòu)件資源的形式部署在基礎(chǔ)性通用構(gòu)件庫中,當(dāng)需要開發(fā)水電工程移民管理領(lǐng)域的新應(yīng)用系統(tǒng)時,就可以像組裝產(chǎn)品一樣,根據(jù)具體的需求,將需要的構(gòu)件按照應(yīng)用系統(tǒng)設(shè)計去組裝形成,而無需從零開始。整個基礎(chǔ)性通用構(gòu)件復(fù)用、再聚合過程見圖5。以農(nóng)村移民實物指標(biāo)管理功能為例說明,該項基本服務(wù)包含的功能有實物指標(biāo)錄入、修改、刪除以及測量面積等。開發(fā)人員可以在構(gòu)件目錄中來查找和選擇所需的農(nóng)村移民實物指標(biāo)管理構(gòu)件。當(dāng)申請基礎(chǔ)性通用構(gòu)件的服務(wù)請求發(fā)送并驗證通過后,由系統(tǒng)管理器來找到合適的基礎(chǔ)性構(gòu)件資源,接著調(diào)用構(gòu)件提供工具來挖掘基礎(chǔ)性通用構(gòu)件庫中的資源,其中與實物指標(biāo)錄入、修改相關(guān)的構(gòu)件從數(shù)據(jù)維護管理查詢構(gòu)件庫中提取,與測量面積相關(guān)的構(gòu)件則從GIS功能構(gòu)件庫中提取。資源監(jiān)控和配置器在整個基礎(chǔ)性通用構(gòu)件復(fù)用、再聚會的過程中,對各類構(gòu)件進行配置并對構(gòu)件提供工具進行監(jiān)控。
特定領(lǐng)域的軟件復(fù)用技術(shù)是提高軟件開發(fā)效率的重要手段。軟件復(fù)用技術(shù)能很好地解決軟件規(guī)模和復(fù)雜度日益增加的困境,領(lǐng)域工程的思想和良好的系統(tǒng)架構(gòu)能有效地提高軟件的可重用性和可維護性。本文探討基于領(lǐng)域工程的水電工程移民管理的新方法,在水電工程移民管理系統(tǒng)建設(shè)中采用軟件復(fù)用的思想,為水電工程移民管理提供了一種新思路、新模式。針對水電工程移民管理領(lǐng)域中移民遷建等領(lǐng)域的特點進行研究分析,確定水電工程移民管理領(lǐng)域的范圍,形成水電工程移民管理系統(tǒng)領(lǐng)域模型,以實物指標(biāo)管理為例,建立功能特征模型。在上述基礎(chǔ)上,設(shè)計了移民管理系統(tǒng)體系結(jié)構(gòu)。在移民管理分層體系的基礎(chǔ)上,采用領(lǐng)域工程方法分析不同水電工程移民管理領(lǐng)域?qū)傩院凸残蕴卣?,能夠從?shù)據(jù)訪問、數(shù)據(jù)表示與傳輸?shù)榷鄠€層次上分別建立移民管理的領(lǐng)域構(gòu)件庫。在實際應(yīng)用中,我們應(yīng)用領(lǐng)域?qū)崿F(xiàn)階段完成的各種構(gòu)件實現(xiàn)了水電工程移民管理系統(tǒng),在烏東德水電站、重慶小南海水電站等多個水電工程的移民實物指標(biāo)調(diào)查、移民公共信息查詢等工作中發(fā)揮作用。領(lǐng)域工程的引入,為后續(xù)的利用復(fù)用開發(fā)提供了原型系統(tǒng)的支持,使得開發(fā)者能快速構(gòu)建應(yīng)用系統(tǒng)并且保持相對穩(wěn)定,減少了開發(fā)與維護的工作量,軟件復(fù)用的效率得到了大幅的提高。極大縮短了應(yīng)用系統(tǒng)的開發(fā)周期。應(yīng)用領(lǐng)域工程技術(shù)開發(fā)的水電工程移民管理系統(tǒng)的應(yīng)用極大提升移民管理水平,加快工程建設(shè)進度。
參考文獻:
[1] 張海藩.軟件工程導(dǎo)論[M].北京:清華大學(xué)出版社,2003.
[2] 黃玉坤.軟件復(fù)用技術(shù)及領(lǐng)域工程綜述[J].計算機與現(xiàn)代化,2007(11):43-48.
[3] 李克勤,陳兆良,梅宏,等.領(lǐng)域工程概述[J].計算機科學(xué),1999,26(2):21-25.