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

正文內(nèi)容

軟件設(shè)計zhousu第6章體系結(jié)構(gòu)的模式與結(jié)構(gòu)-預(yù)覽頁

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

下一頁面
 

【正文】 系結(jié)構(gòu)的術(shù)語一般與特定的設(shè)計方法和符號相關(guān),比如面向?qū)ο蠛蛿?shù)據(jù)流組織結(jié)構(gòu)。構(gòu)件如客戶機、服務(wù)器、過濾器、層、數(shù)據(jù)庫等,連接件如過程調(diào)用、事件廣播、數(shù)據(jù)庫協(xié)議和管道等。 風(fēng)格與模式 ? 利用這個框架,我們可以通過回答下面的問題以確定體系結(jié)構(gòu)風(fēng)格,即: – 設(shè)計符號集,即構(gòu)件和連接件的類型是什么? – 被認可的結(jié)構(gòu)模式是什么? – 根本的計算模型是什么? – 最基本的特點是什么? – 使用這種風(fēng)格的通用例子有哪些? – 使用這種風(fēng)格有什么優(yōu)點和缺點? – 通用的規(guī)格說明是什么? 風(fēng)格與模式 ? 例如,當(dāng)建筑師用“小高層”來描述某座房子時,大多數(shù)人將能夠獲得對房子的整體畫面,對建筑主平面圖可能像什么樣子也會有所了解。實際上是建筑風(fēng)格 ——“小高層” ——指導(dǎo)了建筑師的工作。在對已有體系結(jié)構(gòu)再工程時,一種體系結(jié)構(gòu)風(fēng)格的強制采用會導(dǎo)致軟件結(jié)構(gòu)的根本性改變,包括對構(gòu)件功能的再分配。 – 模式可以與體系結(jié)構(gòu)風(fēng)格結(jié)合起來建立整個系統(tǒng)結(jié)構(gòu)的外形。特性描述構(gòu)件的特征和接口的組織。 – 并發(fā)結(jié)構(gòu):構(gòu)件表示 “ 并發(fā)單元 ” ,這些 “ 并發(fā)單元 ” 被組織為并行任務(wù)或線程。連接件是硬件構(gòu)件之間的接口,特性用來描述容量、帶寬、性能和其他屬性。 組織和求精 ? 由于設(shè)計過程經(jīng)常會留下許多種可供選擇的體系結(jié)構(gòu)方案,因此建立一組用于評估所導(dǎo)出的體系結(jié)構(gòu)設(shè)計的設(shè)計標準是非常重要的。 典型的體系結(jié)構(gòu)模式 ? 盡管在過去的幾十年中人們已經(jīng)創(chuàng)建了眾多的計算機系統(tǒng),但其中絕大多數(shù)都可以歸為少數(shù)幾種體系結(jié)構(gòu)風(fēng)格之一。在很多情況下,會有多種模式是適合的,需要對可選的體系結(jié)構(gòu)風(fēng)格進行設(shè)計和評估。這些轉(zhuǎn)換可能順序地或并行地執(zhí)行,數(shù)據(jù)加工可以是一項一項地處理,也可以成批處理。 管道 過濾器 ? 管道 過濾器模式又稱數(shù)據(jù)流體系結(jié)構(gòu)。 管道 過濾器 ? 構(gòu)件對輸入流進行內(nèi)部轉(zhuǎn)換和增量計算,因此在輸入數(shù)據(jù)流被全部處理之前,輸出就已經(jīng)開始了。 管道 過濾器 ? 另一個著名的管線系統(tǒng)例子是傳統(tǒng)編譯器,在這個管線系統(tǒng)中包括詞法分析、句法分析、語義分析、代碼生成階段。首先,設(shè)計者可以將整個系統(tǒng)的輸入、輸出特性理解為各個過濾器功能的簡單合成。最后,它具有天然的并發(fā)特性,每一個過濾器既可以獨立的運行,也可以和其他過濾器并發(fā)執(zhí)行。此外,由于過濾器的傳輸特性,管道 過濾器模式通常不適合于交互性很強的應(yīng)用。這樣,降低了系統(tǒng)的效率,同時增加了編寫過濾器本身的復(fù)雜性。定義的一系列不同層次各自完成其自身的操作,這些操作逐漸接近機器的指令集。在這些系統(tǒng)中,構(gòu)件在某些層中實現(xiàn)虛擬機。在這個應(yīng)用中,在某種抽象程度上,每一層向其他層提供通訊基礎(chǔ)。如一個層被開發(fā)完,該層提供的服務(wù)就可以被用戶使用了。因為分層系統(tǒng)的抽象機依賴的是內(nèi)層中的抽象機,因此,轉(zhuǎn)換到其他機器上實現(xiàn)是比較容易的,此時只有內(nèi)部與具體機器相關(guān)的層需要重新實現(xiàn)以適應(yīng)不同的操作系統(tǒng)或數(shù)據(jù)庫。第三層與用戶界面管理相關(guān),并提供用戶的身份驗證和授權(quán)。 圖 67 通用分層體系結(jié)構(gòu) 系 統(tǒng) 支 持 ( 操 作 系 統(tǒng) 、 數(shù) 據(jù) 庫 等 )核 心 業(yè) 務(wù) 邏 輯 / 應(yīng) 用 領(lǐng) 域系 統(tǒng) 實 用 程 序用 戶 界 面 管 理身 份 驗 證 和 授 權(quán)用 戶 界 面 分層系統(tǒng) ? 圖 68是分層體系結(jié)構(gòu)模式應(yīng)用于一個叫做 LIBSYS的圖書館系統(tǒng)的示例,能夠控制對一組大學(xué)圖書館中版權(quán)資料的電子訪問。這就允許設(shè)計者將一個復(fù)雜的問題分解成一系列遞增的步驟。像抽象數(shù)據(jù)類型一樣,假如能夠保證為相鄰的層提供一致的接口,它允許系統(tǒng)中同一層的不同實現(xiàn)相互交換使用。而且即使一個系統(tǒng)能夠從邏輯上被構(gòu)建成層次結(jié)構(gòu),出于對性能的考慮,也需要將邏輯上高層次的功能和相對低層次的實現(xiàn)結(jié)合起來。 知識庫(容器) ? 知識庫( Repositories)模式又稱容器( Repository)模式(見表 64),是以數(shù)據(jù)為中心的體系結(jié)構(gòu)。該方法的一個變種是將中心存儲庫變換成“黑板”,當(dāng)客戶感興趣的數(shù)據(jù)發(fā)生變化時,它將通知客戶軟件。 ? 圖 610說明了一個可能會用到容器的情形。這就不需要顯式地把數(shù)據(jù)從一個組件傳送到另一個組件。實際上,將容器分布到多臺機器上可能是困難的。在容器數(shù)據(jù)的結(jié)構(gòu)組織得不是很好的時候,這個方法比較合適。 知識庫(容器) ? 通常知識庫模式中有兩個截然不同的功能構(gòu)件:一個是中央數(shù)據(jù)結(jié)構(gòu)構(gòu)件,代表系統(tǒng)當(dāng)前狀態(tài);另一個是一些相對獨立的構(gòu)件的集合,這些構(gòu)件對中央數(shù)據(jù)存儲進行操作。另一方面,如果由中心數(shù)據(jù)結(jié)構(gòu)的當(dāng)前狀態(tài)觸發(fā)系統(tǒng)相應(yīng)的進程執(zhí)行,稱為黑板知識庫。 – 2)黑板數(shù)據(jù)結(jié)構(gòu):問題求解狀態(tài)數(shù)據(jù),被組織成依賴于應(yīng)用的層次結(jié)構(gòu)。 ? 圖 611并沒有顯式地表示出控制構(gòu)件,因為知識源的調(diào)用是通過黑板的狀態(tài)激活的。表 65描述了客戶機 服務(wù)器模式。 – ( 2)一組向服務(wù)器請求服務(wù)的客戶機。 客戶機 服務(wù)器 ? 客戶機 服務(wù)器體系結(jié)構(gòu)經(jīng)常被認為是分布式系統(tǒng)體系結(jié)構(gòu),但是運行在分散服務(wù)器上的獨立服務(wù)的邏輯模型可以在單個計算機上實現(xiàn)。反之,服務(wù)器沒有必要知道客戶機的身份以及到底有多少客戶機在訪問它們的服務(wù)。在這個系統(tǒng)中,有管理和放映不同類型媒體的多個服務(wù)器。 客戶機 服務(wù)器 ? 要求目錄能夠支持各種查詢,能與包含電影和視頻片段的Web信息系統(tǒng)鏈接,并能與支持發(fā)售圖片、電影和視頻片段的電子商務(wù)系統(tǒng)保持鏈接。這種模式有兩個重要的方面: – ① 對象維護自身表示的完整性(通常是通過保持其表示上的一些不變式來實現(xiàn)的), – ② 這種表示對其他對象是隱藏的。在體系結(jié)構(gòu)范疇中,屬性的繼承并不只限制在對象中,也包括連接件,甚至體系結(jié)構(gòu)風(fēng)格。由于對象對客戶隱藏了實現(xiàn)的細節(jié),所以可以在不影響其客戶的情況下改變對象的實現(xiàn)。在面向?qū)ο笙到y(tǒng)中,每當(dāng)一個對象的標識改變的時候,必須修改那些顯式調(diào)用它的對象。然而,還有另一種可供選擇的集成技術(shù),稱為隱式調(diào)用( Implicit Invocation,或稱響應(yīng)集成、選擇性廣播等),這種模式起源于基于角色的系統(tǒng)、約束滿足性檢查、后臺程序和包交換網(wǎng)絡(luò)。這樣一個事件的激發(fā)會導(dǎo)致其他模塊中過程的隱式調(diào)用。在這個方案中,調(diào)試器僅僅發(fā)布一個事件,但是它既不需要知道其他工具或動作是否和這個事件相關(guān)聯(lián),也不需要知道這個事件發(fā)布后它們將要做什么。因此,構(gòu)件不能對事件的處理順序,或者事件發(fā)生后的處理結(jié)果做任何假設(shè)。通過注冊一個系統(tǒng)事件,任何一個構(gòu)件都可以很容易地引入到系統(tǒng)中來。當(dāng)一個構(gòu)件發(fā)布一個事件,它不能保證其他構(gòu)件會對其做出響應(yīng)。這樣,整體的性能和資源的管理可能成為關(guān)鍵性問題。其中,偽碼由需要被解釋的源代碼和解釋引擎分析所得到的中間代碼組成。例如,我們有時說一門編程語言提供了一個“ Pascal虛擬機”。輸入材料、中間產(chǎn)物和操作的屬性通過過程變量來獲得。 – ⑤ 設(shè)定點:被控變量的期望值。 – ⑨ 前饋控制系統(tǒng):一些被控變量是可測量的,并且預(yù)期的干擾會被直接補償,不需要等待被控變量的變化值被計算出來。 過程控制 ? 在實際過程控制中,開環(huán)系統(tǒng)的假設(shè)很少有效。 主程序 /子程序組織 ? 傳統(tǒng)的主程序 /子程序組織結(jié)構(gòu)模式將功能分解為一個控制層次,其中“主”程序調(diào)用一組程序構(gòu)件,這些程序構(gòu)件又去調(diào)用其他構(gòu)件。主程序擔(dān)當(dāng)子程序的驅(qū)動器,為子程序提供一個控制環(huán)路,使子程序以某種次序順序執(zhí)行。將體系結(jié)構(gòu)具體應(yīng)用到某一特定領(lǐng)域中,能夠增加結(jié)構(gòu)的描述能力。 應(yīng)用框架 ? 應(yīng)用框架( Application Framework)是整個或部分系統(tǒng)的可重用設(shè)計,表現(xiàn)為一組抽象構(gòu)件的集合以及構(gòu)件實例間交互的方法。設(shè)計模式是對在某種環(huán)境中反復(fù)出現(xiàn)的問題以及解決該問題的方案的描述,它比框架更抽象;框架可以用代碼表示,也能直接執(zhí)行或復(fù)用,而對模式而言只有實例才能用代碼表示;設(shè)計模式是比框架更小的元素,一個框架中往往含有一個或多個設(shè)計模式,框架總是針對某一特定應(yīng)用領(lǐng)域,但同一模式卻可適用于各種不同的應(yīng)用。事實上,大多數(shù)系統(tǒng)都是由很多風(fēng)格組合而成的。比如,一個管道連接件內(nèi)部運行起來好像是一個先進先出的隊列,通過插入和移出操作訪問。)另一個例子是“ active database”。 應(yīng)用體系結(jié)構(gòu) ? 商業(yè)和機構(gòu)的所有業(yè)務(wù)幾乎都具有共性 ——需要雇傭人員、開出發(fā)票、記賬等。 體系結(jié)構(gòu)的應(yīng)用方式 ? 應(yīng)用體系結(jié)構(gòu)封裝了一類系統(tǒng)的基本特征。 體系結(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)。如果不熟悉正在開發(fā)的應(yīng)用類型,可以將初始設(shè)計建立在一般體系結(jié)構(gòu)基礎(chǔ)上。 體系結(jié)構(gòu)的應(yīng)用方式 – 3)作為對開發(fā)團隊工作的組織方式。如果擁有組件,就可以復(fù)用它。 事務(wù)處理系統(tǒng) ? 事務(wù)處理系統(tǒng)( Transaction processing systems, TPS)是設(shè)計用來處理用戶對數(shù)據(jù)庫信息的查詢或者對數(shù)據(jù)庫的更新,允許數(shù)據(jù)庫中的信息被很多遠程用戶訪問和修改。 事務(wù)處理系統(tǒng) ? 從技術(shù)角度講,數(shù)據(jù)庫事務(wù)是一個操作序列,每個這樣的操作可以看成是一個單元(原子單元)。 事務(wù)處理系統(tǒng) ? 事務(wù)處理系統(tǒng)總是交互式系統(tǒng),用戶異步地提出對服務(wù)的請求。事務(wù)得以創(chuàng)建并傳遞給事務(wù)管理器,事務(wù)管理器嵌入在數(shù)據(jù)庫管理系統(tǒng)內(nèi)。這個系統(tǒng)由兩個相互協(xié)作的軟件子系統(tǒng)構(gòu)成,即 ATM軟件和位于銀行數(shù)據(jù)庫服務(wù)器上的賬戶處理軟件。信息系統(tǒng)允許對一個大信息庫進行適當(dāng)?shù)脑L問。系統(tǒng)采用分層方法,頂層支持用戶界面,底層是系統(tǒng)數(shù)據(jù)庫。 圖 618 MHCPMS系統(tǒng)的體系結(jié)構(gòu) 事 務(wù) 管 理病 人 數(shù) 據(jù) 庫 信 息 安 全 病 人 信 息 數(shù) 據(jù) 導(dǎo) 入 報 告 管 理 管 理 器 和 導(dǎo) 出 生 成 登 錄 角 色 檢 查 樣 式 和 菜 單 數(shù) 據(jù) 有 效 性 管 理 器 驗 證W e b 瀏 覽 器 信息系統(tǒng) ? 在模型的每一層中都增加了一些詳細內(nèi)容,找出了用于支持用戶通信、信息檢索和訪問的組件: – 1)最上層負責(zé)實現(xiàn)用戶接口。這一層還包括顯示信息給用戶的表格和菜單管理組件以及核對信息一致性的數(shù)據(jù)確認組件。例如,電子商務(wù)系統(tǒng)是一種基于互聯(lián)網(wǎng)的資源管理系統(tǒng),它可以接受電子的商品或服務(wù)的訂單,然后安排將商品或服務(wù)遞送給客戶。 語言處理系統(tǒng) ? 語言處理系統(tǒng)用來將文本從一種語言翻譯成另一種語言,例如把自然語言或人工語言翻譯成該類語言的其他表示,對于編程語言可能會執(zhí)行產(chǎn)生的代碼,來執(zhí)行輸入語言所定義的指令。然而,語言處理系統(tǒng)也使用在很多其他系統(tǒng)中,比如在數(shù)據(jù)庫中作為對命令語言的翻譯,在信息系統(tǒng)中和在標記語言比如 XML中。該過程的輸出是輸入指令的解釋結(jié)果。它使用相應(yīng)語言所定義的語法并建立語法樹; – ④ 語法樹,它代表待編譯程序的內(nèi)部結(jié)構(gòu); – ⑤ 語義分析層,它使用來自語法樹和符號表的信息來檢查輸入的語言文本的語義正確性; – ⑥ 代碼生成器,它在語法樹中穿行并生成抽象機代碼。編譯器可以用容器和管道 過濾器的復(fù)合模型實現(xiàn)。而對于集成了其他語言處理工具,比如結(jié)構(gòu)化編輯系統(tǒng)、交互式調(diào)試工具或者是程序的格式轉(zhuǎn)換器,它就不那么有效了。在這個例子中,符號表和語法樹是作為中央信息容器的。
點擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1