林 峰,王霓虹,高心丹,戴 巍
(東北林業(yè)大學(xué),黑龍江 哈爾濱 150040)
多專題森林資源調(diào)查數(shù)據(jù)采集建模
林 峰,王霓虹,高心丹,戴 巍
(東北林業(yè)大學(xué),黑龍江 哈爾濱 150040)
通過面向特征的領(lǐng)域分析建模技術(shù),實現(xiàn)對軟件整體結(jié)構(gòu)的分析與領(lǐng)域建模;通過對輸入軟件的整體分析,實現(xiàn)軟件公共部分的有效封裝,對需要拓展的部分參數(shù)化;從而實現(xiàn)快速建表,表單信息的快速維護(hù)以及大批量的信息輸入。本分析不僅能夠適用于當(dāng)前一類、二類、三類森林資源清查的調(diào)查任務(wù),并且適合于將來林業(yè)發(fā)展的需要,提高采集效率。
森林資源;采集效率;領(lǐng)域分析;領(lǐng)域建模
隨著我國林業(yè)的不斷發(fā)展,社會對林業(yè)資源的數(shù)據(jù)要求越來越高,因此對林業(yè)數(shù)據(jù)的有效處理是當(dāng)前迫切需要解決的問題[1]。我國有關(guān)森林資源數(shù)據(jù)采集的軟件有很多,但是相對較單一,對林業(yè)的包容性比較低,而且對于森林資源舊數(shù)據(jù)以及實時數(shù)據(jù)的輸入比較緩慢,多為人工輸入,軟件效率較低。
為了提高軟件開發(fā)的質(zhì)量與速度,通過領(lǐng)域工程進(jìn)行軟件的有效復(fù)用是當(dāng)前在特定領(lǐng)域進(jìn)行軟件開發(fā)的主要途徑[2]。傳統(tǒng)表單的格式單一,一旦需要錄入一組新的數(shù)據(jù),就需要重新定義表單格式,增加工作量。因此,提供友好的表單設(shè)計界面,讓用戶自己編寫表單格式,不但降低工作流系統(tǒng)中的復(fù)雜度,而且提高軟件開發(fā)的效率[3]。所以,對輸入表單的軟件開發(fā)進(jìn)行建模,是十分有必要的。
由于各類調(diào)查數(shù)據(jù)無法相互代替,它們的目標(biāo)與具體的對象也不一致,因此以面向特征的領(lǐng)域分析技術(shù)為基礎(chǔ),著重找出森林調(diào)查中有關(guān)一類、二類、三類調(diào)查的相似性及特征性,針對各類調(diào)查總體的不同,調(diào)查單位的特異性,調(diào)查內(nèi)容的特點,對表單格式及輸入進(jìn)行建模,使之適應(yīng)我國森林調(diào)查的各個種類,這樣不僅體現(xiàn)了多專題調(diào)查數(shù)據(jù)的特點,同時也使其適應(yīng)將來林業(yè)調(diào)查的需要,提高森林?jǐn)?shù)據(jù)采集軟件的開發(fā)效率及使用效果。
在我國,森林資源調(diào)查以3類調(diào)查為基礎(chǔ),包括以全國范圍為對象的一類調(diào)查,為編制規(guī)劃設(shè)計而進(jìn)行的二類調(diào)查,以及為作業(yè)設(shè)計而進(jìn)行的三類調(diào)查。
各專題調(diào)查是森林資源調(diào)查數(shù)據(jù)輸入的基本,并且地域性以及綜合性是其數(shù)據(jù)特征。根據(jù)這些先決條件,該軟件應(yīng)該具有以下主特性:數(shù)據(jù)格式標(biāo)準(zhǔn)以及無誤;信息錄入速度快,操作一致性;可移植性與可拓展性。對于林業(yè)數(shù)據(jù)來說,不但需要準(zhǔn)確、有效快速的錄入,并且有關(guān)種類的調(diào)查數(shù)據(jù)的操作也應(yīng)該相近,這樣即可擺脫錄入數(shù)據(jù)時的操作復(fù)雜性,實現(xiàn)效率的提高[4]。因此通過面向特征的領(lǐng)域分析進(jìn)行有效的建模,可以極大地提高公共模塊的共享性,軟件的可移植性、可拓展性[5]。通過分析、確定各個專題之間的特點,為軟件的開發(fā)以及軟件復(fù)用提供現(xiàn)實幫助。
圖1 調(diào)查輸入軟件總體架構(gòu)圖
1.1 多專題軟件的總體設(shè)計
由于多專題森林資源調(diào)查數(shù)據(jù)的種類各不相同,內(nèi)容也千差萬別,但是通過面向特征的領(lǐng)域分析,依然可以找到其相應(yīng)的共同點以及不同點。首先,每一類調(diào)查都以操作細(xì)則以及調(diào)查規(guī)范為基礎(chǔ),這樣就定義了調(diào)查單位以及調(diào)查方法,也定義了表單內(nèi)容的基本結(jié)構(gòu)以及統(tǒng)計數(shù)據(jù)的數(shù)據(jù)類型的規(guī)范要求。其次,具體到調(diào)查因子上,對于植被的覆蓋情況,土壤情況,地理狀況信息等對建表的規(guī)范性以及效率起到了極大的提高作用。再者,調(diào)查的結(jié)果都以文檔形式和數(shù)字化進(jìn)行存儲以及展示。因此,在設(shè)計上,針對各類森林調(diào)查的軟件應(yīng)該具有建表的靈活性,與用戶良好的交互性,錄入數(shù)據(jù)的快速與穩(wěn)定,對各個表單實現(xiàn)柔性管理,能夠?qū)崿F(xiàn)數(shù)據(jù)的及時更新。在顯示方面實現(xiàn)表單,ARCGIS,以及基層統(tǒng)計表的相互融合以及轉(zhuǎn)化(圖1)。通過總結(jié)公共特征,在總結(jié)相似規(guī)律的情況下實現(xiàn)軟件重用,對多專題的軟件開發(fā)具有相當(dāng)重要的意義。
1.2 設(shè)計原則
軟件的設(shè)計原則都是以良好的交互性為前提,所以,多專題森林資源數(shù)據(jù)錄入軟件的操作界面應(yīng)該簡潔明了。對3類森林資源調(diào)查的設(shè)計都應(yīng)以相似操作為主,方便用戶學(xué)習(xí)。對表單結(jié)構(gòu)的設(shè)計應(yīng)該包括規(guī)范化的表單結(jié)構(gòu),也應(yīng)當(dāng)具有靈活的表單管理過程。要充分體現(xiàn)出軟件的重用性、共享性。軟件開發(fā)完成后,用戶可在各種不同的調(diào)查中對數(shù)據(jù)進(jìn)行操作,并且擁有多種顯示方式,提高數(shù)據(jù)的實際操作性。最后,錄入數(shù)據(jù)的準(zhǔn)確性以及規(guī)范性也要有相應(yīng)的要求。
面向特征是該領(lǐng)域分析的主要特征,它通過分析產(chǎn)品的相似點與不同點,通過對比一組特征之間的關(guān)系,進(jìn)而發(fā)展到對整個領(lǐng)域、整個系統(tǒng)特征的對比[6]。從而通過建立特征模型實現(xiàn)對軟件需求的分析。
2.1 上下文分析
上下文分析的主要目的是確定領(lǐng)域的規(guī)模、范圍。并且外部元素與領(lǐng)域的關(guān)系也需要處理。森林資源數(shù)據(jù)錄入軟件主要幫助林業(yè)相關(guān)工作者確定調(diào)查任務(wù),同時,也需要確認(rèn)調(diào)查項目、調(diào)查元素以及表格格式等。對表格的輸出采取網(wǎng)頁、辦公軟件以及GIS三者相融合的方式。錄入軟件中不需要改變各類調(diào)查的技術(shù)標(biāo)準(zhǔn)、各類調(diào)查的調(diào)查范圍以及各類調(diào)查的單位范圍。但是林業(yè)工作者需要選擇所需要的調(diào)查種類,確定建表類型以及選擇所需要的表單結(jié)構(gòu)以及最后表單結(jié)果的選擇方式。
2.2 領(lǐng)域建模
領(lǐng)域特征模型是面向特征的領(lǐng)域需求規(guī)約模型,是領(lǐng)域分析階段的重要產(chǎn)物。采用一種基于領(lǐng)域分析的簡化的特征模型作為森林資源數(shù)據(jù)采集領(lǐng)域模型,模型分為服務(wù)特征、功能信息、行為特征3個方面[7]。
2.2.1 服務(wù)特征層分析 多專題森林資源數(shù)據(jù)采集的服務(wù)特征分析是為了獲得林業(yè)相關(guān)工作者對采集系統(tǒng)正常情況下的能力理解,即是特征。因此可以從3個方面獲取到領(lǐng)域方面?zhèn)€性與共性的特征,即用戶需求、業(yè)務(wù)需求、功能需求。業(yè)務(wù)需求就是系統(tǒng)要達(dá)到的目標(biāo);用戶需求講述系統(tǒng)與用戶的聯(lián)系,有可能在此過程中會體現(xiàn)該領(lǐng)域內(nèi)普遍接受的業(yè)務(wù)流程;功能需求則是為了實現(xiàn)指定的業(yè)務(wù),是滿足用戶的方法。
圖2 多專題輸入軟件控制流圖
對于廣大林業(yè)工作者來說,需要系統(tǒng)能夠合理而自由的創(chuàng)建表單,對表單的操作準(zhǔn)確而簡單,對于表單的使用靈活而快速。在系統(tǒng)層面上,多專題森林資源數(shù)據(jù)采集系統(tǒng)主要用于各類森林調(diào)查的數(shù)據(jù)整理。比如一類調(diào)查中對樣地進(jìn)行的森林災(zāi)害調(diào)查、植被調(diào)查等;二類調(diào)查中進(jìn)行的人工林面積、蓄積調(diào)查,林地的規(guī)劃調(diào)查,各個種類森林的生長量、蓄積、枯萎量的調(diào)查;三類調(diào)查中對作業(yè)地段進(jìn)行的蓄積量以及各種木材種類的出材量詳細(xì)調(diào)查等,而由于三類調(diào)查的采集方式均有使用每木檢尺的方法,因此對于能夠重復(fù)利用的數(shù)據(jù)要有效使用。在建表的過程中,用戶可以對表單的分類進(jìn)行詳細(xì)地分化,對表單中字段的類型、種類可以任意地設(shè)置,增強表單的靈活性;表單中的主干可以更改與刪除,對表單中的數(shù)據(jù)也可以進(jìn)行相應(yīng)的增刪改查。在顯示的過程中,也要讓結(jié)果多樣化,適合各類人群查看及使用數(shù)據(jù)。
圖3 表單名稱輸入數(shù)據(jù)流圖
2.2.2 功能信息層分析 功能信息分析的主要任務(wù)是分析和定義領(lǐng)域中為實現(xiàn)應(yīng)用而需要的數(shù)據(jù)需求以及領(lǐng)域知識。根據(jù)信息分析的目標(biāo),可以確定本系統(tǒng)使用領(lǐng)域?qū)嶓w及其相關(guān)聯(lián)的處理方法與關(guān)系來實現(xiàn)領(lǐng)域知識和相應(yīng)數(shù)據(jù)。在系統(tǒng)使用中,用戶需要輸入建表類型、建表單位、建表時間,表單初始化時所含有的字段信息,以及在相應(yīng)分類下的使用目的等更加詳細(xì)的分類。在表單建成后,用戶還需要各個表單中需要添加字段的信息。輸入完成后,系統(tǒng)開始對數(shù)據(jù)進(jìn)行有效處理,分析表單詳細(xì)屬性,創(chuàng)建初始表,對初始表進(jìn)行刪改,對表單結(jié)構(gòu)進(jìn)行修改,對改進(jìn)表的結(jié)構(gòu)進(jìn)行操作,對表單中的數(shù)據(jù)進(jìn)行操作。在結(jié)果處理上,需要顯示各種分類下的表單概況,在web上顯示表單結(jié)構(gòu)、信息。將信息轉(zhuǎn)化為可供辦公使用的文件,以及在GIS上不斷更新信息。
2.2.3 行為特征層分析 該分析的主要目的是要確定領(lǐng)域特征中的行為,包括控制流與數(shù)據(jù)流的差異性以及相同性,有限自動控制機模型等。在程序中,控制與數(shù)據(jù)是最基礎(chǔ)的單位。控制的規(guī)范性不是那么完美,數(shù)據(jù)更加規(guī)則但是由于其易懂的特性決定了其具有一定的限制性??刂屏鲌D(Control Flow Diagram,CFD)是控制的基本元素,主要依據(jù)條件確定程序走向[8]。在多專題數(shù)據(jù)采集輸入的過程中,首先要選擇調(diào)查類型,確定調(diào)查范圍,通過確定表單的使用期限使得表單更加人性化。在各類調(diào)查中有著很多的調(diào)查細(xì)分,比如二類清查中的生長量調(diào)查,林帶調(diào)查,四旁樹調(diào)查等,當(dāng)然也應(yīng)該存在于當(dāng)前分類下的自定義調(diào)查表。在表單建好后,需要對表單中的字段進(jìn)行操作,完善表單格式與完整性(圖2)。
數(shù)據(jù)流圖(Data Flow Diagram,DFD)則是數(shù)據(jù)的基礎(chǔ),其與傳統(tǒng)的框圖以及流程圖有著本質(zhì)的區(qū)別,數(shù)據(jù)流圖著眼于數(shù)據(jù),憑借數(shù)據(jù)描述整體系統(tǒng)功能[9]。因為本系統(tǒng)功能量大,僅使用1個數(shù)據(jù)流圖無法實現(xiàn),需要多個數(shù)據(jù)流圖共同完成。首先,從D0層出發(fā),通過森林資源數(shù)據(jù)采集系統(tǒng)完成整體建表的操作;從D0層過度到D1層中,又細(xì)分創(chuàng)建表單、信息輸入、表單校驗等模塊;將D1層再向下細(xì)分就到了D2層,在D2層中,可以對功能進(jìn)行更加詳細(xì)地劃分,把D1層的1功能細(xì)分后,就能得到1功能的詳細(xì)情況,包括創(chuàng)建基本表單,補充表單內(nèi)容,創(chuàng)建完整表單等(圖3)。至于D2層的其他功能以及向D3層的拓展,這里不做詳述。
2.3 軟件架構(gòu)建模
對于一個系統(tǒng)、一個功能,它的體系結(jié)構(gòu)就相當(dāng)于該領(lǐng)域下的高端設(shè)計。一個完整的體系結(jié)構(gòu)對于系統(tǒng)的完成有著重要的意義[10]。通過UML領(lǐng)域建模,通過詳細(xì)的分析與設(shè)計,就可以完整地表示整個系統(tǒng),有助于后期代碼的編寫[11]。首先,要確定幾個概念,有助于對架構(gòu)圖的理解。對于一個類而言,它的包含關(guān)系為:Class diagram={class name,attributes,methods},接著是對于屬性的描述,在這里,規(guī)定C(x):x表示所有的類,A(x,y):x類的y屬性,d表示具體的數(shù)據(jù)類型,則對于屬性的一階邏輯描述為[12]:?x,y(C(x))∧A(x,y)→d(y);Methods在UML中屬于函數(shù),相當(dāng)于函數(shù)屬性,在類C中,假定Methods中每一個函數(shù)都有著其返回值,這里設(shè)返回值為R,操作值格式為f(p1,p2,p3..pn):R,則對于方法的一階邏輯描述為:?x,p1,p2,p3..pn,R.f(x,p1,p2,..pn,R)?p1∧p2...∧pn。
圖4 多專題軟件輸入系統(tǒng)體系結(jié)構(gòu)圖
就多專題森林資源數(shù)據(jù)采集輸入系統(tǒng)來說,整個系統(tǒng)分為table,fields,data 3大部分組成,在table下繼續(xù)細(xì)分為CFI table,MFI table,CDI table 3個附屬部分,3個細(xì)分表中都擁有createtable與deletetable直接操作表單整體的方法。對于table來說,fields是主要組成部分,假設(shè)每1個field都由fname,ftype,flength 3個參數(shù),3個參數(shù)都擁有各自的數(shù)據(jù)類型string,oj,int。fields中也擁有如addfields等操作功能,fields與table之間是contains-a關(guān)系,如果table不存在,那么fields也就消失了。而data則是讓整個table顯得更加完善,對于data來說,它也有著與其對應(yīng)的如updatedata等操作。整體上table,fields與data都要通過dbOperation數(shù)據(jù)庫操作模型進(jìn)行處理,最后OutPutDataForDb則需要從dbOperation中獲取數(shù)據(jù)進(jìn)行各種結(jié)果的展示(圖4)。
圖5 多專題輸入軟件建表界面
經(jīng)過領(lǐng)域分析找到各類清查的特異性后,為了體現(xiàn)多專題的特點,通過對一類、二類調(diào)查建表的分析對比進(jìn)行詳解。首先需要確定調(diào)查類型,之后,對于一類調(diào)查來說,需要確定省份、直轄市等,建表過程可以柔性添加面積、蓄積量、枯損量、生長量等字段信息;二類調(diào)查則需要確定地方林業(yè)局,由于其調(diào)查內(nèi)容的多樣性,對于林業(yè)資源、小班、生產(chǎn)條件等需要進(jìn)行詳細(xì)分類,每一項分類也可以根據(jù)需要柔性添加默認(rèn)字段,對于小班等準(zhǔn)確數(shù)據(jù),可以根據(jù)準(zhǔn)確數(shù)據(jù)對其進(jìn)行級聯(lián)查詢,從而保證數(shù)據(jù)的及時更新??傮w上,一類、二類調(diào)查的內(nèi)容格式相近,操作相近,對于二類調(diào)查中的詳細(xì)分類,可以通過操作文本框的顯隱來操作,從而實現(xiàn)多專題的柔性轉(zhuǎn)換(圖5)。
完成對表單的創(chuàng)建以及字段的操作以后,各類調(diào)查數(shù)據(jù)操作大體相同,就是對表單中的信息進(jìn)行操作,用戶可以動態(tài)地完成表單字段內(nèi)容的更新。如果用戶對已經(jīng)建好的表單結(jié)構(gòu)有任何異議,都可以對表單中字段的內(nèi)容進(jìn)行隨時更改,而表單完整新信息則會在頁面上顯示出來,在信息輸入時既可以對表單內(nèi)容直接操作,也可以通過辦公軟件導(dǎo)入等以完成對表單內(nèi)容的完善。本系統(tǒng)強調(diào)對所有表單都可以進(jìn)行信息的導(dǎo)入工作,導(dǎo)入信息后,內(nèi)容會及時更新在頁面中,方便確認(rèn)(圖6)??梢詷O大地提高表單信息的輸入效率,從而也提高了系統(tǒng)的可拓展性。
圖6 錄入信息顯示界面
在森林資源數(shù)據(jù)采集輸入系統(tǒng)的創(chuàng)建上引入軟件復(fù)用的理念,運用面向?qū)ο箢I(lǐng)域建模方法與理論,實現(xiàn)對森林資源數(shù)據(jù)采集輸入系統(tǒng)的比較完整的領(lǐng)域分析,建立領(lǐng)域分析模型以及1套軟件開發(fā)可行的方式,從而可以實現(xiàn)提高對森林資源數(shù)據(jù)采集輸入系統(tǒng)的開發(fā)效率與利用率。
目前,在已經(jīng)完成領(lǐng)域分析與領(lǐng)域建模的前提下,對本系統(tǒng)實現(xiàn)了比較快速的開發(fā),當(dāng)然,如果想要繼續(xù)完善本系統(tǒng),還需要使領(lǐng)域模型具有更好的適應(yīng)性??傮w上來說,通過領(lǐng)域分析,可以清楚地看到領(lǐng)域工程在數(shù)字林業(yè)以及今后智慧林業(yè)上所發(fā)揮的作用,具有良好的使用價值。
[1]王志平,李耀翔,萬道印.基于VB的森林資源數(shù)據(jù)采集系統(tǒng)構(gòu)建[J].森林工程,2010(1):12-15.
[2]克延棟.淺談計算機軟件復(fù)用技術(shù)的研究[J].數(shù)字化用戶,2013(4):47-49.
[3]殷旭,廖斌,張志華,等.基于AJAX工作流表單的研究與應(yīng)用[J].計算機應(yīng)用與軟件,2010(3):75-77,109.
[4]劉鵬舉,周宇飛,李志清,等.多專題森林資源調(diào)查數(shù)據(jù)輸入建模技術(shù)研究[J].北京林業(yè)大學(xué)學(xué)報,2009(1):50-54.
[5]徐成龍,樊杰.面向服務(wù)的領(lǐng)域分析方法的研究[J].計算機與現(xiàn)代化,2013(2):69-72.
[6]胡兵,張帆,劉瑾奕,等.基于領(lǐng)域工程的衛(wèi)生監(jiān)督信息系統(tǒng)研究與實現(xiàn)[J].計算機應(yīng)用與軟件,2011(12):112-114.
[7]權(quán)巍,邢忠寶,王弼陡,等.基于FODA的特定領(lǐng)域軟件建模[J].華中科技大學(xué)學(xué)報:自然科學(xué)版,2009(8):35-38.
[8]封戰(zhàn)勝,蘇小紅,馬培軍.從GCC的AST文本提取C源程序靜態(tài)信息的方法[J].哈爾濱工業(yè)大學(xué)學(xué)報,2010(7):1100-1103.
[9]Kang Zhao,Jinian Bian.Processor Accelerator Customization through Data Flow Graph Exploration[J].IEICE Transactions on fundamentals of electronics,communications &;computer sciences,2011,E94-A(7):1540-1552.
[10]Time-triggered State-machine Reliable Software Architecture for Micro Turbine Engine Control[J].Chinese Journal of Aeronautics,2012(6):839-845.
[11]李傳煌,王偉明,施銀燕.一種UML軟件架構(gòu)性能預(yù)測方法及其自動化研究[J].軟件學(xué)報,2013(7):1512-1528.
[12]陳振慶.基于SHOIN(D)的UML類圖形式化方法[J].計算機工程,2009(19):43-45.
Modeling Technology of Multi-thematic Data Collect for Forest Resource Inventory
LIN Feng,WANG Ni-hong,GAO Xin-dan,DAI Wei
(NortheastForestryUniversity,Harbin150040,Heilongjiang,China)
Through the analysis of the field oriented feature modeling technology,it implements the analysis of the whole structure of software and domain modeling.By analyzing the whole of data put software,it realizes the effective encapsulation about the public part of software,parameter variant parts for extension.So it can realize create table quickly,maintenance table information quickly,and input lots of information.By using this analysis,not only can it apply to CFI,MFI,CDI,but also apply to the development of the forest in the future.The study can improve the efficiency of collecting.
forest resource;the efficiency of collecting;domain analysis;domain modeling
10.13428/j.cnki.fjlk.2015.04.031
2014-11-24;
2015-01-12
“十二五”農(nóng)村領(lǐng)域國家科技計劃課題(2012AA102003-2);林業(yè)科學(xué)技術(shù)推廣項目(數(shù)字林業(yè)綜合軟件技術(shù)與應(yīng)用,[2012]43號)
林峰(1989—),男,江蘇或縣人,東北林業(yè)大學(xué)碩士研究生,從事計算機應(yīng)用技術(shù)研究。E-mail:421827284@qq.com。
王霓虹(1952—),女,黑龍江哈爾濱人,東北林業(yè)大學(xué)教授,博士生導(dǎo)師,從事林業(yè)工程研究。E-mail:wnh@mail.nefu.edu.cn。
S757.2
A
1002-7351(2015)04-0143-05