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

正文內(nèi)容

軟件設(shè)計zhousu第6章體系結(jié)構(gòu)的模式與結(jié)構(gòu)-免費閱讀

2025-07-10 20:02 上一頁面

下一頁面
  

【正文】 在這個例子中,符號表和語法樹是作為中央信息容器的。編譯器可以用容器和管道 過濾器的復(fù)合模型實現(xiàn)。該過程的輸出是輸入指令的解釋結(jié)果。 語言處理系統(tǒng) ? 語言處理系統(tǒng)用來將文本從一種語言翻譯成另一種語言,例如把自然語言或人工語言翻譯成該類語言的其他表示,對于編程語言可能會執(zhí)行產(chǎn)生的代碼,來執(zhí)行輸入語言所定義的指令。這一層還包括顯示信息給用戶的表格和菜單管理組件以及核對信息一致性的數(shù)據(jù)確認(rèn)組件。系統(tǒng)采用分層方法,頂層支持用戶界面,底層是系統(tǒng)數(shù)據(jù)庫。這個系統(tǒng)由兩個相互協(xié)作的軟件子系統(tǒng)構(gòu)成,即 ATM軟件和位于銀行數(shù)據(jù)庫服務(wù)器上的賬戶處理軟件。 事務(wù)處理系統(tǒng) ? 事務(wù)處理系統(tǒng)總是交互式系統(tǒng),用戶異步地提出對服務(wù)的請求。 事務(wù)處理系統(tǒng) ? 事務(wù)處理系統(tǒng)( Transaction processing systems, TPS)是設(shè)計用來處理用戶對數(shù)據(jù)庫信息的查詢或者對數(shù)據(jù)庫的更新,允許數(shù)據(jù)庫中的信息被很多遠(yuǎn)程用戶訪問和修改。 體系結(jié)構(gòu)的應(yīng)用方式 – 3)作為對開發(fā)團(tuán)隊工作的組織方式。 體系結(jié)構(gòu)的應(yīng)用方式 ? 當(dāng)開發(fā)新的系統(tǒng)時應(yīng)用體系結(jié)構(gòu)往往要重新實現(xiàn),但是對大多數(shù)商務(wù)系統(tǒng),應(yīng)用的復(fù)用有可能不需要重新實現(xiàn)。 應(yīng)用體系結(jié)構(gòu) ? 商業(yè)和機(jī)構(gòu)的所有業(yè)務(wù)幾乎都具有共性 ——需要雇傭人員、開出發(fā)票、記賬等。比如,一個管道連接件內(nèi)部運行起來好像是一個先進(jìn)先出的隊列,通過插入和移出操作訪問。設(shè)計模式是對在某種環(huán)境中反復(fù)出現(xiàn)的問題以及解決該問題的方案的描述,它比框架更抽象;框架可以用代碼表示,也能直接執(zhí)行或復(fù)用,而對模式而言只有實例才能用代碼表示;設(shè)計模式是比框架更小的元素,一個框架中往往含有一個或多個設(shè)計模式,框架總是針對某一特定應(yīng)用領(lǐng)域,但同一模式卻可適用于各種不同的應(yīng)用。將體系結(jié)構(gòu)具體應(yīng)用到某一特定領(lǐng)域中,能夠增加結(jié)構(gòu)的描述能力。 主程序 /子程序組織 ? 傳統(tǒng)的主程序 /子程序組織結(jié)構(gòu)模式將功能分解為一個控制層次,其中“主”程序調(diào)用一組程序構(gòu)件,這些程序構(gòu)件又去調(diào)用其他構(gòu)件。 – ⑨ 前饋控制系統(tǒng):一些被控變量是可測量的,并且預(yù)期的干擾會被直接補(bǔ)償,不需要等待被控變量的變化值被計算出來。輸入材料、中間產(chǎn)物和操作的屬性通過過程變量來獲得。其中,偽碼由需要被解釋的源代碼和解釋引擎分析所得到的中間代碼組成。當(dāng)一個構(gòu)件發(fā)布一個事件,它不能保證其他構(gòu)件會對其做出響應(yīng)。因此,構(gòu)件不能對事件的處理順序,或者事件發(fā)生后的處理結(jié)果做任何假設(shè)。這樣一個事件的激發(fā)會導(dǎo)致其他模塊中過程的隱式調(diào)用。在面向?qū)ο笙到y(tǒng)中,每當(dāng)一個對象的標(biāo)識改變的時候,必須修改那些顯式調(diào)用它的對象。在體系結(jié)構(gòu)范疇中,屬性的繼承并不只限制在對象中,也包括連接件,甚至體系結(jié)構(gòu)風(fēng)格。 客戶機(jī) 服務(wù)器 ? 要求目錄能夠支持各種查詢,能與包含電影和視頻片段的Web信息系統(tǒng)鏈接,并能與支持發(fā)售圖片、電影和視頻片段的電子商務(wù)系統(tǒng)保持鏈接。反之,服務(wù)器沒有必要知道客戶機(jī)的身份以及到底有多少客戶機(jī)在訪問它們的服務(wù)。 – ( 2)一組向服務(wù)器請求服務(wù)的客戶機(jī)。 ? 圖 611并沒有顯式地表示出控制構(gòu)件,因為知識源的調(diào)用是通過黑板的狀態(tài)激活的。另一方面,如果由中心數(shù)據(jù)結(jié)構(gòu)的當(dāng)前狀態(tài)觸發(fā)系統(tǒng)相應(yīng)的進(jìn)程執(zhí)行,稱為黑板知識庫。在容器數(shù)據(jù)的結(jié)構(gòu)組織得不是很好的時候,這個方法比較合適。這就不需要顯式地把數(shù)據(jù)從一個組件傳送到另一個組件。該方法的一個變種是將中心存儲庫變換成“黑板”,當(dāng)客戶感興趣的數(shù)據(jù)發(fā)生變化時,它將通知客戶軟件。而且即使一個系統(tǒng)能夠從邏輯上被構(gòu)建成層次結(jié)構(gòu),出于對性能的考慮,也需要將邏輯上高層次的功能和相對低層次的實現(xiàn)結(jié)合起來。這就允許設(shè)計者將一個復(fù)雜的問題分解成一系列遞增的步驟。第三層與用戶界面管理相關(guān),并提供用戶的身份驗證和授權(quán)。如一個層被開發(fā)完,該層提供的服務(wù)就可以被用戶使用了。在這些系統(tǒng)中,構(gòu)件在某些層中實現(xiàn)虛擬機(jī)。這樣,降低了系統(tǒng)的效率,同時增加了編寫過濾器本身的復(fù)雜性。最后,它具有天然的并發(fā)特性,每一個過濾器既可以獨立的運行,也可以和其他過濾器并發(fā)執(zhí)行。 管道 過濾器 ? 另一個著名的管線系統(tǒng)例子是傳統(tǒng)編譯器,在這個管線系統(tǒng)中包括詞法分析、句法分析、語義分析、代碼生成階段。 管道 過濾器 ? 管道 過濾器模式又稱數(shù)據(jù)流體系結(jié)構(gòu)。在很多情況下,會有多種模式是適合的,需要對可選的體系結(jié)構(gòu)風(fēng)格進(jìn)行設(shè)計和評估。 組織和求精 ? 由于設(shè)計過程經(jīng)常會留下許多種可供選擇的體系結(jié)構(gòu)方案,因此建立一組用于評估所導(dǎo)出的體系結(jié)構(gòu)設(shè)計的設(shè)計標(biāo)準(zhǔn)是非常重要的。 – 并發(fā)結(jié)構(gòu):構(gòu)件表示 “ 并發(fā)單元 ” ,這些 “ 并發(fā)單元 ” 被組織為并行任務(wù)或線程。 – 模式可以與體系結(jié)構(gòu)風(fēng)格結(jié)合起來建立整個系統(tǒng)結(jié)構(gòu)的外形。實際上是建筑風(fēng)格 ——“小高層” ——指導(dǎo)了建筑師的工作。構(gòu)件如客戶機(jī)、服務(wù)器、過濾器、層、數(shù)據(jù)庫等,連接件如過程調(diào)用、事件廣播、數(shù)據(jù)庫協(xié)議和管道等。體系結(jié)構(gòu)模式還應(yīng)該包括:這種模式什么時候適用,什么時候不適用,以及這種模式的優(yōu)點和缺點等。 圖 62 MVC模式的組成 控 制 器 映 射 用 戶 的 動 作 到 模 型 更 新 操 作 選 擇 視 圖視 圖 繪 制 模 型 請 求 模 型 更 新 發(fā) 送 用 戶 事 件 給 控 制 器視 圖 選 擇用 戶 事 件模 型 封 裝 應(yīng) 用 狀 態(tài) 通 知 視 圖 狀 態(tài) 已 變 更狀 態(tài) 查 詢變 更 通 知狀 態(tài) 變 更圖 63 采用 MVC模式的 Web應(yīng)用體系結(jié)構(gòu) 控 制 器 H T T P 請 求 處 理 特 定 于 應(yīng) 用 的 邏 輯 數(shù) 據(jù) 有 效 性 驗 證視 圖 動 態(tài) 頁 面 生 成 表 單 管 理要 顯 示 的 表 單用 戶 事 件模 型 業(yè) 務(wù) 邏 輯 數(shù) 據(jù) 庫刷 新 請 求變 更 通 知更 新 請 求瀏 覽 器 體系結(jié)構(gòu)的風(fēng)格與模式 ? 作為一種表示、共享和復(fù)用軟件系統(tǒng)知識的方法 ——模式的思想,已經(jīng)得到廣泛的應(yīng)用,例如面向?qū)ο笤O(shè)計模式、機(jī)構(gòu)設(shè)計模式、可用性模式、交互模式、配置管理模式等。SAI的目標(biāo)是為算法的分布式實施和容易地將其集成到復(fù)雜系統(tǒng)提供通用框架 …… 底層可擴(kuò)展數(shù)據(jù)模型和混合(共享存儲和信息傳遞)分布式異步并行處理模型允許自然和有效地處理一般數(shù)據(jù)流,并可以使用已有的庫或本地代碼。 – 平臺 ——位于操作系統(tǒng)之上提供高級服務(wù)的系統(tǒng)。 體系結(jié)構(gòu)類型 – 金融 ——為轉(zhuǎn)賬和理財以及其他安全事務(wù)提供基礎(chǔ)設(shè)施的系統(tǒng)。在每種一般風(fēng)格中,也會運用更多的具體風(fēng)格,即結(jié)構(gòu)。盡管如此,像 UML這種非正式的模型和符號系統(tǒng)是文檔化系統(tǒng)體系結(jié)構(gòu)最普遍使用的方法。在設(shè)計過程中,當(dāng)討論系統(tǒng)的不同方面時也可能會形成一些其他的視圖,但是包含各個角度的完全描述是沒有必要的。 體系結(jié)構(gòu)視圖 ? 在使用類似視圖的基礎(chǔ)上還要添加概念視圖。顯示了在運行時系統(tǒng)是如何組織為一組交互的進(jìn)程。系統(tǒng)的性質(zhì),比如性能、信息安全性和可用性,都受到所使用體系結(jié)構(gòu)的影響。軟件工程師可以在給定的體系結(jié)構(gòu)類型中使用許多種不同的體系結(jié)構(gòu)風(fēng)格和模式,每個模式描述了一個系統(tǒng)類別,它包含:一組完成系統(tǒng)所需功能的構(gòu)件;一組使構(gòu)件間通信、協(xié)調(diào)及合作的連接件;定義如何集成構(gòu)件以構(gòu)成系統(tǒng)的約束條件;使設(shè)計者能夠理解系統(tǒng)整體特性的語義模型。這種視圖對非功能系統(tǒng)特征的判斷非常有效,比如性能和可用性。概念視圖是系統(tǒng)的抽象視圖,它可以作為把高層次需求分解為詳細(xì)描述的基礎(chǔ),來幫助工程師在可復(fù)用的組件、表現(xiàn)產(chǎn)品線而不是單獨的系統(tǒng)等方面做出決策。 ? 關(guān)于軟件體系結(jié)構(gòu)是否應(yīng)該使用 UML來描述有不同的看法。 體系結(jié)構(gòu)視圖 ? 大多數(shù)系統(tǒng)是不值得開發(fā)一個詳細(xì)的體系結(jié)構(gòu)描述的。每種風(fēng)格的結(jié)構(gòu)可以用一組可預(yù)測模式進(jìn)行描述。 – 游戲 ——為個人或群體提供娛樂體驗的系統(tǒng)。 體系結(jié)構(gòu)類型 – 科學(xué) ——用于科學(xué)研究和應(yīng)用的系統(tǒng)。類型模塊化使得分布式代碼開發(fā)、測試和重用以及快速系統(tǒng)設(shè)計與集成、維護(hù)和演化更加便利。體系結(jié)構(gòu)模式在 20世紀(jì) 90年代以“體系結(jié)構(gòu)風(fēng)格”的名字提出來。 風(fēng)格與模式 ? 軟件體系結(jié)構(gòu)設(shè)計的特點之一,是使用系統(tǒng)組織慣用模式( idiomatic patterns)。 風(fēng)格與模式 ? 因此,一個體系結(jié)構(gòu)風(fēng)格根據(jù)結(jié)構(gòu)組織模式定義了一個系統(tǒng)族。 風(fēng)格與模式 ? 為基于計算機(jī)的系統(tǒng)構(gòu)造的軟件也展示了眾多體系結(jié)構(gòu)風(fēng)格中的一種。 基本體系結(jié)構(gòu) ? 本質(zhì)上軟件體系結(jié)構(gòu)表示了一種結(jié)構(gòu),在該結(jié)構(gòu)中,某個實體集(經(jīng)常稱作構(gòu)件)通過一組已定義的關(guān)系(經(jīng)常稱作連接件)進(jìn)行連接。 “ 關(guān)系(連接件)包括同步于、優(yōu)先級高于、發(fā)送數(shù)據(jù)到、運行必須有、運行不能有。下面的問題有助于更深入地了解體系結(jié)構(gòu)風(fēng)格: – 控制。 管道 過濾器 ? 管道 過濾器( Pipes and Filters)體系結(jié)構(gòu)模式(見表 62和圖 64)是一個系統(tǒng)運行時組織的模型,在這個模型中,函數(shù)轉(zhuǎn)換處理輸入并產(chǎn)生輸出。當(dāng)輸入數(shù)據(jù)經(jīng)過一系列的計算構(gòu)件和操作構(gòu)件的變換形成輸出數(shù)據(jù)時,可以應(yīng)用這種體系結(jié)構(gòu)。 ? 自從計算機(jī)被用于自動數(shù)據(jù)處理以來,數(shù)據(jù)流模型的多種形式就被廣泛使用。 管道 過濾器 ? 但是管道 過濾器模式也有缺點。 分層系統(tǒng) ? 分離性和獨立性的概念是體系結(jié)構(gòu)設(shè)計的基礎(chǔ),因為分離性和獨立性使得變更得到局部化。(在其他分層系統(tǒng)中,層次可能只是部分透明的。這個體系結(jié)構(gòu)還是可改變的和可移植的。最上層提供用戶界面設(shè)施。第二,它支持?jǐn)U展。另外,定義一個合適的抽象層次可能會非常困難。 知識庫(容器) ? 大多數(shù)使用大量數(shù)據(jù)的系統(tǒng)都是圍繞共享數(shù)據(jù)庫或容器來組織的。然而,組件一定要圍繞一個約定好了的容器數(shù)據(jù)模型運行。到底激活哪個工具要視對數(shù)據(jù)的分析結(jié)果而定。黑板體系結(jié)構(gòu)的示意圖如圖 611所示。因此實際的控制器或者它的實現(xiàn)可以在知識源中,也可以在黑板中,獨立的模塊中或者在它們的組合中。一個客戶機(jī)程序通常有多個實例,可以在不同的計算機(jī)上并發(fā)執(zhí)行。客戶機(jī)通過遠(yuǎn)程過程調(diào)用來獲取服務(wù)器提供的服務(wù),遠(yuǎn)程過程調(diào)用使用一個請求 回答協(xié)議,比如在 WWW上使用的 協(xié)議??蛻魴C(jī)程序只是對訪問這些服務(wù)提供一個集成的用戶界面(用 Web瀏覽器構(gòu)造)。 ? 抽象數(shù)據(jù)類型的使用,以及面向?qū)ο笙到y(tǒng)的使用己經(jīng)非常普遍。在模塊化語言中,當(dāng)一個模塊改變后需要修改每一個引用了這個模塊的“導(dǎo)入”列表。比如在 Field系統(tǒng)中,諸如編輯器和變量監(jiān)視器等工具會注冊調(diào)試器的中斷點事件。正因為這個原因,許多隱式調(diào)用系統(tǒng)也包括顯式調(diào)用(比如,正常的過程調(diào)用),以此作為構(gòu)件交互的補(bǔ)充。即使它能夠肯定該事件會被其他構(gòu)件響應(yīng),它也不能依賴事件被處理的先后順序。而解釋引擎包括語法、解釋器的定義和解釋器當(dāng)前執(zhí)行狀態(tài)。尤其是,為了對過程做出調(diào)整,被控變量要與控制系統(tǒng)的某些屬性聯(lián)系起來,這些屬性能夠被控制系統(tǒng)改變(過程變量不能和程序變量混淆)。 ? 過程控制系統(tǒng)的目標(biāo)是將過程輸出的指定屬性維持在一個(充分接近的)特定的參考值即設(shè)定點。圖 614描述了該類型的體系結(jié)構(gòu)。在很多案例中,可執(zhí)行系統(tǒng)就是從體系結(jié)構(gòu)描述本身自動或半自動生成的。體系結(jié)構(gòu)風(fēng)格描述了軟件系統(tǒng)的整體組織結(jié)構(gòu),它獨立于實際問題。 應(yīng)用框架 ? 第二種組合風(fēng)格的方式是允許單一構(gòu)件使用復(fù)合的連接件。除了一般的業(yè)務(wù)功能之外,
點擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1