版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1 12022-3-26五、軟件體系構(gòu)造形式化方法五、軟件體系構(gòu)造形式化方法 課外閱讀課外閱讀2 22022-3-26Kruchten的的4+1模型描繪軟件體系構(gòu)造模型描繪軟件體系構(gòu)造 n本章參考本章參考Philippe Kruchten ?Architectural BlueprintsThe “4+1 View Model of Software Architecture?3 32022-3-26假定你是假定你是Module Designern你最近加盟一家公司,并被安排在一個(gè)新你最近加盟一家公司,并被安排在一個(gè)新工程的開發(fā)組中。雖然你富有經(jīng)歷,但是工程的開發(fā)組中。雖然你富有經(jīng)歷,但是對此
2、工程所涉及的領(lǐng)域還是一個(gè)新手。系對此工程所涉及的領(lǐng)域還是一個(gè)新手。系統(tǒng)的高層體系構(gòu)造設(shè)計(jì)已經(jīng)完成。統(tǒng)的高層體系構(gòu)造設(shè)計(jì)已經(jīng)完成。n你的老板工程經(jīng)理讓你預(yù)計(jì)你將要完你的老板工程經(jīng)理讓你預(yù)計(jì)你將要完成的幾個(gè)模塊的開發(fā)時(shí)間。成的幾個(gè)模塊的開發(fā)時(shí)間。n你怎么辦?你怎么辦?4 42022-3-26假定你是假定你是Module Designern你來開發(fā)你來開發(fā)A2和和A3,怎么開場?,怎么開場?5 52022-3-26假定你是假定你是Consultant參謀參謀n你是一個(gè)請來的參謀,對一個(gè)體系構(gòu)造設(shè)你是一個(gè)請來的參謀,對一個(gè)體系構(gòu)造設(shè)計(jì)進(jìn)展評估。計(jì)進(jìn)展評估。Modifiability和和Performa
3、nce是重要的體系構(gòu)造質(zhì)量因素。是重要的體系構(gòu)造質(zhì)量因素。n你會(huì)詢問什么樣的信息?你會(huì)詢問什么樣的信息?6 62022-3-26假定你是假定你是Consultant參謀參謀n面對這樣的圖,你會(huì)有什么反響?面對這樣的圖,你會(huì)有什么反響?7 72022-3-26假定你是假定你是Consultant參謀參謀n面對這樣的圖,你會(huì)有什么反響?面對這樣的圖,你會(huì)有什么反響?8 82022-3-26體系構(gòu)造描繪方法體系構(gòu)造描繪方法n軟件開發(fā)過程中各種角色之間交流設(shè)計(jì)思軟件開發(fā)過程中各種角色之間交流設(shè)計(jì)思想的媒介想的媒介n進(jìn)展上層分析的根底。此根底上可以驗(yàn)證進(jìn)展上層分析的根底。此根底上可以驗(yàn)證體系構(gòu)造設(shè)計(jì)方案
4、,精煉或改變必要的方體系構(gòu)造設(shè)計(jì)方案,精煉或改變必要的方案案n讓別人理解系統(tǒng)的第一手資料讓別人理解系統(tǒng)的第一手資料9 92022-3-26與與Module Designer交流交流n根本想法是什么?根本想法是什么?n我該做什么我該做什么 如,實(shí)現(xiàn)哪些需求如,實(shí)現(xiàn)哪些需求 ?n我該在哪做我該在哪做 如,這項(xiàng)功能實(shí)如今哪里如,這項(xiàng)功能實(shí)如今哪里 ?n我和誰交互?接口是什么?我和誰交互?接口是什么?n有什么可以重用的代碼?有什么可以重用的代碼?n必須遵從什么約定必須遵從什么約定質(zhì)量目的、舊體系質(zhì)量目的、舊體系/接口、預(yù)接口、預(yù)算等算等?n有哪些硬性規(guī)定有哪些硬性規(guī)定設(shè)計(jì)、接口、約束等設(shè)計(jì)、接口、約束
5、等?10102022-3-26與參謀交流與參謀交流n體系構(gòu)造的必要需求體系構(gòu)造的必要需求driving requirement是是什么什么如,如,performance, availability, security, modifiability, interoperability?n各種體系構(gòu)造視圖是如何描繪的?各種體系構(gòu)造視圖是如何描繪的?抽象出來什么?抽象出來什么?功能怎樣分解?功能怎樣分解?功能怎樣分配?功能怎樣分配?使用什么硬件以及軟件怎樣布置在硬件上?使用什么硬件以及軟件怎樣布置在硬件上?n采用了哪些體系構(gòu)造風(fēng)格?采用了哪些體系構(gòu)造風(fēng)格?11112022-3-26這是什么?這是什么
6、?12122022-3-26上圖的缺點(diǎn)上圖的缺點(diǎn)n很多事情沒有說:很多事情沒有說:組件類型組件類型連接件類型連接件類型圓圈和箭頭代表什么?圓圈和箭頭代表什么?這種布局的意義是什么?這種布局的意義是什么?為什么為什么CP要放在上層?要放在上層?n只畫出方框和線條不是體系構(gòu)造,只是體只畫出方框和線條不是體系構(gòu)造,只是體系構(gòu)造的開場系構(gòu)造的開場13132022-3-26好的體系構(gòu)造描繪的必要元素好的體系構(gòu)造描繪的必要元素n需求陳述需求陳述商業(yè)環(huán)境、產(chǎn)品的背景、領(lǐng)域商業(yè)環(huán)境、產(chǎn)品的背景、領(lǐng)域n描繪環(huán)境描繪環(huán)境必須和什么系統(tǒng)交互、外部接口必須和什么系統(tǒng)交互、外部接口n使用體系構(gòu)造圖使用體系構(gòu)造圖用恰當(dāng)?shù)?/p>
7、線框用恰當(dāng)?shù)木€框簡潔的說明簡潔的說明14142022-3-26好的體系構(gòu)造描繪的必要元素好的體系構(gòu)造描繪的必要元素n考慮實(shí)現(xiàn)時(shí)的限制考慮實(shí)現(xiàn)時(shí)的限制但是僅在它們能影響體系構(gòu)造設(shè)計(jì)的范圍內(nèi)但是僅在它們能影響體系構(gòu)造設(shè)計(jì)的范圍內(nèi)n被限定的下層構(gòu)造、處理器需求被限定的下層構(gòu)造、處理器需求通常包含其他構(gòu)造圖通常包含其他構(gòu)造圖n體系構(gòu)造設(shè)計(jì)的原理體系構(gòu)造設(shè)計(jì)的原理它怎樣去符合需求與約束它怎樣去符合需求與約束其他的設(shè)計(jì)其他的設(shè)計(jì)15152022-3-26其他方面其他方面n風(fēng)格風(fēng)格/產(chǎn)品線問題產(chǎn)品線問題設(shè)計(jì)可變的尺度設(shè)計(jì)可變的尺度體系構(gòu)造的那個(gè)方面必須不被改變?體系構(gòu)造的那個(gè)方面必須不被改變?n管理問題管理
8、問題暗含開發(fā)團(tuán)隊(duì)的組織構(gòu)造暗含開發(fā)團(tuán)隊(duì)的組織構(gòu)造體系構(gòu)造評審情況體系構(gòu)造評審情況n其他設(shè)計(jì)問題其他設(shè)計(jì)問題代碼重用、標(biāo)準(zhǔn)的運(yùn)用代碼重用、標(biāo)準(zhǔn)的運(yùn)用風(fēng)險(xiǎn)分析風(fēng)險(xiǎn)分析運(yùn)作、管理和維護(hù)運(yùn)作、管理和維護(hù)16162022-3-26好描繪好描繪n線和框有不同的形狀線和框有不同的形狀/顏色,并有圖例說明顏色,并有圖例說明n用表格總結(jié)方案選擇等等各種問題用表格總結(jié)方案選擇等等各種問題n圖并不試圖去表達(dá)很多信息:把信息分散圖并不試圖去表達(dá)很多信息:把信息分散到需要表達(dá)它的各個(gè)視圖中到需要表達(dá)它的各個(gè)視圖中n每個(gè)體系構(gòu)造視圖必須在一頁內(nèi)完成每個(gè)體系構(gòu)造視圖必須在一頁內(nèi)完成n明晰地區(qū)分出哪些是體系構(gòu)造視圖,哪些明晰
9、地區(qū)分出哪些是體系構(gòu)造視圖,哪些不是不是17172022-3-26壞描繪壞描繪n所有的線看起來都一樣所有的線看起來都一樣n箭頭不代表任何涵義箭頭不代表任何涵義n箭頭代表很多涵義箭頭代表很多涵義n實(shí)現(xiàn)與文檔沖突實(shí)現(xiàn)與文檔沖突n沒有圖例沒有圖例n太多的必要需求太多的必要需求18182022-3-26視圖視圖n系統(tǒng)需要多種視圖來描繪系統(tǒng)需要多種視圖來描繪其中的一小部分是描繪體系構(gòu)造的其中的一小部分是描繪體系構(gòu)造的n運(yùn)行時(shí)視圖運(yùn)行時(shí)視圖/動(dòng)態(tài)視圖動(dòng)態(tài)視圖組件和連接件組件和連接件在高層分解成組件和連接件在高層分解成組件和連接件n代碼視圖代碼視圖模塊關(guān)聯(lián)和依賴模塊關(guān)聯(lián)和依賴n使用使用/調(diào)用調(diào)用/和和共享數(shù)
10、據(jù)共享數(shù)據(jù)文件和目錄、工程和編譯文件、版本控制文件和目錄、工程和編譯文件、版本控制n物理視圖物理視圖把計(jì)算單元分配到各個(gè)進(jìn)程或處理器把計(jì)算單元分配到各個(gè)進(jìn)程或處理器19192022-3-26閱讀閱讀nPhilippe Kruchten, Architectural BlueprintsThe “4+1 View Model of Software Architecture, IEEE Software 12 6, 1995, pp. 42-50nRelease 6A Segment/Design Specification for the ECS Project, Section 4.4. N
11、ASA Report 305-CD-600-001, pages 4-160-185. March 2001 /waisdata/toc/cd30560001toc.html20202022-3-263.1 “4十十1模型模型 21212022-3-26 22222022-3-26 23232022-3-26 24242022-3-2625252022-3-263.2 邏輯視圖的體系構(gòu)造:面向?qū)ο蟮姆纸膺壿嬕晥D的體系構(gòu)造:面向?qū)ο蟮姆纸?26262022-3-263.2.1 邏輯視圖的符號(hào)表示法邏輯視圖的符號(hào)表示法 27272022-3-263.2.2 邏
12、輯視圖的風(fēng)格邏輯視圖的風(fēng)格3.2.3 邏輯視圖的例子邏輯視圖的例子 28282022-3-263.3 過程視圖的體系構(gòu)造:過程分解過程視圖的體系構(gòu)造:過程分解 n過程體系構(gòu)造考慮的是一些非功能性的需求,諸如性能、可用性等。過程體系構(gòu)造考慮的是一些非功能性的需求,諸如性能、可用性等。它所要面對的問題有并發(fā),分布,系統(tǒng)的完好性,容錯(cuò)才能等。它還它所要面對的問題有并發(fā),分布,系統(tǒng)的完好性,容錯(cuò)才能等。它還要考慮怎樣把過程體系構(gòu)造與邏輯視圖體系構(gòu)造的要點(diǎn)相適應(yīng)要考慮怎樣把過程體系構(gòu)造與邏輯視圖體系構(gòu)造的要點(diǎn)相適應(yīng)對對某個(gè)對象的某個(gè)操作實(shí)際上是在哪個(gè)控制線程上發(fā)生的。某個(gè)對象的某個(gè)操作實(shí)際上是在哪個(gè)控制
13、線程上發(fā)生的。n可以把過程體系構(gòu)造分為幾個(gè)抽象層次來描繪,每個(gè)層次考慮不同的可以把過程體系構(gòu)造分為幾個(gè)抽象層次來描繪,每個(gè)層次考慮不同的方面。在最高層次上,過程體系構(gòu)造可以被視為是一個(gè)邏輯網(wǎng)絡(luò)的集方面。在最高層次上,過程體系構(gòu)造可以被視為是一個(gè)邏輯網(wǎng)絡(luò)的集合。每個(gè)獨(dú)立執(zhí)行的邏輯網(wǎng)絡(luò)都是由通信程序合。每個(gè)獨(dú)立執(zhí)行的邏輯網(wǎng)絡(luò)都是由通信程序即即“過程過程構(gòu)成的。構(gòu)成的。這些邏輯網(wǎng)絡(luò)分布在一個(gè)通過這些邏輯網(wǎng)絡(luò)分布在一個(gè)通過LANLAN或或WANWAN連接起來的硬件資源集合上。連接起來的硬件資源集合上。多個(gè)邏輯網(wǎng)絡(luò)可能同時(shí)存在,并共享同樣的物理資源。例如,邏輯網(wǎng)多個(gè)邏輯網(wǎng)絡(luò)可能同時(shí)存在,并共享同樣的物理
14、資源。例如,邏輯網(wǎng)絡(luò)的概念可用于區(qū)分在線處理系統(tǒng)和離線處理系統(tǒng)。絡(luò)的概念可用于區(qū)分在線處理系統(tǒng)和離線處理系統(tǒng)。 29292022-3-263.3 過程視圖的體系構(gòu)造:過程分解過程視圖的體系構(gòu)造:過程分解 n軟件被分為獨(dú)立的任務(wù)的集合。每個(gè)任務(wù)是一個(gè)獨(dú)立的控制線程,可軟件被分為獨(dú)立的任務(wù)的集合。每個(gè)任務(wù)是一個(gè)獨(dú)立的控制線程,可以在一個(gè)處理節(jié)點(diǎn)上獨(dú)立單獨(dú)調(diào)度。因此可以將任務(wù)分為主任務(wù)和輔以在一個(gè)處理節(jié)點(diǎn)上獨(dú)立單獨(dú)調(diào)度。因此可以將任務(wù)分為主任務(wù)和輔任務(wù)。主任務(wù)是需要單獨(dú)解決的體系構(gòu)造元素。輔任務(wù)是由于實(shí)現(xiàn)原任務(wù)。主任務(wù)是需要單獨(dú)解決的體系構(gòu)造元素。輔任務(wù)是由于實(shí)現(xiàn)原因此在本地參加的附加任務(wù)因此在本地
15、參加的附加任務(wù)緩沖,超時(shí),等等緩沖,超時(shí),等等,例如可以將它們,例如可以將它們實(shí)現(xiàn)為輕量級(jí)的線程。主任務(wù)通過一套完善定義的任務(wù)間通信機(jī)制進(jìn)實(shí)現(xiàn)為輕量級(jí)的線程。主任務(wù)通過一套完善定義的任務(wù)間通信機(jī)制進(jìn)展通信:同步的或異步的基于消息的通信效勞、遠(yuǎn)程過程調(diào)用、時(shí)間展通信:同步的或異步的基于消息的通信效勞、遠(yuǎn)程過程調(diào)用、時(shí)間播送等。不應(yīng)當(dāng)假設(shè)通信中的主任務(wù)處于同一個(gè)過程中或處在同一個(gè)播送等。不應(yīng)當(dāng)假設(shè)通信中的主任務(wù)處于同一個(gè)過程中或處在同一個(gè)處理節(jié)點(diǎn)上。輔任務(wù)的通信可以采用共享內(nèi)存的方式或其他雙方約定處理節(jié)點(diǎn)上。輔任務(wù)的通信可以采用共享內(nèi)存的方式或其他雙方約定的方式。的方式。 n基于過程體系構(gòu)造設(shè)計(jì)圖
16、,可以估計(jì)出消息流和過程負(fù)荷?;谶^程體系構(gòu)造設(shè)計(jì)圖,可以估計(jì)出消息流和過程負(fù)荷。 30302022-3-263.3.1 過程視圖的符號(hào)表示法過程視圖的符號(hào)表示法 31312022-3-263.2.2 3.2.2 過程視圖的風(fēng)格過程視圖的風(fēng)格 有多種風(fēng)格合適過程體系構(gòu)造。例如管道和過濾器、客戶效勞器及其有多種風(fēng)格合適過程體系構(gòu)造。例如管道和過濾器、客戶效勞器及其變體變體多客戶單效勞器,多客戶多效勞器多客戶單效勞器,多客戶多效勞器等。等。3.2.3 3.2.3 過程視圖的例子過程視圖的例子 32322022-3-263.4 開發(fā)視圖的體系構(gòu)造:子系統(tǒng)分解開發(fā)視圖的體系構(gòu)造:子系統(tǒng)分解 33332
17、022-3-263.4.1 3.4.1 開發(fā)視圖的符號(hào)表示法開發(fā)視圖的符號(hào)表示法34342022-3-263.4.2 3.4.2 開發(fā)視圖的風(fēng)格開發(fā)視圖的風(fēng)格35352022-3-263.4.3 3.4.3 開發(fā)視圖的例子開發(fā)視圖的例子36362022-3-263.5 物理視圖的體系構(gòu)造:從軟件到硬件的映射物理視圖的體系構(gòu)造:從軟件到硬件的映射 37372022-3-263.5.1 物理視圖的符號(hào)表示法物理視圖的符號(hào)表示法 38382022-3-263.6 場景視圖的體系構(gòu)造:匯總場景視圖的體系構(gòu)造:匯總 39392022-3-263.6.1 場景視圖的符號(hào)表示法場景視圖的符號(hào)表示法 場景視圖
18、的符號(hào)表示法中,構(gòu)件的表示與邏輯視圖非常相場景視圖的符號(hào)表示法中,構(gòu)件的表示與邏輯視圖非常相似,但是連接件的表示使用過程視圖中的方法。注意,對似,但是連接件的表示使用過程視圖中的方法。注意,對象的實(shí)例用細(xì)實(shí)線表示。在工具的使用方面,和在邏輯體象的實(shí)例用細(xì)實(shí)線表示。在工具的使用方面,和在邏輯體系構(gòu)造類似,可以使用系構(gòu)造類似,可以使用Rational RoseRational Rose繪制和管理對象場景繪制和管理對象場景圖。圖。 40402022-3-263.6.2 場景視圖的例子場景視圖的例子 Joe Joe的的 的控制器檢測到并證實(shí)了從掛起到取下的狀態(tài)轉(zhuǎn)變,的控制器檢測到并證實(shí)了從掛起到取下的狀態(tài)轉(zhuǎn)變,并且發(fā)送了消息來喚醒相關(guān)的終端對象。并且發(fā)送了消息來喚醒相關(guān)的終端對象。 終端分配一些資源,并告訴控制器發(fā)出撥號(hào)音。終端分配一些資源,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024至2030年中國自動(dòng)電印機(jī)數(shù)據(jù)監(jiān)測研究報(bào)告
- 2024至2030年中國紅檀桃心茶道數(shù)據(jù)監(jiān)測研究報(bào)告
- 2024至2030年中國直通式樓宇對講系統(tǒng)數(shù)據(jù)監(jiān)測研究報(bào)告
- AI產(chǎn)業(yè)系列深度報(bào)告(二):AIPC賽道風(fēng)起產(chǎn)業(yè)鏈創(chuàng)新云涌
- 2025屆福建省三明市清流縣第二中學(xué)高三物理第一學(xué)期期末聯(lián)考模擬試題含解析
- 上海寶山同洲模范學(xué)校2025屆物理高一第一學(xué)期期中檢測模擬試題含解析
- 2025屆上海市長寧、嘉定區(qū)物理高三上期末教學(xué)質(zhì)量檢測試題含解析
- 2025屆貴州省實(shí)驗(yàn)中學(xué)高三物理第一學(xué)期期末聯(lián)考試題含解析
- 2025屆廣東省珠海市紫荊中學(xué)高三物理第一學(xué)期期末達(dá)標(biāo)檢測試題含解析
- 安徽省亳州市十八中2025屆高三上物理期中檢測試題含解析
- 疼痛科手術(shù)分級(jí)管理
- 建筑施工企業(yè)三類人員變更申請表(外省市)
- 中國三對三籃球聯(lián)賽比賽記錄表
- 服裝洗滌標(biāo)及成份中英對照
- 二年級(jí)上冊數(shù)學(xué)計(jì)算能力測試題73375
- 氣體流量和流速及與壓力的關(guān)系
- 混凝攪拌實(shí)驗(yàn)操作方法
- M75漿砌片石護(hù)坡施工方案
- 拌混凝土拌合站管理辦法
- 文明如廁講衛(wèi)生PPT課件
- 電子工程師必備基礎(chǔ)知識(shí)
評論
0/150
提交評論