

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