軟件體系結構模式ppt課件
《軟件體系結構模式ppt課件》由會員分享,可在線閱讀,更多相關《軟件體系結構模式ppt課件(17頁珍藏版)》請在裝配圖網上搜索。
軟件體系結構模式,1,軟件體系結構模式,教學目標: 掌握模式的概念 熟練掌握模式的構成 掌握模式的類別 教學重點: 掌握模式的概念、作用與構成 教學難點: 熟練掌握模式的構成,2,一、什么是模式,當專家求解一個特殊問題時,一般不會發(fā)明一種和已有解決完全不同的方案來處理這個問題。 他們往往想起已解決的相似問題,并重用其解法的精華來解決新問題。 這種“專家行為”,即同時考慮一對問題-求解方案,在很多不同領域中是共同的。--模式,3,1.1 軟體體系結構的模式,軟體體系結構的模式描述了一個出現在特定設計語境中的特殊的再現設計問題,并為它的解決方案提供了一個被證明良好的一般計劃。 解決方案通過描述它的關鍵組件、它們的責任和相互關系以及它們的協作方式來具體指定。,4,1.2 模式的作用,模式有助于利用資深軟件工程師的經驗來構建軟件。 模式總結了在軟件開發(fā)中現存的、被證明良好的經驗,再用來促進好的設計實踐。,5,1.2 模式的作用,保存模式文檔已被證明是很好的設計經驗,它們提煉并提供一種方式來重用從實踐經驗中獲得的設計知識。 模式為設計原則提供一種公共的詞匯和理解。它們提高了對設計問題及其解決方案的討論效率。,6,1.2 模式的作用,一個模式提供了一個問題族的一般解決方案的計劃,而不是可以使用的預制模塊。 模式有助于管理軟件復雜度。每個模式描述一種已被證明的方法以處理指出的問題:所需組件的種類、它們的作用、要隱藏的細節(jié)、必須看到的抽象以及每一個是如何工作的等等。,7,二、模式的構成,模式構成的三要素 語境 問題 解決方案,8,2.1 語境,通過描述問題提出的場景,語境擴展了清晰的問題-解決方案的二分法。 確定一個模式可能應用到的所有場景,實現上是不可能的。一個實際的方法是列出特殊模式關注問題可能出現的所有已知場景。,9,2.2 問題,描述了在給定語境中重復出現的問題。 模式組織使用術語“強制條件”來說明問題要解決時應該考慮的各個方面,如: 解決方案必須滿足的需求—例如:對等進程的通信必須是高效的 你必須考慮的約束—例如:進程間通信必須遵守特定協議 解決方案必須具有希望的特性—例如,軟件更改應該是容易的,10,2.3 解決方案,模式的解決方案給出了如何解決再現問題,或者更恰當地說是如何平衡與之相關的強制條件。其包括兩個方面: 每個模式規(guī)定了一個特定的結構,即元素的一個空間配置 每個模式規(guī)定了運行期間的行為,11,三、模式類別,模式可分為三種類型 體系結構模式 設計模式 慣用法 每一種類型都由具有相似規(guī)?;虺橄蟪潭鹊哪J浇M成。,12,3.1體系結構模式,根據一些整體構建原理來建立可行的軟件體系結構。 體系結構模式表示軟件系統的基本結構化組織圖式。它提供一套預定義的子系統,規(guī)定它們的職責,包含用于組織它們之間關系的規(guī)則和指南。 例如:MVC體系結構模式,13,3.2 設計模式,軟件體系結構的子系統,以及它們之間的關系,通常由幾個更小的體系結構單元構成。我們用設計模式來進行描述。 設計模式提供一個用于細化軟件系統的子系統或組件,或它們之間關系的圖式。它描述通信組件的公共再現結構,通信組件可以解決特定語境中的一個一般設計問題。 例如觀察者或出版者-訂閱者模式。,14,3.3 慣用法,慣用法處理特定設計問題的實現。 慣用法是具體針對一種編程語言的低層模式。慣用法描述如何使用給定語言的特征來實現組件的特殊方面或它們之間的關系。 例如:C++使用引用-計數慣用法來管理動態(tài)分配的資源,而Smalltalk則提供無用單元收集機制,15,四、總結,模式有助于利用資深軟件工程師的經驗來構建軟件,為開發(fā)具有已定義屬性的軟件提供了一種有前途的方法。 模式把現有的設計知識文檔化,有助于你為設計問題找到適當的解決方案。 模式存在于不同的規(guī)模和抽象之中,并覆蓋軟件開發(fā)的許多不同的和重要的領域。,16,五、作業(yè),什么是軟件體系結構模式? 簡述模式的構成? 簡述模式的類別,并談談你對模式的看法。,17,- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 軟件 體系結構 模式 ppt 課件
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://m.zhongcaozhi.com.cn/p-1925291.html