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

正文內(nèi)容

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

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

下一頁面
  

【正文】 件可以加入到體系結(jié)構(gòu)之中,而無需考慮其他的客戶(因?yàn)榭蛻魳?gòu)件是獨(dú)立運(yùn)作的)。 圖 611 黑板體系結(jié)構(gòu) 知 識(shí) 源 4知 識(shí) 源 3知 識(shí) 源 2知 識(shí) 源 1知 識(shí) 源 5知 識(shí) 源 6知 識(shí) 源 8黑 板( 共 享 數(shù) 據(jù) )知 識(shí) 源 7直 接 存 取計(jì) 算存 儲(chǔ) 器 知識(shí)庫(容器) ? 黑板模型通常由三個(gè)部分組成: – l)知識(shí)源:分離的,獨(dú)立的,依賴于應(yīng)用的知識(shí)包。 知識(shí)庫(容器) ? 黑板系統(tǒng)通常用在復(fù)雜信號(hào)處理解釋上,比如語音和模式識(shí)別,也被用在其他的系統(tǒng)中,比如通過松散連接代理共享數(shù)據(jù)。 – ( 3)一個(gè)連接客戶機(jī)和服務(wù)器的網(wǎng)絡(luò)。本質(zhì)上,客戶機(jī)向服務(wù)器提出請(qǐng)求,然后等待直到它收到回答為止。 數(shù)據(jù)抽象和面向?qū)ο蠼M織 ? 在基于數(shù)據(jù)抽象和面向?qū)ο蠼M織結(jié)構(gòu)( Data Abstraction and ObjectOriented Organization)模式中,數(shù)據(jù)表示和相關(guān)的基本操作封裝在抽象數(shù)據(jù)類型或?qū)ο笾小R恍┫到y(tǒng)允許“對(duì)象”是并發(fā)的任務(wù);還有一些系統(tǒng)允許對(duì)象擁有多個(gè)接口。這樣做同樣會(huì)有副作用:對(duì)象 A使用了對(duì)象 B,對(duì)象 C也使用了對(duì)象 B,則對(duì)象 C對(duì)對(duì)象 B的影響可能產(chǎn)生對(duì)對(duì)象 A不可預(yù)料的副作用,反之亦然。 ? 當(dāng)一個(gè)調(diào)試器停止在一個(gè)中斷點(diǎn)上,它會(huì)發(fā)布一個(gè)事件,這個(gè)事件會(huì)使系統(tǒng)自動(dòng)地調(diào)用那些已注冊(cè)工具的相應(yīng)過程。 ? 使用隱式調(diào)用機(jī)制的例子很多,比如,編程環(huán)境中的工具集成,數(shù)據(jù)庫管理系統(tǒng)中的一致性約束,用戶界面中數(shù)據(jù)表示與管理數(shù)據(jù)的應(yīng)用程序的分離,語法導(dǎo)向的增量語義檢查。另一個(gè)問題涉及到數(shù)據(jù)交換。這樣一個(gè)解釋器通常包括四個(gè)部分:完成解釋工作的解釋引擎,一個(gè)包含將被解釋的偽碼的存儲(chǔ)區(qū),一個(gè)記錄解釋引擎當(dāng)前工作狀態(tài)的數(shù)據(jù)結(jié)構(gòu),以及一個(gè)記錄源代碼被解釋執(zhí)行的進(jìn)度的數(shù)據(jù)結(jié)構(gòu)(見圖 613)。 過程控制 ? 過程控制中的一些有用的定義包括: – ① 過程變量:可測(cè)的過程屬性:一些具體的過程變量需要被區(qū)分開來; – ② 被控變量:一種過程變量,系統(tǒng)通過控制它的值來達(dá)到控制目標(biāo); – ③ 輸入變量:一種過程變量,用來測(cè)量過程的輸入。如果輸入是沒有干擾的,過程是定義完整的,操作是完全可重復(fù)的,那么過程完全可以在沒有監(jiān)控的情況下自動(dòng)運(yùn)行。很多系統(tǒng)的主要組織結(jié)構(gòu)反映了所使用的編程語言的特點(diǎn)。 ? 狀態(tài)轉(zhuǎn)換系統(tǒng)( State Transition System)是指很多響應(yīng)系統(tǒng)的通用組織結(jié)構(gòu)。而設(shè)計(jì)模式和應(yīng)用框架更加面向具體問題。比如,一個(gè)構(gòu)件可能通過它的接口訪問知識(shí)庫,但通過管道與系統(tǒng)中其他構(gòu)件進(jìn)行交互,又通過其他接口接受控制信息。因此,這些業(yè)務(wù)所使用的應(yīng)用系統(tǒng)也有很多共同點(diǎn)。作為一個(gè)例子,供應(yīng)鏈管理系統(tǒng)可以調(diào)整以面向不同類型的供應(yīng)商、商品以及合同管理??梢苑峙扇蝿?wù)給團(tuán)隊(duì)成員,在同一個(gè)體系結(jié)構(gòu)框架下實(shí)現(xiàn)不同的組件。對(duì)它們的組織要能夠保證用戶之間不會(huì)相互干擾,數(shù)據(jù)庫的整體性得到保障。首先,用戶通過 I/O處理組件向系統(tǒng)發(fā)出請(qǐng)求。圖 616顯示了這個(gè)系統(tǒng)的體系結(jié)構(gòu),說明了輸入、處理和輸出組件的功能。這個(gè)模型中的層能直接映射到基于因特網(wǎng)系統(tǒng)的服務(wù)器上。 – 4)最底層是使用商用的數(shù)據(jù)庫管理系統(tǒng)建立的,它提供事務(wù)管理和持久的數(shù)據(jù)存儲(chǔ)。我們最為熟悉的語言處理系統(tǒng)就是編譯器了。然而,對(duì)于動(dòng)態(tài)類型的語言比如 Python,解釋器是一個(gè)軟件組件。在詞法分析、語法和語義分析階段組成一個(gè)串行結(jié)構(gòu),如圖 620所示,它們之間的通信是通過共享符號(hào)表實(shí)現(xiàn)的。其他的原先可能嵌入在工具內(nèi)部的信息,比如語法定義和程序的輸出格式定義等,已經(jīng)被提取出來并放入這個(gè)容器中。因此,系統(tǒng)最好組織成容器的模型,如圖 621所示。在其他類型語言處理系統(tǒng)中,比如自然語言翻譯器將有附加的組件比如字典組件,所生成的代碼實(shí)際上是用其他語言所表示的輸入文本。源語言指令定義了將要執(zhí)行的程序,翻譯器會(huì)轉(zhuǎn)換這些稱為抽象機(jī)指令。在這些系統(tǒng)中服務(wù)器的組成可以映射為圖 617所示的四層通用模型。 – 2)第二層提供用戶接口的功能,這是通過 Web瀏覽器來傳送的。越來越多的信息系統(tǒng)是通過瀏覽器訪問的基于 Web的系統(tǒng)。 圖 615 事務(wù)處理應(yīng)用的體系結(jié)構(gòu) 輸 入 / 輸 出處 理應(yīng) 用 邏 輯 事 務(wù) 管 理 器 數(shù) 據(jù) 庫 事務(wù)處理系統(tǒng) ? 事務(wù)處理系統(tǒng)可以組織成“管道 過濾器”的結(jié)構(gòu),分別由系統(tǒng)組件負(fù)責(zé)輸入、處理和輸出。從用戶角度看,事務(wù)是任何一個(gè)相關(guān)操作的序列,這些操作能達(dá)到某個(gè)目的,比如“查詢從倫敦飛往巴黎的班機(jī)的時(shí)間”。 – 5)作為交流應(yīng)用類型的詞匯。 – 2)作為設(shè)計(jì)檢查列表。盡管這些系統(tǒng)實(shí)例在細(xì)節(jié)上有所不同,但是當(dāng)開發(fā)同一類型的新系統(tǒng)時(shí),我們是可以復(fù)用通用體系結(jié)構(gòu)架構(gòu)的。在這種組織結(jié)構(gòu)中,外部構(gòu)件通過注冊(cè)與數(shù)據(jù)庫建立聯(lián)系,數(shù)據(jù)庫通過這種聯(lián)系自動(dòng)地調(diào)用合適的工具。一個(gè)系統(tǒng)構(gòu)件被組織成某種體系結(jié)構(gòu)風(fēng)格,但它的內(nèi)部結(jié)構(gòu)可能是另一種完全不同的風(fēng)格。在很多情況下,框架通常以構(gòu)件庫的形式出現(xiàn),但構(gòu)件庫只是框架的一個(gè)重要部分。 圖 614 主程序 /子程序體系結(jié)構(gòu) 應(yīng) 用 子 程 序 應(yīng) 用 子 程 序 應(yīng) 用 子 程 序應(yīng) 用 子 程 序 應(yīng) 用 子 程 序應(yīng) 用 子 程 序應(yīng) 用 子 程 序控 制 器 子 程 序 控 制 器 子 程 序控 制 器 子 程 序主 程 序 主程序 /子程序組織 ? 此外,特定領(lǐng)域的軟件體系結(jié)構(gòu)( Domainspecific Software Architectures)是指為特定領(lǐng)域開發(fā)“參考”模型。這樣的系統(tǒng)稱為閉環(huán)系統(tǒng)( Closedloop System)。 過程控制 – ⑦ 閉環(huán)系統(tǒng):在這種系統(tǒng)中,通過過程變量中的信息調(diào)整過程變量,補(bǔ)償過程變量和操作環(huán)境的變化。 過程控制 ? 持續(xù)的過程通過對(duì)輸入和中間產(chǎn)物進(jìn)行某些操作,將輸入的材料轉(zhuǎn)化成某些具有特殊屬性的產(chǎn)物。這和傳統(tǒng)的過程調(diào)用驗(yàn)證不同,當(dāng)對(duì)調(diào)用功能行為進(jìn)行驗(yàn)證時(shí),傳統(tǒng)的過程調(diào)用只需考慮過程前和過程后的條件。在不改變系統(tǒng)中其他構(gòu)件接口的情況下,構(gòu)件可以非常容易的被其他構(gòu)件取代。過程可能以一般的方式被調(diào)用,但構(gòu)件可以將過程注冊(cè)到與其相關(guān)聯(lián)的系統(tǒng)事件中,這樣,當(dāng)事件發(fā)生時(shí),過程會(huì)被間接調(diào)用。系統(tǒng)中的其他構(gòu)件通過注冊(cè)與一個(gè)事件關(guān)聯(lián)起來的過程,來表示對(duì)某一個(gè)事件感興趣。 數(shù)據(jù)抽象和面向?qū)ο蠼M織 ? 但是,面向?qū)ο笙到y(tǒng)最大的缺點(diǎn)是,當(dāng)一個(gè)對(duì)象和其他對(duì)象交互(過程調(diào)用),它必須知道其他對(duì)象的標(biāo)識(shí)。雖然對(duì)于系統(tǒng)中對(duì)象類型的定義,繼承是一個(gè)非常重要的概念,但是它不具備直接的體系結(jié)構(gòu)功能。它們是以壓縮的形式存儲(chǔ)的,所以視頻服務(wù)器需要對(duì)于各種不同的格式處理視頻壓縮和解壓縮。服務(wù)和服務(wù)器可以改變而不會(huì)影響系統(tǒng)其他部分。這個(gè)模型的主要組成部分是: – ( 1)一組給其他組件提供服務(wù)的服務(wù)器。 – 3)控制器:完全由黑板的狀態(tài)驅(qū)動(dòng)。 ? 控制方式的選擇將知識(shí)庫風(fēng)格分成了兩種主要的子類。 知識(shí)庫(容器) ? 如圖 610中所示,容器是被動(dòng)的,對(duì)它的控制是組件的職責(zé)。在這個(gè)例子中,容器或許就是一個(gè)能跟蹤軟件變更并允許回滾到先前版本的版本控制環(huán)境。圖 69描述了一種典型的以數(shù)據(jù)為中心的體系結(jié)構(gòu)風(fēng)格,其中,客戶軟件訪問中心存儲(chǔ)庫。(最好的例子是 ISO的 OSI模型和 X Window System協(xié)議。 圖 68 LIBSYS系統(tǒng)的體系結(jié)構(gòu) 圖 書 館 索 引 分 布 式 文 檔 版 權(quán) 記 賬 搜 索 恢 復(fù) 管 理 器 L I B S Y S 表 單 和 查 詢 打 印 系 統(tǒng) 登 錄 管 理 器 管 理 器W e b 瀏 覽 器 界 面數(shù) 據(jù)庫 1數(shù) 據(jù)庫 2數(shù) 據(jù)庫 3數(shù) 據(jù)庫 4數(shù) 據(jù)庫 n. . . 分層系統(tǒng) ? 分層系統(tǒng)有許多理想的性質(zhì)。最底層包括了系統(tǒng)支持軟件,比較典型的是數(shù)據(jù)庫和操作系統(tǒng)支持。其他的應(yīng)用領(lǐng)域包括數(shù)據(jù)庫系統(tǒng)和操作系統(tǒng)。 表 63 分層體系結(jié)構(gòu)模式 圖 66 分層系統(tǒng)(分層體系結(jié)構(gòu)) 核 心 層實(shí) 用 工 具 層應(yīng) 用 層用 戶 界 面 層構(gòu) 件 分層系統(tǒng) ? 每一層向它的上層提供服務(wù),同時(shí)它又是下層的客戶。 管道 過濾器 ? 第二,維持兩個(gè)相對(duì)獨(dú)立但又存在某種關(guān)系的數(shù)據(jù)流之間的通信可能很困難。第三,系統(tǒng)容易維護(hù)和擴(kuò)展:新的過濾器容易加入到系統(tǒng)中,舊的過濾器也可被改進(jìn)的過濾器替換。然而,過濾器沒有必要了解與之相鄰的過濾器的工作。遵照這個(gè)模型,系統(tǒng)可以組合 Unix命令、使用管道和 Unix shell控制工具來實(shí)現(xiàn)。 典型的體系結(jié)構(gòu)模式 ? 這些體系結(jié)構(gòu)風(fēng)格也僅僅是可用風(fēng)格中的一小部分。連接件表示工作產(chǎn)品之間的關(guān)系,特性標(biāo)識(shí)每項(xiàng)的特征。連接件包括傳遞數(shù)據(jù)和控制、共享數(shù)據(jù)、 “ 使用 ” 以及 “ 是一個(gè)實(shí)例 ” 等能力。然而,體系結(jié)構(gòu)模式與體系結(jié)構(gòu)風(fēng)格在許多基本方面存在不同: – l)模式涉及的范圍要小一些,它更多集中在體系結(jié)構(gòu)的某一方面而不是體系結(jié)構(gòu)的整體; – 2)模式在體系結(jié)構(gòu)上施加規(guī)則,描述了軟件是如何在基礎(chǔ)設(shè)施層次(例如,并發(fā))上處理某些功能性方面的問題。但更重要的是,體系結(jié)構(gòu)風(fēng)格也是建筑的樣板。 風(fēng)格與模式 ? 從更詳細(xì)的層面上,為了分清不同模式間的差異,需要有一個(gè)公共的框架以便對(duì)這些模式進(jìn)行比較。可以把體系結(jié)構(gòu)模式看作是對(duì)好的實(shí)踐所做的格式化的抽象描述,它們已經(jīng)在不同的系統(tǒng)和環(huán)境中多次嘗試和測(cè)試過。此外,還應(yīng)該包括這種模式的應(yīng)用時(shí)機(jī)和優(yōu)缺點(diǎn)??紤]一個(gè)游戲系統(tǒng)的軟件體系結(jié)構(gòu),游戲系統(tǒng)有時(shí)被稱作沉浸式交互應(yīng)用( immersive interactive application) ,它需要密集型算法的計(jì)算方法、成熟的計(jì)算機(jī)圖形圖像技術(shù)、流媒體數(shù)據(jù)源、通過常規(guī)或非常規(guī)輸入進(jìn)行的實(shí)時(shí)的交互操作以及許多其他專業(yè)知識(shí)。 – 軍事 ——用于商議、通信、指揮、控制和信息的系統(tǒng),也有用于進(jìn)攻和防衛(wèi)武器的系統(tǒng)。 – 設(shè)備 ——與物理世界交互的系統(tǒng),可以為個(gè)人提供某種有意義的服務(wù)。在每種類別中,會(huì)有很多的子類別。不過,由于它的專業(yè)性,領(lǐng)域和應(yīng)用專家很難理解和使用ADL。 體系結(jié)構(gòu)視圖 ? 實(shí)際上,在設(shè)計(jì)過程中通常都會(huì)形成概念視圖,它對(duì)體系結(jié)構(gòu)的決策很有幫助。顯示了系統(tǒng)硬件和系統(tǒng)中軟件組件是如何分布在處理器上的。通過邏輯視圖,可以將系統(tǒng)需求和實(shí)體關(guān)聯(lián)起來。一個(gè)設(shè)計(jì)良好的通用模式是工程領(lǐng)域中技術(shù)成熟的標(biāo)志之一。通常體系結(jié)構(gòu)可能會(huì)從許多不同的視角和視圖被文檔化,我們需要提供系統(tǒng)體系結(jié)構(gòu)的多重視圖。顯示了軟件是如何為了開發(fā)而被分解的,即將軟件分解成可以由單獨(dú)的開發(fā)人員或開發(fā)團(tuán)隊(duì)實(shí)現(xiàn)的組件。該圖顯示了一個(gè)打包機(jī)器人系統(tǒng)體系結(jié)構(gòu)的抽象模型,描述了所要開發(fā)的子系統(tǒng)。當(dāng)需要詳細(xì)地文檔化一個(gè)體系結(jié)構(gòu)或使用模型驅(qū)動(dòng)開發(fā)的時(shí)候, UML是非常有價(jià)值的。不過,例外的情況是,當(dāng)正在開發(fā)關(guān)鍵性系統(tǒng),當(dāng)需要做一個(gè)詳細(xì)的系統(tǒng)可依賴性分析時(shí),或許需要使外部的管理者確定我們的系統(tǒng)符合他們的規(guī)則而且可能會(huì)需要完整的體系結(jié)構(gòu)文檔。 – 商業(yè)和非盈利的 ——工商企業(yè)營(yíng)運(yùn)必要的系統(tǒng)。 – 工業(yè) ——模擬或控制物理過程的系統(tǒng)。 – 運(yùn)輸 ——控制水上、地面、空中或者太空交通工具的系統(tǒng)。 ? 表 6
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1