版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
上次課重點軟件體系結(jié)構(gòu)的5種模型(簡答)。2.什么是(4+1)視圖模型,理解其含義。3.構(gòu)件、連接件、配置、端口與角色及其互相關(guān)系。4.軟件體系結(jié)構(gòu)生命周期模型,理解其含義。5.功能需求與非功能需求。
課程內(nèi)容
軟件體系結(jié)構(gòu)概論
軟件體系結(jié)構(gòu)建模
軟件體系結(jié)構(gòu)風(fēng)格
軟件體系結(jié)構(gòu)描述
動態(tài)軟件體系結(jié)構(gòu)
Web服務(wù)體系結(jié)構(gòu)
基于體系結(jié)構(gòu)的軟件開發(fā)
軟件體系結(jié)構(gòu)的分析與測試
軟件體系結(jié)構(gòu)評估
軟件產(chǎn)品線體系結(jié)構(gòu)
定義第3章軟件體系結(jié)構(gòu)風(fēng)格3.1軟件體系結(jié)構(gòu)風(fēng)格概述為什么要研究軟件體系結(jié)構(gòu)風(fēng)格?
討論體系結(jié)構(gòu)風(fēng)格時要回答的問題第3章軟件體系結(jié)構(gòu)風(fēng)格3.1軟件體系結(jié)構(gòu)風(fēng)格概述◎構(gòu)件和連接件的類型是什么?◎可容許的結(jié)構(gòu)模式是什么?◎基本的計算模型是什么?◎風(fēng)格的基本不變性是什么?◎其使用的常見例子是什么?◎使用此風(fēng)格的優(yōu)缺點是什么?◎其常見的特例是什么?
經(jīng)典的體系結(jié)構(gòu)風(fēng)格
要求:能夠列舉出幾種經(jīng)典的軟件體系結(jié)構(gòu)風(fēng)格第3章軟件體系結(jié)構(gòu)風(fēng)格3.1軟件體系結(jié)構(gòu)風(fēng)格概述◎數(shù)據(jù)流風(fēng)格:批處理序列;管道/過濾器?!蛘{(diào)用/返回風(fēng)格:主程序/子程序;面向?qū)ο箫L(fēng)格;層次結(jié)構(gòu)。◎獨立構(gòu)件風(fēng)格:進程通訊;事件系統(tǒng)。◎虛擬機風(fēng)格:解釋器;基于規(guī)則的系統(tǒng)。◎倉庫風(fēng)格:數(shù)據(jù)庫系統(tǒng);超文本系統(tǒng);黑板系統(tǒng)。
管道和過濾器
第3章軟件體系結(jié)構(gòu)風(fēng)格3.2經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格每個構(gòu)件都有一組輸入和輸出,構(gòu)件讀輸入的數(shù)據(jù)流,經(jīng)過內(nèi)部處理,然后產(chǎn)生輸出數(shù)據(jù)流。這個過程通常通過對輸入流的變換及增量計算來完成,所以在輸入被完全消費之前,輸出便產(chǎn)生了。這里的構(gòu)件被稱為過濾器,這種風(fēng)格的連接件就象是數(shù)據(jù)流傳輸?shù)墓艿溃瑢⒁粋€過濾器的輸出傳到另一過濾器的輸入。
管道和過濾器風(fēng)格的優(yōu)點
第3章軟件體系結(jié)構(gòu)風(fēng)格3.2經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格◎使得軟構(gòu)件具有良好的隱蔽性和高內(nèi)聚、低耦合的特點;◎允許設(shè)計者將整個系統(tǒng)的輸入/輸出行為看成是多個過濾器的行為的簡單合成;◎支持軟件重用。只要提供適合在兩個過濾器之間傳送的數(shù)據(jù),任何兩個過濾器都可被連接起來;◎系統(tǒng)維護和增強系統(tǒng)性能簡單。新的過濾器可以添加到現(xiàn)有系統(tǒng)中來;舊的可以被改進的過濾器替換掉;◎允許對一些如吞吐量、死鎖等屬性的分析;◎支持并行執(zhí)行。每個過濾器是作為一個單獨的任務(wù)完成,因此可與其它任務(wù)并行執(zhí)行。
管道和過濾器的缺點
第3章軟件體系結(jié)構(gòu)風(fēng)格3.2經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格◎通常導(dǎo)致進程成為批處理的結(jié)構(gòu)。這是因為雖然過濾器可增量式地處理數(shù)據(jù),但它們是獨立的,所以設(shè)計者必須將每個過濾器看成一個完整的從輸入到輸出的轉(zhuǎn)換;◎不適合處理交互的應(yīng)用。當(dāng)需要增量地顯示改變時,這個問題尤為嚴重;◎因為在數(shù)據(jù)傳輸上沒有通用的標(biāo)準(zhǔn),每個過濾器都增加了解析和合成數(shù)據(jù)的工作,這樣就導(dǎo)致了系統(tǒng)性能下降,并增加了編寫過濾器的復(fù)雜性。
數(shù)據(jù)抽象和面向?qū)ο蠼M織
第3章軟件體系結(jié)構(gòu)風(fēng)格3.2經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格這種風(fēng)格建立在數(shù)據(jù)抽象和面向?qū)ο蟮幕A(chǔ)上,數(shù)據(jù)的表示方法和它們的相應(yīng)操作封裝在一個抽象數(shù)據(jù)類型或?qū)ο笾?。這種風(fēng)格的構(gòu)件是對象,或者說是抽象數(shù)據(jù)類型的實例。對象是一種被稱作管理者的構(gòu)件,因為它負責(zé)保持資源的完整性。對象是通過函數(shù)和過程的調(diào)用來交互的。
面向?qū)ο笙到y(tǒng)的優(yōu)點第3章軟件體系結(jié)構(gòu)風(fēng)格3.2經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格◎因為對象對其它對象隱藏它的表示,所以可以改變一個對象的表示,而不影響其它的對象;◎設(shè)計者可將一些數(shù)據(jù)存取操作的問題分解成一些交互的代理程序的集合。
面向?qū)ο笙到y(tǒng)的缺點第3章軟件體系結(jié)構(gòu)風(fēng)格3.2經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格◎為了使一個對象和另一個對象通過過程調(diào)用等進行交互,必須知道對象的標(biāo)識。只要一個對象的標(biāo)識改變了,就必須修改所有其他明確調(diào)用它的對象;◎必須修改所有顯式調(diào)用它的其它對象,并消除由此帶來的一些副作用。例如,如果A使用了對象B,C也使用了對象B,那么,C對B的使用所造成的對A的影響可能是料想不到的。
基于事件的隱式調(diào)用
第3章軟件體系結(jié)構(gòu)風(fēng)格3.2經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格
構(gòu)件不直接調(diào)用一個過程,而是觸發(fā)或廣播一個或多個事件。系統(tǒng)中的其它構(gòu)件中的過程在一個或多個事件中注冊,當(dāng)一個事件被觸發(fā),系統(tǒng)自動調(diào)用在這個事件中注冊的所有過程,這樣,一個事件的觸發(fā)就導(dǎo)致了另一模塊中的過程的調(diào)用。這種風(fēng)格的構(gòu)件是一些模塊,模塊既可以是一些過程,又可以是一些事件的集合。過程可以用通用的方式調(diào)用,也可以在系統(tǒng)事件中注冊一些過程,當(dāng)發(fā)生這些事件時,過程被調(diào)用。這種風(fēng)格的主要特點是事件的觸發(fā)者并不知道哪些構(gòu)件會被這些事件影響。這樣不能假定構(gòu)件的處理順序,甚至不知道哪些過程會被調(diào)用,因此,許多隱式調(diào)用的系統(tǒng)也包含顯式調(diào)用作為構(gòu)件交互的補充形式。
基于事件的隱式調(diào)用的缺點
第3章軟件體系結(jié)構(gòu)風(fēng)格3.2經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格◎構(gòu)件放棄了對系統(tǒng)計算的控制。一個構(gòu)件觸發(fā)一個事件時,不能確定其它構(gòu)件是否會響應(yīng)它。而且即使它知道事件注冊了哪些構(gòu)件的構(gòu)成,它也不能保證這些過程被調(diào)用的順序?!?數(shù)據(jù)交換的問題。有時數(shù)據(jù)可被一個事件傳遞,但另一些情況下,基于事件的系統(tǒng)必須依靠一個共享的倉庫進行交互。在這些情況下,全局性能和資源管理便成了問題?!蚣热贿^程的語義必須依賴于被觸發(fā)事件的上下文約束,關(guān)于正確性的推理存在問題。
分層系統(tǒng)
第3章軟件體系結(jié)構(gòu)風(fēng)格3.2經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格
層次系統(tǒng)組織成一個層次結(jié)構(gòu),每一層為上層服務(wù),并作為下層客戶。在一些層次系統(tǒng)中,除了一些精心挑選的輸出函數(shù)外,內(nèi)部的層只對相鄰的層可見。這樣的系統(tǒng)中構(gòu)件在一些層實現(xiàn)了虛擬機(在另一些層次系統(tǒng)中層是部分不透明的)。連接件通過決定層間如何交互的協(xié)議來定義,拓撲約束包括對相鄰層間交互的約束。這種風(fēng)格支持基于可增加抽象層的設(shè)計。允許將一個復(fù)雜問題分解成一個增量步驟序列的實現(xiàn)。由于每一層最多只影響兩層,同時只要給相鄰層提供相同的接口,允許每層用不同的方法實現(xiàn),同樣為軟件重用提供了強大的支持。
分層系統(tǒng)
第3章軟件體系結(jié)構(gòu)風(fēng)格3.2經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格
分層系統(tǒng)的缺點
第3章軟件體系結(jié)構(gòu)風(fēng)格3.2經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格◎并不是每個系統(tǒng)都可以很容易地劃分為分層的模式,甚至即使一個系統(tǒng)的邏輯結(jié)構(gòu)是層次化的,出于對系統(tǒng)性能的考慮,系統(tǒng)設(shè)計師不得不把一些低級或高級的功能綜合起來;◎很難找到一個合適的、正確的層次抽象方法。
倉庫系統(tǒng)及知識庫
第3章軟件體系結(jié)構(gòu)風(fēng)格3.2經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格在倉庫風(fēng)格中,有兩種不同的構(gòu)件:中央數(shù)據(jù)結(jié)構(gòu)說明當(dāng)前狀態(tài),獨立構(gòu)件在中央數(shù)據(jù)存貯上執(zhí)行,倉庫與外構(gòu)件間的相互作用在系統(tǒng)中會有大的變化。控制原則的選取產(chǎn)生兩個主要的子類。若輸入流中某類時間觸發(fā)進程執(zhí)行的選擇,則倉庫是一傳統(tǒng)型數(shù)據(jù)庫;另一方面,若中央數(shù)據(jù)結(jié)構(gòu)的當(dāng)前狀態(tài)觸發(fā)進程執(zhí)行的選擇,則倉庫是一黑板系統(tǒng)。
倉庫系統(tǒng)及知識庫
第3章軟件體系結(jié)構(gòu)風(fēng)格3.2經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格
C2風(fēng)格
第3章軟件體系結(jié)構(gòu)風(fēng)格3.2經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格
C2風(fēng)格的特點
第3章軟件體系結(jié)構(gòu)風(fēng)格3.2經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格◎系統(tǒng)中的構(gòu)件可實現(xiàn)應(yīng)用需求,并能將任意復(fù)雜度的功能封裝在一起;◎所有構(gòu)件之間的通訊是通過以連接件為中介的異步消息交換機制來實現(xiàn)的;◎構(gòu)件相對獨立,構(gòu)件之間依賴性較少。系統(tǒng)中不存在某些構(gòu)件將在同一地址空間內(nèi)執(zhí)行,或某些構(gòu)件共享特定控制線程之類的相關(guān)性假設(shè)。
產(chǎn)生背景第3章軟件體系結(jié)構(gòu)風(fēng)格3.3客戶/服務(wù)器風(fēng)格◎在集中式計算技術(shù)時代廣泛使用的是大型機/小型機計算模型。它是通過一臺物理上與宿主機相連接的非智能終端來實現(xiàn)宿主機上的應(yīng)用程序。
◎20世紀(jì)80年代以后,集中式結(jié)構(gòu)逐漸被以PC機為主的微機網(wǎng)絡(luò)所取代。個人計算機和工作站的采用,永遠改變了協(xié)作計算模型,從而導(dǎo)致了分散的個人計算模型的產(chǎn)生。
體系結(jié)構(gòu)第3章軟件體系結(jié)構(gòu)風(fēng)格3.3客戶/服務(wù)器風(fēng)格
任務(wù)分配第3章軟件體系結(jié)構(gòu)風(fēng)格3.3客戶/服務(wù)器風(fēng)格◎服務(wù)器(1)數(shù)據(jù)庫安全性的要求;(2)數(shù)據(jù)庫訪問并發(fā)性的控制;(3)數(shù)據(jù)庫前端的客戶應(yīng)用程序的全局數(shù)據(jù)完整性規(guī)則;(4)數(shù)據(jù)庫的備份與恢復(fù)。
任務(wù)分配第3章軟件體系結(jié)構(gòu)風(fēng)格3.3客戶/服務(wù)器風(fēng)格◎客戶應(yīng)用程序(1)提供用戶與數(shù)據(jù)庫交互的界面;(2)向數(shù)據(jù)庫服務(wù)器提交用戶請求并接收來自數(shù)據(jù)庫服務(wù)器的信息;(3)利用客戶應(yīng)用程序?qū)Υ嬖谟诳蛻舳说臄?shù)據(jù)執(zhí)行應(yīng)用邏輯要求。
處理流程第3章軟件體系結(jié)構(gòu)風(fēng)格3.3客戶/服務(wù)器風(fēng)格
優(yōu)點第3章軟件體系結(jié)構(gòu)風(fēng)格3.3客戶/服務(wù)器風(fēng)格◎
C/S體系結(jié)構(gòu)具有強大的數(shù)據(jù)操作和事務(wù)處理能力,模型思想簡單,易于人們理解和接受?!蛳到y(tǒng)的客戶應(yīng)用程序和服務(wù)器構(gòu)件分別運行在不同的計算機上,系統(tǒng)中每臺服務(wù)器都可以適合各構(gòu)件的要求,這對于硬件和軟件的變化顯示出極大的適應(yīng)性和靈活性,而且易于對系統(tǒng)進行擴充和縮小?!蛟贑/S體系結(jié)構(gòu)中,系統(tǒng)中的功能構(gòu)件充分隔離,客戶應(yīng)用程序的開發(fā)集中于數(shù)據(jù)的顯示和分析,而數(shù)據(jù)庫服務(wù)器的開發(fā)則集中于數(shù)據(jù)的管理,不必在每一個新的應(yīng)用程序中都要對一個DBMS進行編碼。將大的應(yīng)用處理任務(wù)分布到許多通過網(wǎng)絡(luò)連接的低成本計算機上,以節(jié)約大量費用。
缺點第3章軟件體系結(jié)構(gòu)風(fēng)格3.3客戶/服務(wù)器風(fēng)格◎開發(fā)成本較高◎客戶端程序設(shè)計復(fù)雜◎信息內(nèi)容和形式單一◎用戶界面風(fēng)格不一,使用繁雜,不利于推廣使用◎軟件移植困難◎軟件維護和升級困難◎新技術(shù)不能輕易應(yīng)用
體系結(jié)構(gòu)第3章軟件體系結(jié)構(gòu)風(fēng)格3.4三層客戶/服務(wù)器風(fēng)格
處理流程第3章軟件體系結(jié)構(gòu)風(fēng)格3.4三層客戶/服務(wù)器風(fēng)格
物理結(jié)構(gòu)第3章軟件體系結(jié)構(gòu)風(fēng)格3.4三層客戶/服務(wù)器風(fēng)格
應(yīng)用實例第3章軟件體系結(jié)構(gòu)風(fēng)格3.4三層客戶/服務(wù)器風(fēng)格自學(xué)
優(yōu)點第3章軟件體系結(jié)構(gòu)風(fēng)格3.4三層客戶/服務(wù)器風(fēng)格◎允許合理地劃分三層結(jié)構(gòu)的功能,使之在邏輯上保持相對獨立性,能提高系統(tǒng)和軟件的可維護性和可擴展性?!蛟试S更靈活有效地選用相應(yīng)的平臺和硬件系統(tǒng),使之在處理負荷能力上與處理特性上分別適應(yīng)于結(jié)構(gòu)清晰的三層;并且這些平臺和各個組成部分可以具有良好的可升級性和開放性?!驊?yīng)用的各層可以并行開發(fā),可以選擇各自最適合的開發(fā)語言?!蚶霉δ軐佑行У馗綦x開表示層與數(shù)據(jù)層,未授權(quán)的用戶難以繞過功能層而利用數(shù)據(jù)庫工具或黑客手段去非法地訪問數(shù)據(jù)層,為嚴格的安全管理奠定了堅實的基礎(chǔ)。
要注意的問題第3章軟件體系結(jié)構(gòu)風(fēng)格3.4三層客戶/服務(wù)器風(fēng)格◎三層C/S結(jié)構(gòu)各層間的通信效率若不高,即使分配給各層的硬件能力很強,其作為整體來說也達不到所要求的性能?!蛟O(shè)計時必須慎重考慮三層間的通信方法、通信頻度及數(shù)據(jù)量。這和提高各層的獨立性一樣是三層C/S結(jié)構(gòu)的關(guān)鍵問題。
基本概念第3章軟件體系結(jié)構(gòu)風(fēng)格3.5瀏覽器/服務(wù)器風(fēng)格◎瀏覽器/服務(wù)器(B/S)風(fēng)格就是上述三層應(yīng)用結(jié)構(gòu)的一種實現(xiàn)方式,其具體結(jié)構(gòu)為:瀏覽器/Web服務(wù)器/數(shù)據(jù)庫服務(wù)器。◎B/S體系結(jié)構(gòu)主要是利用不斷成熟的WWW瀏覽器技術(shù),結(jié)合瀏覽器的多種腳本語言,用通用瀏覽器就實現(xiàn)了原來需要復(fù)雜的專用軟件才能實現(xiàn)的強大功能,并節(jié)約了開發(fā)成本。從某種程度上來說,B/S結(jié)構(gòu)是一種全新的軟件體系結(jié)構(gòu)。
體系結(jié)構(gòu)第3章軟件體系結(jié)構(gòu)風(fēng)格3.5瀏覽器/服務(wù)器風(fēng)格
優(yōu)點第3章軟件體系結(jié)構(gòu)風(fēng)格3.5瀏覽器/服務(wù)器風(fēng)格◎基于B/S體系結(jié)構(gòu)的軟件,系統(tǒng)安裝、修改和維護全在服務(wù)器端解決。用戶在使用系統(tǒng)時,僅僅需要一個瀏覽器就可運行全部的模塊,真正達到了“零客戶端”的功能,很容易在運行時自動升級。◎B/S體系結(jié)構(gòu)還提供了異種機、異種網(wǎng)、異種應(yīng)用服務(wù)的聯(lián)機、聯(lián)網(wǎng)、統(tǒng)一服務(wù)的最現(xiàn)實的開放性基礎(chǔ)。
缺點第3章軟件體系結(jié)構(gòu)風(fēng)格3.5瀏覽器/服務(wù)器風(fēng)格◎B/S體系結(jié)構(gòu)缺乏對動態(tài)頁面的支持能力,沒有集成有效的數(shù)據(jù)庫處理功能?!駼/S體系結(jié)構(gòu)的系統(tǒng)擴展能力差,安全性難以控制?!虿捎肂/S體系結(jié)構(gòu)的應(yīng)用系統(tǒng),在數(shù)據(jù)查詢等響應(yīng)速度上,要遠遠地低于C/S體系結(jié)構(gòu)。◎B/S體系結(jié)構(gòu)的數(shù)據(jù)提交一般以頁面為單位,數(shù)據(jù)的動態(tài)交互性不強,不利于在線事務(wù)處理(OLTP)應(yīng)用。
對象管理結(jié)構(gòu)第3章軟件體系結(jié)構(gòu)風(fēng)格3.6公共對象請求代理體系結(jié)構(gòu)
CORBA技術(shù)規(guī)范
第3章軟件體系結(jié)構(gòu)風(fēng)格3.6公共對象請求代理體系結(jié)構(gòu)
◎接口定義語言(IDL)◎接口池(IR)◎動態(tài)調(diào)用接口(DII)◎?qū)ο筮m配器(OA)
CORBA技術(shù)規(guī)范
第3章軟件體系結(jié)構(gòu)風(fēng)格3.6公共對象請求代理體系結(jié)構(gòu)
◎接口定義語言CORBA利用IDL統(tǒng)一地描述服務(wù)器對象(向調(diào)用者提供服務(wù)的對象)的接口。IDL本身也是面向?qū)ο蟮?。它雖然不是編程語言,但它為客戶對象(發(fā)出服務(wù)請求的對象)提供了語言的獨立性,因為客戶對象只需了解服務(wù)器對象的IDL接口,不必知道其編程語言。IDL語言是CORBA規(guī)范中定義的一種中性語言,它用來描述對象的接口,而不涉及對象的具體實現(xiàn)。
在CORBA中定義了IDL語言到C、C++、SmallTalk和Java語言的映射。
CORBA技術(shù)規(guī)范
第3章軟件體系結(jié)構(gòu)風(fēng)格3.6公共對象請求代理體系結(jié)構(gòu)
◎接口池CORBA的接口池包括了分布計算環(huán)境中所有可用的服務(wù)器對象的接口表示。它使動態(tài)搜索可用服務(wù)器的接口、動態(tài)構(gòu)造請求及參數(shù)成為可能。
CORBA技術(shù)規(guī)范
第3章軟件體系結(jié)構(gòu)風(fēng)格3.6公共對象請求代理體系結(jié)構(gòu)
◎動態(tài)調(diào)用接口CORBA的動態(tài)調(diào)用接口提供了一些標(biāo)準(zhǔn)函數(shù)以供客戶對象動態(tài)創(chuàng)建請求、動態(tài)構(gòu)造請求參數(shù)??蛻魧ο髮討B(tài)調(diào)用接口與接口池配合使用可實現(xiàn)服務(wù)器對象接口的動態(tài)搜索、請求及參數(shù)的動態(tài)構(gòu)造與動態(tài)發(fā)送。當(dāng)然,只要客戶對象在編譯之前能夠確定服務(wù)器對象的IDL接口,CORBA也允許客戶對象使用靜態(tài)調(diào)用機制。顯然,靜態(tài)機制的靈活性雖不及動態(tài)機制,但執(zhí)行效率卻勝過動態(tài)機制。
CORBA技術(shù)規(guī)范
第3章軟件體系結(jié)構(gòu)風(fēng)格3.6公共對象請求代理體系結(jié)構(gòu)
◎動態(tài)調(diào)用接口
在CORBA中,對象適配器用于屏蔽ORB內(nèi)核的實現(xiàn)細節(jié),為服務(wù)器對象的實現(xiàn)者提供抽象接口,以便他們使用ORB內(nèi)部的某些功能。這些功能包括服務(wù)器對象的登錄與激活、客戶請求的認證等。
體系結(jié)構(gòu)
第3章軟件體系結(jié)構(gòu)風(fēng)格3.6公共對象請求代理體系結(jié)構(gòu)
特點
第3章軟件體系結(jié)構(gòu)風(fēng)格3.6公共對象請求代理體系結(jié)構(gòu)
◎引入中間件作為事務(wù)代理,完成客戶機向服務(wù)對象方(Server)提出的業(yè)務(wù)請求?!?qū)崿F(xiàn)客戶與服務(wù)對象的完全分開,客戶不需要了解服務(wù)對象的實現(xiàn)過程以及具體位置?!蛱峁┸浛偩€機制,使得在任何環(huán)境下、采用任何語言開發(fā)的軟件只要符合接口規(guī)范的定義,均能夠集成到分布式系統(tǒng)中?!駽ORBA規(guī)范軟件系統(tǒng)采用面向?qū)ο蟮能浖崿F(xiàn)方法開發(fā)應(yīng)用系統(tǒng),實現(xiàn)對象內(nèi)部細節(jié)的完整封裝,保留對象方法的對外接口定義。
概念
第3章軟件體系結(jié)構(gòu)風(fēng)格3.7正交軟件體系結(jié)構(gòu)
正交軟件體系結(jié)構(gòu)由組織層和線索的構(gòu)件構(gòu)成。層是由一組具有相同抽象級別的構(gòu)件構(gòu)成。線索是子系統(tǒng)的特例,它是由完成不同層次功能的構(gòu)件組成(通過相互調(diào)用來關(guān)聯(lián)),每一條線索完成整個系統(tǒng)中相對獨立的一部分功能。每一條線索的實現(xiàn)與其他線索的實現(xiàn)無關(guān)或關(guān)聯(lián)很少,在同一層中的構(gòu)件之間是不存在相互調(diào)用的。如果線索是相互獨立的,即不同線索中的構(gòu)件之間沒有相互調(diào)用,那么這個結(jié)構(gòu)就是完全正交的。
框架
第3章軟件體系結(jié)構(gòu)風(fēng)格3.7正交軟件體系結(jié)構(gòu)
特征
第3章軟件體系結(jié)構(gòu)風(fēng)格3.7正交軟件體系結(jié)構(gòu)
◎正交軟件體系結(jié)構(gòu)由完成不同功能的n(n>1)個線索(子系統(tǒng))組成;◎系統(tǒng)具有m(m>1)個不同抽象級別的層;
◎線索之間是相互獨立的(正交的);
◎系統(tǒng)有一個公共驅(qū)動層(一般為最高層)和公共數(shù)據(jù)結(jié)構(gòu)(一般為最低層)。
實例
第3章軟件體系結(jié)構(gòu)風(fēng)格3.7正交軟件體系結(jié)構(gòu)
自學(xué)
優(yōu)點
第3章軟件體系結(jié)構(gòu)風(fēng)格3.7正交軟件體系結(jié)構(gòu)
◎結(jié)構(gòu)清晰,易于理解。由于線索功能相互獨立,不進行互相調(diào)用,結(jié)構(gòu)簡單、清晰,構(gòu)件在結(jié)構(gòu)圖中的位置已經(jīng)說明它所實現(xiàn)的是哪一級抽象,擔(dān)負的是什么功能?!蛞仔薷模删S護性強。由于線索之間是相互獨立的,所以對一個線索的修改不會影響到其他線索。系統(tǒng)功能的增加或減少,只需相應(yīng)的增刪線索構(gòu)件族,而不影響整個正交體系結(jié)構(gòu),因此能方便地實現(xiàn)結(jié)構(gòu)調(diào)整?!蚩梢浦残詮姡赜昧6却?。因為正交結(jié)構(gòu)可
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)教師法制培訓(xùn)課件
- 培訓(xùn)機構(gòu)英語老師述職
- 14.2 熱機的效率(7大題型)(含答案解析)
- 山西省晉中市榆次區(qū)山西現(xiàn)代雙語學(xué)校南校2024-2025學(xué)年高三上學(xué)期11月月考數(shù)學(xué)試題(含答案)
- 河北省唐山市灤州市2024-2025學(xué)年八年級上學(xué)期期中道德與法治試題(含答案)
- 2024-2025學(xué)年江蘇省蘇州市蘇州高新區(qū)第一初級中學(xué)校八年級上數(shù)學(xué)月考試卷(含答案)
- T-XZZL 0034-2024 高粱面(紅面)魚魚傳統(tǒng)美食制作規(guī)程
- 河北省邢臺市部分學(xué)校2024-2025學(xué)年高三上學(xué)期開學(xué)考試試題 含解析
- Windows Server網(wǎng)絡(luò)管理項目教程(Windows Server 2022)(微課版)4.3 任務(wù)2 創(chuàng)建區(qū)域
- 河北省百師聯(lián)盟2024-2025學(xué)年高三上學(xué)期10月聯(lián)考地理試卷 含解析
- 2022-2023學(xué)年北京市朝陽外國語學(xué)校七年級(上)期中數(shù)學(xué)試卷【含解析】
- 煤礦應(yīng)急叫應(yīng)、回應(yīng)、響應(yīng)機制
- JGJ107-2016鋼筋機械連接技術(shù)規(guī)程
- 山東省行道樹栽植及養(yǎng)護技術(shù)規(guī)程
- 2022電化學(xué)儲能電站安全規(guī)程
- 社會救助落實容錯糾錯機制亮點經(jīng)驗做法
- 關(guān)于大數(shù)據(jù)的課件
- 打賭協(xié)議書格式范文
- 旋挖鉆孔灌注樁施工技術(shù)規(guī)程
- 貨物受損賠償協(xié)議書范本
- 2024山西省晉城市沁水縣恒達城市開發(fā)投資限公司招聘專業(yè)技術(shù)人員7人重點基礎(chǔ)提升難、易點模擬試題(共500題)附帶答案詳解
評論
0/150
提交評論