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

正文內(nèi)容

軟件設(shè)計zhousu第6章體系結(jié)構(gòu)的模式與結(jié)構(gòu)-文庫吧資料

2025-06-22 20:02本頁面
  

【正文】 常普遍。特別是,因為它并沒有定義系統(tǒng)中構(gòu)件的交互關(guān)系,我們認(rèn)為繼承關(guān)系不是一種連接件。 數(shù)據(jù)抽象和面向?qū)ο蠼M織 ? 在這種描述中并沒有提及繼承。這種模式的構(gòu)件是對象(封裝了數(shù)據(jù)和必須用于控制該數(shù)據(jù)的操作),或者也可稱為抽象數(shù)據(jù)類型的實例,構(gòu)件間通過信息傳遞進(jìn)行通信與合作??蛻魴C(jī)程序只是對訪問這些服務(wù)提供一個集成的用戶界面(用 Web瀏覽器構(gòu)造)。靜態(tài)圖片必須保持高分辨率,所以將它們單獨(dú)放在一個服務(wù)器上是比較妥當(dāng)?shù)摹R曨l信號需要快速、同步地傳輸,但分辨率相對較低。 客戶機(jī) 服務(wù)器 ? 圖 612所示是一個基于 Web的提供電影和圖片庫的多用戶系統(tǒng)??蛻魴C(jī)通過遠(yuǎn)程過程調(diào)用來獲取服務(wù)器提供的服務(wù),遠(yuǎn)程過程調(diào)用使用一個請求 回答協(xié)議,比如在 WWW上使用的 協(xié)議。 客戶機(jī) 服務(wù)器 ? 客戶機(jī)必須知道可用的服務(wù)器的名字及它們所提供的服務(wù)。此外,更重要的好處是分離性和獨(dú)立性。絕大多數(shù)客戶機(jī) 服務(wù)器系統(tǒng)實現(xiàn)為分布式系統(tǒng),通過互聯(lián)網(wǎng)的協(xié)議連接在一起。一個客戶機(jī)程序通常有多個實例,可以在不同的計算機(jī)上并發(fā)執(zhí)行。包括:打印服務(wù)器,提供打印服務(wù);文件服務(wù)器,提供文檔管理服務(wù);編譯服務(wù)器,負(fù)責(zé)對程序的編譯服務(wù)。 表 65 客戶機(jī) 服務(wù)器模式 圖 612 電影資料庫的客戶機(jī) 服務(wù)器體系結(jié)構(gòu) 目 錄 服 務(wù) 器圖 書 館 目 錄W e b 服 務(wù) 器電 影 和 圖 片信 息視 頻 服 務(wù) 器電 影 商 店圖 片 服 務(wù) 器圖 片 商 店網(wǎng) 絡(luò)客 戶 1 客 戶 2 客 戶 3 客 戶 4 客戶機(jī) 服務(wù)器 ? 一個采用客戶機(jī) 服務(wù)器模式的系統(tǒng)是由一個服務(wù)集合和相關(guān)的服務(wù)器以及訪問和使用這些服務(wù)的客戶機(jī)組織起來的。 客戶機(jī) 服務(wù)器 ? 容器模式與系統(tǒng)的靜態(tài)結(jié)構(gòu)有關(guān),但是不能展現(xiàn)出它的運(yùn)行組織。因此實際的控制器或者它的實現(xiàn)可以在知識源中,也可以在黑板中,獨(dú)立的模塊中或者在它們的組合中。一旦黑板的狀態(tài)使某個知識源可用,知識源就會適時地響應(yīng)。知識源不斷修改黑板中的數(shù)據(jù),直到問題得解。知識源僅通過黑板進(jìn)行交互。黑板體系結(jié)構(gòu)的示意圖如圖 611所示。如果由輸入流中事務(wù)觸發(fā)系統(tǒng)相應(yīng)的進(jìn)程執(zhí)行,這是傳統(tǒng)的數(shù)據(jù)庫型知識庫。在不同的系統(tǒng)中,知識庫和外部構(gòu)件集合之間的交互方式存在很大的差異。另外,數(shù)據(jù)可以在客戶間通過“黑板”機(jī)制傳送(即黑板構(gòu)件負(fù)責(zé)協(xié)調(diào)信息在客戶間的傳遞),客戶構(gòu)件獨(dú)立地執(zhí)行過程。到底激活哪個工具要視對數(shù)據(jù)的分析結(jié)果而定。另外一種方法源于人工智能,即使用所謂的“黑板”模型,當(dāng)有特別的數(shù)據(jù)可用時,就會主動通報組件。雖然從邏輯上講將集中式容器分布到不同的機(jī)器上是可能的,但這樣做會引起數(shù)據(jù)冗余和不一致性的問題。若一個新組件的數(shù)據(jù)模型與該模型有沖突,那么要想將它集成到該系統(tǒng)中來就可能很困難。然而,組件一定要圍繞一個約定好了的容器數(shù)據(jù)模型運(yùn)行。 圖 610 IDE系統(tǒng)的容器體系結(jié)構(gòu) U M L編 輯 器代 碼生 成 器設(shè) 計翻 譯 器J a v a編 輯 器P y t h o n編 輯 器設(shè) 計 分 析 器 報 告 生 成 器項 目 容 器 知識庫(容器) ? 把所有適合使用容器的工具組織起來是共享大量數(shù)據(jù)的一種高效方式。該圖顯示了一個包含不同工具來支持模型驅(qū)動開發(fā)的 IDE系統(tǒng)。這種類型的系統(tǒng)例子包括指揮和控制系統(tǒng)、管理信息系統(tǒng)、 CAD系統(tǒng)和軟件的交互開發(fā)環(huán)境等。 知識庫(容器) ? 大多數(shù)使用大量數(shù)據(jù)的系統(tǒng)都是圍繞共享數(shù)據(jù)庫或容器來組織的。在某些情況下,數(shù)據(jù)存儲庫是被動的,也就是說,客戶軟件獨(dú)立于數(shù)據(jù)的任何變化或其他客戶軟件的動作而訪問數(shù)據(jù)。 表 64 容器模式 圖 69 以數(shù)據(jù)為中心的體系結(jié)構(gòu) 數(shù) 據(jù) 存 儲( 中 心 存 儲 庫 或 黑 板 )客 戶 軟 件 客 戶 軟 件客 戶 軟 件客 戶 軟 件客 戶 軟 件客 戶 軟 件客 戶 軟 件 客 戶 軟 件 知識庫(容器) ? 數(shù)據(jù)存儲(如文件或數(shù)據(jù)庫)駐留在這種體系結(jié)構(gòu)的中心,其他構(gòu)件會經(jīng)常訪問該數(shù)據(jù)存儲,并對存儲中的數(shù)據(jù)進(jìn)行更新、增加、刪除或者修改。比如,實際的通信協(xié)議體就很難映射到OSI框架中,因為其中許多協(xié)議跨多個層。另外,定義一個合適的抽象層次可能會非常困難。) 分層系統(tǒng) ? 但是分層系統(tǒng)也有缺點(diǎn),并不是所有的系統(tǒng)都容易用這種模式來構(gòu)建。這使得定義標(biāo)準(zhǔn)層接口成為可能,在此接口上可建立不同實現(xiàn)。第三,它支持重用。第二,它支持?jǐn)U展。首先,它支持基于逐級抽象的系統(tǒng)設(shè)計。這個系統(tǒng)有 5層,最底層是各個圖書館中獨(dú)立的數(shù)據(jù)庫。圖 67中的任何一層都可以分為兩層或更多層。最上層提供用戶界面設(shè)施。再上一層是應(yīng)用程序?qū)?,包括與應(yīng)用功能相關(guān)的組件、可以被其他應(yīng)用組件利用的實用工具組件等。 分層系統(tǒng) ? 圖 67是一個分為 4層的體系結(jié)構(gòu)的例子。當(dāng)一層的接口改變或增加了新設(shè)施的時候,只有毗鄰的層受影響。這個體系結(jié)構(gòu)還是可改變的和可移植的。 分層系統(tǒng) ? 分層的方法支持系統(tǒng)的增量式開發(fā)。較低層定義較低層的交互,最底層通常通過硬件連接來定義。 分層系統(tǒng) ? 這種體系結(jié)構(gòu)模式最著名的例子就是分層通信協(xié)議。(在其他分層系統(tǒng)中,層次可能只是部分透明的。在某些分層系統(tǒng)中,內(nèi)層只對其相鄰的層和某些用于輸出的函數(shù)是可見的,對其他外部的層是隱藏的。在外層,構(gòu)件完成建立用戶界面的操作;在內(nèi)層,構(gòu)件完成建立操作系統(tǒng)接口的操作;中間層提供各種實用工具服務(wù)和應(yīng)用軟件功能。這里,一個分層系統(tǒng)( Layered Systems)按照層次結(jié)構(gòu)組織,系統(tǒng)的功能被劃分成幾個獨(dú)立的層次,每一層只依賴緊接的下一層所提供的服務(wù)和設(shè)施。 分層系統(tǒng) ? 分離性和獨(dú)立性的概念是體系結(jié)構(gòu)設(shè)計的基礎(chǔ),因為分離性和獨(dú)立性使得變更得到局部化。 ? 第三,根據(jù)實際應(yīng)用的要求,設(shè)計者也需要在數(shù)據(jù)傳輸時被迫使用底層公共命名,導(dǎo)致過濾器必須對輸入、輸出管道中的數(shù)據(jù)進(jìn)行解析或反解析的額外工作。尤其是在系統(tǒng)需要逐步顯示數(shù)據(jù)流變化的過程時,問題會變得更加難以解決,因為增量顯示和過濾器的輸出數(shù)據(jù)差距太大。雖然系統(tǒng)中的過濾器對數(shù)據(jù)采取增量的方式,但過濾器的獨(dú)立性很強(qiáng),這樣設(shè)計者必須考慮每個過濾器完成從輸入到輸出的完整轉(zhuǎn)換。 管道 過濾器 ? 但是管道 過濾器模式也有缺點(diǎn)。第四,支持某些特定的分析,如吞吐量和死鎖檢測。第二,支持功能模塊的重用:任意兩個過濾器只要相互間所傳輸?shù)臄?shù)據(jù)格式上達(dá)成一致,就可以連接在一起。 管道 過濾器 ? 管道 過濾器系統(tǒng)有很多優(yōu)點(diǎn)。 ? 自從計算機(jī)被用于自動數(shù)據(jù)處理以來,數(shù)據(jù)流模型的多種形式就被廣泛使用。 ? 管道 過濾器的通用結(jié)構(gòu)如管線( Pipelines),限制系統(tǒng)的拓?fù)浣Y(jié)構(gòu)只能是過濾器的線性序列;有界管道( Bounded Pipes)限制了在管道中能容納的數(shù)據(jù)量;類型定義管道( Typed Pipes)要求明確定義在兩個過濾器間傳輸?shù)臄?shù)據(jù)類型。每個過濾器獨(dú)立于其上游和下游的構(gòu)件而工作,要針對某種形式的數(shù)據(jù)輸入產(chǎn)生某種特定形式的數(shù)據(jù)輸出(到下一個過濾器)。這些構(gòu)件從輸入源讀入數(shù)據(jù)流,通過管道( Pipe)連接,管道將數(shù)據(jù)從一個構(gòu)件傳送到下一個構(gòu)件,并在輸出池產(chǎn)生輸出數(shù)據(jù)流。當(dāng)輸入數(shù)據(jù)經(jīng)過一系列的計算構(gòu)件和操作構(gòu)件的變換形成輸出數(shù)據(jù)時,可以應(yīng)用這種體系結(jié)構(gòu)。“過濾器”這個詞很形象地描述了數(shù)據(jù)從輸入到輸出這樣一個過程。 表 62 管道 過濾器模式 圖 64 管道 過濾器模式(數(shù)據(jù)流體系結(jié)構(gòu)) 過 濾 器過 濾 器過 濾 器過 濾 器過 濾 器過 濾 器過 濾 器過 濾 器過 濾 器過 濾 器過 濾 器過 濾 器過 濾 器過 濾 器過 濾 器過 濾 器過 濾 器管 道管 道 和 過 濾 器圖 65 管道 過濾器模式的一個實例 票 據(jù)收 據(jù)提 醒讀 發(fā) 出 的票 據(jù)支 付確 認(rèn) 支 付發(fā) 出 支 付檢 查 支 付截 止 日 期發(fā) 出 支 付提 醒 管道 過濾器 ? “管道 過濾器”的名字最早出自 Unix系統(tǒng), Unix系統(tǒng)在鏈接進(jìn)程時可能會用到“管道”,通過提供符號表示要連接的構(gòu)件和提供運(yùn)行時機(jī)制來實現(xiàn)管道,這些管道能從一個進(jìn)程到另一個進(jìn)程傳遞文本流。輸入數(shù)據(jù)流經(jīng)過這些變換直到轉(zhuǎn)換為輸出。 管道 過濾器 ? 管道 過濾器( Pipes and Filters)體系結(jié)構(gòu)模式(見表 62和圖 64)是一個系統(tǒng)運(yùn)行時組織的模型,在這個模型中,函數(shù)轉(zhuǎn)換處理輸入并產(chǎn)生輸出。一旦需求工程揭示了待構(gòu)建系統(tǒng)的特征和約束,就可以選擇最適合這些特征和約束的體系結(jié)構(gòu)風(fēng)格和(或)風(fēng)格的組合。應(yīng)用較多的體系結(jié)構(gòu)模式有: MVC(模型 視圖 控制器)、批處理序列、管道 過濾器(數(shù)據(jù)流)、調(diào)用和返回、主程序和子程序、面向?qū)ο笙到y(tǒng)、多級分層、客戶機(jī) 服務(wù)器、獨(dú)立構(gòu)件、通信進(jìn)程、事件系統(tǒng)、虛擬機(jī)、解釋器、基于規(guī)則系統(tǒng)、數(shù)據(jù)中心系統(tǒng)(知識庫、黑板、容器)、數(shù)據(jù)庫、超文本系統(tǒng)、過程控制。構(gòu)件間如何進(jìn)行數(shù)據(jù)通信?數(shù)據(jù)流是否是連續(xù)地傳遞給系統(tǒng),或數(shù)據(jù)對象是否是零散地傳遞給系統(tǒng)?數(shù)據(jù)傳遞的模式是什么(即,數(shù)據(jù)是從一個構(gòu)件傳遞到另一個構(gòu)件,還是數(shù)據(jù)被系統(tǒng)中的構(gòu)件全局共享)?是否存在數(shù)據(jù)構(gòu)件(如黑板或中心存儲庫)?如果存在,它們的作用是什么?功能構(gòu)件如何和數(shù)據(jù)構(gòu)件交互?數(shù)據(jù)構(gòu)件是被動的還是主動的(即數(shù)據(jù)構(gòu)件是否主動地和系統(tǒng)的其他構(gòu)件交互)?數(shù)據(jù)和控制如何在系統(tǒng)中交互? ? 這些問題有助于設(shè)計者對設(shè)計質(zhì)量進(jìn)行早期評估,也為更詳細(xì)地分析體系結(jié)構(gòu)奠定了基礎(chǔ)。下面的問題有助于更深入地了解體系結(jié)構(gòu)風(fēng)格: – 控制。 ? 每一種結(jié)構(gòu)表示體系結(jié)構(gòu)的不同視圖,顯示出進(jìn)行建模和構(gòu)建時對軟件團(tuán)隊的有用信息。 – 開發(fā)結(jié)構(gòu):該結(jié)構(gòu)定義構(gòu)件、工作產(chǎn)品以及軟件工程過程中所需的其他信息源。 基本體系結(jié)構(gòu) – 物理結(jié)構(gòu):物理結(jié)構(gòu)類似于設(shè)計開發(fā)中的部署模型,構(gòu)件是物理硬件,軟件駐留在硬件、上。 “ 關(guān)系(連接件)包括同步于、優(yōu)先級高于、發(fā)送數(shù)據(jù)到、運(yùn)行必須有、運(yùn)行不能有。特性關(guān)注于結(jié)構(gòu)實現(xiàn)時的質(zhì)量特征(例如,可維護(hù)性、可重用性)。 – 實現(xiàn)結(jié)構(gòu): “ 構(gòu)件可以是包、類、對象、過程函數(shù)方法等所有在不同抽象層上打包的功能 ” 。 基本體系結(jié)構(gòu) ? 5種典型的基本體系結(jié)構(gòu)(構(gòu)件、連接件和特性)是: – 功能結(jié)構(gòu):構(gòu)件表示功能或處理實體,連接件表示接口,它提供“ 使用 ” 構(gòu)件或 “ 傳遞數(shù)據(jù)到 ” 構(gòu)件的功能。 基本體系結(jié)構(gòu) ? 本質(zhì)上軟件體系結(jié)構(gòu)表示了一種結(jié)構(gòu),在該結(jié)構(gòu)中,某個實體集(經(jīng)常稱作構(gòu)件)通過一組已定義的關(guān)系(經(jīng)常稱作連接件)進(jìn)行連接。 – 3)體系結(jié)構(gòu)模式傾向于在體系結(jié)構(gòu)環(huán)境中處理特定的行為問題(例如,實時應(yīng)用系統(tǒng)如何處理同步和中斷)。 風(fēng)格與模式 ? 與體系結(jié)構(gòu)風(fēng)格一樣,體系結(jié)構(gòu)模式也對體系結(jié)構(gòu)設(shè)計施加一種變換。 風(fēng)格與模式 ? 一種體系結(jié)構(gòu)風(fēng)格就是施加在整個系統(tǒng)設(shè)計上的一種變換,目的是為系統(tǒng)的所有構(gòu)件建立一個結(jié)構(gòu)。 風(fēng)格與模式 ? 為基于計算機(jī)的系統(tǒng)構(gòu)造的軟件也展示了眾多體系結(jié)構(gòu)風(fēng)格中的一種。必須進(jìn)一步規(guī)定房子的細(xì)節(jié),具體說明它的最終尺寸,進(jìn)一步給出定制的特征,確定建筑材料等。建筑師使用體系結(jié)構(gòu)風(fēng)格作為描述手段,將該房子和其他風(fēng)格(例如,公寓、別墅等)的房子區(qū)分開來。對于很多風(fēng)格來說,也可能存
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1