

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、◇ 軟件體系結構建模的種類,,第2章 軟件體系結構建模,2.1 軟件體系結構建模概述,◎ 結構模型◎ 框架模型◎ 動態(tài)模型◎ 過程模型◎ 功能模型,◇ 軟件體系結構建模的種類,,第2章 軟件體系結構建模,2.1 軟件體系結構建模概述,◎ 結構模型 這是一個最直觀、最普遍的建模方法。這種方法以體系結構的構件、連接件和其他概念來刻畫結構,并力圖通過結構來反映系統(tǒng)的重要語義內容,包括系統(tǒng)的配置、約束、隱含的假設條件、
2、風格、性質等。 研究結構模型的核心是體系結構描述語言。,◇ 軟件體系結構建模的種類,,第2章 軟件體系結構建模,2.1 軟件體系結構建模概述,◎ 框架模型 框架模型與結構模型類似,但它不太側重描述結構的細節(jié)而更側重于整體的結構。 框架模型主要以一些特殊的問題為目標建立只針對和適應該問題的結構。,◇ 軟件體系結構建模的種類,,第2章 軟件體系結構建模,2.1 軟件體系結構建模概述,◎ 動態(tài)模型 動態(tài)模
3、型是對結構或框架模型的補充,研究系統(tǒng)的“大顆?!钡男袨樾再|。例如,描述系統(tǒng)的重新配置或演化。動態(tài)可以指系統(tǒng)總體結構的配置、建立或拆除通信通道或計算的過程。,◇ 軟件體系結構建模的種類,,第2章 軟件體系結構建模,2.1 軟件體系結構建模概述,◎ 過程模型 過程模型研究構造系統(tǒng)的步驟和過程。 結構是遵循某些過程腳本的結果。,◇ 軟件體系結構建模的種類,,第2章 軟件體系結構建模,2.1 軟件體系結構建模概述,◎ 功能模型
4、 功能模型認為體系結構是由一組功能構件按層次組成,下層向上層提供服務。 功能模型可以看作是一種特殊的框架模型。,◇ “4+1”模型概述,,第2章 軟件體系結構建模,2.2 “4+1”視圖模型,Kruchten在1995年提出了“4+1”的視圖模型。 “4+1”視圖模型從5個不同的視角包括邏輯視圖、進程視圖、物理視圖、開發(fā)視圖和場景視圖來描述軟件體系結構。 每一個視圖只關心系統(tǒng)的一個側面,5個視圖結合在一起才能反映系統(tǒng)的
5、軟件體系結構的全部內容。,◇ “4+1”模型概述,,第2章 軟件體系結構建模,2.2 “4+1”視圖模型,◇ 邏輯視圖,,第2章 軟件體系結構建模,2.2 “4+1”視圖模型,邏輯視圖主要支持系統(tǒng)的功能需求,即系統(tǒng)提供給最終用戶的服務。在邏輯視圖中,系統(tǒng)分解成一系列的功能抽象,這些抽象主要來自問題領域。這種分解不但可以用來進行功能分析,而且可用作標識在整個系統(tǒng)的各個不同部分的通用機制和設計元素。 在面向對象技術中,通過抽象、封裝和
6、繼承,可以用對象模型來代表邏輯視圖,用類圖來描述邏輯視圖。,◇ 邏輯視圖,,第2章 軟件體系結構建模,2.2 “4+1”視圖模型,可以從Booch標記法中導出邏輯視圖的標記法,只是從體系結構級的范疇來考慮這些符號,用Rational Rose進行體系結構設計。,◇ 邏輯視圖,,第2章 軟件體系結構建模,2.2 “4+1”視圖模型,邏輯視圖中使用的風格為面向對象的風格,邏輯視圖設計中要注意的主要問題是要保持一個單一的、內聚的對象模型貫穿整
7、個系統(tǒng)。,◇ 邏輯視圖,,第2章 軟件體系結構建模,2.2 “4+1”視圖模型,對于規(guī)模更大的系統(tǒng)來說,體系結構級中包含數(shù)十甚至數(shù)百個類 。,◇ 開發(fā)視圖,,第2章 軟件體系結構建模,2.2 “4+1”視圖模型,開發(fā)視圖也稱模塊視圖,主要側重于軟件模塊的組織和管理。 開發(fā)視圖要考慮軟件內部的需求,如軟件開發(fā)的容易性、軟件的重用和軟件的通用性,要充分考慮由于具體開發(fā)工具的不同而帶來的局限性。開發(fā)視圖通過系統(tǒng)輸入輸出關系的模型圖和
8、子系統(tǒng)圖來描述。,◇ 開發(fā)視圖,,第2章 軟件體系結構建模,2.2 “4+1”視圖模型,與邏輯視圖一樣,可以使用Brooch標記法中某些符號來表示開發(fā)視圖。,◇ 開發(fā)視圖,,第2章 軟件體系結構建模,2.2 “4+1”視圖模型,在開發(fā)視圖中,最好采用4-6層子系統(tǒng),而且每個子系統(tǒng)僅僅能與同層或更低層的子系統(tǒng)通訊,這樣可以使每個層次的接口既完備又精練,避免了各個模塊之間很復雜的依賴關系。 設計時要充分考慮,對于各個層次,層次越低,通
9、用性越強,這樣,可以保證應用程序的需求發(fā)生改變時,所做的改動最小。開發(fā)視圖所用的風格通常是層次結構風格。,◇ 開發(fā)視圖,,第2章 軟件體系結構建模,2.2 “4+1”視圖模型,◇ 進程視圖,,第2章 軟件體系結構建模,2.2 “4+1”視圖模型,進程視圖側重于系統(tǒng)的運行特性,主要關注一些非功能性的需求。 進程視圖強調并發(fā)性、分布性、系統(tǒng)集成性和容錯能力,以及從邏輯視圖中的主要抽象如何適合進程結構。它也定義邏輯視圖中的各個類的操作具體
10、是在哪一個線程中被執(zhí)行的。 進程視圖可以描述成多層抽象,每個級別分別關注不同的方面。在最高層抽象中,進程結構可以看作是構成一個執(zhí)行單元的一組任務。它可看成一系列獨立的,通過邏輯網(wǎng)絡相互通信的程序。它們是分布的,通過總線或局域網(wǎng)、廣域網(wǎng)等硬件資源連接起來。,◇ 進程視圖,,第2章 軟件體系結構建模,2.2 “4+1”視圖模型,通過擴展Booch對Ada任務的表示法,來表示進程視圖。,◇ 進程視圖,,第2章 軟件體系結構建模,2.2 “
11、4+1”視圖模型,◇ 物理視圖,,第2章 軟件體系結構建模,2.2 “4+1”視圖模型,物理視圖主要考慮如何把軟件映射到硬件上,它通常要考慮到系統(tǒng)性能、規(guī)模、可靠性等。解決系統(tǒng)拓撲結構、系統(tǒng)安裝、通訊等問題。 當軟件運行于不同的節(jié)點上時,各視圖中的構件都直接或間接地對應于系統(tǒng)的不同節(jié)點上。因此,從軟件到節(jié)點的映射要有較高的靈活性,當環(huán)境改變時,對系統(tǒng)其他視圖的影響最小。,◇ 物理視圖,,第2章 軟件體系結構建模,2.2 “4+1”
12、視圖模型,大型系統(tǒng)的物理視圖可能會變得十分混亂,因此可以與進程視圖的映射一道,以多種形式出現(xiàn),也可單獨出現(xiàn)。,◇ 物理視圖,,第2章 軟件體系結構建模,2.2 “4+1”視圖模型,ACS系統(tǒng)的物理視圖,◇ 物理視圖,,第2章 軟件體系結構建模,2.2 “4+1”視圖模型,具有進程分配的小型ACS系統(tǒng)的物理視圖,◇ 物理視圖,,第2章 軟件體系結構建模,2.2 “4+1”視圖模型,具有進程分配的大型ACS系統(tǒng)的物理視圖,◇ 場景,,第2章
13、 軟件體系結構建模,2.2 “4+1”視圖模型,場景可以看作是那些重要系統(tǒng)活動的抽象,它使四個視圖有機聯(lián)系起來,從某種意義上說場景是最重要的需求抽象。在開發(fā)體系結構時,它可以幫助設計者找到體系結構的構件和它們之間的作用關系。同時,也可以用場景來分析一個特定的視圖,或描述不同視圖構件間是如何相互作用的。 場景可以用文本表示,也可以用圖形表示。,◇ 場景,,第2章 軟件體系結構建模,2.2 “4+1”視圖模型,本地呼叫場景的一個原
14、型,◇ 小結,,第2章 軟件體系結構建模,2.2 “4+1”視圖模型,邏輯視圖和開發(fā)視圖描述系統(tǒng)的靜態(tài)結構,而進程視圖和物理視圖描述系統(tǒng)的動態(tài)結構。 對于不同的軟件系統(tǒng)來說,側重的角度也有所不同。例如,對于管理信息系統(tǒng)來說,比較側重于從邏輯視圖和開發(fā)視圖來描述系統(tǒng),而對于實時控制系統(tǒng)來說,則比較注重于從進程視圖和物理視圖來描述系統(tǒng)。,,第2章 軟件體系結構建模,2.3 體系結構的核心模型,體系結構的核心模型 由構件、連接件
15、、配置、端口和角色五種元素組成?! 嫾?、連接件和配置是最基本的元素。,,第2章 軟件體系結構建模,2.3 體系結構的核心模型,構件: 是具有某種功能的可重用的軟件模板單元,表示了系統(tǒng)各主要的計算元素和數(shù)據(jù)存儲?! 秃蠘嫾?、原子構件?! ≡訕嫾豢稍俜?。 底層由實現(xiàn)該構件的類組裝。 體系結構的分層表示體。,,第2章 軟件體系結構建模,2.3 體系結構的核心模型,構件約定: 只能通過接口與外部環(huán)境交互 接口
16、由端口組成端口:構件與外部環(huán)境的交互點,過程調用,包含一些約束的復雜界面 依靠端口,構件可以提供多重接口,,第2章 軟件體系結構建模,2.3 體系結構的核心模型,連接件:構件之間的交互。簡單的 管道(pipe) 過程調用(procedure call) 事件廣播(event broadcaset)等復雜的 客戶/服務器(C/S)通信協(xié)議 數(shù)據(jù)庫和應用之間的SQL連接,,第2章 軟件體系結構建模,2.3 體系
17、結構的核心模型,連接件約定:同樣需要接口。接口由一組角色組成。角色定義了該連接件表示的交互的參與者二元連接:RPC(Caller, callee)PIPE(Sender, Receiver)針對復雜事件,連接件可以有多個參與角色。,,第2章 軟件體系結構建模,2.3 體系結構的核心模型,配置:構件和連接件間的拓撲邏輯和約束,,第2章 軟件體系結構建模,2.3 體系結構的核心模型,◇ 軟件過程,,第2章 軟件體系結構建模,2.
18、4 體系結構的生命周期模型,需求分析,建立體系結構,測試,實現(xiàn),設計,,,,,◇ 需求分析階段任務:根據(jù)需求決定系統(tǒng)的功能什么是需求?需求過程是為了獲取用戶需求,確定系統(tǒng)所要用到的構件收集并求精目標對象的基本信息提交方式:軟件規(guī)格說明書,,第2章 軟件體系結構建模,2.4 體系結構的生命周期模型,,,用戶對目標軟件系統(tǒng)在功能、行為、性能、設計約束等方面的期望,◇ 需求分析階段體系結構需求包括需求獲取 生成類圖 對類分
19、組 把類打包成構件 需求評審等過程,,第2章 軟件體系結構建模,2.4 體系結構的生命周期模型,定義開發(fā)人員必須實現(xiàn)的軟件功能,使得用戶能完成他們的任務,以至滿足業(yè)務上功能需求。,利用工具(Rational Rose)自動生成,簡化類圖結構,使類更加清晰,把類簇打包成構件,這些構件可以進一步合并,形成更大粒度,,,,,組織一個由不同代表組成的小組,審查的內容主要是需求是否真實反映了用戶的需求,類的生成、分組、構件合并是否合
20、理等,◇ 建立軟件體系結構階段從結構角度,架構師分析整個系統(tǒng),進一步,選擇出恰當?shù)臉嫾?、構件間的相互作用關系和它們間的約束,最后,形成一個系統(tǒng)框架。目標滿足用戶需求 首要,選擇一個合適的體系結構風格其次,已確認構件映射到體系結構 中間層然后,為了完成其次一步,分析構件間的作用與關系,,第2章 軟件體系結構建模,2.4 體系結構的生命周期模型,,◇ 設計階段任務:對系統(tǒng)進行模型化設計。 選定描述構件間的詳細接口、算法
21、和數(shù)據(jù)類型。承上啟下的作用: 對上支持建立體系結構階段形成的框架;對下,提供實現(xiàn)基礎?! 》窍到y(tǒng)開發(fā)人員對體系結構進行評審。,,第2章 軟件體系結構建模,2.4 體系結構的生命周期模型,◇ 實現(xiàn)階段 設計階段的算法及數(shù)據(jù)類型在此階段用程序語言實現(xiàn)出來。依據(jù):復審后的文檔化的體系結構說明書 運用組裝支持工具,把構件、連接件等架構元素組裝起來,實現(xiàn)系統(tǒng)的連接與合成。,,第2章 軟件體系結構建模,2.4 體系結構的生命周期模
22、型,◇ 測試階段 單個構件的功能性測試 被組裝應用的整體功能和性能測試軟件體系結構是設計的起點和依據(jù),是裝配和維護的指南。,,第2章 軟件體系結構建模,2.4 體系結構的生命周期模型,◇ 生命周期模型,,第2章 軟件體系結構建模,2.4 體系結構的生命周期模型,(1)軟件體系結構的非形式化描述自然語言創(chuàng)造性和開拓性的,,第2章 軟件體系結構建模,2.4 體系結構的生命周期模型,(2)軟件體系結構的規(guī)范描述和分析合適的形式
23、化數(shù)學理論模型描述精確、無歧義分析軟件體系結構的性質(無死鎖性、安全性、活性等),,第2章 軟件體系結構建模,2.4 體系結構的生命周期模型,(3)軟件體系結構的求精及其驗證 抽象到具體 逐步求精 每一步求精,需要對不同抽象層次的軟件體系結構進行驗證,驗證具體架構和抽象架構的語義是否一致,并最終實現(xiàn)抽象架構的定義和設計。,,第2章 軟件體系結構建模,2.4 體系結構的生命周期模型,(3)軟件體系結構的求精及其驗證
24、 抽象到具體 逐步求精 每一步求精,需要對不同抽象層次的軟件體系結構進行驗證,驗證具體架構和抽象架構的語義是否一致,并最終實現(xiàn)抽象架構的定義和設計。,,第2章 軟件體系結構建模,2.4 體系結構的生命周期模型,(4)軟件體系結構的實施 將求精后的架構實施于系統(tǒng)的具體設計中,并將架構相關的構件和連接件等有機地組織在一起,形成系統(tǒng)設計的框架。,,第2章 軟件體系結構建模,2.4 體系結構的生命周期模型,(5)軟件體系結構的
25、演化和擴展 在架構實施時,根據(jù)系統(tǒng)需求,尤其如:性能、容錯、安全性、互操作性、自適應性等非功能性質影響架構的擴展和改動-架構演化,,第2章 軟件體系結構建模,2.4 體系結構的生命周期模型,(6)軟件體系結構的提供、評價和質量 架構實施后,進行定性的評價和定量的度量,以利于對軟件體系結構的重用,總結經(jīng)驗教訓。,,第2章 軟件體系結構建模,2.4 體系結構的生命周期模型,(7)軟件體系結構的終結多次演化和修改架構難以理
26、解不再達到系統(tǒng)設計的要求不能適應系統(tǒng)的發(fā)展架構的再造工程不必要、不可行。架構的拋棄。,,第2章 軟件體系結構建模,2.4 體系結構的生命周期模型,,第2章 軟件體系結構建模,2.5 軟件體系結構抽象模型,選讀,,第2章 軟件體系結構建模,本章作業(yè)與思考題,1、選擇一個規(guī)模合適的系統(tǒng),為其建立“4+1”模型。2、引入了軟件體系結構以后,傳統(tǒng)軟件過程發(fā)生了哪些變化?這種變化有什么好處?3、軟件體系結構的生命周期模型與軟件生命
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件體系結構建模研究與應用.pdf
- 面向方面軟件體系結構建模研究.pdf
- 面向問題的軟件體系結構建模的研究.pdf
- 軟件體系結構建模方法的研究與應用.pdf
- 基于進程代數(shù)的面向服務軟件體系結構建模.pdf
- UML與ADLs在軟件體系結構建模中的應用.pdf
- 面向網(wǎng)格服務的軟件體系結構建模及演化研究.pdf
- 基于進程代數(shù)的軟件體系結構建模、檢測與評價研究.pdf
- 基于軟件體系結構的面向方面建模研究.pdf
- 基于Bigraph的面向方面動態(tài)軟件體系結構建模與演化研究.pdf
- 軟件體系結構及基于軟件體系結構的系統(tǒng)開發(fā).pdf
- 軟件體系結構作業(yè)
- 軟件體系結構題庫
- 軟件體系結構文檔
- 體系結構驅動的軟件建模與分析方法的研究.pdf
- 基于公理設計的軟件體系結構構建方法研究.pdf
- 軟件工程軟件體系結構
- 軟件體系結構研究及其在ERP建模中的應用.pdf
- 基于構件的軟件體系結構可靠性建模支持.pdf
- 智能體網(wǎng)格系統(tǒng)的體系結構與軟件建模研究.pdf
評論
0/150
提交評論