亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        面向?qū)ο蟮姆椒ê驮O(shè)計(jì)模式在EPAPS中的應(yīng)用

        2014-11-10 12:12:06蘭洪霞
        科技資訊 2014年13期
        關(guān)鍵詞:設(shè)計(jì)模式面向?qū)ο?/a>

        蘭洪霞

        摘 要:本文介紹了面向?qū)ο蟮姆椒ê驮O(shè)計(jì)模式在ELIS海洋石油成像測(cè)井地面后處理平臺(tái)EPAPS中的應(yīng)用,及EPAPS的主要設(shè)計(jì)思想。

        關(guān)鍵詞:測(cè)井系統(tǒng) 數(shù)據(jù)后處理 面向?qū)ο?設(shè)計(jì)模式

        中圖分類號(hào):TE32 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2014)05(a)-0104-03

        ELIS海洋石油成像測(cè)井系統(tǒng)(Enhanced Logging Imaging System)是中海油田股份有限公司自主研發(fā)具有自主知識(shí)產(chǎn)權(quán)的用于海上石油勘探開發(fā)的電纜測(cè)井成像系統(tǒng),它主要由地面采集系統(tǒng)、井下儀器和數(shù)據(jù)解釋處理三個(gè)部分組成。

        EPAPS即現(xiàn)場(chǎng)快速數(shù)據(jù)解釋處理平臺(tái),主要功能包括數(shù)據(jù)加載,數(shù)據(jù)的處理和顯示、出圖、文件格式轉(zhuǎn)換等。EPAPS采用了徹底的面向?qū)ο笤O(shè)計(jì)理念,妥善利用了多種先進(jìn)的軟件設(shè)計(jì)模式,整體架構(gòu)簡(jiǎn)潔明了,在軟件功能性、可維護(hù)性、可擴(kuò)展性和模塊互操作性等諸多工程要素上均有著非常出色的表現(xiàn)。

        1 面向?qū)ο笤O(shè)計(jì)理念

        面向?qū)ο蟮脑O(shè)計(jì)理念主要包括抽象、封裝、繼承、多態(tài),EPAPS靈活運(yùn)用了這些面向?qū)ο蟮脑O(shè)計(jì)理念對(duì)EPAPS進(jìn)行了合理的分層、分包、建立類的層次結(jié)構(gòu)和良好的體系架構(gòu),使EPAPS可復(fù)用性、可維護(hù)性、可擴(kuò)展性都得到了極大的提高。

        2 設(shè)計(jì)模式

        要使系統(tǒng)最大程度的適應(yīng)需求的變更或新增,就必須在其要實(shí)現(xiàn)的宏觀業(yè)務(wù)邏輯的抽象復(fù)用上下功夫。而設(shè)計(jì)模式就是綜合運(yùn)用面向?qū)ο蠹夹g(shù)和特性來(lái)提高業(yè)務(wù)邏輯可復(fù)用性的常用方法和經(jīng)驗(yàn)的提取和匯總。掌握23種設(shè)計(jì)模式的關(guān)鍵是理解它們的共通目的:使所設(shè)計(jì)的軟件系統(tǒng)在一般或特定(系統(tǒng)將來(lái)在特定點(diǎn)上需要擴(kuò)展的可能性大)場(chǎng)景下,盡可能的對(duì)擴(kuò)展開放,對(duì)修改關(guān)閉。即面對(duì)新需求或需求變更,容易開發(fā)獨(dú)立于既有代碼的新代碼接入到現(xiàn)有系統(tǒng)或?qū)ΜF(xiàn)有代碼做可控的少量修改,而不是在現(xiàn)有代碼基礎(chǔ)上做大量的增、刪、改。為了這一目的,EPAPS使用了多種設(shè)計(jì)模式提高軟件平臺(tái)的可擴(kuò)展性、靈活性、可插入性。

        3 具體設(shè)計(jì)

        3.1 總體架構(gòu)

        圖1是EPAPS軟件的總體架構(gòu),它反映了EPAPS軟件的總體構(gòu)成和各頂層軟件包之間的相互關(guān)系。

        從圖1可以看出,EPAPS應(yīng)用軟件架構(gòu)體現(xiàn)了層次化設(shè)計(jì)的思想,共有四個(gè)層次五大模塊。

        第一層是基礎(chǔ)設(shè)施軟件包,該軟件包定義了復(fù)雜應(yīng)用的基本構(gòu)件、工具,包括UserMath基本數(shù)學(xué)庫(kù)、Common.Spec基本設(shè)施公共庫(kù)規(guī)范、Common公共設(shè)施基礎(chǔ)庫(kù)等。

        第二層是表象和數(shù)據(jù)的基礎(chǔ),由交互式二維圖形應(yīng)用基礎(chǔ)類庫(kù)GP和專業(yè)數(shù)據(jù)Data兩大軟件包構(gòu)成。Data軟件包定義了測(cè)井?dāng)?shù)據(jù)的基本規(guī)范,并實(shí)現(xiàn)了常用的數(shù)據(jù)格式。同時(shí)Data軟件包還設(shè)計(jì)了數(shù)據(jù)管理及專業(yè)數(shù)據(jù)處理的規(guī)范和基本功能模塊。

        第三層是測(cè)井應(yīng)用程序架構(gòu)層,本層定義了專業(yè)測(cè)井應(yīng)用的基本規(guī)范和基礎(chǔ)構(gòu)件。

        第四層是具體執(zhí)行各種用戶功能的應(yīng)用層。

        上述四個(gè)層次中低層軟件包是上層軟件的基礎(chǔ),為上層軟件包提供支持或規(guī)范。

        3.2 UDF統(tǒng)一測(cè)井?dāng)?shù)據(jù)框架

        目前測(cè)井?dāng)?shù)據(jù)格式?jīng)]有統(tǒng)一的標(biāo)準(zhǔn),國(guó)內(nèi)外每個(gè)測(cè)井裝備供應(yīng)商都有一到多種自定義的測(cè)井?dāng)?shù)據(jù)格式,再加上一些研究機(jī)構(gòu)和軟件供應(yīng)商定義的數(shù)據(jù)格式,使得常見的測(cè)井?dāng)?shù)據(jù)格式多達(dá)二十余種,下表列舉了其中的一部分(見表1)。

        為了支持大多數(shù)測(cè)井?dāng)?shù)據(jù)格式的訪問(wèn)和轉(zhuǎn)換,我們綜合分析了實(shí)時(shí)測(cè)井?dāng)?shù)據(jù)采集和解釋處理的各項(xiàng)業(yè)務(wù)需求,深入研究了多種代表性的測(cè)井?dāng)?shù)據(jù)格式(包括DLIS)的邏輯結(jié)構(gòu)及具體內(nèi)容,設(shè)計(jì)了UDF統(tǒng)一測(cè)井?dāng)?shù)據(jù)框架。

        UDF統(tǒng)一測(cè)井?dāng)?shù)據(jù)框架給出了如下規(guī)范:

        (1)測(cè)井?dāng)?shù)據(jù)的對(duì)象模型。

        (2)測(cè)井?dāng)?shù)據(jù)對(duì)象的屬性規(guī)范。

        (3)測(cè)井?dāng)?shù)據(jù)對(duì)象的接口規(guī)范。

        (4)測(cè)井?dāng)?shù)據(jù)格式插件及管理規(guī)范。

        下面的類圖反映了UDF的對(duì)象模型:

        從圖2可以看出,UDF支持如下類型的數(shù)據(jù)對(duì)象:

        (1)支持幀結(jié)構(gòu)的測(cè)井?dāng)?shù)據(jù)(即通常所說(shuō)的測(cè)井曲線,可以是多維的)。包括等深度及不等深度的測(cè)井?dāng)?shù)據(jù)、深度采樣的測(cè)井?dāng)?shù)據(jù)、時(shí)間采樣的測(cè)井?dāng)?shù)據(jù)等等。

        (2)支持二進(jìn)制流數(shù)據(jù)。

        (3)支持文本數(shù)據(jù)。

        (4)支持XML數(shù)據(jù)。

        (5)支持結(jié)構(gòu)化的參數(shù)數(shù)據(jù)。

        (6)支持各種專業(yè)數(shù)據(jù)(如刻度信息、儀器信息、處理信息等)。

        上述數(shù)據(jù)對(duì)象模型基本覆蓋了實(shí)時(shí)測(cè)井采集和解釋處理各方面的業(yè)務(wù)需求。

        另外,UDF的插件機(jī)制為用戶開發(fā)各種具體數(shù)據(jù)格式的驅(qū)動(dòng)接口提供了很好的解決方案。

        3.3 表象體系架構(gòu)

        EPAPS的表象對(duì)象體系負(fù)責(zé)各種專業(yè)數(shù)據(jù)的顯示和人機(jī)交互,它構(gòu)建于專業(yè)圖形應(yīng)用軟件包GP之上,具體應(yīng)用采用繪圖頁(yè)插件形式實(shí)現(xiàn),這些繪圖頁(yè)插件都位于EPAPS的應(yīng)用層。這種設(shè)計(jì)架構(gòu)保證了 EPAPS的工能性和可擴(kuò)展性。

        圖3反映了EPAPS表象體系的底層架構(gòu)。

        圖3中的GP.Core定義了基本的圖形數(shù)據(jù)結(jié)構(gòu)和基礎(chǔ)的繪圖操作,GP.Dock提供了多窗口的錨定支持功能。GP.UILite, GP.UIEx,GP.UICommon提供了一系列的圖形交互控件,GP.Spec定義了表象體系規(guī)范,GP.Draw是二維圖形應(yīng)用程序的框架類庫(kù)。

        VisualObject是基本可視對(duì)象,繪圖頁(yè)DrawCanvas、繪圖文檔DrawDocumentBase兩個(gè)上層對(duì)象提供了可視對(duì)象的兩級(jí)管理,足以應(yīng)對(duì)一般圖形應(yīng)用的各種需求。

        繪圖頁(yè)模板CanvasTemplate和文檔模板DocumentTemplate以工廠類的方式提供了繪圖頁(yè)和文檔的創(chuàng)建機(jī)制,為動(dòng)態(tài)創(chuàng)建用戶開發(fā)的具體繪圖頁(yè)和文檔對(duì)象提供了支持。

        圖形用戶交互工具對(duì)象IUiTool及其管理器UIToolManager將用戶交互和圖形顯示進(jìn)行分離,這樣交互工作比較專一,擴(kuò)充起來(lái)也更加方便。例如TextEditor配合UitGeneric交互工具對(duì)象可以完成各種文字編輯輸入工作。

        測(cè)井繪圖時(shí)各種測(cè)井應(yīng)用軟件的一個(gè)重要功能,EPAPS使用插件機(jī)制在GP基礎(chǔ)上開發(fā)的EPAPS.Canvas.WellLog動(dòng)態(tài)鏈接庫(kù)專門負(fù)責(zé)測(cè)井繪圖工作,圖4是EPAPS.Canvas.WellLog的對(duì)象類結(jié)構(gòu)(見圖4)。

        4 結(jié)語(yǔ)

        EPAPS測(cè)井后處理系統(tǒng)軟件使用了面向?qū)ο笏枷爰岸喾N成熟的軟件設(shè)計(jì)模式,這些模式或用來(lái)實(shí)現(xiàn)某種用戶功能、或用來(lái)簡(jiǎn)化總體架構(gòu),或用來(lái)提高系統(tǒng)的擴(kuò)展性,或用來(lái)改善系統(tǒng)性能,下表對(duì)本系統(tǒng)所使用的幾個(gè)主要軟件設(shè)計(jì)模式做了個(gè)簡(jiǎn)單的總結(jié)(見表2)。

        參考文獻(xiàn)

        [1] 程杰.大話設(shè)計(jì)模式[M].清華大學(xué)出版社,2010.

        [2] 楊莉萍.面向?qū)ο蟮姆椒ê驮O(shè)計(jì)模式 [J].計(jì)算機(jī)應(yīng)用與軟件,2006(3):37-39.

        [3] 鐘尚平.論設(shè)計(jì)模式的重用[J].福建電腦,2006(3):2-4.endprint

        摘 要:本文介紹了面向?qū)ο蟮姆椒ê驮O(shè)計(jì)模式在ELIS海洋石油成像測(cè)井地面后處理平臺(tái)EPAPS中的應(yīng)用,及EPAPS的主要設(shè)計(jì)思想。

        關(guān)鍵詞:測(cè)井系統(tǒng) 數(shù)據(jù)后處理 面向?qū)ο?設(shè)計(jì)模式

        中圖分類號(hào):TE32 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2014)05(a)-0104-03

        ELIS海洋石油成像測(cè)井系統(tǒng)(Enhanced Logging Imaging System)是中海油田股份有限公司自主研發(fā)具有自主知識(shí)產(chǎn)權(quán)的用于海上石油勘探開發(fā)的電纜測(cè)井成像系統(tǒng),它主要由地面采集系統(tǒng)、井下儀器和數(shù)據(jù)解釋處理三個(gè)部分組成。

        EPAPS即現(xiàn)場(chǎng)快速數(shù)據(jù)解釋處理平臺(tái),主要功能包括數(shù)據(jù)加載,數(shù)據(jù)的處理和顯示、出圖、文件格式轉(zhuǎn)換等。EPAPS采用了徹底的面向?qū)ο笤O(shè)計(jì)理念,妥善利用了多種先進(jìn)的軟件設(shè)計(jì)模式,整體架構(gòu)簡(jiǎn)潔明了,在軟件功能性、可維護(hù)性、可擴(kuò)展性和模塊互操作性等諸多工程要素上均有著非常出色的表現(xiàn)。

        1 面向?qū)ο笤O(shè)計(jì)理念

        面向?qū)ο蟮脑O(shè)計(jì)理念主要包括抽象、封裝、繼承、多態(tài),EPAPS靈活運(yùn)用了這些面向?qū)ο蟮脑O(shè)計(jì)理念對(duì)EPAPS進(jìn)行了合理的分層、分包、建立類的層次結(jié)構(gòu)和良好的體系架構(gòu),使EPAPS可復(fù)用性、可維護(hù)性、可擴(kuò)展性都得到了極大的提高。

        2 設(shè)計(jì)模式

        要使系統(tǒng)最大程度的適應(yīng)需求的變更或新增,就必須在其要實(shí)現(xiàn)的宏觀業(yè)務(wù)邏輯的抽象復(fù)用上下功夫。而設(shè)計(jì)模式就是綜合運(yùn)用面向?qū)ο蠹夹g(shù)和特性來(lái)提高業(yè)務(wù)邏輯可復(fù)用性的常用方法和經(jīng)驗(yàn)的提取和匯總。掌握23種設(shè)計(jì)模式的關(guān)鍵是理解它們的共通目的:使所設(shè)計(jì)的軟件系統(tǒng)在一般或特定(系統(tǒng)將來(lái)在特定點(diǎn)上需要擴(kuò)展的可能性大)場(chǎng)景下,盡可能的對(duì)擴(kuò)展開放,對(duì)修改關(guān)閉。即面對(duì)新需求或需求變更,容易開發(fā)獨(dú)立于既有代碼的新代碼接入到現(xiàn)有系統(tǒng)或?qū)ΜF(xiàn)有代碼做可控的少量修改,而不是在現(xiàn)有代碼基礎(chǔ)上做大量的增、刪、改。為了這一目的,EPAPS使用了多種設(shè)計(jì)模式提高軟件平臺(tái)的可擴(kuò)展性、靈活性、可插入性。

        3 具體設(shè)計(jì)

        3.1 總體架構(gòu)

        圖1是EPAPS軟件的總體架構(gòu),它反映了EPAPS軟件的總體構(gòu)成和各頂層軟件包之間的相互關(guān)系。

        從圖1可以看出,EPAPS應(yīng)用軟件架構(gòu)體現(xiàn)了層次化設(shè)計(jì)的思想,共有四個(gè)層次五大模塊。

        第一層是基礎(chǔ)設(shè)施軟件包,該軟件包定義了復(fù)雜應(yīng)用的基本構(gòu)件、工具,包括UserMath基本數(shù)學(xué)庫(kù)、Common.Spec基本設(shè)施公共庫(kù)規(guī)范、Common公共設(shè)施基礎(chǔ)庫(kù)等。

        第二層是表象和數(shù)據(jù)的基礎(chǔ),由交互式二維圖形應(yīng)用基礎(chǔ)類庫(kù)GP和專業(yè)數(shù)據(jù)Data兩大軟件包構(gòu)成。Data軟件包定義了測(cè)井?dāng)?shù)據(jù)的基本規(guī)范,并實(shí)現(xiàn)了常用的數(shù)據(jù)格式。同時(shí)Data軟件包還設(shè)計(jì)了數(shù)據(jù)管理及專業(yè)數(shù)據(jù)處理的規(guī)范和基本功能模塊。

        第三層是測(cè)井應(yīng)用程序架構(gòu)層,本層定義了專業(yè)測(cè)井應(yīng)用的基本規(guī)范和基礎(chǔ)構(gòu)件。

        第四層是具體執(zhí)行各種用戶功能的應(yīng)用層。

        上述四個(gè)層次中低層軟件包是上層軟件的基礎(chǔ),為上層軟件包提供支持或規(guī)范。

        3.2 UDF統(tǒng)一測(cè)井?dāng)?shù)據(jù)框架

        目前測(cè)井?dāng)?shù)據(jù)格式?jīng)]有統(tǒng)一的標(biāo)準(zhǔn),國(guó)內(nèi)外每個(gè)測(cè)井裝備供應(yīng)商都有一到多種自定義的測(cè)井?dāng)?shù)據(jù)格式,再加上一些研究機(jī)構(gòu)和軟件供應(yīng)商定義的數(shù)據(jù)格式,使得常見的測(cè)井?dāng)?shù)據(jù)格式多達(dá)二十余種,下表列舉了其中的一部分(見表1)。

        為了支持大多數(shù)測(cè)井?dāng)?shù)據(jù)格式的訪問(wèn)和轉(zhuǎn)換,我們綜合分析了實(shí)時(shí)測(cè)井?dāng)?shù)據(jù)采集和解釋處理的各項(xiàng)業(yè)務(wù)需求,深入研究了多種代表性的測(cè)井?dāng)?shù)據(jù)格式(包括DLIS)的邏輯結(jié)構(gòu)及具體內(nèi)容,設(shè)計(jì)了UDF統(tǒng)一測(cè)井?dāng)?shù)據(jù)框架。

        UDF統(tǒng)一測(cè)井?dāng)?shù)據(jù)框架給出了如下規(guī)范:

        (1)測(cè)井?dāng)?shù)據(jù)的對(duì)象模型。

        (2)測(cè)井?dāng)?shù)據(jù)對(duì)象的屬性規(guī)范。

        (3)測(cè)井?dāng)?shù)據(jù)對(duì)象的接口規(guī)范。

        (4)測(cè)井?dāng)?shù)據(jù)格式插件及管理規(guī)范。

        下面的類圖反映了UDF的對(duì)象模型:

        從圖2可以看出,UDF支持如下類型的數(shù)據(jù)對(duì)象:

        (1)支持幀結(jié)構(gòu)的測(cè)井?dāng)?shù)據(jù)(即通常所說(shuō)的測(cè)井曲線,可以是多維的)。包括等深度及不等深度的測(cè)井?dāng)?shù)據(jù)、深度采樣的測(cè)井?dāng)?shù)據(jù)、時(shí)間采樣的測(cè)井?dāng)?shù)據(jù)等等。

        (2)支持二進(jìn)制流數(shù)據(jù)。

        (3)支持文本數(shù)據(jù)。

        (4)支持XML數(shù)據(jù)。

        (5)支持結(jié)構(gòu)化的參數(shù)數(shù)據(jù)。

        (6)支持各種專業(yè)數(shù)據(jù)(如刻度信息、儀器信息、處理信息等)。

        上述數(shù)據(jù)對(duì)象模型基本覆蓋了實(shí)時(shí)測(cè)井采集和解釋處理各方面的業(yè)務(wù)需求。

        另外,UDF的插件機(jī)制為用戶開發(fā)各種具體數(shù)據(jù)格式的驅(qū)動(dòng)接口提供了很好的解決方案。

        3.3 表象體系架構(gòu)

        EPAPS的表象對(duì)象體系負(fù)責(zé)各種專業(yè)數(shù)據(jù)的顯示和人機(jī)交互,它構(gòu)建于專業(yè)圖形應(yīng)用軟件包GP之上,具體應(yīng)用采用繪圖頁(yè)插件形式實(shí)現(xiàn),這些繪圖頁(yè)插件都位于EPAPS的應(yīng)用層。這種設(shè)計(jì)架構(gòu)保證了 EPAPS的工能性和可擴(kuò)展性。

        圖3反映了EPAPS表象體系的底層架構(gòu)。

        圖3中的GP.Core定義了基本的圖形數(shù)據(jù)結(jié)構(gòu)和基礎(chǔ)的繪圖操作,GP.Dock提供了多窗口的錨定支持功能。GP.UILite, GP.UIEx,GP.UICommon提供了一系列的圖形交互控件,GP.Spec定義了表象體系規(guī)范,GP.Draw是二維圖形應(yīng)用程序的框架類庫(kù)。

        VisualObject是基本可視對(duì)象,繪圖頁(yè)DrawCanvas、繪圖文檔DrawDocumentBase兩個(gè)上層對(duì)象提供了可視對(duì)象的兩級(jí)管理,足以應(yīng)對(duì)一般圖形應(yīng)用的各種需求。

        繪圖頁(yè)模板CanvasTemplate和文檔模板DocumentTemplate以工廠類的方式提供了繪圖頁(yè)和文檔的創(chuàng)建機(jī)制,為動(dòng)態(tài)創(chuàng)建用戶開發(fā)的具體繪圖頁(yè)和文檔對(duì)象提供了支持。

        圖形用戶交互工具對(duì)象IUiTool及其管理器UIToolManager將用戶交互和圖形顯示進(jìn)行分離,這樣交互工作比較專一,擴(kuò)充起來(lái)也更加方便。例如TextEditor配合UitGeneric交互工具對(duì)象可以完成各種文字編輯輸入工作。

        測(cè)井繪圖時(shí)各種測(cè)井應(yīng)用軟件的一個(gè)重要功能,EPAPS使用插件機(jī)制在GP基礎(chǔ)上開發(fā)的EPAPS.Canvas.WellLog動(dòng)態(tài)鏈接庫(kù)專門負(fù)責(zé)測(cè)井繪圖工作,圖4是EPAPS.Canvas.WellLog的對(duì)象類結(jié)構(gòu)(見圖4)。

        4 結(jié)語(yǔ)

        EPAPS測(cè)井后處理系統(tǒng)軟件使用了面向?qū)ο笏枷爰岸喾N成熟的軟件設(shè)計(jì)模式,這些模式或用來(lái)實(shí)現(xiàn)某種用戶功能、或用來(lái)簡(jiǎn)化總體架構(gòu),或用來(lái)提高系統(tǒng)的擴(kuò)展性,或用來(lái)改善系統(tǒng)性能,下表對(duì)本系統(tǒng)所使用的幾個(gè)主要軟件設(shè)計(jì)模式做了個(gè)簡(jiǎn)單的總結(jié)(見表2)。

        參考文獻(xiàn)

        [1] 程杰.大話設(shè)計(jì)模式[M].清華大學(xué)出版社,2010.

        [2] 楊莉萍.面向?qū)ο蟮姆椒ê驮O(shè)計(jì)模式 [J].計(jì)算機(jī)應(yīng)用與軟件,2006(3):37-39.

        [3] 鐘尚平.論設(shè)計(jì)模式的重用[J].福建電腦,2006(3):2-4.endprint

        摘 要:本文介紹了面向?qū)ο蟮姆椒ê驮O(shè)計(jì)模式在ELIS海洋石油成像測(cè)井地面后處理平臺(tái)EPAPS中的應(yīng)用,及EPAPS的主要設(shè)計(jì)思想。

        關(guān)鍵詞:測(cè)井系統(tǒng) 數(shù)據(jù)后處理 面向?qū)ο?設(shè)計(jì)模式

        中圖分類號(hào):TE32 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2014)05(a)-0104-03

        ELIS海洋石油成像測(cè)井系統(tǒng)(Enhanced Logging Imaging System)是中海油田股份有限公司自主研發(fā)具有自主知識(shí)產(chǎn)權(quán)的用于海上石油勘探開發(fā)的電纜測(cè)井成像系統(tǒng),它主要由地面采集系統(tǒng)、井下儀器和數(shù)據(jù)解釋處理三個(gè)部分組成。

        EPAPS即現(xiàn)場(chǎng)快速數(shù)據(jù)解釋處理平臺(tái),主要功能包括數(shù)據(jù)加載,數(shù)據(jù)的處理和顯示、出圖、文件格式轉(zhuǎn)換等。EPAPS采用了徹底的面向?qū)ο笤O(shè)計(jì)理念,妥善利用了多種先進(jìn)的軟件設(shè)計(jì)模式,整體架構(gòu)簡(jiǎn)潔明了,在軟件功能性、可維護(hù)性、可擴(kuò)展性和模塊互操作性等諸多工程要素上均有著非常出色的表現(xiàn)。

        1 面向?qū)ο笤O(shè)計(jì)理念

        面向?qū)ο蟮脑O(shè)計(jì)理念主要包括抽象、封裝、繼承、多態(tài),EPAPS靈活運(yùn)用了這些面向?qū)ο蟮脑O(shè)計(jì)理念對(duì)EPAPS進(jìn)行了合理的分層、分包、建立類的層次結(jié)構(gòu)和良好的體系架構(gòu),使EPAPS可復(fù)用性、可維護(hù)性、可擴(kuò)展性都得到了極大的提高。

        2 設(shè)計(jì)模式

        要使系統(tǒng)最大程度的適應(yīng)需求的變更或新增,就必須在其要實(shí)現(xiàn)的宏觀業(yè)務(wù)邏輯的抽象復(fù)用上下功夫。而設(shè)計(jì)模式就是綜合運(yùn)用面向?qū)ο蠹夹g(shù)和特性來(lái)提高業(yè)務(wù)邏輯可復(fù)用性的常用方法和經(jīng)驗(yàn)的提取和匯總。掌握23種設(shè)計(jì)模式的關(guān)鍵是理解它們的共通目的:使所設(shè)計(jì)的軟件系統(tǒng)在一般或特定(系統(tǒng)將來(lái)在特定點(diǎn)上需要擴(kuò)展的可能性大)場(chǎng)景下,盡可能的對(duì)擴(kuò)展開放,對(duì)修改關(guān)閉。即面對(duì)新需求或需求變更,容易開發(fā)獨(dú)立于既有代碼的新代碼接入到現(xiàn)有系統(tǒng)或?qū)ΜF(xiàn)有代碼做可控的少量修改,而不是在現(xiàn)有代碼基礎(chǔ)上做大量的增、刪、改。為了這一目的,EPAPS使用了多種設(shè)計(jì)模式提高軟件平臺(tái)的可擴(kuò)展性、靈活性、可插入性。

        3 具體設(shè)計(jì)

        3.1 總體架構(gòu)

        圖1是EPAPS軟件的總體架構(gòu),它反映了EPAPS軟件的總體構(gòu)成和各頂層軟件包之間的相互關(guān)系。

        從圖1可以看出,EPAPS應(yīng)用軟件架構(gòu)體現(xiàn)了層次化設(shè)計(jì)的思想,共有四個(gè)層次五大模塊。

        第一層是基礎(chǔ)設(shè)施軟件包,該軟件包定義了復(fù)雜應(yīng)用的基本構(gòu)件、工具,包括UserMath基本數(shù)學(xué)庫(kù)、Common.Spec基本設(shè)施公共庫(kù)規(guī)范、Common公共設(shè)施基礎(chǔ)庫(kù)等。

        第二層是表象和數(shù)據(jù)的基礎(chǔ),由交互式二維圖形應(yīng)用基礎(chǔ)類庫(kù)GP和專業(yè)數(shù)據(jù)Data兩大軟件包構(gòu)成。Data軟件包定義了測(cè)井?dāng)?shù)據(jù)的基本規(guī)范,并實(shí)現(xiàn)了常用的數(shù)據(jù)格式。同時(shí)Data軟件包還設(shè)計(jì)了數(shù)據(jù)管理及專業(yè)數(shù)據(jù)處理的規(guī)范和基本功能模塊。

        第三層是測(cè)井應(yīng)用程序架構(gòu)層,本層定義了專業(yè)測(cè)井應(yīng)用的基本規(guī)范和基礎(chǔ)構(gòu)件。

        第四層是具體執(zhí)行各種用戶功能的應(yīng)用層。

        上述四個(gè)層次中低層軟件包是上層軟件的基礎(chǔ),為上層軟件包提供支持或規(guī)范。

        3.2 UDF統(tǒng)一測(cè)井?dāng)?shù)據(jù)框架

        目前測(cè)井?dāng)?shù)據(jù)格式?jīng)]有統(tǒng)一的標(biāo)準(zhǔn),國(guó)內(nèi)外每個(gè)測(cè)井裝備供應(yīng)商都有一到多種自定義的測(cè)井?dāng)?shù)據(jù)格式,再加上一些研究機(jī)構(gòu)和軟件供應(yīng)商定義的數(shù)據(jù)格式,使得常見的測(cè)井?dāng)?shù)據(jù)格式多達(dá)二十余種,下表列舉了其中的一部分(見表1)。

        為了支持大多數(shù)測(cè)井?dāng)?shù)據(jù)格式的訪問(wèn)和轉(zhuǎn)換,我們綜合分析了實(shí)時(shí)測(cè)井?dāng)?shù)據(jù)采集和解釋處理的各項(xiàng)業(yè)務(wù)需求,深入研究了多種代表性的測(cè)井?dāng)?shù)據(jù)格式(包括DLIS)的邏輯結(jié)構(gòu)及具體內(nèi)容,設(shè)計(jì)了UDF統(tǒng)一測(cè)井?dāng)?shù)據(jù)框架。

        UDF統(tǒng)一測(cè)井?dāng)?shù)據(jù)框架給出了如下規(guī)范:

        (1)測(cè)井?dāng)?shù)據(jù)的對(duì)象模型。

        (2)測(cè)井?dāng)?shù)據(jù)對(duì)象的屬性規(guī)范。

        (3)測(cè)井?dāng)?shù)據(jù)對(duì)象的接口規(guī)范。

        (4)測(cè)井?dāng)?shù)據(jù)格式插件及管理規(guī)范。

        下面的類圖反映了UDF的對(duì)象模型:

        從圖2可以看出,UDF支持如下類型的數(shù)據(jù)對(duì)象:

        (1)支持幀結(jié)構(gòu)的測(cè)井?dāng)?shù)據(jù)(即通常所說(shuō)的測(cè)井曲線,可以是多維的)。包括等深度及不等深度的測(cè)井?dāng)?shù)據(jù)、深度采樣的測(cè)井?dāng)?shù)據(jù)、時(shí)間采樣的測(cè)井?dāng)?shù)據(jù)等等。

        (2)支持二進(jìn)制流數(shù)據(jù)。

        (3)支持文本數(shù)據(jù)。

        (4)支持XML數(shù)據(jù)。

        (5)支持結(jié)構(gòu)化的參數(shù)數(shù)據(jù)。

        (6)支持各種專業(yè)數(shù)據(jù)(如刻度信息、儀器信息、處理信息等)。

        上述數(shù)據(jù)對(duì)象模型基本覆蓋了實(shí)時(shí)測(cè)井采集和解釋處理各方面的業(yè)務(wù)需求。

        另外,UDF的插件機(jī)制為用戶開發(fā)各種具體數(shù)據(jù)格式的驅(qū)動(dòng)接口提供了很好的解決方案。

        3.3 表象體系架構(gòu)

        EPAPS的表象對(duì)象體系負(fù)責(zé)各種專業(yè)數(shù)據(jù)的顯示和人機(jī)交互,它構(gòu)建于專業(yè)圖形應(yīng)用軟件包GP之上,具體應(yīng)用采用繪圖頁(yè)插件形式實(shí)現(xiàn),這些繪圖頁(yè)插件都位于EPAPS的應(yīng)用層。這種設(shè)計(jì)架構(gòu)保證了 EPAPS的工能性和可擴(kuò)展性。

        圖3反映了EPAPS表象體系的底層架構(gòu)。

        圖3中的GP.Core定義了基本的圖形數(shù)據(jù)結(jié)構(gòu)和基礎(chǔ)的繪圖操作,GP.Dock提供了多窗口的錨定支持功能。GP.UILite, GP.UIEx,GP.UICommon提供了一系列的圖形交互控件,GP.Spec定義了表象體系規(guī)范,GP.Draw是二維圖形應(yīng)用程序的框架類庫(kù)。

        VisualObject是基本可視對(duì)象,繪圖頁(yè)DrawCanvas、繪圖文檔DrawDocumentBase兩個(gè)上層對(duì)象提供了可視對(duì)象的兩級(jí)管理,足以應(yīng)對(duì)一般圖形應(yīng)用的各種需求。

        繪圖頁(yè)模板CanvasTemplate和文檔模板DocumentTemplate以工廠類的方式提供了繪圖頁(yè)和文檔的創(chuàng)建機(jī)制,為動(dòng)態(tài)創(chuàng)建用戶開發(fā)的具體繪圖頁(yè)和文檔對(duì)象提供了支持。

        圖形用戶交互工具對(duì)象IUiTool及其管理器UIToolManager將用戶交互和圖形顯示進(jìn)行分離,這樣交互工作比較專一,擴(kuò)充起來(lái)也更加方便。例如TextEditor配合UitGeneric交互工具對(duì)象可以完成各種文字編輯輸入工作。

        測(cè)井繪圖時(shí)各種測(cè)井應(yīng)用軟件的一個(gè)重要功能,EPAPS使用插件機(jī)制在GP基礎(chǔ)上開發(fā)的EPAPS.Canvas.WellLog動(dòng)態(tài)鏈接庫(kù)專門負(fù)責(zé)測(cè)井繪圖工作,圖4是EPAPS.Canvas.WellLog的對(duì)象類結(jié)構(gòu)(見圖4)。

        4 結(jié)語(yǔ)

        EPAPS測(cè)井后處理系統(tǒng)軟件使用了面向?qū)ο笏枷爰岸喾N成熟的軟件設(shè)計(jì)模式,這些模式或用來(lái)實(shí)現(xiàn)某種用戶功能、或用來(lái)簡(jiǎn)化總體架構(gòu),或用來(lái)提高系統(tǒng)的擴(kuò)展性,或用來(lái)改善系統(tǒng)性能,下表對(duì)本系統(tǒng)所使用的幾個(gè)主要軟件設(shè)計(jì)模式做了個(gè)簡(jiǎn)單的總結(jié)(見表2)。

        參考文獻(xiàn)

        [1] 程杰.大話設(shè)計(jì)模式[M].清華大學(xué)出版社,2010.

        [2] 楊莉萍.面向?qū)ο蟮姆椒ê驮O(shè)計(jì)模式 [J].計(jì)算機(jī)應(yīng)用與軟件,2006(3):37-39.

        [3] 鐘尚平.論設(shè)計(jì)模式的重用[J].福建電腦,2006(3):2-4.endprint

        猜你喜歡
        設(shè)計(jì)模式面向?qū)ο?/a>
        仿生設(shè)計(jì)模式的創(chuàng)新應(yīng)用探索
        玩具世界(2023年6期)2024-01-29 12:14:36
        “1+1”作業(yè)設(shè)計(jì)模式的實(shí)踐探索
        設(shè)計(jì)模式挖掘的有效性評(píng)估策略
        三維協(xié)同設(shè)計(jì)模式下的航天項(xiàng)目管理實(shí)踐與展望
        交通機(jī)電工程設(shè)計(jì)模式創(chuàng)新探討
        面向?qū)ο蟮挠?jì)算機(jī)網(wǎng)絡(luò)設(shè)計(jì)軟件系統(tǒng)的開發(fā)
        面向?qū)ο蟮臄?shù)據(jù)交換協(xié)議研究與應(yīng)用
        基于面向?qū)ο蟮腛ffice評(píng)測(cè)系統(tǒng)的分析
        峰叢洼地農(nóng)作物面向?qū)ο笮畔⑻崛∫?guī)則集
        遙感信息(2015年3期)2015-12-13 07:26:54
        面向?qū)ο蟮腟oS體系結(jié)構(gòu)建模方法及應(yīng)用
        国产 麻豆 日韩 欧美 久久| 欧美熟妇另类久久久久久不卡 | 亚洲成a∨人片在线观看无码| 在线观看国产精品日韩av | 国产一区二区三区四区在线视频 | 国语自产偷拍精品视频偷| 欧美真人性做爰一二区| 日本不卡视频网站| 香蕉久久夜色精品国产| 激情免费视频一区二区三区| 中文字幕精品亚洲字幕| 欧美日韩精品乱国产| 激情航班h版在线观看| 99久热re在线精品99 6热视频| 91短视频在线观看免费| 亚洲精品高清av在线播放 | 澳门蜜桃av成人av| 男人的天堂av网站| 天堂中文在线资源| 波多野结衣国产一区二区三区| 免费在线日韩| 久久精品国产亚洲av夜夜| 亚洲天堂成人av在线观看| 亚洲a∨无码男人的天堂| 欧美人与动人物牲交免费观看| 日韩国产精品一本一区馆/在线 | 国产精品一区二区蜜臀av| 亚洲国产美女高潮久久久| 亚洲中文字幕无码av| 久久久www成人免费无遮挡大片| 婷婷亚洲国产成人精品性色| 女女同性av一区二区三区免费看| 国产内射一级一片内射高清视频1| 亚洲国产精品久久精品| 久久久国产精品黄毛片| 亚洲国产成人手机在线观看| 亚洲av有码精品天堂| 国产av一卡二卡日韩av| 日韩av无码久久一区二区| 国产啪精品视频网站| 国产精品久久久久孕妇|