ADMEMS軟件架構(gòu)設(shè)計(jì)方法_第1頁
ADMEMS軟件架構(gòu)設(shè)計(jì)方法_第2頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、ADMEM軟件架構(gòu)設(shè)計(jì)方法方法體系作為方法體系, 完整工作內(nèi)容。其中 階段(RA階段),ADMEMS 方法通過 3 個(gè)階段和 1 個(gè)貫穿環(huán)節(jié), 來覆蓋需求進(jìn), 架構(gòu)出”的架構(gòu)設(shè)計(jì) “個(gè)階段”是指預(yù)備架構(gòu)階段(PA 階段)、概念架構(gòu)階段(CA 階段)、細(xì)化架構(gòu) “個(gè)貫穿環(huán)節(jié)”是指對(duì)非功能目標(biāo)的考慮。PA 階段的任務(wù)是全面理解需求,從而把握需求特點(diǎn),進(jìn)而確定架構(gòu)設(shè)計(jì)驅(qū)動(dòng)力。其中,ADMEMS矩陣居于方法的核心; CA 階段必須考慮包括功能、質(zhì)量、約束在內(nèi)的所有方面的需求,ADMEMS 方法有自己的概念架構(gòu)設(shè)計(jì)步驟和做法;RA 階段的總體方法為 5 視圖方法,涉及邏輯架構(gòu)、物理架構(gòu)、開發(fā)架構(gòu)、運(yùn)行架

2、構(gòu)和數(shù)據(jù)架構(gòu)文檔模板(下載全套模板)ADMEMS 方法為軟件架構(gòu)設(shè)計(jì)提供了整套文檔模板,涉及文檔簡介、架構(gòu)描述方式、架構(gòu)設(shè)計(jì)目標(biāo)、架構(gòu)設(shè)計(jì)原則、邏輯架構(gòu)視圖、開發(fā)架構(gòu)視圖、運(yùn)行架構(gòu)視圖、物理架構(gòu)視圖、數(shù)據(jù)架構(gòu)視圖、關(guān) 鍵質(zhì)量屬性的設(shè)計(jì)。在架構(gòu)設(shè)計(jì)實(shí)踐中,架構(gòu)師可以直接使用這套文檔模板來設(shè)計(jì)架構(gòu),以及對(duì)架構(gòu)進(jìn)行描述。前輩推薦楊晉興(中航集團(tuán)公司 631 研究所研究員,前系統(tǒng)軟件室主任):ADMEMS 是當(dāng)前軟件架構(gòu)設(shè)計(jì)領(lǐng)域先進(jìn)的方法體系,在論述架構(gòu)設(shè)計(jì)不同階段的分析方法與設(shè)計(jì)技術(shù)的同時(shí),給岀了相應(yīng)的實(shí)踐策略、實(shí)踐套路及有用的設(shè)計(jì)案例。 本方法具有極強(qiáng)的實(shí)用性, 不但是一線架構(gòu)師及希望成為軟件架構(gòu)

3、師者的福 音,對(duì)我國軟件業(yè)界在軟件架構(gòu)相關(guān)方面的研究工作也有一定的推動(dòng)作用。周伯生(北航計(jì)算機(jī)學(xué)院教授、博士生導(dǎo)師,美國SDPS 學(xué)會(huì)院士): ADMEMS 架構(gòu)設(shè)計(jì)方法學(xué)既是提岀者親身的實(shí)踐總結(jié),又概括了業(yè)界的有效實(shí)踐;不僅生動(dòng)地反映提岀者的創(chuàng)造性思維和對(duì)學(xué)術(shù)的刻 苦耕耘,又反映岀提岀者對(duì)架構(gòu)學(xué)的崇高歷史責(zé)任感;不僅對(duì)架構(gòu)師們有很好的參考價(jià)值,而且對(duì)推動(dòng)架構(gòu)學(xué)界的深入研究具有重要意義。黃紹良(清華大學(xué)創(chuàng)新研究會(huì)成員,南開大學(xué)軟件學(xué)院教授):軟件工程的架構(gòu)師猶如建造工程的建筑 師一樣,一些建筑師能夠最終成為 大師”,主要是他們的建筑設(shè)計(jì)除了能夠滿足應(yīng)用需求外,還能結(jié)合周邊環(huán)境,擁有獨(dú)特的組合理

4、念和創(chuàng)意。把握軟件的架構(gòu)設(shè)計(jì)技巧和方法,才能夠帶岀軟件創(chuàng)新的成果。 ADMEMS 為從業(yè)人員理解如何才能夠客觀地為客戶設(shè)計(jì)高效和優(yōu)質(zhì)的計(jì)算機(jī)軟件,是成為真正軟件工 程師的第一步,是未來軟件大師的實(shí)踐指南。專家評(píng)價(jià)宋英(西門子公司資深 IT 專家):ADMEMS 方法深入淺出,對(duì)中大型系統(tǒng)的架構(gòu)設(shè)計(jì)起到了航標(biāo)燈的作用,不僅解決了資深架構(gòu)師的困惑,而且對(duì)新手具有重大的指導(dǎo)意義。它把抽象的理論落實(shí)到實(shí)際 的可操作的范圍,令人折服。陳淥萍(中國軟件評(píng)測(cè)中心技術(shù)總監(jiān)):ADMEMS 方法是架構(gòu)設(shè)計(jì)實(shí)踐領(lǐng)域的突破。宋興烈(起步科技總工程師):ADMEMS 形成了關(guān)于架構(gòu)設(shè)計(jì)方面的核心主張,并且提出了非常具

5、有指導(dǎo)和實(shí)踐意義的方法體系。細(xì)細(xì)體會(huì)這些核心主張和ADMEMS 方法,發(fā)現(xiàn)似曾相識(shí),特別有共鳴。原來我們?cè)谄綍r(shí)的架構(gòu)設(shè)計(jì)中,竟不知不覺地在使用這些主張和方法,但是沒有總結(jié)岀來。我非常愿意向業(yè)內(nèi)人士推薦 ADMEMS 方法,因?yàn)?ADMEMS 是從實(shí)踐中來的,自然可以很好地運(yùn)用到實(shí)踐中去, 具有很高的實(shí)踐指南價(jià)值。靳向陽(加拿大 IBM 軟件工程師):ADMEMS 方法由淺入深地給出了架構(gòu)設(shè)計(jì)相應(yīng)的對(duì)策,實(shí)戰(zhàn)性極強(qiáng)。本人認(rèn)為 ADMEMS 方法實(shí)乃業(yè)界相關(guān)技術(shù)中的一朵奇葩,強(qiáng)烈建議新老架構(gòu)設(shè)計(jì)人員掌握ADMEMS 方法。董振江(中興通訊業(yè)務(wù)研究院副院長):ADMEMS 方法是一套實(shí)用性強(qiáng)、非學(xué)院

6、式的體系,對(duì)做好架構(gòu)設(shè)計(jì)富有指導(dǎo)價(jià)值。ADMEMS 方法的三階段理論、結(jié)構(gòu)化需求與約束分析等不少概念一經(jīng)指出讓人 有茅塞頓開之感。ADMEMS 方法中有很實(shí)用的操作技巧,值得每一個(gè)架構(gòu)師反復(fù)學(xué)習(xí)和操練,領(lǐng)會(huì)之 后定會(huì)讓您的架構(gòu)設(shè)計(jì)更上一層樓。徐鋒(獨(dú)立咨詢顧問,需求過程框架 SERU 創(chuàng)始人,CSAI 首席顧問):ADMEMS 是架構(gòu)領(lǐng)域的指路 明燈,它架構(gòu)在成熟方法論這一巨人上,構(gòu)建在提岀者多年來跨不同領(lǐng)域、 不同平臺(tái)的架構(gòu)設(shè)計(jì)經(jīng)驗(yàn)的 基礎(chǔ)上。羅景文(IBM developerWorks 中國網(wǎng)站):ADMEMS 方法的原理和實(shí)踐經(jīng)驗(yàn)對(duì)指導(dǎo)架構(gòu)設(shè)計(jì)實(shí)踐具有 非常實(shí)用的參考價(jià)值。李哲洙(東軟集

7、團(tuán)電信事業(yè)部研發(fā)二部部長,資深咨詢顧問,東北大學(xué)客座講師):ADMEMS 是在架構(gòu)設(shè)計(jì)的方法論方面、設(shè)計(jì)細(xì)節(jié)量化方面、設(shè)計(jì)應(yīng)采取的原則方面都做了針對(duì)性總結(jié)和概括, 具有重大 的實(shí)踐指導(dǎo)意義和推廣價(jià)值,為一線架構(gòu)師不可多得的理論和實(shí)踐指導(dǎo)。培訓(xùn)課程課程名稱:提升架構(gòu)設(shè)計(jì)能力的四堂課(經(jīng)典課程)培訓(xùn)特色:以業(yè)界實(shí)踐精華和落地的技能為主體內(nèi)容,為客戶一線實(shí)踐提供有針對(duì)性的幫助每個(gè)環(huán)節(jié),從流行謬誤的分析切入,拉”您進(jìn)入主動(dòng)學(xué)習(xí)狀態(tài)貫穿的【實(shí)戰(zhàn)案例】,邊學(xué)邊練,以練帶講課程名稱:業(yè)務(wù)框架規(guī)劃與設(shè)計(jì)(高端課程)培訓(xùn)特色:重視識(shí)別可變性、確定變化點(diǎn)和選擇變化點(diǎn)支持策略等業(yè)務(wù)框架規(guī)劃與設(shè)計(jì)核心技能的講”與 練

8、”幫助學(xué)員建立業(yè)務(wù)框架規(guī)劃與設(shè)計(jì)的大局觀、以及系統(tǒng)化思維框架vProject NameSoftware Architecture Docume ntVersio n Revision HistoryDateVersio nDescripti onAuthor說明:本文檔模板由 CSAI 架構(gòu)設(shè)計(jì)專家組榮耀發(fā)布,詳細(xì)技術(shù)支持請(qǐng)?jiān)L問1.文檔簡介1.1文檔目的1.2文檔范圍1.3定義、縮寫詞和縮略語1.4參考資料2.架構(gòu)描述方式2.1架構(gòu)視圖閱讀指南2.2圖表與模型閱讀指南3.架構(gòu)設(shè)計(jì)目標(biāo)3.1關(guān)鍵功能3.2關(guān)鍵質(zhì)量屬性3.3業(yè)務(wù)需求和約束因素4.架構(gòu)設(shè)計(jì)原則4.1架構(gòu)設(shè)計(jì)原則4.2備選架構(gòu)設(shè)計(jì)方案

9、及被否原因4.3架構(gòu)設(shè)計(jì)對(duì)后續(xù)工作的限制(詳設(shè),部署等)5.邏輯架構(gòu)視圖5.1職責(zé)劃分與職責(zé)確定5.2接口設(shè)計(jì)與協(xié)作機(jī)制5.3重要設(shè)計(jì)包6.開發(fā)架構(gòu)視圖6.1 Project劃分6.2Project 16.2.1 Project目錄結(jié)構(gòu)指導(dǎo)6.2.2程序單元組織6.2.3框架與應(yīng)用之間的關(guān)系(可選)6.3Project 2.6.4Project n .7.運(yùn)行架構(gòu)視圖7.1控制流組織7.2控制流的創(chuàng)建、銷毀、通信7.3加鎖設(shè)計(jì)8.物理架構(gòu)視圖8.1物理拓?fù)?.2軟件到硬件的映射8.3優(yōu)化部署9.數(shù)據(jù)架構(gòu)視圖9.1持久化機(jī)制的選擇9.2持久化存儲(chǔ)方案9.3數(shù)據(jù)同步與復(fù)制策略10.關(guān)鍵質(zhì)量屬性的設(shè)

10、計(jì)原理1.文檔簡介幫助讀者對(duì)本文檔建立基本印象,并為閱讀后續(xù)內(nèi)容掃清障礙。1.1 文檔目的文檔目的,非項(xiàng)目目的。否則造成同一項(xiàng)目多個(gè)文檔之間的內(nèi)容重復(fù),不利于文檔 維護(hù)。本小節(jié)應(yīng)指明文檔針對(duì)的讀者對(duì)象,最好列出各種讀者角色,并說明每種讀 者角色應(yīng)該重點(diǎn)閱讀的章節(jié)。1.2 文檔范圍文檔的 Scope,非項(xiàng)目的 Scope。否則造成同一項(xiàng)目多個(gè)文檔之間的內(nèi)容重復(fù),不利于文檔維護(hù)。1.3 定義、縮寫詞和縮略語集中列舉文檔中的定義、縮寫詞和縮略語。1.4 參考資料本項(xiàng)目經(jīng)審核的計(jì)劃書、合同、上級(jí)批文;本項(xiàng)目的其他已發(fā)表文件;本文檔引用 的文件資料,如軟件開發(fā)標(biāo)準(zhǔn)。具體而言,應(yīng)包括參考資料的題目(必須)

11、、編號(hào)、版本號(hào)(必須)、發(fā)表日期、發(fā)布方,必要時(shí)還可以說明如何使用這些資料。2.架構(gòu)描述方式為了讓讀者更好地理解架構(gòu)文檔,在本節(jié)應(yīng)當(dāng)說明文檔涉及的架構(gòu)視圖,并指明為了描述設(shè)計(jì)決策用到了哪些圖表和模型。2.1 架構(gòu)視圖閱讀指南以多視圖的方式來組織架構(gòu)文檔是大勢(shì)所趨。 ADMEMS 推薦的是經(jīng)過優(yōu)化的5 視圖方法,如下圖所示。2.2 圖表與模型閱讀指南對(duì)后續(xù)文檔內(nèi)容中所用到的建模語言(例如UML )、表格(例如目標(biāo)-場(chǎng)景-決策表)等進(jìn)行說明。3.架構(gòu)設(shè)計(jì)目標(biāo)功能、質(zhì)量、約束,一個(gè)都不能少。3.1 關(guān)鍵功能對(duì)架構(gòu)設(shè)計(jì)至關(guān)重要的功能,包括如下4 類:核心功能、必做功能、高風(fēng)險(xiǎn)功能、獨(dú)特功能。所謂獨(dú)特功

12、能,指這個(gè)功能覆蓋了上述3 類功能沒有涉及到的職責(zé)。3.2 關(guān)鍵質(zhì)量屬性人之所以痛苦,很多時(shí)候是因?yàn)樽非箦e(cuò)誤的東西。下圖是ADMEMS 方法確定關(guān)鍵質(zhì)量的 5 大原則的整體思路圖。3.3 業(yè)務(wù)需求和約束因素ADMEMS 方法創(chuàng)造性地提出約束需求的4 大類型,這是一種極為實(shí)用的分類方式。特別是業(yè)務(wù)需求對(duì)架構(gòu)設(shè)計(jì)而言是一種約束的觀點(diǎn),解決了很多架構(gòu)師的現(xiàn)實(shí)困惑。下圖標(biāo)明了 4 類約束在“需求層次-需求方面矩陣(又稱 ADMEMS 矩陣)”中的位 置,可以幫助我們理解產(chǎn)生約束需求的根源。4.架構(gòu)設(shè)計(jì)原則投標(biāo)時(shí)經(jīng)常講“架構(gòu)設(shè)計(jì)原則”, 但到了 架構(gòu)文檔 , 這些著眼大局的考慮卻“丟 了”。 ADMEM

13、S方法推薦的本文檔模板,認(rèn)為應(yīng)當(dāng)把它們“找回來”。4.1 架構(gòu)設(shè)計(jì)原則著重描述重大的權(quán)衡取舍考慮。 4.2 備選架構(gòu)設(shè)計(jì)方案及被否原因在概念架構(gòu)一級(jí),對(duì)備選架構(gòu)設(shè)計(jì)方案進(jìn)行描述,并闡述它們未被采用的原因。這 有利于團(tuán)隊(duì)了解當(dāng)前架構(gòu)設(shè)計(jì)方案的來龍去脈,提高團(tuán)隊(duì)對(duì)當(dāng)前架構(gòu)設(shè)計(jì)方案的認(rèn) 可度。4.3 架構(gòu)設(shè)計(jì)對(duì)后續(xù)工作的限制(詳設(shè),部署等)架構(gòu)設(shè)計(jì)不僅應(yīng)該包含“指導(dǎo)”,也應(yīng)該包含重要的“限制”。例如,一份只是說明“性能和可擴(kuò)展性都重要”的架構(gòu)文檔,實(shí)際上忽視了“可擴(kuò)展性和性能之間存在的矛盾關(guān)系”。此時(shí),最有效的辦法就是在架構(gòu)文檔中明確說明“任何提升可 擴(kuò)展性的架構(gòu)設(shè)計(jì)和詳細(xì)設(shè)計(jì),都應(yīng)通過架構(gòu)團(tuán)隊(duì)的評(píng)

14、審才能引入,以確保性能目 標(biāo)不受重大影響”。說明:本文檔模板由 CSAI 架構(gòu)設(shè)計(jì)專家組榮耀發(fā)布,詳細(xì)技術(shù)支持請(qǐng)?jiān)L問。5.邏輯架構(gòu)視圖關(guān)注點(diǎn):此架構(gòu)設(shè)計(jì)視圖的關(guān)注點(diǎn)是職責(zé)劃分。注意:邏輯架構(gòu)視圖無疑是最重要的,但同時(shí)也應(yīng)避免“架構(gòu)=模塊+接口”等以偏概全的認(rèn)識(shí)。參考:任何復(fù)雜系統(tǒng)的架構(gòu)設(shè)計(jì)都不是一蹴而就的,所以架構(gòu)師需要理性思維過程的指導(dǎo)。針對(duì)邏輯架構(gòu)設(shè)計(jì)這個(gè)關(guān)鍵環(huán)節(jié),一線架構(gòu)師實(shí)踐指南一書給出了2條建議:一是“以質(zhì)疑驅(qū)動(dòng)的螺旋思維”,二是相對(duì)分離地考慮“結(jié)構(gòu)方面的切分”和“行為方面的定義”。下圖所示即為 ADMEMS 方法推薦的邏輯架構(gòu)設(shè)計(jì)理性思維 過程。5.1 職責(zé)劃分與職責(zé)確定內(nèi)容:將系

15、統(tǒng)切分成更小的單元,并明確這些單元的職責(zé)。具體而言,職責(zé)單元可以是層、子系統(tǒng)、模塊、關(guān)鍵類等。意義:一句話,職責(zé)劃分不合理,功能和質(zhì)量都會(huì)受到影響。也就是說,功能需求 和質(zhì)量需求無一不和職責(zé)劃分相關(guān):一方面,每個(gè)功能都是由一條職責(zé)協(xié)作鏈完成 的;另一方面,職責(zé)劃分方式也影響著質(zhì)量,于是需要職責(zé)模型針對(duì)特定質(zhì)量屬性 要求做出相應(yīng)調(diào)整和優(yōu)化。很多人認(rèn)為架構(gòu)設(shè)計(jì)就是職責(zé)劃分的藝術(shù),雖略顯片面,但足以表明職責(zé)劃分的重要性。參考:基于對(duì)業(yè)界大量案例的研究, ADMEMS 方法梳理出了 “模塊劃分的 3 種必用手段”,如下圖所示,更多內(nèi)容可參考一線架構(gòu)師實(shí)踐指南一書。5.2 接口設(shè)計(jì)與協(xié)作機(jī)制內(nèi)容:本節(jié)描

16、述接口的定義,以及協(xié)作的方式和規(guī)范。意義:恰恰是因?yàn)橛辛烁髂K之間“未來合作的契約”,分頭開發(fā)各模塊才有了基本保證。參考:ADMEMS 方法推薦利用“包-接口”圖,來識(shí)別接口。下圖為一個(gè)“包-接口” 圖的示例。 參考:ADMEMS 方法推薦使用序列圖,建議少用、甚至杜絕使用協(xié)作圖。下圖為 一個(gè)序列圖的示例。說明:本文檔模板由 CSAI 架構(gòu)設(shè)計(jì)專家組榮耀發(fā)布,詳細(xì)技術(shù)支持請(qǐng)?jiān)L問。5.3 重要設(shè)計(jì)包內(nèi)容:對(duì)重要子系統(tǒng)的設(shè)計(jì)進(jìn)行“灰盒”級(jí)描述。意義:“每個(gè)子系統(tǒng)在架構(gòu)設(shè)計(jì)中都應(yīng)保持黑盒子”的觀點(diǎn),過于理想化了。對(duì)于 業(yè)務(wù)層、通用協(xié)作機(jī)制而言,經(jīng)常需要在架構(gòu)設(shè)計(jì)期間就引入“灰盒”級(jí)描述。參考:類圖和

17、灰盒包圖,在本節(jié)中較多出現(xiàn)。下圖為一灰盒包圖示例。6.開發(fā)架構(gòu)視圖關(guān)注點(diǎn):此架構(gòu)設(shè)計(jì)視圖的關(guān)注點(diǎn)是程序單元組織。注意:此架構(gòu)設(shè)計(jì)視圖是必須的、不應(yīng)“剪裁”掉的。但實(shí)際情況卻是,很多架構(gòu) 師不關(guān)注開發(fā)架構(gòu)視圖, 導(dǎo)致很多程序開發(fā)人員抱怨“架構(gòu)師就知道高來高去, 架 構(gòu)對(duì)編程工作沒什么指導(dǎo)性”。6.1Project 劃分內(nèi)容:本節(jié)說明整個(gè)系統(tǒng)將劃分成哪幾個(gè)Project 來開發(fā),其中,Project 指開發(fā)環(huán)境所感知到的“工程”。意義:基本好處是,有利于開發(fā)的組織;而對(duì)一些大型的集成系統(tǒng)而言,由于同時(shí)涉及了 Web 應(yīng)用、桌面應(yīng)用、嵌入式應(yīng)用等軟件形態(tài),所以此時(shí)Project 劃分其實(shí)是不得不做的

18、;最后,我們推薦核心代碼應(yīng)主動(dòng)地切分到單獨(dú)的Project 以進(jìn)行獨(dú)立的軟件配置管理(SCM ),以降低核心代碼外泄的風(fēng)險(xiǎn)。參考:Project 劃分必然是屬于“架構(gòu)設(shè)計(jì)”的工作,嚴(yán)格來講僅靠“需求分析”劃分的業(yè)務(wù)域(Bus in ess Area )直接映射到 Project 經(jīng)常意味著工作內(nèi)容的遺漏。 其實(shí),業(yè)界不少有見地的專家已經(jīng)認(rèn)識(shí)到WBS (工作分解結(jié)構(gòu))做得太早太草率危害很大,就與“ Project 劃分不到位”不無關(guān)系。6.2Project 1內(nèi)容:對(duì) Project 劃分后的每個(gè) Project 進(jìn)行目錄結(jié)構(gòu)、程序單元組織、框架與應(yīng)用 關(guān)系的說明。 6.2.1Project目錄

19、結(jié)構(gòu)指導(dǎo)內(nèi)容:關(guān)于該 Project 一級(jí)目錄、二級(jí)目錄等基本目錄結(jié)構(gòu)的約定。意義:為團(tuán)隊(duì)并行開發(fā)提供必要基礎(chǔ),讓不同程序小組看到自己應(yīng)該負(fù)責(zé)的程序目錄。參考:不要把所有程序目錄的約定都定義得太細(xì),否則這份架構(gòu)文檔就要天天更新了。6.2.2程序單元組織內(nèi)容:源碼、程序庫、框架、目標(biāo)碼等類型程序單元之間的編譯依賴關(guān)系。意義:或許有人認(rèn)為這沒什么技術(shù)含量,但架構(gòu)設(shè)計(jì)本來就不是只關(guān)心技術(shù)含量最 高問題的。君不見,很多軟件工程師跳槽到新的企業(yè)之后,竟然連一個(gè)能正常編譯 源碼的開發(fā)環(huán)境都建不起來一一其實(shí),他們“不知道Project 所依賴的 Library 有哪些”是其中重要原因這本應(yīng)在架構(gòu)文檔中給出明

20、確描述的。6.2.3框架與應(yīng)用之間的關(guān)系(可選)內(nèi)容:框架(Framework )。意義:既然不適用 Framework 的開發(fā)越來越少了,既然程序員犯的很多錯(cuò)誤都和對(duì) Framework 理解不到位有關(guān),架構(gòu)師就有責(zé)任明確說明Framework 和待開發(fā)系統(tǒng)之間的關(guān)系。r 4 -4y.參考:下圖描述了JGraph 框架和待開發(fā)應(yīng)用的關(guān)系。r 4 -4y.參考:下圖描述了Struts 框架和待開發(fā)應(yīng)用的關(guān)系。6.3 Project 2內(nèi)容:對(duì) Project劃分后的每個(gè) Project 進(jìn)行目錄結(jié)構(gòu)、程序單元組織、 框架與應(yīng)用關(guān)系的說明。6.4 Project n .內(nèi)容:對(duì) Project

21、劃分后的每個(gè) Project 進(jìn)行目錄結(jié)構(gòu)、程序單元組織、框架與應(yīng)用 關(guān)系的說明。 7.運(yùn)行架構(gòu)視圖關(guān)注點(diǎn):此架構(gòu)設(shè)計(jì)視圖的關(guān)注點(diǎn)是控制流組織。注意:進(jìn)程和線程是廣為人知的控制流實(shí)現(xiàn)技術(shù),但在架構(gòu)設(shè)計(jì)思維當(dāng)中,對(duì)于系 統(tǒng)軟件和嵌入式軟件極為重要的中斷服務(wù)程序也是控制流,這樣利于架構(gòu)師統(tǒng)一利 用不同控制流手段設(shè)計(jì)并行和并發(fā)。7.1 控制流組織內(nèi)容:控制流有哪些,每條控制流各是何種形式 (例如進(jìn)程、線程、中斷服務(wù)程序), 哪些軟件單元是控制流的起點(diǎn),整條控制流中分別調(diào)用了哪些軟件單元。意義:這是對(duì)系統(tǒng)運(yùn)行時(shí)結(jié)構(gòu)的刻畫,主要反映系統(tǒng)的動(dòng)態(tài)結(jié)構(gòu)。7.2 控制流的創(chuàng)建、銷毀、通信內(nèi)容:描述進(jìn)程、線程和中

22、斷服務(wù)程序的創(chuàng)建和銷毀,以及多條控制流之間的通信 關(guān)系的定義。意義:一旦引入了多條控制流,附加工作就產(chǎn)生了一一此時(shí)控制流的創(chuàng)建和銷毀、 以及控制流之間的通信關(guān)系往往是必須考慮的。7.3 加鎖設(shè)計(jì)內(nèi)容:系統(tǒng)中有多條控制流在同時(shí)運(yùn)行的情況下,一個(gè)經(jīng)典問題是多于一條控制流 可能會(huì)同時(shí)修改某些數(shù)據(jù)結(jié)構(gòu),而造成數(shù)據(jù)的不一致。為此,架構(gòu)師需要關(guān)注加鎖 設(shè)計(jì),合理引入臨界區(qū)或同步機(jī)制。意義:加鎖設(shè)計(jì)事關(guān)系統(tǒng)的正確性。值得注意的是,忽略加鎖設(shè)計(jì)造成的問題往往以“不易重現(xiàn)的 Bug ”的形式出現(xiàn),困惑的程序員會(huì)對(duì)測(cè)試人員說,“你看你報(bào)的Bug 在我機(jī)器上根本就不存在呀”。參考:對(duì)通用組件、通用模塊的設(shè)計(jì)而言,加

23、鎖設(shè)計(jì)應(yīng)予以專門關(guān)注,思維要點(diǎn)是研究未來通用模塊的各種可能使用場(chǎng)景。8.物理架構(gòu)視圖關(guān)注點(diǎn):此架構(gòu)設(shè)計(jì)視圖的關(guān)注點(diǎn)是物理節(jié)點(diǎn)(Node )分布,以及軟件到硬件的具體映射關(guān)系。注意:物理節(jié)點(diǎn)即可以是 PC 機(jī)或服務(wù)器,也可以是單片機(jī)、單板機(jī)或?qū)S脵C(jī),從而物理架構(gòu)視圖既適用于描述企業(yè)信息系統(tǒng),也適合于描述嵌入式軟件系統(tǒng)。8.1 物理拓?fù)鋬?nèi)容:一為硬件選型,二為硬件之間的拓?fù)溥B接關(guān)系。意義:對(duì)于分布式系統(tǒng)的設(shè)計(jì),此節(jié)極為重要、而且是必須的。參考:下圖是某企業(yè)級(jí)系統(tǒng)的物理拓?fù)鋱D。說明:本文檔模板由 CSAI 架構(gòu)設(shè)計(jì)專家組榮耀發(fā)布,詳細(xì)技術(shù)支持請(qǐng)?jiān)L問。參考:下圖是某嵌入式系統(tǒng)的物理拓?fù)鋱D。8.2 軟件到硬件的映射內(nèi)容:明確每個(gè)物理節(jié)點(diǎn)上有哪些 (一到多個(gè))軟件的目標(biāo)單元,并說明具體的“映 射方式”是安裝、是部署、還是燒寫、抑或是下載。意義:如果把此節(jié)漏了,就無法表明本文檔的主題一一軟件系統(tǒng)一一和上述硬件、硬件拓?fù)涞年P(guān)系。參考:下圖所示為設(shè)備調(diào)試系統(tǒng)中,軟件到硬件的映射關(guān)系。8.3 優(yōu)化部署內(nèi)容:為達(dá)降低成本、提高性能和可靠性等等目標(biāo),應(yīng)特別關(guān)注的部署考慮。意義:物理架構(gòu)設(shè)計(jì)的優(yōu)劣,造成的成本差異和質(zhì)量差異,可能

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論