




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、信息與軟件工程學院 信息系統(tǒng)項目管理師 課程輔導 1 信息與軟件工程學院 五、系統(tǒng)架構設計五、系統(tǒng)架構設計 2 5.1 5.1 軟件體系結構基本概念軟件體系結構基本概念 5.25.2 軟件體系結構風格軟件體系結構風格 5.3 5.3 軟件體系結構應用框架軟件體系結構應用框架 5.4 5.4 軟件設計模式軟件設計模式 信息與軟件工程學院 3 5.1 軟件體系結構基本概念 1定義 軟件體系結構,也稱軟件架構,是軟件工程的重要研 究領域。從90年代開始,很多專家學者對軟件體系結 構引起廣泛的關注,到目前為止,軟件體系結構并沒 有統(tǒng)一的定義,綜合軟件體系結構的定義,只有比較 權威的定義性論述。 權威的
2、定義性論述 軟件體系結構是設計過程的一個層次,它處理那些超 越算法和數(shù)據(jù)結構的設計,研究整體結構設計和描述 方法。體系結構包括:總體組織結構、全局控制結構、 通信和同步以及數(shù)據(jù)存取的協(xié)議、設計元素的功能、 物理分布與合成、設計方案的選擇、評估和實現(xiàn)等。 信息與軟件工程學院 4 理解要點: 軟件體系結構是軟件設計過程的一個層面, 是相對獨立的、有價值的軟件設計方法的總結, 可作為軟件開發(fā)指導性的策略和途徑 強調(diào)設計過程,而非分析的過程。分析的目 標是理解和表達,而設計的目標是實現(xiàn) 非用戶的觀點,即非功能的觀點。對于用戶, 結構是軟件系統(tǒng)功能的組合,而對于設計者, 結構是為特定目標而設立的、軟件成
3、分以及成 分之間的關系。 軟件體系結構的研究,包括:怎樣選擇、怎 樣評估,以及怎樣實現(xiàn)一個軟件結構的問題 信息與軟件工程學院 5 2. 軟件的基本結構 軟件技術的發(fā)展與硬件技術密不可分。軟件結構的基 礎受硬件結構的制約,目前,在計算機基本硬件結構 的基礎之上,軟件體系結構的基本元素和結構包括如 下幾種: 數(shù)據(jù)類型結構,包括基本數(shù)據(jù)類型結構、抽象數(shù)據(jù)類 型結構 控制流連接結構,也稱調(diào)用結構包括:條件連接結構、 循環(huán)連接結構、控制轉移結構;其調(diào)用連接方式,包 括鏈詢式、分析式、代理式 中斷觸發(fā)連接結構,包括內(nèi)部進程連接結構、獨立進 程同步連接結構、獨立進程異步連接結構 層次結構,包括單向依賴層次結
4、構、開放式層次結構 信息與軟件工程學院 6 3.軟件體系結構設計的基本策略和原則 在大量的軟件開發(fā)的設計實踐中,始終存在對設 計原則和策略的探討和總結,很多被普遍性采用 的原則和策略,一直被廣泛使用,并不斷驗證和 改進,它們獨立于具體的軟件開發(fā)方法。這些原 則和策略包括: 抽象 分而治之,層次化分解 封裝和信息隱蔽 模塊化 高內(nèi)聚和低耦合 關注點分離 策略和實現(xiàn)分離 接口和實現(xiàn)分離 信息與軟件工程學院 7 抽象 抽象,是人們認識復雜事物的基本方法。它 的實質(zhì)是集中表現(xiàn)事物的主要特征和屬性, 隱蔽和忽略細節(jié)部分。運用抽象,能概括普 遍的、具有相同特征和屬性的事物,簡化表 達和理解,便于利用。 軟
5、件設計中運用的抽象包括: 數(shù)據(jù)抽象:描述特定數(shù)據(jù)對象的屬性集合 過程抽象:特定操作過程命名的操作序列 控制抽象:隱含內(nèi)部細節(jié)的控制邏輯 信息與軟件工程學院 8 分而治之,層次式分解 將大問題分解,從小問題入手,逐一解決整 個大問題,這是人們處理問題的通常的方式。 軟件設計中運用的分解包括: 橫向分解:按照從基礎問題到上層問題的分 解方式,將大問題按照層次分解成相互依賴 的多層,每層完成的局部解,提供對上層的 支持 縱向分解:在橫向分解的基礎上,對每層的 求解,再分解成相互獨立的多項求解 信息與軟件工程學院 9 封裝和信息隱蔽 封裝是為了信息隱蔽,隱蔽是為了減小出錯帶來損失, 而出錯是軟件系統(tǒng)不
6、可避免的事實。無論是多么精心 設計,嚴格實施,以及反復測試,軟件系統(tǒng)的錯誤就 像與生俱來不可回避。 局部化設計 將處理信息限制在局部處理過程中,避免與外部其它 處理共享,減少出錯的幾率,并且,出錯后的影響面 也會較小。 封裝性設計 將處理過程盡量隱蔽,使外界得不到,只留出簡單而 統(tǒng)一的訪問接口。這樣,使軟件處理的各個部分相互 獨立,減小系統(tǒng)擴充或修改時的出錯的機率。 信息與軟件工程學院 10 模塊化 模塊是可被獨立命名、具有獨立作用的軟件成分。軟件設計的 模塊化,是以提高系統(tǒng)的可構造性為目標的。為了軟件系統(tǒng)的 可擴充性、可修改性,設計可靈活的拆解,或者可靈活組裝的 軟件構造,則成為軟件設計者的
7、愿望和責任。模塊設計的原則 包括: 可分解性:問題本身可由多個部分的解合成,則應分解問題成 為多個處理模塊 可組裝性:可作為獨立的部分被組裝利用,得到一個更大的解, 則包裝它成為獨立的模塊 可理解性:模塊需要容易理解,不能被理解或者理解多義的軟 件成分不能作為獨立模塊 連續(xù)性: 對于一個軟件成分的修改,只作用于它自身,這樣 的模塊才是好的模塊 保護性: 如果模塊出現(xiàn)異常,對于系統(tǒng)的影響較小,甚至沒 有影響,這樣的模塊才是好的模塊 信息與軟件工程學院 11 高內(nèi)聚和低耦合 內(nèi)聚性 內(nèi)聚性是指軟件成份的內(nèi)部特性。成份中各處理 元素的關系越緊密越好。 耦合性 耦合性是指軟件成份之間的關系特性。軟件成
8、份 之間的關系越松散越好。 信息與軟件工程學院 12 12 偶然內(nèi)聚:各處理元素之間并沒有關系,只是把分散在多處的功能合在一起偶然內(nèi)聚:各處理元素之間并沒有關系,只是把分散在多處的功能合在一起 邏輯內(nèi)聚:僅僅是邏輯功能相關的處理元素合在一起邏輯內(nèi)聚:僅僅是邏輯功能相關的處理元素合在一起 時間內(nèi)聚:需要在同一時間執(zhí)行,并無功能邏輯的處理元素合在一起時間內(nèi)聚:需要在同一時間執(zhí)行,并無功能邏輯的處理元素合在一起 過程內(nèi)聚:過程順序相關的功能元素合在一起過程內(nèi)聚:過程順序相關的功能元素合在一起 通訊內(nèi)聚:需要對相同的外部數(shù)據(jù)進行操作的處理元素合在一起通訊內(nèi)聚:需要對相同的外部數(shù)據(jù)進行操作的處理元素合在
9、一起 順序內(nèi)聚:一個軟件成份的輸出是另一個軟件成份的輸入,將它們合起來順序內(nèi)聚:一個軟件成份的輸出是另一個軟件成份的輸入,將它們合起來 功能內(nèi)聚:只完成單一的功能功能內(nèi)聚:只完成單一的功能 內(nèi)容耦合:一個軟件成份直接修改另一個軟件成份的內(nèi)容內(nèi)容耦合:一個軟件成份直接修改另一個軟件成份的內(nèi)容 公共耦合:兩個以上的軟件成份共同處理外部的一個公共數(shù)據(jù)公共耦合:兩個以上的軟件成份共同處理外部的一個公共數(shù)據(jù) 控制耦合:軟件成份的動作依賴于接收的控制信號控制耦合:軟件成份的動作依賴于接收的控制信號 標記耦合:標記耦合:軟件成份的接口參數(shù)具有一個復雜的內(nèi)部結構軟件成份的接口參數(shù)具有一個復雜的內(nèi)部結構 數(shù)據(jù)耦
10、合:軟件成份之間僅是數(shù)據(jù)傳遞數(shù)據(jù)耦合:軟件成份之間僅是數(shù)據(jù)傳遞 內(nèi)聚內(nèi)聚 耦合耦合 緊密緊密 松散松散 松散松散 緊密緊密 信息與軟件工程學院 13 關注點分離 關注點: 關注點是軟件系統(tǒng)中特別需要考慮的多變部分。例 如,軟件成分的執(zhí)行會受到運行環(huán)境、設備條件, 以及通信設施等的制約和限制,為了適應不同的運 行環(huán)境和條件,需要進行必要的參數(shù)調(diào)整和驅動配 置。為此進行的這部分設計和開發(fā),即是所謂的關 注點。 關注點分離設計: 軟件系統(tǒng)中涉及關注點的成分應該與非關注點的成 分分為相互獨立的部分,這樣的設計會使未來的系 統(tǒng)容易配置,靈活適應多種不同的情況。 信息與軟件工程學院 14 策略和實現(xiàn)分離
11、策略 策略是指軟件中用于處理選擇控制的決策成分。 通過信息語義解釋、參數(shù)條件等,進行分析判斷, 以決定怎樣的具體數(shù)據(jù)加工和功能實現(xiàn)。 實現(xiàn) 實現(xiàn)是指軟件系統(tǒng)中,有規(guī)范步驟及完整執(zhí)行算 法的成分。 策略和實現(xiàn)分離的設計 通常,決策部分是異變的成分,而實現(xiàn)部分相對 穩(wěn)定,并可多次復用。將策略成分和實現(xiàn)成分分 別設計成獨立的部分,使系統(tǒng)維護的范圍減小, 以提高系統(tǒng)的維護性和復用性。 信息與軟件工程學院 15 接口和實現(xiàn)分離 接口 接口是軟件成分對外統(tǒng)一形式的、可直接訪問的操 作集合,其操作提供了該軟件成分的功能及使用方 式。一個軟件成分可以不只一個接口,每個接口提 供不同的一組相關的操作。 實現(xiàn) 實
12、現(xiàn)是軟件成分外部不可見的操作執(zhí)行部分 接口和實現(xiàn)分離的設計 為了達到軟件成分的高復用,對于不同的訪問形式 的適應問題,可以采用分設不同的訪問接口來實現(xiàn)。 因此,采用接口和實現(xiàn)分離的設計,會極大地提高 系統(tǒng)的可移植性和復用性,而這些正是軟件性能評 價的重要指標。 信息與軟件工程學院 16 4.風格、框架、模式 在軟件體系結構的研究中,有三個重要的術語需要明確: 軟件體系結構風格(Architecture Styles),風格是描述特定 系統(tǒng)組織方式的慣用范例(idiomatic paradigm),強調(diào)組 織方式和習慣用法;組織方式是用靜態(tài)形式表述的系統(tǒng)結 構,而慣用范式,則可反映眾多系統(tǒng)共有的
13、結構和語義。 應用框架(Application Framework),框架是待實例化的、 可復用的大粒度部件結構??蚣苊嫦虿煌?guī)模的應用問題, 是通用的結構。強調(diào)針對實際的應用問題和通用結構。 軟件設計模式(Design Pattern),設計模式是軟件問題高 效和成熟的設計模板(pattern),模板包含了固有的問題的 處理邏輯,強調(diào)處理邏輯采用方式的直接復用。 信息與軟件工程學院 17 5.2 軟件體系結構風格軟件體系結構風格 體系結構風格是對軟件系統(tǒng)組織結構的慣用形式總結。認識 特定軟件結的原理及適合的計算模式,為軟件體系結構設計 提供必要的選擇空間,對于軟件設計來說是重要的技術途徑。
14、目前經(jīng)典的體系結構風格包括: 管道過濾器風格 主程序與子過程風格 數(shù)據(jù)抽象與面向對象風格 黑板知識庫風格 虛擬機(解釋器)風格 事件驅動隱式調(diào)用風格 過程控制回路風格 部件鏈接器C2風格 相關的信息系統(tǒng)開發(fā),僅介紹其中幾種經(jīng)典體系結構風格 信息與軟件工程學院 18 1 .管道過濾器 (Pipes and Filters) 過濾器A 過濾器B 過濾器C 過濾器D過濾器E 增量計算的 功能模塊 輸入/輸出 數(shù)據(jù)流 管道過濾器風格的特征 以數(shù)據(jù)流向的過程為核心,因此也被稱為:數(shù)據(jù)流風格 過濾器自身功能獨立而完整,不需要知道其他過濾器的存在 與否,相互之間無狀態(tài)交互 過濾器對輸入的數(shù)據(jù)流有限制,并必須
15、保證輸出流的正確性 系統(tǒng)內(nèi),各部分的執(zhí)行與整體系統(tǒng)的最終輸出不相關 適用于無交互的批量加工過程處理系統(tǒng) 管道1 管道2 管道3 管道4 管道5 管道6管道8 管道7 信息與軟件工程學院 19 2.主程序與子過程主程序與子過程 (Main Program/Subroutine) 主程序 子過程1 子過程2 子過程n 子過程k1 子過程k2 調(diào)用 返回 子過程f 主程序與子過程特征 與過程性語言的概念相對應,適當?shù)脑O計會使代碼效率很高 層次式的結構調(diào)用,幾乎可以應對所有的軟件問題 單純的過程劃分基于特定問題,不具普遍性,復用性差 數(shù)據(jù)結構的變化會引起復雜關聯(lián)的變化,維護性差 適用于需求穩(wěn)定且高效的
16、系統(tǒng)問題 信息與軟件工程學院 20 3.事件驅動和隱式調(diào)用事件驅動和隱式調(diào)用(Event-Based,Implicit Invocation) 外部實體1 外部實體n 消息過濾1 消息過濾n 中斷服務n 中斷服務1 系統(tǒng) 消息 隊列 應用A 消息 隊列 應用線程1 應用線程n 應用B 消息 隊列 系統(tǒng)傳送 系統(tǒng)傳送 消息發(fā)送 消息發(fā)送事件 事件 應用線程1 應用線程n 消息 循環(huán) B 消息 循環(huán) A 事件驅動和隱式調(diào)用特征 事件不直接被各響應處理接收,而是通過隱藏在中間的層次 間接地被接收和處理 中間的層次,完成消息形式的統(tǒng)一處理及調(diào)整和調(diào)度,這樣, 可以對接受事件進行必要操控 請求與響應成分
17、之間構成松散耦合,為靈活設計創(chuàng)造了條件 對于資源不對等的異步并發(fā)系統(tǒng)是一種極好的控制方式 信息與軟件工程學院 21 黑板 (共享狀態(tài) 和策略數(shù)據(jù)) 知識源1 知識源8 知識源7 知識源6 知識源3 知識源4 知識源2 知識源5 黑板知識庫風格的特征 每個知識源的動作依據(jù)是黑板中的信息,包括需要的交 互及協(xié)同 系統(tǒng)中的執(zhí)行者和決策者享有同等的地位 使系統(tǒng)中多對多的關系,以及執(zhí)行者和決策者的復雜關 系變得簡單而清晰 對于協(xié)同求解等專家系統(tǒng)是極好的控制方式 信息與軟件工程學院 22 虛擬機 5. 虛擬虛擬機機( (解釋器解釋器) )(Interpreter) 程序的 交互輸入 被解釋的 程序 執(zhí)行偽
18、碼 解釋引擎 輸出 輸入 選擇指示 解釋狀態(tài) 虛擬機(解釋器)結構的優(yōu)勢 易于擴充文法,以適應系統(tǒng)的改變。特別是采用面向 對象的繼承方式。 高效的解釋通常采用狀態(tài)機方式。狀態(tài)機方式仍然適 用于解釋器結構。 信息與軟件工程學院 23 6 部件連接器部件連接器(Components and Connectors) 部件和連接器是軟件結構成分的兩大部分。 部件是軟件的組成成分,在系統(tǒng)構架中起結構塊的作用。 連接件是建立部件和部件之間連接的成分,是專門承接連接作用 的特殊部件。 部件可以組合,連接器可以相互連接。 部件 部件 部件部件部件 部件部件 部件 復合部件 部件和連接器也稱為 C2 (Comp
19、onents and Connectors)風格。它總結 了所有體系結構的成分,歸納并深入探討其規(guī)律、特性,引導了軟件 體系結構研究的新途徑。 信息與軟件工程學院 24 軟件體系結構成分列表 信息與軟件工程學院 25 部件的類別 部件的表達形式 部件的特性 接口特性 運行特性 遠程服務特性 關聯(lián)特性 動態(tài)特性 等級或層次特性 連接的種類 連接的實現(xiàn) 連接協(xié)議 連接的特性 連接方向性 連接的角色 連接的激發(fā) 連接的響應 連接的匹配性 討論部件連接器的內(nèi)容包括: 信息與軟件工程學院 26 連接的種類 從連接目的分:操作/過程調(diào)用、控制/事件/消息發(fā)送、數(shù)據(jù)傳輸 從連接機能分:有返回連接和無返回連接
20、 從連接響應分:同步連接和異步連接。 連接的實現(xiàn) 計算機硬件提供了實現(xiàn)一切連接的基礎。在此基礎上構筑了各層的連 接方式。無論怎樣復雜的連接,都是在基本連接的基礎上實現(xiàn)的。 串行輸入/輸出 并行輸入輸出 DMA(直接存儲訪問) 循環(huán)掃描 代碼塊連接 進程 線程 共享 同步 并行 過程調(diào)用 中斷 存儲 棧 分時并發(fā) 事件 消息 異常處理 基本連接 信息與軟件工程學院 27 5.3 軟件體系結構應用框架 軟件體系結構應用框架,是在大量成功的應 用系統(tǒng)中,被廣泛使用并得到驗證的系統(tǒng)結 構。它們大都有相應的軟件產(chǎn)品或開發(fā)環(huán)境 的工具所支持。各大軟件開發(fā)商,都在相互 競爭地圍繞這些應用的軟件體系結構,發(fā)展
21、 自己獨特性能的構造工具和產(chǎn)品,并且,不 斷創(chuàng)造新的更具優(yōu)勢的結構概念,以研制更 多的產(chǎn)品占領軟件開發(fā)市場。 信息與軟件工程學院 28 1 1客戶客戶/ /服務器服務器 ( Client/Server)( Client/Server) C/S結構在信息產(chǎn)業(yè)的系統(tǒng)結構中占有重要地位。是隨著網(wǎng)絡 時代的發(fā)展,從集中式計算到分布式計算重大演變的產(chǎn)物。 基本概念 C/S結構是分布式系統(tǒng)結構 分布式系統(tǒng)是由多個自主的處理器,平行地處理所各自獨立的 系統(tǒng)部分,來同共完成一個業(yè)務過程。它們之間不共享存儲, 僅通過封裝的接口傳遞信息。C/S結構是分布式系統(tǒng)結構。 C/S結構的消息傳遞特征 消息傳遞是分布系統(tǒng)結
22、構的基礎,C/S結構采用消息傳遞的關 系模式。即客戶向服務者發(fā)送消息,客戶是消息的發(fā)送者,也 是請求服務者;而服務器是消息的接收者,它響應消息并執(zhí)行 服務。 C/S結構既是指硬件也是指軟件。并且,通常用來表明一種消 息交互的形式 信息與軟件工程學院 29 C/S體系結構硬件 客戶機1 打印機 調(diào)制解調(diào)器 服務器 其他公用設備 客戶機2客戶機3客戶機4 客戶機5 客戶機通常采用個人微機,在自身操作系統(tǒng)控制下,執(zhí)行系統(tǒng)的應用 程序。 服務器,采用高級計算機系統(tǒng),提供多用戶方式下的數(shù)據(jù)庫服務、文 件服務、網(wǎng)絡通信、打印服務、電傳及傳真等設備服務等。 信息與軟件工程學院 30 應用接口 數(shù)據(jù)庫系統(tǒng) C
23、ore 操作系統(tǒng) 用戶界面 應用系統(tǒng) 數(shù)據(jù)庫系統(tǒng) 運行環(huán)境 Form Report SQL 操作系統(tǒng) 跨平臺 跨地域 接 口 數(shù)據(jù)存儲管理 ServerClient C/S結構的軟件系統(tǒng)分布 C/S結構是資源不對等結構。常被形象地稱為“胖客戶機結構” 客戶處理機擔任應用程序的全部系統(tǒng)處理,包括:操作界面、業(yè)務 邏輯及數(shù)據(jù)計算的所有處理運行。 服務處理機擔任多個客戶應用的數(shù)據(jù)管理,包括:數(shù)據(jù)庫服務器、 網(wǎng)絡服務、應用請求響應服務。 信息與軟件工程學院 31 C/S結構的處理流程 早期的C/S結構處理方式是兩層方式的。由于所有的應用系統(tǒng) 程序都在Client側,程序之間的訪問,是采用的共享內(nèi)存的本
24、 地過程調(diào)用LPC(Local Procedure Call)方式。 信息與軟件工程學院 32 C/S結構發(fā)展的必然趨勢 1)在應用系統(tǒng)中,有時一個數(shù)據(jù)查詢,需要多次循環(huán)的查 詢數(shù)據(jù)集合,由于全部數(shù)據(jù)運算都在Client端,需要多次頻 繁而大量的數(shù)據(jù)從服務器端傳過來,造成網(wǎng)絡傳輸?shù)娘L險 和壓力。 2)隨著計算機硬件技術的發(fā)展,以及遠程過程存儲及遠程 過程調(diào)用RPC(Remote Procedure Call)技術的發(fā)展,使分 布式系統(tǒng)結構得以實現(xiàn) 3)隨著Internet網(wǎng)絡技術,以及WWW技術的發(fā)展,三層的 C/S結構,直接對應瀏覽器/服務器結構的基本結構形式。 信息與軟件工程學院 33 R
25、PC運行 SkeletonRPC API 過程存儲過程存儲 數(shù)據(jù)庫 操作系統(tǒng) 用戶界面 RPC運行 StubRPC API 應用系統(tǒng) 操作系統(tǒng) 跨平臺 跨地域 遠程過程存儲及RPC Server Client 客戶端向服務器發(fā)出請求-向指定的服務器請求數(shù)據(jù)訪問 服務器接收請求-向客戶提供相應的數(shù)據(jù)服務 RPC接口-為應用提供的過程存儲調(diào)用 IDL(Interface Description Language)-可產(chǎn)生C/S兩端的RPC接口 信息與軟件工程學院 34 三層C/S結構處理流程 將服務器分為邏輯上獨立的兩部分:業(yè)務功能處理和數(shù)據(jù)訪 問處理。將原來客戶端處理的內(nèi)容只保留界面操作請求驗證
26、 處理部分,而將驗證過的操作請求及數(shù)據(jù),整體發(fā)送給服務 器,服務器經(jīng)過業(yè)務處后,客戶端僅將結果數(shù)據(jù)取回。 信息與軟件工程學院 35 2瀏覽器/服務器結構( Browser/Server,B/S) B/S結構,針對Internet國際互聯(lián)網(wǎng)絡形式的系統(tǒng)應用問題, 結合了成熟的WWW(World Wide Web)技術,是三層C/S結 構的一種特定形式的實現(xiàn)。 WWW技術的基本原理 采用超文本標記語言(Hypertext Markup Language ,HTML),以 互聯(lián)網(wǎng)絡上全體共識的格式,在瀏覽器中展現(xiàn)資源信息。 WWW技術仍然采用的C/S消息傳遞方式: 瀏覽器作為信息系統(tǒng)的前端,僅負責操
27、作請求及取回信息 展示給外界 服務器以多用戶處理方式,響應瀏覽器的請求,執(zhí)行搜索、 整理和存儲各種WWW資源。 信息與軟件工程學院 36 B/S結構的基本形式 WWW技術僅針對HTML文本資源的處理,而B/S結構所面對 的除了HTML文本資源,主要是針對應用系統(tǒng)程序的運行資源。 因為,大量的應用系統(tǒng)越來越多地建立在Internet互聯(lián)網(wǎng)絡的 基礎之上。 客戶端計算機運行瀏覽器, 服務器計算機運行邏輯上劃分的Web服務器和數(shù)據(jù)服務器 信息與軟件工程學院 37 客戶瀏覽器 1)用統(tǒng)一資源定位器URL來識別對應請求的Web服務器 2)通過解釋HTML頁面來顯示信息 3)用超文本傳輸協(xié)議HTTP來傳輸
28、請求 4)取回處理結果,轉換成HTML頁面信息 Web服務器 各個業(yè)務的處理包裝成對應的應用服務,并執(zhí)行下列任務: 1)驗證客戶端的業(yè)務請求 2)執(zhí)行相應的業(yè)務處理代碼程序 3)發(fā)送必要的請求給數(shù)據(jù)服務器,并取回結果數(shù)據(jù) 4)按事先給定的結果頁面準備好執(zhí)行結果 數(shù)據(jù)服務器 數(shù)據(jù)服務接受對應的數(shù)據(jù)請求 與數(shù)據(jù)庫及文件系統(tǒng)交互,建立并管理數(shù)據(jù),執(zhí)行檢索、修 改、刪除等數(shù)據(jù)操作 信息與軟件工程學院 38 B/S多層結構 基本B/S結構存在如下問題: 應用服務的表示邏輯和處理邏輯緊密相關,不能獨立修改 和復用 業(yè)務的顯示信息是以全體共識的方式直接被客戶端獲取, 因此,系統(tǒng)的數(shù)據(jù)結構直接暴露,造成極高的
29、信息安全風 險 Web服務器既要處理界面操作驗證,又要處理業(yè)務計算, 還要負責與數(shù)據(jù)服務器的聯(lián)系,使其負擔過重,造成系統(tǒng) 性能下降,抗風險能力低 信息與軟件工程學院 39 多層B/S結構的形式 將Web服務器的工作適當分解為多個部分,將界面操作驗 證等處理邏輯分成獨立的部分,不但減輕了各部分的負擔, 使風險分散,最重要的是可以提高系統(tǒng)的安全性,并提高 系統(tǒng)的復用性和構造性。 信息與軟件工程學院 40 3對象中間件結構 中間件基本概念 中間件的產(chǎn)生與C/S結構的發(fā)展密不可分。由于C/S 結構存在著操作系統(tǒng)、文件格式、網(wǎng)絡協(xié)議、服務 等相互多元異構的問題。希望通過中間件,能夠屏 蔽差異,實現(xiàn)異構環(huán)
30、境下,建立具有可擴展能力的 分布式軟件框架。 中間件的定義: 中間件是為解決異構環(huán)境的分布計算問題,是位于 平臺和應用之間、具有標準接口和協(xié)議的通用服務。 信息與軟件工程學院 41 早期的中間件類型 早在中間件概念被提出之前,很多系統(tǒng)在解決分布式互聯(lián)方 面就已經(jīng)采用過很好的中間件解決方案。例如: 遠程過程調(diào)用(Remote Procedure Call,RPC),同步方式的分布 式互聯(lián)技術 消息發(fā)布/訂閱(publish/subscribe),準異步的分布式互聯(lián) 消息隊列(Message queue),異步方式的分布式互聯(lián)技術 開放數(shù)據(jù)庫互連(Open Database Connectivit
31、y,ODBC),異構 數(shù)據(jù)庫系統(tǒng)互聯(lián) 然而,上述中間件系統(tǒng)中,軟件成分之間的互聯(lián)訪問,其雙 方的位置和身份是固定的。 信息與軟件工程學院 42 對象中間件 隨著軟件技術的不斷發(fā)展,軟件結構設計的抽象程度越來 越高,從基本數(shù)據(jù)結構、模塊,子程序、對象類,直到 對象構件。 以對象構件為基礎建造的系統(tǒng),不但需要對象構件本身, 還需要對象構件的運行機制來管理和控制,以實現(xiàn)構件 的建立和撤銷、構件的加入與退出,以及構件之間的相 互訪問等,這個機制就是“對象中間件”。 對象中間件的理解要點: 對象構件是包含獨立數(shù)據(jù)和功能的大粒度的對象實體, 是系統(tǒng)建設的構造塊 在分布式網(wǎng)絡環(huán)境下的對象構件系統(tǒng)中,對象構件
32、不分 客戶還是服務者,它們的角色可以互換,并可以即插即 用 信息與軟件工程學院 43 對象中間件的三大主流結構 由國際OMG(Object Management Group)制定 的ORB和CORBA對象中間件規(guī)范 以SUN公司Java技術為基礎的對象組件和中間件 體系EJB Microsoft公司W(wǎng)indows環(huán)境的 COM/DCOM/COM+構件技術系列 信息與軟件工程學院 44 CORBA對象中間件 由國際OMG(Object Management Group)制定的軟 件跨平臺交互操作標準。目標是:無論在什么地方,用的 什么語言或是什么操作系統(tǒng),應用程序都能在獨立的情況 下,透明訪問對
33、象。在此目標下,制定統(tǒng)一的應用軟件標 準,規(guī)劃分布對象的體系結構,以及在此結構下對象的產(chǎn) 生、消亡和運用方式。這套規(guī)定包括: OMA(Object Management Architecture) 對象管理 體系結構 ORB(Object Request Broker)對象請求代理者 CORBA(Common Object Request Broker Architecture)公共對象請求代理者體系結構 信息與軟件工程學院 45 對象服務,提供用于實現(xiàn)對象的一些基本功能,如對象的命名服務、 對象并行、對象存儲、對象產(chǎn)生和消亡、事件消息響應,以及事務交 易的一致性保障等 應用對象,是廣泛概念的
34、分布系統(tǒng)中的任何成分??梢允菓贸绦颉?進程、類實例 公共設施,提供運行在應用程序中的公共服務,例如:菜單、窗口、 繪圖板、電子郵件等 ORB是OMA的核心部分。對象系統(tǒng)中對象構件之間的交互,都是通 過ORB進行的 OMA對象管理體系結構 信息與軟件工程學院 46 ORB核心,ORB核心提供底層消息通信協(xié)議GIOP(Global Internet- ORB Protocol) 接口定義語言IDL,提供對象的接口定義機制,通過編譯的接口,產(chǎn)生 stub和skeleton 樁(stub),客戶請求所需要的對象代理,或者遠程對象的本地代理 槽(skeleton)服務的接口,明確給出所承擔的服務 接口
35、庫,提供注冊構件的接口管理,動態(tài)調(diào)用時,提供對象方法的元數(shù) 據(jù) 實現(xiàn)庫,包含支持服務的類、實例化對象及標識。為定位和激活對象提 供必要的手段 對象適配器,提供對象構件運行環(huán)境的適配轉換機制 CORBA結構 信息與軟件工程學院 47 EJB構件系統(tǒng)開發(fā)環(huán)境 EJB和J2EE J2EE(Java2 Enterprise Edition)是SUN公司開發(fā)的具有 性能保證,安全防護、事務處理,以及集群(cluster)管理等 綜合技術標準的應用系統(tǒng)軟件開發(fā)框架。包含網(wǎng)絡服務支 持和軟件開發(fā)工具(Software Development Kit,SDK)等很 多的概念和技術。其中,核心的技術就是EJB。
36、除了EJB之 外,還包含JNDI(Java Naming and Directory Interface)、 JMS(Java Message Service)、JCA(Java Connector Architecture)、JTA(Java Transaction API)等重要的技 術。它們可以配合EJB完成企業(yè)應用系統(tǒng)的開發(fā)和建設。 J2EE只是個標準,它依賴于各廠商的產(chǎn)品實現(xiàn)。 EJB(Enterprise Java Bean)是J2EE的一部分,是基于組件 式企業(yè)系統(tǒng)應用的軟件開發(fā)標準。 EJB提供可視化操作的 構件系統(tǒng)裝配工具和環(huán)境,是能在服務器上運行的,一個 特定的JavaBe
37、an。 信息與軟件工程學院 48 JavaBean的基本概念 Bean(豆)可看作一個整體構件,是具有內(nèi)?。杀硎荆?、可 裝配、可授權操作、可事件響應,以及可永久性存儲的軟件 獨立成份。JavaBean提供動態(tài)發(fā)現(xiàn)、組裝、部署B(yǎng)ean ,以 及運行Bean的機制。Bean用事件機制相互連接,可構成完 整的應用系統(tǒng)。 EJB的基本概念 EJB是企業(yè)級應用服務的一個特殊的Bean,在EJB中,包含 一個OTM(Object Transaction Monitor)對象事務處理控制器, 提供事務處理的服務構件,包括:負責激活構件、撤銷構件、 事務調(diào)度構件,事件處理及構件,以及持久性管理構件。并 且,
38、在EJB中,構件之間交互控制的機制是RMI(Remote Method Invocation)遠程方法調(diào)用,它相當于SUN公司的 ORB。 信息與軟件工程學院 49 EJB結構 EJB服務器,可以有多個EJB構件或稱EJB容器,部署在EJB服務器上 EJB容器,表示EJD單個構件或多個構件共同完成的整體大粒度的構件 Home接口,EJB構件的接口,提供創(chuàng)建、刪除及發(fā)現(xiàn)、查找等操作 Remote,EJB構件的接口,外界通過該接口調(diào)用業(yè)務構件 信息與軟件工程學院 50 COM、DCOM、COM+對象組件技術 COM與OLE、ActiveX的關系 OLE(Object Linking and Emb
39、edded)對象連接和嵌入技 術,是將應用程序的數(shù)據(jù)交換提高到“對象之間的交換”。 早期的OLE技術是為了開發(fā)時能夠容易地控制連接多媒體混 合文檔而實現(xiàn)的。OLE中的數(shù)據(jù)對象被稱為“復合文件”, 可在任一應用程序中,對其進行編輯、更新、打印等功能的 操作。 隨著組件技術的發(fā)展,在OLE2.0技術的基礎上,建立了 COM(Component Object model)組件對象技術規(guī)范,或 者說OLE技術是COM的一個技術應用。ActiveX是在原OLE 技術的基礎上,支持網(wǎng)絡環(huán)境上的對象組件集成和交互的技 術,它擴展了OLE 僅針對Windows系統(tǒng)內(nèi)應用軟件的集成和 交互的技術。 信息與軟件工
40、程學院 51 COM對象組件模型及實現(xiàn)過程 客戶應用,是使用對象組件的應用 COM庫,提供COM對象組件的創(chuàng)建和標識、內(nèi)存管理、 對象構件程序連接等函數(shù) 注冊表,操作系統(tǒng)范圍公用的信息,是客戶應用、對象購 件與COM庫用以信息交換的共享區(qū) 對象構件,創(chuàng)建COM對象構件的特殊類,用特殊接口提供 標準的操作,得到構件的實例化對象 信息與軟件工程學院 52 DCOM DCOM(Distributed COM)是COM的進一步擴展。由于 COM僅支持同一計算機上Windows環(huán)境的構件之間的交換, WindowsNT4.0研制了分布對象計算環(huán)境COM技術。 DCOM用網(wǎng)絡協(xié)議來代替本地進程之間的通信,
41、并針對分 布環(huán)境提供必要的特性,包括:位置透明、網(wǎng)絡安全、跨 平臺調(diào)用。DCOM的分布功能主要依靠遠程過程調(diào)用實現(xiàn)。 COM+ COM+在DCOM基礎上,加入了事務服務和分布式網(wǎng)絡應 用體系。提供建立分布式事務處理企業(yè)應用的系統(tǒng)框架。 包括:COM+目錄、負載平衡、駐留內(nèi)存數(shù)據(jù)庫、對象池、 事件模型、構件部署和管理等服務型對象構件。 信息與軟件工程學院 53 COM+ COM+目錄 負載平衡 駐留內(nèi)存數(shù)據(jù)庫 對象池 事件模型 構件部署和管理 COM+的基本結構 COM 接口編程方式 基本構件服務 支持遠程 DCOM 分布式構件服務 MTS 支持事務處理 資源分發(fā)管理 安全管理 信息與軟件工程學
42、院 54 4.面向服務的體系結構 基本概念 面向服務的體系結構(Service Oriented Architecture,SOA), 是另一種形式的分布式系統(tǒng)構造模型。它將分布 在網(wǎng)絡中被稱為服務的應用程序或功能單元,通 過協(xié)議方式的連接機制聯(lián)系起來。而這個服務的 連接機制是獨立于服務運行環(huán)境的硬件平臺、操 作系統(tǒng)和編程語言的執(zhí)行機構。 信息與軟件工程學院 55 理解要點 SOA的“服務”不同于“組件”。 組件也稱為“構件”, 是系統(tǒng)構造過程中的構造快?!皹嫾蓜討B(tài)連接”仍然是指 系統(tǒng)建造過程中的操作,因此,它們或被代理預置,或被事 先部署,總之是非運行過程的操作。 “服務”是運行中特定功能
43、的網(wǎng)絡實體,它們是通過獨立 連接機制,可動態(tài)發(fā)現(xiàn)并建立連接運行執(zhí)行成分。 使得“服務”能夠被發(fā)現(xiàn),并建立連接的機制,是采用統(tǒng) 一的協(xié)議方式,獨立于服務運行環(huán)境的運行機構,而不是單 純的構件接口方式。 僅從字面意義理解“服務”和“構件”的區(qū)別就不難看出, SOA結構比起對象組件結構,可以構成更松散的耦合關系。 信息與軟件工程學院 56 SOA和網(wǎng)格計算 SOA的產(chǎn)生與網(wǎng)格技術密不可分,是網(wǎng)格(grid)技術的實 際應用和技術擴展。網(wǎng)格的概念借鑒了電力網(wǎng)的概念,希 望像使用電力網(wǎng)一樣使用網(wǎng)絡資源。 水力發(fā)電 (地點A) 火力發(fā)電 (地點B) 風力發(fā)電 (地點C) 核力發(fā)電 (地點E) 電力網(wǎng) 輸
44、入 輸 出 電力電力 電力電力 電力網(wǎng)構成示意: 信息與軟件工程學院 57 網(wǎng)格計算,為解決超大型計算問題,是集成計算資源環(huán)境 的問題求解體系結構。它將各種計算資源轉化成一種隨處 可得的、可靠的、標準的、同時還是經(jīng)濟的計算能力。資 源包括計算機、網(wǎng)絡通信、數(shù)據(jù)資源、儀器設備等。網(wǎng)格 計算,是繼Internet之后又一次重大科技進步,它代表了先 進的技術和基礎設施。 系統(tǒng)M (地點A) 系統(tǒng)N (地點B) 數(shù)據(jù)信息 (地點C) 設備儀器 (地點E) 網(wǎng)格 輸 入 輸 出 計 算 計 算 計 算 計 算 網(wǎng)格組成示意: 信息與軟件工程學院 58 網(wǎng)格計算與Web Services 具有代表性的網(wǎng)格
45、技術是Globus(美國Argonne國家實驗 室的研發(fā)項目)。其中的五層沙漏協(xié)議體系結構,以及 Globus Toolkit,作為開放的結構和開放源代碼,已經(jīng)在世 界上許多網(wǎng)格項目中被使用。 2002年10月,IBM與Globus在多倫多聯(lián)合發(fā)布的OGSA (Open Grid Services Architecture)開放網(wǎng)格服務體系結 構,把Globus的概念和標準運用于Web Services,把網(wǎng)格 技術由科學計算應用,擴展到廣泛的異構企業(yè)系統(tǒng)結構。 信息與軟件工程學院 59 Web Services的基本思想 Web Service的“服務”,是可被Internet協(xié)議的URL統(tǒng)
46、 一資源定位器識別的應用軟件成分。 服務的接口是采用Internet協(xié)議可被直接訪問的XML (eXtensible Markup Language)消息形式描述。 所有信息及信息處理都被視為同一形式的網(wǎng)絡運行資源, 包括物理設備及軟件運行的邏輯成分;統(tǒng)稱為“服務” 服務可以被動態(tài)發(fā)現(xiàn)和邦定,并在生命期內(nèi)被管理運行。 信息與軟件工程學院 60 Web Services 體系結構 服務提供者是提供Web服務的供應商,它實現(xiàn)Web服務, 并放置在在線服務器上供請求服務者使用,同時,還要將 服務發(fā)布到注冊中心 服務注冊中心是Web服務的注冊地,它包含所有注冊了的 Web服務的有關信息,提供商業(yè)化注冊
47、手段,并有發(fā)現(xiàn)為 Web服務的能力 Web服務的請求者,向服務注冊中心發(fā)出查找服務的請求, 當?shù)玫交貞业搅撕线m的Web服務后,從服務注冊中心獲 取Web服務的信息引用,通過動態(tài)綁定機制建立Web服務, 得到所需要的服務。 信息與軟件工程學院 61 SOAP(simple object access protocol)基于XML 的RPC協(xié)議,描述通用的Web服務目標 WSDL(Web service description language)描述 Web服務接口的訪問方法,復雜的服務可以由多個服務 組成 UDDI(universal description discovery and int
48、egration)Web服務的目錄結構定義 BPEL(Business Process Execution Language For Web Services)Web服務的業(yè)務流程執(zhí)行語言 Web Service的標準協(xié)議 信息與軟件工程學院 62 簡單對象訪問協(xié)議SOAP (Simple Object Access Protocol) SOAP協(xié)議是基于XML支持分布式環(huán)境結構化文本信息的交 換 SOAP由四個部分組成: SOAP envelope(SOAP 信封)-定義了整體的表示 框架,用于表示消息的內(nèi)容,由誰來處理,以及可以由目 標應用程序自己選擇是否處理,還是強制必須處理,如果 無法
49、處理則返回錯誤。 SOAP encoding rules(SOAP 編碼規(guī)則)-定義了 數(shù)據(jù)編序機制,通過編序機制,定義應用程序中需要使用 的數(shù)據(jù)類型,這些數(shù)據(jù)類型所衍生的實例可用于交換。 SOAP RPC representation(SOAP RPC表示)-定 義了用于遠端過程調(diào)用和響應的約定。 SOAP binding(SOAP 綁定)-定義了使用底層傳輸 協(xié)議來完成在結點間交換SOAP信封的約定。 信息與軟件工程學院 63 Web服務描述WSDL(Web Services Definition Language) WSDL把Web服務描述成一系列端點操作(服務接口)。 WSDL描述了W
50、eb服務的三個基本屬性: 服務做些什么-服務提供的操作(方法) 如何訪問服務-數(shù)據(jù)格式及訪問服務操作的協(xié)議 服務位于何處-由特定協(xié)議決定的網(wǎng)絡地址 信息與軟件工程學院 64 Web服務的尋找和發(fā)現(xiàn)UDDI (Universal Description Discovery and Integration) 統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議,提供向注冊中心注冊的方式。 注冊中心維護Web服務的全局目錄,目錄的信息描述格式采 用通用的XML格式。 UDDI注冊中心提供兩種注冊方式: Public UDDI Registry(公共UDDI注冊中心) 面向全局UDDI注冊,采用邏輯上統(tǒng)一,物理上分布的實現(xiàn) 方式
51、,不同站點之間采用P2P對等網(wǎng)絡。注冊其中任意一個 站點就等于注冊了UDDI全局注冊中心。 Private UDDI Registry(私有UDDI注冊中心) 獨立組織、企業(yè)或某一范圍內(nèi)使用的UDDI注冊服務,其服 務對象局限在注冊的局部注冊中心范圍內(nèi)。 信息與軟件工程學院 65 BPEL (Business Process Execution Language For Web Services) Web服務的業(yè)務流程執(zhí)行語言。 BPEL結合了IBM的Web服務流程語言(Web Services Flow Language)和 Microsoft 的 XLANG 規(guī)范。可以將一組服務整合起來,
52、定義 一個新的 Web 服務。 整合服務的接口被描述為 WSDL portType 的 集合,并指出服務接口與總體執(zhí)行的配合情況。 信息與軟件工程學院 66 .Net 基于網(wǎng)格計算的Web Service受到業(yè)界廣泛的關注, 形成了新的產(chǎn)業(yè)協(xié)議,其中包括Microsoft公司 的.Net,以及SUN公司的Sun One等。因此,.Net 技術屬于面向服務的體系結構,是基于XML Web services標準的應用系統(tǒng)開發(fā)環(huán)境,被稱為.Net平臺。 .Net技術的基本思想 .Net技術的基本理念,不再關注單個網(wǎng)站和與 Internet連接的單個設備,而是要讓所有的計算機和 相關設備,以及應用服務
53、協(xié)同工作。使人們能控制 信息并讓所需信息在指定的時間,以指定的方式傳 送給自己。 信息與軟件工程學院 67 .Net平臺結構 Operating System運行在Windows 2000 Server等多種操作系統(tǒng) 中 .Net Enterprise Servers提供企業(yè)應用系統(tǒng)使用的服務器產(chǎn)品 .Net Building Block Services,提供可采用付費方式直接訪問的 成型服務,如:Passport服務。 Visual Studio.Net提供 C#語言、.Net VB、.Net XML、等開發(fā)環(huán) 境??砷_發(fā)桌面應用程序、 Web應用程序、智能設備等應用 程序。 Visual
54、 Studio .NET Operating System .NET Enterprise Servers .NET Framework .NET Building Block Services 信息與軟件工程學院 68 .Net Framework 是平臺結構的技術核心 包括: 公共語言運行機制( Common Language Runtime,CLR) .Net框架類庫 (Framework Class Library, FCL) Common Language Runtime (debug,IL,JIT等) Web serviceWeb Form Windwos Form Framewo
55、rk Baes Classes (IO,String,net,threading等) Data and XML Classes (ADO,SQL,XSLT,Xpath,XML等) 信息與軟件工程學院 69 5引擎結構 工作流引擎 工作流,是經(jīng)營管理過程的計算機實現(xiàn) 工作流管理系統(tǒng),上述實現(xiàn)的軟件環(huán)境(或平臺) 工作流三大部分: 工作流建模工具 工作流運行機制 工作流引擎 工作流建模,統(tǒng)一描述業(yè)務過程的各項任務,分配任務角色; 定義任務間的交互操作和過程。 工作流運行機制,啟動對應業(yè)務的工作流引擎,按照模型描述 的任務、角色及工作過程,控制不同操作者的、不同任務的各 項操作執(zhí)行。 工作流引擎,逐
56、一解釋對應業(yè)務的工作流模型,根據(jù)執(zhí)行狀態(tài) 及操作輸入,決定每一操作步驟,并輸出操作,以控制業(yè)務應 用系統(tǒng)的執(zhí)行。 信息與軟件工程學院 引擎執(zhí)行過程 70 過程建模工具 工作流模型 工作流引擎 工作流引擎 工作流引擎 過程狀態(tài) 工作流 運行數(shù)據(jù) 企業(yè)應用系統(tǒng) 應用系統(tǒng) 數(shù)據(jù)庫 任務 管理 操作 界面 工作流 控制數(shù)據(jù) 應用系統(tǒng) 運行核心 角色 管理 用戶操作輸入 工作流引擎結構及工作示 信息與軟件工程學院 71 AJAX引擎 AJAX基本概念 AJAX(Asynchronous JavaScript and XML)異步的JavaScript和XML, 是聯(lián)合使用多種技術,以提高Web應用效率的
57、一個解決方案。其中的多 個技術包括: XHTML和CSS標準,XHTML(The Extensible HyperText Markup Language)可擴展標識語言,CSS(Cascading Style Sheet)級聯(lián)樣式 單。用于動態(tài)Web頁面呈現(xiàn)效果和布局。 DOM(Document Object Model)文檔對象模型,是對HTML和XML文 檔操作的程序接口,提供兩種文檔的結構描述,用于實現(xiàn)動態(tài)修改瀏覽 器頁面。 XSLT(Extensible Stylesheet Language Transformations)擴展樣式單 轉換語言。用于將 XML 文檔轉換為另外形式的
58、、可被瀏覽器識別的文檔, 比如 HTML、XHTML等。 XMLHttpRequest對象類,提供瀏覽器腳本發(fā)送Http請求并獲取回執(zhí)的異 步數(shù)據(jù)讀取操作。 JavaScript腳本語言,AJAX引擎是用JavaScript編寫,可嵌入在瀏覽器 中,用于動態(tài)連接,并實現(xiàn)相關的處理邏輯。 信息與軟件工程學院 72 AJAX技術原理 傳統(tǒng)的Web應用處理方式: 瀏覽器與服務器交互時,需要瀏覽器端觸發(fā)一個HTTP請 求到服務器,服務器對其進行處理后,再返回一個新的 HTHL網(wǎng)頁到瀏覽器。這樣,每當服務器處理提交的請求 時,瀏覽器端基本是空閑的,并且,哪怕從服務器端得到 的只是很簡單的一個數(shù)據(jù),也都需
59、要一個完整的HTML頁 的重寫。 AJAX的Web應用處理方式: 在客戶端瀏覽器上添加AJAX引擎,當瀏覽器向服務器提 交數(shù)據(jù)時,由AJAX引擎收集數(shù)據(jù),并通過 XMLHttpRequest向服務器發(fā)送數(shù)據(jù)及處理請求,服務器 處理完成后返回XML,由AJAX引擎再將XML轉換為 XHTML和CSS標準格式顯示到瀏覽器,并負責更新瀏覽 器界面。AJAX引擎的結構如圖3.43所示。 信息與軟件工程學院 73 AJAX引擎的結構 AJAX引擎的主要任務: 收集數(shù)據(jù)并完成必要數(shù)據(jù)驗證 控制不需要提交的請求 異步數(shù)據(jù)交換的同步控制 輸出格式的轉換 頁面更新處理,以及控制刷新頁面 信息與軟件工程學院 5.
60、4 5.4 設計模式設計模式 設計模式:設計模式: 是面向對象的軟件開發(fā)經(jīng)驗的總結,是面向對象的軟件開發(fā)經(jīng)驗的總結,其中包含了其中包含了 軟件設計中很多問題的解決方案和設計思路,是軟件設計中很多問題的解決方案和設計思路,是 可直接利用的程序結構??芍苯永玫某绦蚪Y構。 按照以下要點討論設計模:按照以下要點討論設計模: l 模式名稱:表達設計思想的簡單名字模式名稱:表達設計思想的簡單名字 l 設計意圖:針對的問題和解決問題的思路設計意圖:針對的問題和解決問題的思路 l 實現(xiàn)效果:達到的實際效果及作用實現(xiàn)效果:達到的實際效果及作用 l 技術途徑:采用的技術方法和策略技術途徑:采用的技術方法和策略
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 五年級上冊數(shù)學教案 - 5.3 分餅 北師大版
- 2025年租憑合同延期申請書模板
- 五年級下冊數(shù)學教案-練習一 北師大版
- 三年級上冊語文部編版期中測試卷(含答案)
- 2024年水電站計算機監(jiān)控裝置項目資金申請報告代可行性研究報告
- 2025年濟南工程職業(yè)技術學院單招職業(yè)傾向性測試題庫含答案
- 《7 秋季星空》 教學設計-2023-2024學年科學六年級上冊青島版
- 我為爸爸慶祝父親節(jié)教案教學設計
- 2025年廣東省建筑安全員-A證考試題庫附答案
- 2025年桂林信息工程職業(yè)學院單招職業(yè)傾向性測試題庫帶答案
- 小學生四年級健康知識講座
- 中醫(yī)主任述職報告
- 通防培訓課件
- 撤場通知書( 模板)
- 音樂識譜節(jié)奏訓練課件
- 七年級數(shù)學上冊期末試卷(可打印)
- richcui美國sspc富鋅底漆解讀
- 學前兒童游戲(中職學前教育專業(yè))PPT完整版全套教學課件
- 人教版高中地理必修一全冊測試題(16份含答案)
- GN汽車吊吊裝專項安全方案講義
- 初中歷史-《開元盛世 》教學課件設計
評論
0/150
提交評論