• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于構(gòu)件的軟件復(fù)用及在GIS中的應(yīng)用

      2012-02-15 16:13:30李瑞華
      關(guān)鍵詞:復(fù)用技術(shù)構(gòu)件軟件

      李瑞華,李 霞

      (1.陽(yáng)泉師范高等??茖W(xué)校,河北 陽(yáng)泉 045200;2河北省石家莊經(jīng)濟(jì)學(xué)院 信息工程學(xué)院,河北 石家莊 050031)

      1 引言

      “保證軟件質(zhì)量”和“提高軟件開發(fā)效率”是軟件工程的主要目標(biāo),軟件工程領(lǐng)域的很多新技術(shù)、新方法、新工具的出現(xiàn)都是為了達(dá)到這兩個(gè)目標(biāo),軟件復(fù)用技術(shù)就是其中主要的技術(shù)之一.近十幾年來(lái),軟件復(fù)用研究重新成為熱點(diǎn),被視為解決軟件危機(jī),提高軟件生產(chǎn)效率和質(zhì)量的現(xiàn)實(shí)可行的途徑[1].其實(shí)程序設(shè)計(jì)出現(xiàn)后人們就有了復(fù)用的思想,隨著面向?qū)ο蠹夹g(shù)的發(fā)展,把軟件復(fù)用技術(shù)推向一個(gè)發(fā)展高潮.軟件復(fù)用的關(guān)鍵技術(shù)有很多,其中最主要、最核心的就是構(gòu)件技術(shù)[2].構(gòu)件是應(yīng)用系統(tǒng)中可以明確辨識(shí)的構(gòu)成成份,而可復(fù)用構(gòu)件是具有相對(duì)獨(dú)立的功能和可復(fù)用價(jià)值的構(gòu)件[3].構(gòu)件化的軟件開發(fā)過程可以提高軟件復(fù)用程度,提高開發(fā)效率,并且便于維護(hù),提高質(zhì)量.

      隨著計(jì)算機(jī)的普及以及地理信息科學(xué)的發(fā)展,地理信息系統(tǒng)(Geographical Information System,GIS)因其強(qiáng)大的功能得到日益廣泛和深入的應(yīng)用,因此GIS的開發(fā)工作日益重要[4].如何利用現(xiàn)有資源和開發(fā)工具開發(fā)出高效實(shí)用的地理信息產(chǎn)品,以滿足不同行業(yè)的需求,是需要思考和亟待解決的問題.本文討論了構(gòu)件式軟件復(fù)用技術(shù)在GIS開發(fā)中的應(yīng)用.

      2 軟件復(fù)用

      1968年NATO軟件工程會(huì)議,Mcllroy在提交會(huì)議的論文《大量生產(chǎn)的軟件構(gòu)件》中,提出了“軟件組裝生產(chǎn)線”的思想.從那以后,采用構(gòu)件技術(shù)實(shí)現(xiàn)軟件復(fù)用,采用“搭積木”的方式生產(chǎn)軟件,成為軟件開發(fā)人員長(zhǎng)期的夢(mèng)想.

      軟件復(fù)用是指兩次或多次不同的軟件開發(fā)過程中重復(fù)使用相同或相似軟件元素的過程.軟件元素包括程序代碼、測(cè)試案例、設(shè)計(jì)文檔、設(shè)計(jì)過程、需求分析文檔甚至領(lǐng)域知識(shí).軟件復(fù)用是在軟件開發(fā)中避免重復(fù)勞動(dòng)的解決方案,其出發(fā)點(diǎn)是應(yīng)用系統(tǒng)的開發(fā)不再采用一切“從零開始”的模式,而是采用過去應(yīng)用系統(tǒng)開發(fā)中積累的知識(shí)和經(jīng)驗(yàn),從而將開發(fā)的重點(diǎn)集中于應(yīng)用的特有構(gòu)成部分.

      從20世紀(jì)60年代后期的第一次“軟件危機(jī)”,到20世紀(jì)80年代中后期的第二次“軟件工程危機(jī)”,發(fā)展到現(xiàn)在,軟件系統(tǒng)的規(guī)模、復(fù)雜度不斷提高,軟件的生成效率和產(chǎn)品質(zhì)量的要求也不斷提高;因此如何找到有效的軟件生產(chǎn)方式,保證軟件產(chǎn)品質(zhì)量、提高軟件生成效率已經(jīng)是非常棘手的問題.軟件復(fù)用的出現(xiàn)使得軟件的開發(fā)真正工程化、工業(yè)化.在早期的結(jié)構(gòu)化軟件分析時(shí)代,軟件復(fù)用由于受到技術(shù)發(fā)展水平的限制,常常局限在代碼層次或者函數(shù)包的復(fù)用.隨著技術(shù)的變革,包括面向?qū)ο笳Z(yǔ)言和方法帶來(lái)的更好的面向應(yīng)用領(lǐng)域的抽象能力、各種分布式構(gòu)件方法與標(biāo)準(zhǔn)的提出、過程方法的成熟,軟件復(fù)用的技術(shù)越來(lái)越成熟,應(yīng)用范圍也越來(lái)越廣泛.

      軟件復(fù)用的優(yōu)點(diǎn)是顯而易見的,軟件復(fù)用提高了軟件生產(chǎn)率,保證了軟件產(chǎn)品的質(zhì)量,同時(shí)也提高了軟件產(chǎn)品的可維護(hù)性,降低了開發(fā)成本,避免開發(fā)人員的重復(fù)勞動(dòng),節(jié)約了人力、物力和財(cái)力.軟件復(fù)用是現(xiàn)代軟件工程的一個(gè)主要目標(biāo),因此軟件工程領(lǐng)域的很多新技術(shù)都是為了實(shí)現(xiàn)軟件復(fù)用,提高軟件工程開發(fā)效率.實(shí)現(xiàn)軟件復(fù)用的主要技術(shù)有:軟件構(gòu)件技術(shù)、軟件構(gòu)架技術(shù)、開放系統(tǒng)技術(shù)、領(lǐng)域工程、軟件再工程技術(shù)、CASE技術(shù)、軟件過程管理等[5].

      3 構(gòu)件技術(shù)

      構(gòu)件是一個(gè)高內(nèi)聚的、通過一組約定的接口完成明晰的功能、符合業(yè)界認(rèn)可的模型標(biāo)準(zhǔn)的、可復(fù)用軟件包.構(gòu)件是可復(fù)用的軟件組成成份,可被用來(lái)構(gòu)造其他的軟件.

      構(gòu)件的基本特征有:可復(fù)用性、自包含性、一致性、耦合性、內(nèi)聚性和適應(yīng)性.其中可復(fù)用性包括有用性(Usefulness)和易用性(Usability).有用性指構(gòu)件完成的功能是有用的,也就是其功能可出現(xiàn)在很多應(yīng)用軟件中.易用性指構(gòu)件要有很好的包裝,能方便地使用它.

      構(gòu)件的分類有很多種,按照開發(fā)過程可分為:分析件、設(shè)計(jì)件、程序件和數(shù)據(jù)件.按功能分為:基礎(chǔ)層的基本數(shù)據(jù)類構(gòu)件和系統(tǒng)支撐構(gòu)件、中間層的各種通用中間件、頂層的針對(duì)領(lǐng)域的專用構(gòu)件.按使用方式分為:白盒構(gòu)件和黑盒構(gòu)件.另外還有各種專用的商業(yè)構(gòu)件.

      軟件構(gòu)件化就是要讓軟件開發(fā)像機(jī)械制造工業(yè)一樣,可以用各種標(biāo)準(zhǔn)和非標(biāo)準(zhǔn)的零件來(lái)進(jìn)行組裝,或者像建筑業(yè)一樣,用各種建筑材料搭建成各式各樣的建筑.軟件構(gòu)件化和集成技術(shù)的目標(biāo)是:軟件可以由不同廠商提供,用不同語(yǔ)言開發(fā),在不同硬件平臺(tái)上實(shí)現(xiàn)的軟件構(gòu)件,可以方便地、動(dòng)態(tài)地集成.

      4 基于構(gòu)件的軟件復(fù)用技術(shù)及其在GIS開發(fā)中的應(yīng)用

      4.1 基于構(gòu)件的軟件復(fù)用技術(shù)

      軟件構(gòu)件技術(shù)(Software Component Technology)是支持軟件復(fù)用的核心技術(shù).可復(fù)用構(gòu)件是指具有相對(duì)獨(dú)立的功能和可復(fù)用價(jià)值的構(gòu)件,可以使被封裝的對(duì)象類、類樹、一些功能模塊、軟件框架、軟件架構(gòu)、文檔、分析件、設(shè)計(jì)模式等.但是基于構(gòu)件的軟件復(fù)用更多的是指的狹義上的滿足某些特征的軟件模塊,這些特征包括具有明確的功能邊界、規(guī)約化的接口、可獨(dú)立構(gòu)造和部署等.軟件復(fù)用包括兩個(gè)相關(guān)過程:

      第一步:可復(fù)用軟件(構(gòu)件)的開發(fā)(Development for Reuse).

      要解決的主要問題有:如何定義一個(gè)新的構(gòu)件;構(gòu)件之間的相互通信、數(shù)據(jù)共享必須符合的標(biāo)準(zhǔn);構(gòu)件的分類、構(gòu)件庫(kù)的管理等.

      第二步:基于可復(fù)用軟件(構(gòu)件)的應(yīng)用系統(tǒng)構(gòu)造(集成和組裝)(Development with Reuse).

      要解決的主要問題有:可復(fù)用構(gòu)件的檢索;已有構(gòu)件在應(yīng)用系統(tǒng)構(gòu)造過程中如何集成和裝配;基于構(gòu)件的系統(tǒng)開發(fā)如何與非構(gòu)件化的系統(tǒng)進(jìn)行集成,如何實(shí)現(xiàn)它們之間的過渡和轉(zhuǎn)變.

      4.2 GIS開發(fā)中的軟件復(fù)用技術(shù)應(yīng)用

      目前GIS開發(fā)模式可分為4種:①利用VC++,VB等程序設(shè)計(jì)語(yǔ)言進(jìn)行基礎(chǔ)開發(fā);②借助GIS軟件商提供的二次開發(fā)工具,如MapInfo的MapBasic等開發(fā);③采用OLE自動(dòng)化進(jìn)行GIS軟件開發(fā);④利用組件技術(shù)開發(fā).

      組件式GIS軟件開發(fā)是目前較為流行、高效和快速的開發(fā)模式.可以說(shuō)組件式GIS軟件開發(fā)模式就是采用了軟件復(fù)用技術(shù),這里的組件就是構(gòu)件.

      利用軟件復(fù)用開發(fā)GIS的過程:

      第一步:可復(fù)用構(gòu)件的開發(fā).

      在GIS領(lǐng)域里,已經(jīng)有可以檢索到的商業(yè)可復(fù)用構(gòu)件,常用的有MapInfo公司的MapX,ESRI公司的Map-Object,Blue Marble Geographics公司的Geo-View,Visual Component公司的GeoPoint和Intergraph公司的Geomedia等.其中,MapX的功能較強(qiáng),性價(jià)比較高.除了這些構(gòu)件外,在GIS開發(fā)過程中,我們還可以根據(jù)功能、應(yīng)用領(lǐng)域等開發(fā)可以復(fù)用的構(gòu)件,比如:可以把大部分GIS地圖操作中的鷹眼功能開發(fā)為一個(gè)獨(dú)立的構(gòu)件,還可以把智能交通系統(tǒng)中常用的測(cè)距、地點(diǎn)查找等功能模塊,開發(fā)獨(dú)立的可以復(fù)用的構(gòu)件.另外在開發(fā)構(gòu)件過程中,還要注意這些構(gòu)件之間能夠通信,也就是說(shuō)要符合相應(yīng)的標(biāo)準(zhǔn),并且能夠適用于不同的開發(fā)平臺(tái),這樣才能保證構(gòu)件的通用性.這些構(gòu)件開發(fā)完成后,可以對(duì)外公布標(biāo)準(zhǔn)接口,放到構(gòu)件庫(kù)中以便可以檢索使用.

      第二步:基于可復(fù)用構(gòu)件的GIS軟件開發(fā).

      隨著長(zhǎng)時(shí)間的積累,GIS構(gòu)件庫(kù)就會(huì)越來(lái)越豐富,在GIS軟件開發(fā)中,我們就可以在構(gòu)件庫(kù)中根據(jù)需要檢索相應(yīng)的構(gòu)件,然后掌握這些構(gòu)件對(duì)外提供的標(biāo)準(zhǔn)接口,最后把這些構(gòu)件在開發(fā)平臺(tái)上進(jìn)行集成和裝配,另外,還要注意構(gòu)件式的開發(fā)與非構(gòu)件式開發(fā)之間的如何集成.我們可能在GIS領(lǐng)域?qū)崿F(xiàn)真正的基于構(gòu)件的復(fù)用技術(shù)的軟件開發(fā),可以縮短開發(fā)周期,降低成本,可以脫離大型商業(yè)GIS軟件平臺(tái)獨(dú)立運(yùn)行,并且對(duì)開發(fā)者的GIS專業(yè)背景要求不高.因此,能夠推動(dòng)基于構(gòu)件的軟件復(fù)用開發(fā)方法的推廣,這也將會(huì)是一個(gè)非常好的良性循環(huán).

      5 小結(jié)

      軟件復(fù)用是軟件工程開發(fā)過程工程化、工業(yè)化發(fā)展的主要技術(shù)之一,能夠提高軟件開發(fā)效率、降低開發(fā)和維護(hù)成本、提高軟件質(zhì)量.軟件構(gòu)件技術(shù)是實(shí)現(xiàn)軟件復(fù)用的核心技術(shù),構(gòu)件化的軟件開發(fā)是未來(lái)軟件開發(fā)的主要方法.文中以GIS軟件開發(fā)為例,說(shuō)明了基于構(gòu)件的軟件復(fù)用開發(fā)方法在該領(lǐng)域的應(yīng)用和推廣,相信在不久的將來(lái),軟件復(fù)用將得到更加廣泛的應(yīng)用,軟件開發(fā)將實(shí)現(xiàn)真正的工程化、工業(yè)化的生產(chǎn).

      參考文獻(xiàn):

      [1]楊芙清,梅宏,李克勤.軟件復(fù)用與軟件構(gòu)件技術(shù)[J].電子學(xué)報(bào),1999,27(2):68-75.

      [2]武偉,張明新.基于構(gòu)件的軟件復(fù)用技術(shù)應(yīng)用研究[J].山西大同大學(xué)學(xué)報(bào),2009,25(1):8-10.

      [3]楊芙清,王千祥,梅宏.基于復(fù)用的軟件生產(chǎn)技術(shù)[J].中國(guó)科學(xué),2001,31(4):721-732.

      [4]劉爽,陳鵬.基于MapX的組件式GIS開發(fā)研究[J].微計(jì)算機(jī)信息,2007,34(12):182-184.

      [5]PRESSMAN R S.Software engineering:a practitioner's approach[M].北京:機(jī)械工業(yè)出版社,2005.

      猜你喜歡
      復(fù)用技術(shù)構(gòu)件軟件
      電動(dòng)汽車電機(jī)驅(qū)動(dòng)系統(tǒng)零轉(zhuǎn)矩充電復(fù)用技術(shù)簡(jiǎn)介
      禪宗軟件
      軟件對(duì)對(duì)碰
      軟件工程領(lǐng)域應(yīng)用復(fù)用技術(shù)的分析
      建筑構(gòu)件
      建筑構(gòu)件
      建筑構(gòu)件
      建筑構(gòu)件
      “獵鷹”9號(hào)的復(fù)用技術(shù)與展望
      太空探索(2016年2期)2016-07-12 09:57:25
      第5代移動(dòng)通信基本要求與新型多址復(fù)用技術(shù)
      武冈市| 东乡族自治县| 普宁市| 张家口市| 乌拉特后旗| 昌图县| 图木舒克市| 安多县| 军事| 蓬莱市| 读书| 太康县| 江川县| 隆化县| 五莲县| 时尚| 商都县| 哈尔滨市| 上犹县| 柘荣县| 东阿县| 淮阳县| 大港区| 岳普湖县| 周至县| 灵武市| 福贡县| 武清区| 霸州市| 巴马| 石屏县| 东莞市| 浠水县| 永泰县| 灵石县| 阿城市| 沁水县| 静乐县| 永胜县| 天台县| 民勤县|