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

正文內(nèi)容

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

2025-06-01 20:02 本頁面


【正文】 ? 因此,一個體系結(jié)構(gòu)風(fēng)格根據(jù)結(jié)構(gòu)組織模式定義了一個系統(tǒng)族。更明確地說,一個體系結(jié)構(gòu)風(fēng)格定義了構(gòu)件和連接件類型的符號集,以及規(guī)定它們怎樣組合起來的約束集合。對于很多風(fēng)格來說,也可能存在一個或多個語義模型,其中規(guī)定了怎樣從系統(tǒng)的各部分屬性來確定系統(tǒng)的總體屬性。 風(fēng)格與模式 ? 利用這個框架,我們可以通過回答下面的問題以確定體系結(jié)構(gòu)風(fēng)格,即: – 設(shè)計(jì)符號集,即構(gòu)件和連接件的類型是什么? – 被認(rèn)可的結(jié)構(gòu)模式是什么? – 根本的計(jì)算模型是什么? – 最基本的特點(diǎn)是什么? – 使用這種風(fēng)格的通用例子有哪些? – 使用這種風(fēng)格有什么優(yōu)點(diǎn)和缺點(diǎn)? – 通用的規(guī)格說明是什么? 風(fēng)格與模式 ? 例如,當(dāng)建筑師用“小高層”來描述某座房子時,大多數(shù)人將能夠獲得對房子的整體畫面,對建筑主平面圖可能像什么樣子也會有所了解。建筑師使用體系結(jié)構(gòu)風(fēng)格作為描述手段,將該房子和其他風(fēng)格(例如,公寓、別墅等)的房子區(qū)分開來。但更重要的是,體系結(jié)構(gòu)風(fēng)格也是建筑的樣板。必須進(jìn)一步規(guī)定房子的細(xì)節(jié),具體說明它的最終尺寸,進(jìn)一步給出定制的特征,確定建筑材料等。實(shí)際上是建筑風(fēng)格 ——“小高層” ——指導(dǎo)了建筑師的工作。 風(fēng)格與模式 ? 為基于計(jì)算機(jī)的系統(tǒng)構(gòu)造的軟件也展示了眾多體系結(jié)構(gòu)風(fēng)格中的一種。每種風(fēng)格描述一種系統(tǒng)類別,包括: – l)完成系統(tǒng)需要的某種功能的一組構(gòu)件(例如,數(shù)據(jù)庫、計(jì)算模塊); – 2)能使構(gòu)件間實(shí)現(xiàn)“通信、合作和協(xié)調(diào)”的一組連接件; – 3)定義構(gòu)件如何集成為系統(tǒng)的約束; – 4)語義模型,能使設(shè)計(jì)者通過分析系統(tǒng)組成成分的已知屬性來理解系統(tǒng)的整體性質(zhì)。 風(fēng)格與模式 ? 一種體系結(jié)構(gòu)風(fēng)格就是施加在整個系統(tǒng)設(shè)計(jì)上的一種變換,目的是為系統(tǒng)的所有構(gòu)件建立一個結(jié)構(gòu)。在對已有體系結(jié)構(gòu)再工程時,一種體系結(jié)構(gòu)風(fēng)格的強(qiáng)制采用會導(dǎo)致軟件結(jié)構(gòu)的根本性改變,包括對構(gòu)件功能的再分配。 風(fēng)格與模式 ? 與體系結(jié)構(gòu)風(fēng)格一樣,體系結(jié)構(gòu)模式也對體系結(jié)構(gòu)設(shè)計(jì)施加一種變換。然而,體系結(jié)構(gòu)模式與體系結(jié)構(gòu)風(fēng)格在許多基本方面存在不同: – l)模式涉及的范圍要小一些,它更多集中在體系結(jié)構(gòu)的某一方面而不是體系結(jié)構(gòu)的整體; – 2)模式在體系結(jié)構(gòu)上施加規(guī)則,描述了軟件是如何在基礎(chǔ)設(shè)施層次(例如,并發(fā))上處理某些功能性方面的問題。 – 3)體系結(jié)構(gòu)模式傾向于在體系結(jié)構(gòu)環(huán)境中處理特定的行為問題(例如,實(shí)時應(yīng)用系統(tǒng)如何處理同步和中斷)。 – 模式可以與體系結(jié)構(gòu)風(fēng)格結(jié)合起來建立整個系統(tǒng)結(jié)構(gòu)的外形。 基本體系結(jié)構(gòu) ? 本質(zhì)上軟件體系結(jié)構(gòu)表示了一種結(jié)構(gòu),在該結(jié)構(gòu)中,某個實(shí)體集(經(jīng)常稱作構(gòu)件)通過一組已定義的關(guān)系(經(jīng)常稱作連接件)進(jìn)行連接。無論是構(gòu)件還是連接件,它們都與一組特性相關(guān),這組特性使設(shè)計(jì)者能夠區(qū)別所使用的構(gòu)件和連接件的類型。 基本體系結(jié)構(gòu) ? 5種典型的基本體系結(jié)構(gòu)(構(gòu)件、連接件和特性)是: – 功能結(jié)構(gòu):構(gòu)件表示功能或處理實(shí)體,連接件表示接口,它提供“ 使用 ” 構(gòu)件或 “ 傳遞數(shù)據(jù)到 ” 構(gòu)件的功能。特性描述構(gòu)件的特征和接口的組織。 – 實(shí)現(xiàn)結(jié)構(gòu): “ 構(gòu)件可以是包、類、對象、過程函數(shù)方法等所有在不同抽象層上打包的功能 ” 。連接件包括傳遞數(shù)據(jù)和控制、共享數(shù)據(jù)、 “ 使用 ” 以及 “ 是一個實(shí)例 ” 等能力。特性關(guān)注于結(jié)構(gòu)實(shí)現(xiàn)時的質(zhì)量特征(例如,可維護(hù)性、可重用性)。 – 并發(fā)結(jié)構(gòu):構(gòu)件表示 “ 并發(fā)單元 ” ,這些 “ 并發(fā)單元 ” 被組織為并行任務(wù)或線程。 “ 關(guān)系(連接件)包括同步于、優(yōu)先級高于、發(fā)送數(shù)據(jù)到、運(yùn)行必須有、運(yùn)行不能有。與結(jié)構(gòu)相關(guān)的特性包括優(yōu)先級、搶先占有以及執(zhí)行時間 ” 。 基本體系結(jié)構(gòu) – 物理結(jié)構(gòu):物理結(jié)構(gòu)類似于設(shè)計(jì)開發(fā)中的部署模型,構(gòu)件是物理硬件,軟件駐留在硬件、上。連接件是硬件構(gòu)件之間的接口,特性用來描述容量、帶寬、性能和其他屬性。 – 開發(fā)結(jié)構(gòu):該結(jié)構(gòu)定義構(gòu)件、工作產(chǎn)品以及軟件工程過程中所需的其他信息源。連接件表示工作產(chǎn)品之間的關(guān)系,特性標(biāo)識每項(xiàng)的特征。 ? 每一種結(jié)構(gòu)表示體系結(jié)構(gòu)的不同視圖,顯示出進(jìn)行建模和構(gòu)建時對軟件團(tuán)隊(duì)的有用信息。 組織和求精 ? 由于設(shè)計(jì)過程經(jīng)常會留下許多種可供選擇的體系結(jié)構(gòu)方案,因此建立一組用于評估所導(dǎo)出的體系結(jié)構(gòu)設(shè)計(jì)的設(shè)計(jì)標(biāo)準(zhǔn)是非常重要的。下面的問題有助于更深入地了解體系結(jié)構(gòu)風(fēng)格: – 控制。在體系結(jié)構(gòu)中如何管理控制?是否存在清楚的控制層次?如果存在,構(gòu)件在控制層次中有什么作用?構(gòu)件如何在系統(tǒng)中傳遞控制?構(gòu)件間如何共享控制?控制的拓?fù)浣Y(jié)構(gòu)(即控制呈現(xiàn)的幾何形狀)如何?控制是否同步或者構(gòu)件操作是否異步? 組織和求精 – 數(shù)據(jù)。構(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è)計(jì)者對設(shè)計(jì)質(zhì)量進(jìn)行早期評估,也為更詳細(xì)地分析體系結(jié)構(gòu)奠定了基礎(chǔ)。 典型的體系結(jié)構(gòu)模式 ? 盡管在過去的幾十年中人們已經(jīng)創(chuàng)建了眾多的計(jì)算機(jī)系統(tǒng),但其中絕大多數(shù)都可以歸為少數(shù)幾種體系結(jié)構(gòu)風(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)、過程控制。 典型的體系結(jié)構(gòu)模式 ? 這些體系結(jié)構(gòu)風(fēng)格也僅僅是可用風(fēng)格中的一小部分。一旦需求工程揭示了待構(gòu)建系統(tǒng)的特征和約束,就可以選擇最適合這些特征和約束的體系結(jié)構(gòu)風(fēng)格和(或)風(fēng)格的組合。在很多情況下,會有多種模式是適合的,需要對可選的體系結(jié)構(gòu)風(fēng)格進(jìn)行設(shè)計(jì)和評估。 管道 過濾器 ? 管道 過濾器( Pipes and Filters)體系結(jié)構(gòu)模式(見表 62和圖 64)是一個系統(tǒng)運(yùn)行時組織的模型,在這個模型中,函數(shù)轉(zhuǎn)換處理輸入并產(chǎn)生輸出。數(shù)據(jù)從一個處理單元流到另一個處理單元,每經(jīng)過一個單元就做一次變換。輸入數(shù)據(jù)流經(jīng)過這些變換直到轉(zhuǎn)換為輸出。這些轉(zhuǎn)換可能順序地或并行地執(zhí)行,數(shù)據(jù)加工可以是一項(xiàng)一項(xiàng)地處理,也可以成批處理。 表 62 管道 過濾器模式 圖 64 管道 過濾器模式(數(shù)據(jù)流體系結(jié)構(gòu)) 過 濾 器過 濾 器過 濾 器過 濾 器過 濾 器過 濾 器過 濾 器過 濾 器過 濾 器過 濾 器過 濾 器過 濾 器過 濾 器過 濾 器過 濾 器過 濾 器過 濾 器管 道管 道 和 過 濾 器圖 65 管道 過濾器模式的一個實(shí)例 票 據(jù)收 據(jù)提 醒讀 發(fā) 出 的票 據(jù)支 付確 認(rèn) 支 付發(fā) 出 支 付檢 查 支 付截 止 日 期發(fā) 出 支 付提 醒 管道 過濾器 ? “管道 過濾器”的名字最早出自 Unix系統(tǒng), Unix系統(tǒng)在鏈接進(jìn)程時可能會用到“管道”,通過提供符號表示要連接的構(gòu)件和提供運(yùn)行時機(jī)制來實(shí)現(xiàn)管道,這些管道能從一個進(jìn)程到另一個進(jìn)程傳遞文本流。遵照這個模型,系統(tǒng)可以組合 Unix命令、使用管道和 Unix shell控制工具來實(shí)現(xiàn)?!斑^濾器”這個詞很形象地描述了數(shù)據(jù)從輸入到輸出這樣一個過程。 管道 過濾器 ? 管道 過濾器模式又稱數(shù)據(jù)流體系結(jié)構(gòu)。當(dāng)輸入數(shù)據(jù)經(jīng)過一系列的計(jì)算構(gòu)件和操作構(gòu)件的變換形成輸出數(shù)據(jù)時,可以應(yīng)用這種體系結(jié)構(gòu)。管道 過濾器模式擁有一組稱為過濾器( Filter)的構(gòu)件,每個構(gòu)件都有一組輸入集和輸出集。這些構(gòu)件從輸入源讀入數(shù)據(jù)流,通過管道( Pipe)連接,管道將數(shù)據(jù)從一個構(gòu)件傳送到下一個構(gòu)件,并在輸出池產(chǎn)生輸出數(shù)據(jù)流。 管道 過濾器 ? 構(gòu)件對輸入流進(jìn)行內(nèi)部轉(zhuǎn)換和增量計(jì)算,因此在輸入數(shù)據(jù)流被全部處理之前,輸出就已經(jīng)開始了。每個過濾器獨(dú)立于其上游和下游的構(gòu)件而工作,要針對某種形式的數(shù)據(jù)輸入產(chǎn)生某種特定形式的數(shù)據(jù)輸出(到下一個過濾器)。然而,過濾器沒有必要了解與之相鄰的過濾器的工作。 ? 管道 過濾器的通用結(jié)構(gòu)如管線( Pipelines),限制系統(tǒng)的拓?fù)浣Y(jié)構(gòu)只能是過濾器的線性序列;有界管道( Bounded Pipes)限制了在管道中能容納的數(shù)據(jù)量;類型定義管道( Typed Pipes)要求明確定義在兩個過濾器間傳輸?shù)臄?shù)據(jù)類型。 管道 過濾器 ? 另一個著名的管線系統(tǒng)例子是傳統(tǒng)編譯器,在這個管線系統(tǒng)中包括詞法分析、句法分析、語義分析、代碼生成階段。 ? 自從計(jì)算機(jī)被用于自動數(shù)據(jù)處理以來,數(shù)據(jù)流模型的多種形式就被廣泛使用。當(dāng)系統(tǒng)中每個過濾器作為一個單一實(shí)體處理輸入數(shù)據(jù),即對數(shù)據(jù)的轉(zhuǎn)換是順序進(jìn)行時,就成了一個退化的管線結(jié)構(gòu),這時管道 過濾器模式就變成了批處理模型。 管道 過濾器 ? 管道 過濾器系統(tǒng)有很多優(yōu)點(diǎn)。首先,設(shè)計(jì)者可以將整個系統(tǒng)的輸入、輸出特性理解為各個過濾器功能的簡單合成。第二,支持功能模塊的重用:任意兩個過濾器只要相互間所傳輸?shù)臄?shù)據(jù)格式上達(dá)成一致,就可以連接在一起。第三,系統(tǒng)容易維護(hù)和擴(kuò)展:新的過濾器容易加入到系統(tǒng)中,舊的過濾器也可被改進(jìn)的過濾器替換。第四,支持某些特定的分析,如吞吐量和死鎖檢測。最后,它具有天然的并發(fā)特性,每一個過濾器既可以獨(dú)立的運(yùn)行,也可以和其他過濾器并發(fā)執(zhí)行。 管道 過濾器 ? 但是管道 過濾器模式也有缺點(diǎn)。首先,這種系統(tǒng)往往導(dǎo)致處理過程的成批操作。雖然系統(tǒng)中的過濾器對數(shù)據(jù)采取增量的方式,但過濾器的獨(dú)立性很強(qiáng),這樣設(shè)計(jì)者必須考慮每個過濾器完成從輸入到輸出的完整轉(zhuǎn)換。此外,由于過濾器的傳輸特性,管道 過濾器模式通常不適合于交互性很強(qiáng)的應(yīng)用。尤其是在系統(tǒng)需要逐步顯示數(shù)據(jù)流變化的過程時,問題會變得更加難以解決,因?yàn)樵隽匡@示和過濾器的輸出數(shù)據(jù)差距太大。 管道 過濾器 ? 第二,維持兩個相對獨(dú)立但又存在某種關(guān)系的數(shù)據(jù)流之間的通信可能很困難。 ? 第三,根據(jù)實(shí)際應(yīng)用的要求,設(shè)計(jì)者也需要在數(shù)據(jù)傳輸時被迫使用底層公共命名,導(dǎo)致過濾器必須對輸入、輸出管道中的數(shù)據(jù)進(jìn)行解析或反解析的額外工作。這樣,降低了系統(tǒng)的效率,同時增加了編寫過濾器本身的復(fù)雜性。 分層系統(tǒng) ? 分離性和獨(dú)立性的概念是體系結(jié)構(gòu)設(shè)計(jì)的基礎(chǔ),因?yàn)榉蛛x性和獨(dú)立性使得變更得到局部化。分層體系結(jié)構(gòu)模式是實(shí)現(xiàn)分離性和獨(dú)立性的一個方式,表 63和圖 66顯示了這種模式。這里,一個分層系統(tǒng)( Layered Systems)按照層次結(jié)構(gòu)組織,系統(tǒng)的功能被劃分成幾個獨(dú)立的層次,每一層只依賴緊接的下一層所提供的服務(wù)和設(shè)施。定義的一系列不同層次各自完成其自身的操作,這些操作逐漸接近機(jī)器的指令集。在外層,構(gòu)件完成建立用戶界面的操作;在內(nèi)層,構(gòu)件完成建立操作系統(tǒng)接口的操作;中間層提供各種實(shí)用工具服務(wù)和應(yīng)用軟件功能。 表 63 分層體系結(jié)構(gòu)模式 圖 66 分層系統(tǒng)(分層體系結(jié)構(gòu)) 核 心 層實(shí) 用 工 具 層應(yīng) 用 層用 戶 界 面 層構(gòu) 件 分層系統(tǒng) ? 每一層向它的上層提供服務(wù),同時它又是下層的客戶。在某些分層系統(tǒng)中,內(nèi)層只對其相鄰的層和某些用于輸出的函數(shù)是可見的,對其他外部的層是隱藏的。在這些系統(tǒng)中,構(gòu)件在某些層中實(shí)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1