體系結(jié)構(gòu)設(shè)計(jì)與設(shè)計(jì)模式_第1頁
體系結(jié)構(gòu)設(shè)計(jì)與設(shè)計(jì)模式_第2頁
體系結(jié)構(gòu)設(shè)計(jì)與設(shè)計(jì)模式_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

關(guān)于體系結(jié)構(gòu)設(shè)計(jì)與設(shè)計(jì)模式摘要:本文從設(shè)計(jì)模式與軟件體系結(jié)構(gòu)的關(guān)系探討設(shè)計(jì)模式運(yùn)用在軟件設(shè)計(jì)中的可行性,經(jīng)分析表明采用設(shè)計(jì)模式既可很好的繼承成熟技術(shù),提高系統(tǒng)設(shè)計(jì)的可靠性,又能提高工作效率。引言軟件的發(fā)展不僅要求軟件有更高的生產(chǎn)率和可靠性,而且對軟件的可重用性和可維護(hù)性也提出了更高的要求。設(shè)計(jì)模式以文檔的形式把軟件設(shè)計(jì)經(jīng)驗(yàn)記錄下來,并予以系統(tǒng)的命名、解釋和評價(jià),使開發(fā)人員在進(jìn)行系統(tǒng)的設(shè)計(jì)與開發(fā)時(shí)可以使用別人的成功經(jīng)驗(yàn)而不必為普通的、重復(fù)的問題重新設(shè)計(jì)解決方案,使設(shè)計(jì)者更容易理解其設(shè)計(jì)思路,能為自己的問題找到更合適的解決辦法,幫助設(shè)計(jì)者更快更好地完成系統(tǒng)設(shè)計(jì)。本文試圖從設(shè)計(jì)模式與軟件體系結(jié)構(gòu)、軟件重用技術(shù)間的關(guān)系探討設(shè)計(jì)模式運(yùn)用在軟件設(shè)計(jì)中的可行性,并對設(shè)計(jì)模式的性能進(jìn)行分析。軟件體系結(jié)構(gòu)的基本單位是軟件構(gòu)件,軟件構(gòu)件是一個(gè)軟件體系結(jié)構(gòu)的核心。它承擔(dān)控制構(gòu)件,問題領(lǐng)域構(gòu)件,基礎(chǔ)設(shè)施構(gòu)件這三個(gè)重要角色之一。軟件體系結(jié)構(gòu)的不同形式分別有概念結(jié)構(gòu),模塊結(jié)構(gòu),代碼結(jié)構(gòu),執(zhí)行結(jié)構(gòu)。軟件構(gòu)件還必須具備獨(dú)立部署單元,作為第三方的組裝單元,不能有任何外部可見狀態(tài)。體系結(jié)構(gòu)是很重要的。體系結(jié)構(gòu)的表示有助于項(xiàng)目干系人相互交流軟件體系結(jié)構(gòu)是系統(tǒng)的高層次的描述,是一種隱藏了實(shí)現(xiàn)細(xì)節(jié)的抽象。有助于與系統(tǒng)相關(guān)人員交流。體系結(jié)構(gòu)提供了一個(gè)平臺語言,可用來表達(dá)各種關(guān)注和協(xié)商,有助于對大型復(fù)雜系統(tǒng)進(jìn)行管理。體系結(jié)構(gòu)突出了早期設(shè)計(jì)決策軟件體系結(jié)構(gòu)是可傳遞和可復(fù)用的模型在系統(tǒng)結(jié)構(gòu)設(shè)計(jì)中,首先要考慮系統(tǒng)所采用的體系結(jié)構(gòu)風(fēng)格,這也是體系結(jié)構(gòu)設(shè)計(jì)的核心問題。體系結(jié)構(gòu)設(shè)計(jì)一般要遵循建立軟件的環(huán)境模型,定義體系結(jié)構(gòu)的原始模型。體系結(jié)構(gòu)的求精與完善。在體系結(jié)構(gòu)設(shè)計(jì)層,軟件架構(gòu)師用體系結(jié)構(gòu)環(huán)境圖對軟件與外部實(shí)體交互方式進(jìn)行建模。與目標(biāo)系統(tǒng)交互的系統(tǒng)有上級系統(tǒng),下級系統(tǒng),同級系統(tǒng),參與者。體系結(jié)構(gòu)的結(jié)構(gòu)風(fēng)格包括數(shù)據(jù)流風(fēng)格,調(diào)用一返回風(fēng)格,倉庫風(fēng)格。調(diào)用一返回風(fēng)格還包括3種子風(fēng)格主程序/子程序體系結(jié)構(gòu),面向?qū)ο箫L(fēng)格,層次結(jié)構(gòu)。體系結(jié)構(gòu)的控制模型包括集中控制模型,事件驅(qū)動(dòng)控制模型。事件驅(qū)動(dòng)控制模型包括廣播模型,中斷驅(qū)動(dòng)模型。在將子系統(tǒng)分解為模塊時(shí),可供使的模型有數(shù)據(jù)流模型和面向?qū)ο竽P蛢煞N。對于一個(gè)特殊的應(yīng)用領(lǐng)域,還可使用特定于它的體系結(jié)構(gòu)模型,在開發(fā)新的系統(tǒng)時(shí)可以復(fù)用其公共體系結(jié)構(gòu)。這種體系結(jié)構(gòu)模型即為特定領(lǐng)域的體系結(jié)構(gòu)。存在兩種特定領(lǐng)域的體系結(jié)構(gòu)模型:類屬模型,參考模型。所有大型計(jì)算機(jī)系統(tǒng)現(xiàn)在都是分布式系統(tǒng)。分布式系統(tǒng)的主要特征一有資源共享,經(jīng)濟(jì)性,性能與可擴(kuò)展性,固有分布性,健壯性。典型的分布式系統(tǒng)的體系結(jié)構(gòu)有多處理器體系結(jié)構(gòu),客戶機(jī)/服務(wù)器體系結(jié)構(gòu),分布式對象體系結(jié)構(gòu),代理,聚合和聯(lián)邦體系。在體系結(jié)構(gòu)的評價(jià)過程中,人們所關(guān)心的是質(zhì)量的屬性,可以用多種評價(jià)方法進(jìn)行評價(jià)比如從性能,可靠性,可用性,安全性,可修行,功能性,可變更性,可集成性,互操作性等方法進(jìn)行判斷。體系結(jié)構(gòu)描述語言是參照傳統(tǒng)編程語言,并針對軟件體系結(jié)構(gòu)特點(diǎn),重新設(shè)計(jì)、開發(fā)和使用的專門的軟件體系結(jié)構(gòu)描述語言。它由構(gòu)件,連接件,體系結(jié)構(gòu)配置等構(gòu)成。主要的體系結(jié)構(gòu)描述語言有Aesop,MetaH,Rapide,SADL,Unicon,Wright等。ADL的特點(diǎn)有構(gòu)造能力,抽象能力,復(fù)用能力,異構(gòu)能力,分析和推理能力。模式是針對某一特定前提的解法,對同類問題可以使用同一解法,而不必總是一切從頭做起。設(shè)計(jì)模式設(shè)計(jì)模型包含四個(gè)基本要素:模式名稱,問題,解決方案,效果??梢杂媚康臏?zhǔn)則和范圍準(zhǔn)則對模式進(jìn)行分類。隨著系統(tǒng)的演化,系統(tǒng)越來越依賴對象的組合所以創(chuàng)建型模型很重要。主要有抽象工廠模式,生成器模式,工廠方法模型,單件模型,原型模型。結(jié)構(gòu)型設(shè)計(jì)模型包括適配器模式,橋接模式,組合模式,裝飾模式,外觀模式,享元模式,代理模式。行為型設(shè)計(jì)模式包括職責(zé)鏈模型,命令模式,遍歷器模式,中介者模式,觀察者模式,狀態(tài)模式,策略模式,訪問者模式,模板方法模式。模式之間的關(guān)系式一種依賴、變體、組合的關(guān)系。每個(gè)模式依賴于它包含的更小的模式和包含它的更大的模式,一模式和它的變體描述來解決一些類似的問題,也可以處于同一抽象層次的更復(fù)雜的結(jié)構(gòu)中進(jìn)行組合解決一個(gè)孤立的單個(gè)模式解決不了的復(fù)雜問題。設(shè)計(jì)模型可以用一下幾種方法解決設(shè)計(jì)問題,1.尋找合適對象2.決定對象的粒度3.指定對象接口4.針對接口編程,而不是針對現(xiàn)實(shí)編程5.使用復(fù)用機(jī)制6.關(guān)聯(lián)運(yùn)行時(shí)和編譯的結(jié)構(gòu)7.設(shè)計(jì)應(yīng)支持變更。設(shè)計(jì)模式是一些對通信對象和類的描述,這些類和對象通常被用于特定的背景下解決一些普遍設(shè)計(jì)問題。我們可以利用設(shè)計(jì)模型方面的知識和經(jīng)驗(yàn)來實(shí)現(xiàn)設(shè)計(jì)。使用設(shè)計(jì)模式也是非常重要的,在整個(gè)軟件設(shè)計(jì)中都可以使用設(shè)計(jì)模式。一旦開發(fā)了分析模型,設(shè)計(jì)人員可以檢查詳細(xì)的問題所帶的問題。可以采取以下方式:先把模式選好,設(shè)計(jì)模式選擇好后,就是如何將模式有效應(yīng)用到系統(tǒng)設(shè)計(jì)過程的問題了。下面是ErichGamma給出的一個(gè)使用設(shè)計(jì)模式的循序漸進(jìn)的方法。1.理解所選擇的模式,注意模式的適用條件和模式使用效果,確定該模式是否適合要解決的實(shí)際問題。2.研究模式的結(jié)構(gòu)、組成以及它們之間如何協(xié)作,這將確保設(shè)計(jì)人員理解這個(gè)模式的類、對象以及其他的關(guān)聯(lián)關(guān)系。3選擇模式參與者的名字,使它們在具體應(yīng)用中有意義。4.定義類,聲明它們之間的接口,建立它們的繼承關(guān)系,定義代表數(shù)據(jù)和對象引用的實(shí)例變量。5.定義模式中專用于應(yīng)用的操作名稱,名字一般依賴于應(yīng)用,使用的名字必須一致。6.實(shí)現(xiàn)執(zhí)行模式中責(zé)任和協(xié)作的操作。企業(yè)應(yīng)用系統(tǒng)中軟件成分越來越復(fù)雜,系統(tǒng)規(guī)模越來越大,導(dǎo)致應(yīng)用的功能需求和性能需求混雜,軟件系統(tǒng)的結(jié)構(gòu)異常復(fù)雜。在開發(fā)系統(tǒng)時(shí),首先關(guān)注的是如何構(gòu)架軟件系統(tǒng)的體系結(jié)構(gòu),從整體滿足

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論