• 
    

    
    

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

      對(duì)幾種常見軟件體系結(jié)構(gòu)模型的思考

      2017-02-23 14:02:14陳巖
      電子技術(shù)與軟件工程 2016年24期
      關(guān)鍵詞:結(jié)構(gòu)模型

      陳巖

      本文通過介紹幾種軟件開發(fā)中常見軟件體系結(jié)構(gòu)模型,以及對(duì)幾種模型進(jìn)行分析比較,從而為軟件開發(fā)過程中軟件體系結(jié)構(gòu)的選擇提供一些思路,并減少一些開發(fā)軟件過程中的風(fēng)險(xiǎn)。

      【關(guān)鍵詞】軟件體系結(jié)構(gòu) 結(jié)構(gòu)模型 管道過濾器 MVC模型

      計(jì)算機(jī)應(yīng)用越來越廣泛和深入,計(jì)算機(jī)軟件規(guī)模和種類也變得更為復(fù)雜和多樣化。在軟件開發(fā)過程中,設(shè)計(jì)開發(fā)人員所要考慮的,不僅僅是系統(tǒng)的功能需求,還要更多的考慮軟件后期維護(hù)和升級(jí)等問題,因此軟件體系結(jié)構(gòu)的設(shè)計(jì)選擇對(duì)于一個(gè)軟件開發(fā)過程十分重要。自軟件體系機(jī)構(gòu)出現(xiàn)以來,其結(jié)構(gòu)、模式也在不斷變化與發(fā)展,目前,有幾種比較常見的軟件體系結(jié)構(gòu)模型,本文就對(duì)這幾種常見的結(jié)構(gòu)模型進(jìn)行介紹以及對(duì)它們進(jìn)行簡單的比較分析。

      1 層次體系結(jié)構(gòu)模型

      層次體系結(jié)構(gòu)模型是一種非常常見的體系結(jié)構(gòu)模型,它的基本思想是將系統(tǒng)在水平方向上劃分為多個(gè)抽象層次,中間層(第一層和最后一層除外)既服務(wù)于上層,又被下層服務(wù)。此外,層次之間的通信既可以相鄰層次間進(jìn)行,也可以通過協(xié)議隔層進(jìn)行。使用最為廣泛的分層體系結(jié)構(gòu)是分層通信協(xié)議,我們常用的TCP/IP網(wǎng)絡(luò)就是這種模型。這種結(jié)構(gòu)下,與上層的通信都依靠于每一層的一個(gè)抽象功能,低層通信定義在低層次上,一般來講,最底層與物理層次相連,其他常見的和最底層連接的有底層數(shù)據(jù)庫連接或者操作系統(tǒng)連接。

      分層體系結(jié)構(gòu)非常常見,優(yōu)點(diǎn)也非常明顯,有以下幾點(diǎn):

      (1)抽象程度遞增。分層體系結(jié)構(gòu)中每層的抽象程度不一樣,遞增的設(shè)計(jì)能夠使得系統(tǒng)的復(fù)雜程度更為容易被軟件開發(fā)設(shè)計(jì)人員理解和掌握,從而按照復(fù)雜程度分解其功能。

      (2)支持系統(tǒng)功能增強(qiáng)。由于通信交互通常發(fā)生在每層和上下層之間,對(duì)于軟件的全局相對(duì)來說更容易把握,因此在面對(duì)需求變化或者軟件需要升級(jí)時(shí),就可以通過在某一層修改功能或者增加功能來實(shí)現(xiàn)。

      (3)支持功能復(fù)用。一般來說,對(duì)于服務(wù)接口的定義不會(huì)變,因此,不同接口實(shí)現(xiàn)之間交換使用就可以在同一層進(jìn)行。通常,會(huì)定義一個(gè)標(biāo)準(zhǔn)接口的不同實(shí)現(xiàn)方法。

      層次結(jié)構(gòu)模型也有以下幾個(gè)缺點(diǎn):

      (1)更改層麻煩。修改底層對(duì)高層產(chǎn)生影響時(shí),則此底層的上層都需要進(jìn)行修改。

      (2)效率低。層次之間的通信需要進(jìn)行各種參數(shù)的傳遞與轉(zhuǎn)換;高層對(duì)于底層的一些執(zhí)行并不需要等。

      (3)層次的粒度難以確定。

      2 管道與過濾器結(jié)構(gòu)模型

      過濾器為功能模塊,功能模塊之間的連接(數(shù)據(jù)流的輸入輸出)為通道,兩者共同組成了管道與過濾器結(jié)構(gòu)模型。功能模塊間相互獨(dú)立,即過濾器不需要進(jìn)行狀態(tài)之間的交互為管道過濾器模型的一個(gè)重要的特性,其中,若輸入輸出發(fā)生在任兩個(gè)過濾器之間則兩個(gè)過濾器可以連接使用。管道過濾器結(jié)構(gòu)同時(shí)也限制了輸入輸出格式,因此在交互式應(yīng)用中,這種模式是不適用的。其中,常見的管道過濾器模型應(yīng)用之一就是編譯器系統(tǒng)。

      管道過濾器模型有以下幾個(gè)優(yōu)點(diǎn):

      (1)中間件可以不再使用,同時(shí)也支持使用中間件。

      (2)靈活性增加。過濾器之間可以進(jìn)行靈活的連接使用,組件的重用性提高。

      (3)效率提高??梢赃M(jìn)行并行處理。

      管道與過濾器結(jié)構(gòu)模型也有以下幾個(gè)缺點(diǎn):

      (1)信息共享問題。組件之間狀態(tài)共享信息代價(jià)較大。

      (2)效率高假象。并行處理并沒有真正提高效率。

      (3)數(shù)據(jù)轉(zhuǎn)換增加開銷。

      3 面向?qū)ο蠼Y(jié)構(gòu)模型

      對(duì)于處理面向現(xiàn)實(shí)世界問題的系統(tǒng),面向?qū)ο蠼Y(jié)構(gòu)模型是最為合理的選擇。在使用面向?qū)ο蟮能浖?,把一切如?shù)據(jù)、組件模塊都作為對(duì)象來處理。對(duì)象包括對(duì)象的狀態(tài)即數(shù)據(jù)以及對(duì)象的行為即操作方法,對(duì)象之間通信通過信息傳遞實(shí)現(xiàn)。在面向?qū)ο竽P椭校瑢?duì)用戶透明,即用戶不需要知道對(duì)象內(nèi)部狀態(tài),只需要知道功能及其使用,因而將軟件系統(tǒng)開發(fā)周期和難度盡量減少。

      面向?qū)ο蠼Y(jié)構(gòu)模型有以下優(yōu)點(diǎn):

      (1)對(duì)象封裝。用戶不必完全了解對(duì)象的數(shù)據(jù)狀態(tài),開發(fā)中可以減少難度和減少時(shí)間周期。

      (2)對(duì)象繼承。繼承提高了為代碼的復(fù)用性,減少開發(fā)人員工作量和后期維護(hù)等工作量。

      (3)錯(cuò)誤修改方便。對(duì)象出現(xiàn)錯(cuò)誤,修改此對(duì)象即可,不需要對(duì)其他對(duì)象進(jìn)行修改。

      面向?qū)ο蠼Y(jié)構(gòu)模型有以下缺點(diǎn):

      (1)交互要求高。對(duì)象間進(jìn)行交互通過過程調(diào)用進(jìn)行,調(diào)用對(duì)象則是通過對(duì)象標(biāo)識(shí)來作為通信媒介。

      (2)修改繁瑣。對(duì)象通過標(biāo)識(shí)符標(biāo)識(shí),若對(duì)象的標(biāo)識(shí)符修改了,則必須修改對(duì)對(duì)象的所有實(shí)例,同時(shí)需要解決標(biāo)識(shí)符修改帶來的副作用。

      4 MVC體系結(jié)構(gòu)模型

      MVC體系結(jié)構(gòu)(Model—Visual—Controller即模型—視圖——控制器體系結(jié)構(gòu))也是當(dāng)今應(yīng)用十分廣泛的交互界面結(jié)構(gòu)模型。模型、視圖和控制器是MVC結(jié)構(gòu)模型的三個(gè)組成部分,它強(qiáng)制性地將軟件的輸入輸出以及處理三個(gè)部分分開進(jìn)行,每個(gè)部分相互獨(dú)立,從而使得圖形化用戶交互更為方便。比如,可以使用MVC結(jié)構(gòu)模型構(gòu)建拍賣系統(tǒng),使得處理結(jié)果更為直觀。

      MVC體系結(jié)構(gòu)模型的優(yōu)點(diǎn)如下:

      (1)模式復(fù)用性。對(duì)于同一個(gè)模型,可以有多個(gè)視圖進(jìn)行任務(wù)處理。同一個(gè)模式可以開發(fā)多個(gè)應(yīng)用程序框架。

      (2)視圖靈活??梢詫⒁晥D同步化,同時(shí)可以將視圖和控制器插入。

      (3)控制器和視圖聯(lián)系緊密。

      MVC體系結(jié)構(gòu)模型的缺點(diǎn)如下:

      (1)系統(tǒng)開發(fā)復(fù)雜性增加。同時(shí)增加了后期維護(hù)以及升級(jí)更多的更新因素。

      (2)高耦合。模型、視圖和控制器之間耦合過于緊密,修改維護(hù)工作量大。

      (3)效率低。視圖中的數(shù)據(jù)訪問效率較低。

      5 結(jié)束語

      軟件開發(fā)與以往相比,軟件算法和數(shù)據(jù)結(jié)構(gòu)已經(jīng)不再是最為重要的部分,軟件開發(fā)中軟件體系結(jié)構(gòu)模型的選擇才是目前適應(yīng)軟件開發(fā)最重要的關(guān)注點(diǎn)。軟件體系結(jié)構(gòu)模型的選擇已經(jīng)成為整個(gè)軟件系統(tǒng)是否能成功開發(fā)的基礎(chǔ),通過軟件體系結(jié)構(gòu)模型,可以對(duì)系統(tǒng)開發(fā)中項(xiàng)目可行性、開發(fā)周期、功能需求分析、項(xiàng)目復(fù)雜程度和風(fēng)險(xiǎn)預(yù)測等進(jìn)行估計(jì)預(yù)測。從上文對(duì)層次體系結(jié)構(gòu)模型、管道與過濾器結(jié)構(gòu)模型、面向?qū)ο蠼Y(jié)構(gòu)模型和MVC體系結(jié)構(gòu)模型四種軟件體系結(jié)構(gòu)模型進(jìn)行簡單的總結(jié)介紹以及對(duì)其優(yōu)缺點(diǎn)分析,可以發(fā)現(xiàn)每種體系結(jié)構(gòu)都不可避免的在不同方面有強(qiáng)點(diǎn)或者弱點(diǎn),在實(shí)際軟件開發(fā)中,需要根據(jù)項(xiàng)目實(shí)際情況綜合分析,從而選用恰當(dāng)合理的軟件體系結(jié)構(gòu)模型,使得軟件開效率和質(zhì)量都有所提高。

      參考文獻(xiàn)

      [1]楊志明.幾種常見軟件體系結(jié)構(gòu)模型的分析[J].計(jì)算機(jī)工程與設(shè)計(jì),2004(08):1326-1328.

      [2]田潤芙,楊旭.常見軟件體系結(jié)構(gòu)分析[J].網(wǎng)絡(luò)財(cái)富,2010(01):160-161.

      [3]侯彬,張立臣.基于中間層的軟件體系結(jié)構(gòu)模型[J].電子設(shè)計(jì)工程,2010(11):1-3.

      作者單位

      安徽電子工程學(xué)校 安徽省蚌埠市 233010

      猜你喜歡
      結(jié)構(gòu)模型
      網(wǎng)絡(luò)分析法在水利工程施工安全風(fēng)險(xiǎn)分析中的應(yīng)用
      科技資訊(2017年8期)2017-05-18 22:33:26
      系統(tǒng)結(jié)構(gòu)模型在軟件工程當(dāng)中的應(yīng)用
      “翻轉(zhuǎn)課堂”在高職課程中的應(yīng)用研究
      以結(jié)構(gòu)模型競賽為例探討土木工程專業(yè)學(xué)生創(chuàng)新能力的培養(yǎng)
      淺析結(jié)構(gòu)模型制作對(duì)建筑結(jié)構(gòu)識(shí)圖的促進(jìn)作用
      結(jié)構(gòu)模型設(shè)計(jì)制作與分析
      東方教育(2016年7期)2017-01-17 21:11:31
      學(xué)生核心素養(yǎng)的結(jié)構(gòu)模型研究
      資治文摘(2016年7期)2016-11-23 02:12:54
      基于結(jié)構(gòu)模型競賽的土建類實(shí)踐教學(xué)研究
      基于互聯(lián)網(wǎng)行業(yè)知識(shí)型團(tuán)隊(duì)的薪酬激勵(lì)模型設(shè)計(jì)
      基于實(shí)測數(shù)據(jù)的果樹三維數(shù)字模型構(gòu)建
      吴川市| 印江| 宿松县| 同仁县| 石棉县| 广平县| 庆城县| 盐池县| 中方县| 宜兰县| 舒城县| 普定县| 元氏县| 德保县| 武清区| 北海市| 乌什县| 黄山市| 宣威市| 秀山| 海伦市| 夏津县| 蕲春县| 仁怀市| 琼结县| 靖边县| 新竹市| 沧源| 温州市| 鞍山市| 西青区| 仲巴县| 丹凤县| 北海市| 申扎县| 康马县| 高阳县| 留坝县| 鄢陵县| 抚松县| 宝鸡市|