freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

[計算機軟件及應用]第3章軟件體系結構風格(已修改)

2025-02-02 20:58 本頁面
 

【正文】 第 3章 軟件體系結構風格 本章結構 軟件體系結構風格概述 經典軟件體系結構風格 客戶 /服務器風格 三層 C/S結構風格 瀏覽器 /服務器風格 公共對象請求代理體系結構 正交軟件體系結構 基于層次消息總線的體系結構風格 異構結構風格 互聯系統構成的系統及其體系結構 特定領域軟件體系結構 ◇ 定義 第三章 軟件體系結構風格 軟件體系結構風格概述 軟件體系結構風格是描述某一特定應用領域中系統組織方式的慣用模式 。 軟件體系結構風格又稱軟件體系結構習慣模式 。 體系結構風格定義了一個系統家族 , 即一個體系結構定義一個詞匯表和一組約束 。 詞匯表中包含一些構件和連接件類型 , 而這組約束指出系統是如何將這些構件和連接件組合起來的 。 體系結構風格反映了領域中眾多系統所共有的結構和語義特性 , 并指導如何將各個模塊和子系統有效地組織成一個完整的系統 。 第三章 軟件體系結構風格 軟件體系結構風格概述 風格的本質是:一些特定的元素按照特定的方式組成一個有利于上下文環(huán)境里的特定問題的解決的結構 。 目前開發(fā)人員普遍認為軟件系統的體系結構設計與把系統分解為相交互的計算元素有著密切的聯系 。 體系結構風格是反復出現的組織模式和習慣用法 , 是對一系列體系結構設計的抽象 。 ◇ 補充 體系結構風格的使用幾乎完全是特定的。 ◇ 討論體系結構風格時要回答的問題 第三章 軟件體系結構風格 軟件體系結構風格概述 ◎ 構件和連接件的類型是什么 ? ◎ 可容許的結構模式是什么 ? ◎ 基本的計算模型是什么 ? ◎ 風格的基本不變性是什么 ? ◎ 其使用的常見例子是什么 ? ◎ 使用此風格的優(yōu)缺點是什么 ? ◎ 其常見的特例是什么 ? 使用體系結構風格的好處 首先,能夠促進設計的重用性。當解決新的設計問題時,開發(fā)人員通過重新使用這種合適的風格能夠提高開發(fā)效率。 第二,有關風格的使用帶來了設計者的交流形式。關于設計元素的詞匯促進了設計者理解和交流。 第三,使用風格能夠使代碼的重用性得到提高。當用不同的系統時,基本的架構代碼風格不需要修改,它能夠用于不同的系統中。 ◇ 體系結構風格最關鍵的四要素 第三章 軟件體系結構風格 軟件體系結構風格概述 ◎ 提供一個詞匯表 ◎ 定義一套配置規(guī)則 ◎ 定義一套語義解釋原則 ◎ 定義對基于這種風格的系統所進行的分析 ◇ 經典的體系結構風格 第三章 軟件體系結構風格 軟件體系結構風格概述 ◎ 數據流風格:批處理序列;管道 /過濾器 。 ◎ 調用 /返回風格:主程序 /子程序;面向對象風格; 層次結構 。 ◎ 獨立構件風格:進程通訊;事件系統 。 ◎ 虛擬機風格:解釋器;基于規(guī)則的系統 。 ◎ 倉庫風格:數據庫系統;超文本系統;黑板系統 。 ◇ 管道和過濾器 第三章 軟件體系結構風格 經典軟件體系結構風格 每個構件都有一組輸入和輸出 , 構件讀輸入的數據流 ,經過內部處理 , 然后產生輸出數據流 。 這個過程通常通過對輸入流的變換及增量計算來完成 , 所以在輸入被完全消費之前 ,輸出便產生了 。 這里的構件被稱為過濾器 , 這種風格的連接件就象是數據流傳輸的管道 , 將一個過濾器的輸出傳到另一過濾器的輸入 。 此風格特別重要的過濾器必須是獨立的實體 , 它不能與其他的過濾器共享數據 , 而且一個過濾器不知道它的上游和下游的標識 。 一個管道 /過濾器網絡輸出的正確性并不依賴于過濾器進行增量計算過程的順序 。 ◇ 管道和過濾器 第三章 軟件體系結構風格 經典軟件體系結構風格 過濾器管道◇ 管道和過濾器風格的優(yōu)點 第三章 軟件體系結構風格 經典軟件體系結構風格 ◎ 使得軟構件具有良好的隱蔽性和高內聚 、 低耦合的特點; ◎ 允許設計者將整個系統的輸入 /輸出行為看成是多個過濾器的行為的簡單合成; ◎ 支持軟件重用 。 只要提供適合在兩個過濾器之間傳送的數據 ,任何兩個過濾器都可被連接起來; ◎ 系統維護和增強系統性能簡單 。 新的過濾器可以添加到現有系統中來;舊的可以被改進的過濾器替換掉; ◎ 允許對一些如吞吐量 、 死鎖等屬性的分析; ◎ 支持并行執(zhí)行 。 每個過濾器是作為一個單獨的任務完成 , 因此可與其它任務并行執(zhí)行 。 ◇ 管道和過濾器的缺點 第三章 軟件體系結構風格 經典軟件體系結構風格 ◎ 通常導致進程成為批處理的結構 。 這是因為雖然過濾器可增量式地處理數據 , 但它們是獨立的 , 所以設計者必須將每個過濾器看成一個完整的從輸入到輸出的轉換 。 ◎ 不適合處理交互的應用 。 當需要增量地顯示改變時 , 這個問題尤為嚴重 。 ◎ 因為在數據傳輸上沒有通用的標準 , 每個過濾器都增加了解析和合成數據的工作 , 這樣就導致了系統性能下降 , 并增加了編寫過濾器的復雜性 。 ◇ 管道和過濾器的實例 第三章 軟件體系結構風格 經典軟件體系結構風格 1. UNIX中的 shell程序 。 2. 編譯器系統 。 3. 并行計算 。 ◇ 數據抽象和面向對象組織 第三章 軟件體系結構風格 經典軟件體系結構風格 這種風格建立在數據抽象和面向對象的基礎上 ,數據的表示方法和它們的相應操作封裝在一個抽象數據類型或對象中 。 這種風格的構件是對象 , 或者說是抽象數據類型的實例 。 對象是一種被稱作管理者的構件 , 因為它負責保持資源的完整性 。 對象是通過函數和過程的調用來交互的 。 ◇ 數據抽象和面向對象組織 第三章 軟件體系結構風格 經典軟件體系結構風格 對象抽象數據類型過程調用對象對象對象對象◇ 面向對象系統的優(yōu)點 第三章 軟件體系結構風格 經典軟件體系結構風格 ◎ 因為對象對其它對象隱藏它的表示 , 所以可以改變一個對象的表示 , 而不影響其它的對象; ◎ 設計者可將一些數據存取操作的問題分解成一些交互的代理程序的集合 。 ◇ 面向對象系統的缺點 第三章 軟件體系結構風格 經典軟件體系結構風格 ◎ 為了使一個對象和另一個對象通過過程調用等進行交互 , 必須知道對象的標識 。 只要一個對象的標識改變了 , 就必須修改所有其他明確調用它的對象; ◎ 必須修改所有顯式調用它的其它對象 , 并消除由此帶來的一些副作用 。 例如 , 如果 A使用了對象 B, C也使用了對象 B, 那么 , C對 B的使用所造成的對 A的影響可能是料想不到的 。 例:年齡加 1。 ◇ 基于事件的隱式調用 第三章 軟件體系結構風格 經典軟件體系結構風格 構件不直接調用一個過程 , 而是觸發(fā)或廣播一個或多個事件 。 系統中的其它構件中的過程在一個或多個事件中注冊 , 當一個事件被觸發(fā) , 系統自動調用在這個事件中注冊的所有過程 , 這樣 , 一個事件的觸發(fā)就導致了另一模塊中的過程的調用 。 這種風格的構件是一些模塊 , 模塊既可以是一些過程 , 又可以是一些事件的集合 。 過程可以用通用的方式調用 , 也可以在系統事件中注冊一些過程 , 當發(fā)生這些事件時 , 過程被調用 。 這種風格的主要特點是事件的觸發(fā)者并不知道哪些構件會被這些事件影響 。 這樣不能確定構件的處理順序 , 甚至不知道哪些過程會被調用 , 因此 , 許多隱式調用的系統也包含顯式調用作為構件交互的補充形式 。 ◇ 基于事件的隱式調用的優(yōu)點 經典軟件體系結構風格 ◎ 為軟件重用提供了強大的支持 。 當需要將一個構件加入現存系統中時 , 只需將它注冊到系統的事件中 。 ◎ 為改進系統帶來了方便 。 當用一個構件代替另一個構件時 , 不會影響到其它構件的接口 。 第三章 軟件體系結構風格 ◇ 基于事件的隱式調用的缺點 經典軟件體系結構風格 ◎ 構件放棄了對系統計算的控制 。 一個構件觸發(fā)一個事件時 ,不能確定其它構件是否會響應它 。 而且即使它知道事件注冊了哪些構件的構成 , 它也不能保證這些過程被調用的順序 。 ◎ 數據交換的問題 。 有時數據可被一個事件傳遞 , 但另一些情況下 , 基于事件的系統必須依靠一個共享的倉庫進行交互 。在這些情況下 , 全局性能和資源管理便成了問題 。 ◎ 既然過程的語義必須依賴于被觸發(fā)事件的上下文約束 , 關于正確性的推理存在問題 。 第三章 軟件體系結構風格 ◇ 基于事件的隱式調用的例子 經典軟件體系結構風格 此風格的體系結構最早出現在守護進程 、 約束滿足性檢查和包交換網絡等方面的應用程序中 。 它常常被用于如下領域: ● 在程序設計環(huán)境中用于集成各種工具 ● 在數據庫管理系統用于
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1