版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、,1,2020/7/9,體系結(jié)構(gòu)描述方法,軟件開發(fā)過程中各種角色之間交流設(shè)計思想的媒介 進行上層分析的基礎(chǔ)。此基礎(chǔ)上可以驗證體系結(jié)構(gòu)設(shè)計方案,精煉或改變必要的方案 讓別人理解系統(tǒng)的第一手資料,2,2020/7/9,假定你是Module Designer,你最近加盟一家公司,并被安排在一個新項目的開發(fā)組中。雖然你富有經(jīng)驗,但是對此項目所涉及的領(lǐng)域還是一個新手。系統(tǒng)的高層體系結(jié)構(gòu)設(shè)計已經(jīng)完成。 你的老板(項目經(jīng)理)讓你預(yù)計你將要完成的幾個模塊的開發(fā)時間。 你怎么辦?,3,2020/7/9,假定你是Module Designer,你來開發(fā)A2和A3,怎么開始?,4,2020/7/9,與Module
2、Designer交流,基本想法是什么? 我該做什么 (如,實現(xiàn)哪些需求) ? 我該在哪做 (如,這項功能實現(xiàn)在哪里) ? 我和誰交互?接口是什么? 有什么可以重用的代碼? 必須遵從什么約定(質(zhì)量目標、舊體系/接口、預(yù)算等)? 有哪些硬性規(guī)定(設(shè)計、接口、約束等)?,5,2020/7/9,與顧問交流,體系結(jié)構(gòu)的必要需求(driving requirement)是什么(如,performance,reliability, availability, security, modifiability, interoperability)? 各種體系結(jié)構(gòu)視圖是如何描述的? 抽象出來什么? 功能怎樣分解?
3、 功能怎樣分配? 使用什么硬件以及軟件怎樣布置在硬件上? 采用了哪些體系結(jié)構(gòu)風格?,6,2020/7/9,這是什么?,7,2020/7/9,上圖的毛病,很多事情沒有說: 組件類型 連接件類型 圓圈和箭頭代表什么? 這種布局的意義是什么? 為什么CP要放在上層? 只畫出方框和線條不是體系結(jié)構(gòu),只是體系結(jié)構(gòu)的開始,8,2020/7/9,好的體系結(jié)構(gòu)描述的必要元素(1),需求陳述 商業(yè)環(huán)境、產(chǎn)品的背景、領(lǐng)域 描述環(huán)境 必須和什么系統(tǒng)交互、外部接口 使用體系結(jié)構(gòu)圖 用恰當?shù)木€框 簡潔的說明,9,2020/7/9,好的體系結(jié)構(gòu)描述的必要元素(2),考慮實現(xiàn)時的限制 僅在它們能影響體系結(jié)構(gòu)設(shè)計的范圍內(nèi) 被
4、限定的下層結(jié)構(gòu)、處理器需求 通常包含其他結(jié)構(gòu)圖 體系結(jié)構(gòu)設(shè)計的原理 它怎樣去符合需求與約束 其他的設(shè)計,10,2020/7/9,其他方面,風格/產(chǎn)品線問題 設(shè)計可變的尺度 體系結(jié)構(gòu)的那個方面必須不被改變? 管理問題 暗含開發(fā)團隊的組織結(jié)構(gòu) 體系結(jié)構(gòu)評審情況 其他設(shè)計問題 代碼重用、標準的運用 風險分析 運作、管理和維護,11,2020/7/9,好描述,線和框有不同的形狀/顏色,并有圖例說明 用表格總結(jié)方案選擇等等各種問題 圖并不試圖去表達很多信息:把信息分散到需要表達它的各個視圖中 每個體系結(jié)構(gòu)視圖必須在一頁內(nèi)完成 清晰地區(qū)分出哪些是體系結(jié)構(gòu)視圖,哪些不是,12,2020/7/9,壞描述,所有
5、的線看起來都一樣 箭頭不代表任何涵義 箭頭代表很多涵義 實現(xiàn)與文檔沖突 沒有圖例 太多的必要需求,研究軟件體系結(jié)構(gòu)的首要問題是如何表示軟件體系結(jié)構(gòu),即如何對軟件體系結(jié)構(gòu)建模。根據(jù)建模的側(cè)重點不同,可以將軟件體系結(jié)構(gòu)的模型分為5種:,第2章 軟件體系結(jié)構(gòu)建模,2.1 軟件體系結(jié)構(gòu)建模概述, 結(jié)構(gòu)模型 框架模型 動態(tài)模型 過程模型 功能模型,13,2020/7/9,14,2020/7/9, 軟件體系結(jié)構(gòu)建模的種類,第2章 軟件體系結(jié)構(gòu)建模,2.1 軟件體系結(jié)構(gòu)建模概述, 結(jié)構(gòu)模型 這是一個最直觀、最普遍的建模方法。這種方法以體系結(jié)構(gòu)的構(gòu)件、連接件和其他概念來刻畫結(jié)構(gòu),并力圖通過結(jié)構(gòu)來反映系統(tǒng)的重要
6、語義內(nèi)容,包括系統(tǒng)的配置、約束、隱含的假設(shè)條件、風格、性質(zhì)等。 研究結(jié)構(gòu)模型的核心是體系結(jié)構(gòu)描述語言。, 軟件體系結(jié)構(gòu)建模的種類,第2章 軟件體系結(jié)構(gòu)建模,2.1 軟件體系結(jié)構(gòu)建模概述, 框架模型 框架模型與結(jié)構(gòu)模型類似,但它不太側(cè)重描述結(jié)構(gòu)的細節(jié)而更側(cè)重于整體的結(jié)構(gòu)。 框架模型主要以一些特殊的問題為目標建立只針對和適應(yīng)該問題的結(jié)構(gòu)。,15,2020/7/9, 軟件體系結(jié)構(gòu)建模的種類,第2章 軟件體系結(jié)構(gòu)建模,2.1 軟件體系結(jié)構(gòu)建模概述, 動態(tài)模型 動態(tài)模型是對結(jié)構(gòu)或框架模型的補充,研究系統(tǒng)的“大顆?!钡男袨樾再|(zhì)。例如,描述系統(tǒng)的重新配置或演化。動態(tài)可以指系統(tǒng)總體結(jié)構(gòu)的配置、建立或拆除通信通
7、道或計算的過程。,16,2020/7/9, 軟件體系結(jié)構(gòu)建模的種類,第2章 軟件體系結(jié)構(gòu)建模,2.1 軟件體系結(jié)構(gòu)建模概述, 過程模型 過程模型研究構(gòu)造系統(tǒng)的步驟和過程。 結(jié)構(gòu)是遵循某些過程腳本的結(jié)果。,17,2020/7/9, 軟件體系結(jié)構(gòu)建模的種類,第2章 軟件體系結(jié)構(gòu)建模,2.1 軟件體系結(jié)構(gòu)建模概述, 功能模型 功能模型認為體系結(jié)構(gòu)是由一組功能構(gòu)件按層次組成,下層向上層提供服務(wù)。 功能模型可以看作是一種特殊的框架模型。,18,2020/7/9, “4+1”模型概述,第2章 軟件體系結(jié)構(gòu)建模,2.2 “4+1”視圖模型,以上五種模型各有所長,將五種模型有機的統(tǒng)一在一起,形成一個完整的模型
8、來刻畫軟件體系結(jié)構(gòu)更加合適。,19,每個視圖模型可看成對系統(tǒng)不同方面一個投影,一個構(gòu)架的不同視圖其實反映的是同一個系統(tǒng)。 各個不同的視圖是可以融合在一起的,而且也只有將不同的視圖融合在一起才能獲得關(guān)于一個系統(tǒng)構(gòu)架的全面信息。, “4+1”模型概述,第2章 軟件體系結(jié)構(gòu)建模,2.2 “4+1”視圖模型,Rational公司的Philippe Kruchten在1995年提出了用于體系結(jié)構(gòu)描述的“4十l”模型。該模型建立在體系結(jié)構(gòu)的PerryWolf定義和Berry Boehm定義的基礎(chǔ)上。 “4+1”視圖模型從5個不同的視角包括邏輯視圖、進程視圖、物理視圖、開發(fā)視圖和場景視圖來描述軟件體系結(jié)構(gòu)。
9、每一個視圖只關(guān)心系統(tǒng)的一個側(cè)面,5個視圖結(jié)合在一起才能夠處理富于挑戰(zhàn)性的、大規(guī)模的軟件系統(tǒng)。,20,2020/7/9,21,2020/7/9,u邏輯視圖 當采用面向?qū)ο蟮脑O(shè)計方法時,邏輯視圖即是對象模型。 u進程視圖 描述系統(tǒng)的并發(fā)和同步方面的設(shè)計。 u物理視圖 描述軟件到硬件之間的映射關(guān)系,反映系統(tǒng)在分布方面的設(shè)計。,22,u開發(fā)視圖 描述軟件在開發(fā)環(huán)境下的靜態(tài)組織。 u場景視圖 通過選擇出地一些用例對體系結(jié)構(gòu)加以說明。這些用例稱作場景。 四個視圖反映的是同一個系統(tǒng),所以用了第五個視圖,“+1”視圖,它是由一系列重要的案例組成。用這些重要的案例將前面的四個視圖聯(lián)系 到一起,從而組成第五個視圖
10、。,23,2020/7/9,對體系結(jié)構(gòu)進行的描述是圍繞著以上4個視圖展開的。然后,通過選擇出的一些用例對體系結(jié)構(gòu)加以說明。這些用例被稱作場景(scenarios),它們構(gòu)成了第5個視圖。實際上,體系結(jié)構(gòu)在某種程度上是由場景演化而來的。,24,體系結(jié)構(gòu)的概念在每個視圖里面都可以獨立應(yīng)用,即可以在每個視圖里面定義體系結(jié)構(gòu)的各種組成元素,如構(gòu)件、連接件等。 對于不同的視圖,還可以選擇不同的體系結(jié)構(gòu)風格,因此在同一個系統(tǒng)結(jié)構(gòu)中可以使用多種風格。 在每一種視圖里,我們使用該視圖特定的符號。這避免了符號用法和意義的混亂。,25,2020/7/9,“4十1”模型實際上使得有不同需求的人員能夠得到他們對于軟件
11、體系結(jié)構(gòu)想要了解的東西。 系統(tǒng)工程師先從物理視圖,然后從進程視圖靠近體系結(jié)構(gòu)。最終使用者、客戶、數(shù)據(jù)專家從邏輯視圖看體系結(jié)構(gòu);項目經(jīng)理、軟件配置人員從開發(fā)視圖看體系結(jié)構(gòu)。,26,2020/7/9,不是所有的軟件體系結(jié)構(gòu)都需要完整的“4十1”視圖。沒有用的視圖在體系結(jié)構(gòu)描述中可以被省略。例如對于非常小的系統(tǒng),邏輯視圖和開發(fā)視圖有可能非常相似以至于沒有必要把它們分開描述。場景視圖在各種環(huán)境下都是有用的。,27,2020/7/9,2.2 邏輯視圖:面向?qū)ο蟮姆纸?邏輯視圖主要支持系統(tǒng)的功能需求,即系統(tǒng)提供給最終用戶的服務(wù)。在邏輯視圖中,系統(tǒng)分解成一系列的功能抽象,這些抽象主要來自問題領(lǐng)域。這種分解不
12、但可以用來進行功能分析,而且可用作標識在整個系統(tǒng)的各個不同部分的通用機制和設(shè)計元素。 在面向?qū)ο蠹夹g(shù)中,通過抽象、封裝和繼承,可以用對象模型來代表邏輯視圖,用類圖來描述邏輯視圖。,28,2020/7/9,2.2.1 邏輯視圖的符號表示法,可以從Booch標記法中導出邏輯視圖的標記法,只是從體系結(jié)構(gòu)級的范疇來考慮這些符號,用Rational Rose進行體系結(jié)構(gòu)設(shè)計。,關(guān)聯(lián):表示兩個類之間存在某種語義上的聯(lián)系,真正含義由附加在橫線上的短語說明。 包含:實心圓一端表示整體,另一端表示部分。 使用:空心圓一端連接在請求服務(wù)的類,另一端連接在提供服務(wù)的類。 繼承:箭頭由子類指向基類。,29,2020/
13、7/9,2.2.2 邏輯視圖的風格,邏輯視圖也可以采用面向?qū)ο蟮娘L格。 邏輯視圖設(shè)計的主要準則是,要設(shè)法在整個系統(tǒng)中保持一個單一的、連貫的對象模型,避免類和相關(guān)機制出現(xiàn)按照場地或處理器過早的分化。,30,2020/7/9,2.2.3 邏輯視圖的例子,左圖顯示了一個專用自動交換分機(ACS)的例子。專用自動交換分機用于在通信終端之間建立連接。 通信終端可能是電話機、中繼線(連接到中心室的線路)、專用線(專用自動交換分機和一般的交換分機之間的線路)、數(shù)據(jù)線、ISDN線等。不同的線路需要不同的線路接口卡的支持。終端對象負責維護終端的狀態(tài),并代表所在的線路提供通信服務(wù)。 線路控制器對象負責從線路接口卡
14、接受信號,以及向它發(fā)送信號,并完成信號和一系列的事件(如開始、結(jié)束、計數(shù)等)之間的轉(zhuǎn)換??刂破鬟€必須受到嚴格的實時要求的約束。為了適應(yīng)不同的接口,這個類有許多的子類。 會話對象代表在一個對話中涉及的終端的集合。會話對象使用轉(zhuǎn)換服務(wù)(邏輯地址和物理地址之間的映射、路由等)和連接服務(wù)建立兩個終端之間的語音連接。,31,2020/7/9,對于規(guī)模更大的系統(tǒng)來說,體系結(jié)構(gòu)級中包含數(shù)十甚至數(shù)百個類 。左圖是空中交通管制系統(tǒng)的頂級類圖,該圖包含了8個類種屬(即類的分組)。,2.2.3 邏輯視圖的例子,32,2020/7/9,2.3 進程視圖:過程分解,進程視圖(process view,也稱過程視圖)側(cè)重
15、于系統(tǒng)的運行特性,主要考慮的是一些非功能性的需求,諸如性能、可用性等。 它所要面對的問題有并發(fā),分布,系統(tǒng)的完整性,容錯能力等。它還要考慮怎樣把進程體系結(jié)構(gòu)與邏輯視圖體系結(jié)構(gòu)的要點相適應(yīng)對某個對象的某個操作實際上是在哪個控制線程上發(fā)生的。,33,2020/7/9,2.3 進程視圖:過程分解,可以把進程體系結(jié)構(gòu)分為幾個抽象層次來描述,每個層次關(guān)注不同的方面。 在最高層次上,進程體系結(jié)構(gòu)可以被視為是一個邏輯網(wǎng)絡(luò)的集合。 每個獨立執(zhí)行的邏輯網(wǎng)絡(luò)都是由通信程序(即“過程”)構(gòu)成的。這些邏輯網(wǎng)絡(luò)分布在一個通過局域網(wǎng)或廣域網(wǎng)連接起來的硬件資源集合上。 多個邏輯網(wǎng)絡(luò)可能同時存在,并共享同樣的物理資源。,34
16、,2020/7/9,2.3 進程視圖:過程分解,通過進程視圖可以估計出消息流和過程負荷,也可以從過程測量一個目標系統(tǒng)最終執(zhí)行情況。 例如在以計算機網(wǎng)絡(luò)作為運行環(huán)境的圖書管理系統(tǒng)中,服務(wù)器對來自各個不同的客戶機的過程管理,決定某個特定過程(如查詢子過程、借還書子過程)的喚醒、啟動、關(guān)閉等操作,從而控制整個網(wǎng)絡(luò)協(xié)調(diào)有序地工作。,2.3.1 進程視圖的符號表示法,在輔助工具的選擇上,可以考慮使用TRW提供的UNAS(Universal Network Architecture Services)產(chǎn)品。它可用于把各種過程和任務(wù)構(gòu)建并實現(xiàn)為過程的邏輯網(wǎng)絡(luò)。UNAS里面包含的一個工具SALE(Softwa
17、re Architecture Lifecycle Environment)支持這樣的符號表示法。SALE允許進程體系結(jié)構(gòu)的圖形化描述,包括對可能的任務(wù)間通信路徑的規(guī)格說明。然后,從這種規(guī)格說明可以自動生成相應(yīng)的Ada或C十十語言源代碼。,36,2020/7/9,2.3.2 進程視圖的風格 有多種風格適合進程視圖。例如管道和過濾器、客戶服務(wù)器及其變體(多客戶單服務(wù)器,多客戶多服務(wù)器)等。2.3.3 進程視圖的例子(ACS系統(tǒng)局部進程視圖),37,2020/7/9,(1)在圖中,所有終端均由同一個終端進程進行處理,由其輸入隊列中的消息驅(qū)動。 (2)控制器對象在組成控制器進程的3個任務(wù)之一中執(zhí)行。
18、,38,2020/7/9,(3)慢循環(huán)周期(200ms)任務(wù)掃描所有掛起的終端,把任何一個活動的終端置入快循環(huán)周期(10ms)任務(wù)的掃描列表。(4)快循環(huán)周期任務(wù)檢測任何顯著的狀態(tài)改變,并把改變的狀態(tài)傳遞給主控制器任務(wù)。,39,2020/7/9,(5)主控制器任務(wù)解釋改變,通過消息與相應(yīng)的終端進行通信。(6)通過共享內(nèi)存來實現(xiàn)在控制器進程中傳遞的消息。,40,2020/7/9,2.4 開發(fā)視圖:子系統(tǒng)分解,(1) 開發(fā)視圖也稱為模塊視圖,側(cè)重的是在軟件開發(fā)環(huán)境中軟件模塊的實際組織和管理。軟件被打包成可以由單個或少量程序員開發(fā)的各種小的部分:程序庫或子系統(tǒng)。子系統(tǒng)被組織成層次化的體系,每一層為上
19、一層提供一個嚴密的、明確定義的接口。,41,2020/7/9,2.4 開發(fā)視圖:子系統(tǒng)分解,(2)開發(fā)視圖通過系統(tǒng)輸入輸出關(guān)系的模型圖和子系統(tǒng)圖來描述。描述開發(fā)視圖的原則是:分割、編組、可視。 (3)開發(fā)視圖要考慮軟件內(nèi)部的需求,如軟件開發(fā)的容易性、軟件的重用和軟件的通用性,要充分考慮由于具體開發(fā)工具的不同而帶來的局限性。,42,2020/7/9,2.4.1 開發(fā)視圖的符號表示法,開發(fā)視圖的符號表示法采用Booch表示法的變體,并且只考慮對于體系結(jié)構(gòu)有重要意義的元素,如圖所示。在Rationnal Rose中,可以繪制模塊層和子系統(tǒng)層的開發(fā)視圖,還可以在反向工程中從已經(jīng)開發(fā)的源代碼(Ada或C
20、十十)得出系統(tǒng)的開發(fā)視圖。,43,2020/7/9,2.4.2 開發(fā)視圖的風格,對于開發(fā)視圖,最好采用分層風格,定義46層的子系統(tǒng)。每一層都有明確責任。設(shè)計規(guī)則是,某一層的子系統(tǒng)只能依賴于本層或其下層的子系統(tǒng)。這樣可以使每個層次的接口既完備又精練,避免了各個模塊之間很復雜的依賴關(guān)系,并使得系統(tǒng)可以采用逐層的策略完成釋放。 設(shè)計時要充分考慮,對于各個層次,層次越低,通用性越強,這樣,可以保證應(yīng)用程序的需求發(fā)生改變時,所做的改動最小。,44,2020/7/9,2.4.3 開發(fā)視圖的例子,下圖用5個層次表示了航空交通管制系統(tǒng)產(chǎn)品線的開發(fā)組織。此開發(fā)視圖24中描述的邏輯視圖相對應(yīng)的。,45,2020/
21、7/9,2.4.3 開發(fā)視圖的例子,(1)第1層和第2層組成了一個領(lǐng)域無關(guān)的分布式基礎(chǔ)結(jié)構(gòu),貫穿于整個產(chǎn)品線中。這兩層獨立于應(yīng)用域,并將上層系統(tǒng)遮蔽起來,防止其受到與硬件平臺、操作系統(tǒng)或數(shù)據(jù)庫等變化的影響。,46,2020/7/9,2.4.3 開發(fā)視圖的例子,(2)第3層增加了空中交通管制系統(tǒng)的框架,以形成一個用于特定應(yīng)用領(lǐng)域的軟件體系結(jié)構(gòu)。 (3)第4層使用該框架構(gòu)造了一個功能平臺。,47,2020/7/9,2.4.3 開發(fā)視圖的例子,(4)第5層則依賴于具體客戶和產(chǎn)品,包含了大部分用戶界面和與外部系統(tǒng)的接口。,48,2020/7/9,2.5 物理視圖:從軟件到硬件的映射,物理視圖主要考慮如
22、何把軟件映射到硬件上,它通常要考慮到系統(tǒng)的可用性、可靠性(容錯性)、性能(信息吞吐量)和可擴展性。 解決系統(tǒng)拓撲結(jié)構(gòu)、系統(tǒng)安裝、通訊等問題。,49,2020/7/9,2.5 物理視圖:從軟件到硬件的映射,當軟件運行于不同的節(jié)點上時,各視圖中的構(gòu)件(如網(wǎng)絡(luò)、過程、任務(wù)和對象)都直接或間接地對應(yīng)于系統(tǒng)的不同節(jié)點上。因此,從軟件到節(jié)點的映射要有較高的靈活性,當環(huán)境改變時,對系統(tǒng)其他視圖的影響最小。 大型系統(tǒng)的物理視圖可能會變得十分混亂,因此可以與進程視圖的映射一道,以多種形式出現(xiàn),也可單獨出現(xiàn)。,50,2020/7/9,2.5.1 物理視圖的符號表示法,TRW公司的UNAS允許使用者采用數(shù)據(jù)驅(qū)動的方
23、式將進程體系結(jié)構(gòu)映射到物理體系結(jié)構(gòu),并允許在不修改源代碼的情況下對這種映射做出多種改動。,51,2020/7/9,ACS系統(tǒng)的物理視圖,2.5.1 物理視圖的符號表示法,上圖顯示了大型專用自動交換機(ACS)的一種可能的硬件配置。其中,C、F、K是3個不同容量的計算機類型,支持3個不同的可執(zhí)行文件。,下面是進程視圖的兩個不同的物理映射,分別對應(yīng)一個小型的ACS和大型的ACS。,具有進程分配的小型ACS系統(tǒng)的物理視圖,具有進程分配的大型ACS系統(tǒng)的物理視圖,53,2020/7/9,2.6 場景視圖:匯總,通過使用一些重要場景,4個視圖中的元素可以協(xié)調(diào)地共同工作。盡管這些場景是一個小集合,但是它們
24、很重要。場景(scenario)是更通用的概念用例(use case)的實例。從某種意義上講,場景是最重要的需求的抽象。場景的設(shè)計使用對象場景圖(object scenario diagram)和對象交互圖來表示。 相對于其他的4個視圖,這個視圖是多余出來的(所以稱為“4十l”),但是它承擔著兩個目的: 在體系結(jié)構(gòu)的設(shè)計中,將以此視圖為驅(qū)動來發(fā)現(xiàn)體系結(jié)構(gòu)元素。 在體系結(jié)構(gòu)設(shè)計結(jié)束后,此視圖承擔驗證和描述的角色。它不僅用于書面記錄,并且是體系結(jié)構(gòu)原型測試的起始點。,54,2020/7/9,2.6.1 場景視圖的符號表示法,場景視圖的符號表示法中,構(gòu)件的表示與邏輯視圖非常相似,但是連接件的表示使用
25、進程視圖中的方法。注意,對象的實例用細實線表示。在工具的使用方面,和在邏輯視圖類似,可以使用Rational Rose繪制和管理對象場景圖。,55,2020/7/9,2.6.2 場景視圖的例子, 小王的電話的控制器檢測到并證實了從掛起到取下的狀態(tài)轉(zhuǎn)變,并且發(fā)送了消息來喚醒相關(guān)的終端對象。 終端分配一些資源,并告訴控制器發(fā)出撥號音。 控制器收到數(shù)字并將它們發(fā)送給終端。 終端使用號碼規(guī)劃來分析數(shù)字流。 當一個有效序列的輸入完成,終端打開一個對話。,圖 場景的雛形本地呼叫選擇階段,56,2020/7/9, 小結(jié),邏輯視圖和開發(fā)視圖描述系統(tǒng)的靜態(tài)結(jié)構(gòu),而進程視圖和物理視圖描述系統(tǒng)的動態(tài)結(jié)構(gòu)。 對于不同
26、的軟件系統(tǒng)來說,側(cè)重的角度也有所不同。例如,對于管理信息系統(tǒng)來說,比較側(cè)重于從邏輯視圖和開發(fā)視圖來描述系統(tǒng),而對于實時控制系統(tǒng)來說,則比較注重于從進程視圖和物理視圖來描述系統(tǒng)。,57,2020/7/9,2.6.3 視圖間的交流 不同視圖之間并不是互相獨立或互相正交的。視圖中的元素遵循一定的規(guī)則和經(jīng)驗法則與其他視圖中的元素形成聯(lián)系。 從邏輯視圖(最終用戶)到進程視圖(系統(tǒng)集成人員) 邏輯視圖中認為每個對象都是主動的、并發(fā)的。 定義進程體系結(jié)構(gòu)時,將每個對象實現(xiàn)為獨立的控制線程是不實際的(將導致巨大的開銷) 另一方面,多控制線程也是需要的,在確定并發(fā)程度及過程數(shù)目時,必須以潛在的物理目標體系結(jié)構(gòu)集
27、合為前提,可以參照以下兩種策略。 自內(nèi)向外:從邏輯視圖開始的策略 自外向內(nèi):從物理體系結(jié)構(gòu)開始的策略 結(jié)果:類及其對象到進程體系結(jié)構(gòu)的任務(wù)和過程集合的映射 為達到可接受的設(shè)計結(jié)果,需要進行迭代,58,2020/7/9,2. 從邏輯視圖(最終用戶)到開發(fā)視圖(編程人員) 一個類通常被實現(xiàn)為一個模塊 較大的類被分解為多個包 一組相互聯(lián)系緊密的類的集合,或稱為類種屬,構(gòu)成子系統(tǒng) 定義子系統(tǒng)時,必須考慮附加約束 項目越大,邏輯視圖和開發(fā)視圖之間的距離越遠 3. 從進程視圖(系統(tǒng)集成人員)到物理視圖(系統(tǒng)工程人員) 為了測試和部署,過程和過程組以各種配置映射到可用的物理硬件上。,59,2020/7/9,
28、模型的迭代過程和軟件過程 1.迭代過程:場景驅(qū)動的方法 采用“4+1”模型進行軟件體系結(jié)構(gòu)設(shè)計的一種推薦方法是: 在完成原型、測試、度量、分析等步驟后,重新進入下一輪這樣的步驟,構(gòu)成迭代的過程 系統(tǒng)最關(guān)鍵的功能以場景的形式得到。關(guān)鍵是指,功能上最重要,或是用頻度上最高,又或存在必須克服的技術(shù)風險。 初始的體系結(jié)構(gòu)演化為最終的真實系統(tǒng)。在23次迭代后,體系結(jié)構(gòu)本身有希望穩(wěn)定下來。接下來就可以進行軟件設(shè)計領(lǐng)域的工作了。,60,2020/7/9,2. 軟件文檔 體系結(jié)構(gòu)設(shè)計階段所形成的文檔主要有: 軟件體系結(jié)構(gòu)文檔:基本按照4+1視圖組織 軟件設(shè)計指導:描述為了維護系統(tǒng)的體系結(jié)構(gòu)的一致性所必須遵守的
29、重要設(shè)計決定。,61,2020/7/9,2.3 體系結(jié)構(gòu)的核心模型,62,2020/7/9,軟件體系結(jié)構(gòu)的核心模型由五種元素組成:構(gòu)件、連接件、配置、端口和角色。其中構(gòu)件、連接件、配置是最基本的元素。 構(gòu)件是具有某種功能的可重用的軟件模板單元,表示了系統(tǒng)中主要的計算元素和數(shù)據(jù)存儲。復合構(gòu)件由其他復合構(gòu)件和原子構(gòu)件通過連接而成。原子構(gòu)件是不可再分的構(gòu)件。構(gòu)件只能通過其接口與外部環(huán)境交互,構(gòu)件的接口由一組端口組成,每個端口表示了構(gòu)件和外部環(huán)境的交互點。通過不同的端口類型,一個構(gòu)件可以提供多重接口。 連接件表示了構(gòu)件間的交互。連接件也有接口,其接口由一組角色組成,連接件的每一個角色定義了該連接件表示的交互的參與者,二元連接件有兩個角色。 配置表示了構(gòu)件和連接件的拓撲邏輯和約束。,需求分析,建立體系結(jié)構(gòu),測試,實現(xiàn),設(shè)計,63,2020/7/9,2.4 體系結(jié)構(gòu)的生命周期模型,軟件開發(fā)過程,2.4 體系結(jié)構(gòu)的生命周期模型,64,2020/7/9,SA的非形式化描述 一種SA在其產(chǎn)生時,其思想
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《電氣火災(zāi)》課件
- 《研究生培養(yǎng)與管理》課件
- 《服務(wù)行業(yè)的戴爾》課件
- 廣東省梅州市五華縣華城鎮(zhèn)初級中學-主題班會-防性侵【課件】
- 單位管理制度集合大合集【人事管理篇】
- 單位管理制度集粹匯編【人力資源管理篇】十篇
- 單位管理制度匯編大合集【人力資源管理】
- 單位管理制度合并匯編人事管理十篇
- 單位管理制度分享匯編【職工管理篇】
- 高中語文常見的病句類型及其辨析
- 與信仰對話 課件-2024年入團積極分子培訓
- 中學美術(shù)《剪紙藝術(shù)》完整課件
- 國家職業(yè)技術(shù)技能標準 X4-07-99-10 禮儀主持人(試行)勞社廳發(fā)200633號
- 施工現(xiàn)場預(yù)防坍塌、高處墜落事故專項整治工作總結(jié)
- 醫(yī)院感染暴發(fā)及處理課件
- 小學五年級體育教案全冊(人教版)
- 教科版(2024秋)六年級上冊1.各種形式的能量 教案
- 二年級數(shù)學看錯數(shù)字問題專項練習
- 2024年1月國家開放大學專科《法理學》期末紙質(zhì)考試試題及答案
- 手機短視頻拍攝與剪輯(微課版) 課件 第7章 視頻攝像
- 反訴狀(業(yè)主反訴物業(yè))(供參考)
評論
0/150
提交評論