《軟件體系結(jié)構(gòu)L》PPT課件.ppt

上傳人:za****8 文檔編號(hào):14472495 上傳時(shí)間:2020-07-21 格式:PPT 頁數(shù):54 大?。?.62MB
收藏 版權(quán)申訴 舉報(bào) 下載
《軟件體系結(jié)構(gòu)L》PPT課件.ppt_第1頁
第1頁 / 共54頁
《軟件體系結(jié)構(gòu)L》PPT課件.ppt_第2頁
第2頁 / 共54頁
《軟件體系結(jié)構(gòu)L》PPT課件.ppt_第3頁
第3頁 / 共54頁

下載文檔到電腦,查找使用更方便

14.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《軟件體系結(jié)構(gòu)L》PPT課件.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《《軟件體系結(jié)構(gòu)L》PPT課件.ppt(54頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、軟件體系結(jié)構(gòu),主講老師:周立新,2020年7月21日1時(shí)20分,1,教科書和參考書,教科書: 軟件架構(gòu)實(shí)踐(第2版),L.Bass.P.Clements.and R.Kazman, 車立紅譯,清華大學(xué)出版社(2004) 參考書: 軟件構(gòu)架編檔,Paul Clements, Felix Bachmann等著,朱崇高 譯,清華大學(xué)出版社(2004) 軟件體系結(jié)構(gòu)一門初露端倪學(xué)科的展望,;M.Shaw and D.Garlan, Prentice Hall, 1996清華大學(xué)出版社(1998),科學(xué)出版社(2003),2020年7月21日1時(shí)20分,2,2020年7月21日1時(shí)20分,3,2020年

2、7月21日1時(shí)20分,4,體系結(jié)構(gòu)(Architecture)的定義,IEEE的定義 體系結(jié)構(gòu)是以組件、組件之間的關(guān)系、組件與環(huán)境之間的關(guān)系為內(nèi)容的某一系統(tǒng)的基本組織結(jié)構(gòu)以及指導(dǎo)上述內(nèi)容設(shè)計(jì)與演化的原理。 對(duì)Software architecture的常見中文翻譯 軟件體系結(jié)構(gòu) 軟件架構(gòu) 軟件構(gòu)架,2020年7月21日1時(shí)20分,5,軟件體系結(jié)構(gòu)(構(gòu)架)研究的問題,結(jié)構(gòu)性問題 系統(tǒng)的組織,由哪些組件構(gòu)成 全局性的控制結(jié)構(gòu) 通訊、同步或訪問的協(xié)議 將功能分配到不同的系統(tǒng)組成部分 設(shè)計(jì)元素的組成 系統(tǒng)的物理分布 可擴(kuò)展性、性能,2020年7月21日1時(shí)20分,6,軟件構(gòu)架的主要內(nèi)容,軟件構(gòu)架的主要

3、內(nèi)容包括 對(duì)系統(tǒng)組成元素的描述 這些元素相互之間的交互 系統(tǒng)組成的模式 模式的約束 所以在軟件構(gòu)架中,系統(tǒng)以組件和組件之間的交互進(jìn)行定義。 當(dāng)前的系統(tǒng)同時(shí)可以作為更高層設(shè)計(jì)的一個(gè)系統(tǒng)組件。,2020年7月21日1時(shí)20分,7,軟件構(gòu)架的描述,對(duì)軟件系統(tǒng)而言,有一個(gè)合適的體系結(jié)構(gòu)是長(zhǎng)期成功的保證。 當(dāng)前對(duì)于軟件構(gòu)架的描述是 非正式的 因人而異 針對(duì)特定系統(tǒng)的 通常由框圖和線條以及相關(guān)的解釋所組成,2020年7月21日1時(shí)20分,8,一些典型的構(gòu)架描述,“Camlelot采用了C/S結(jié)構(gòu)并且使用遠(yuǎn)程方法調(diào)用(RPC)” ”系統(tǒng)設(shè)計(jì)中采用了抽象分層和模塊分解的方法“ ”我們采用了一種分布式的、面向?qū)?/p>

4、象的方法進(jìn)行信息管理?!?”將傳統(tǒng)的順序編譯器改造成并發(fā)編譯器的最簡(jiǎn)單的方法是將不同的編譯階段在多個(gè)處理上并發(fā)執(zhí)行?!?2020年7月21日1時(shí)20分,9,軟件設(shè)計(jì)的層次,軟件設(shè)計(jì)可以發(fā)生在多個(gè)不同的層次,在每一層我們都會(huì)發(fā)現(xiàn)相應(yīng)的組件以及由這些組件組成更大的組件的組合機(jī)制。 二進(jìn)制執(zhí)行文件層 位模式 代碼層 編程語言的原語、操作符; 記錄、數(shù)組、過程; 構(gòu)架層 模塊,2020年7月21日1時(shí)20分,10,,需求:做什么 概要設(shè)計(jì),總體,架構(gòu),:怎么做? 分模塊功能劃分,接口定義,模式, 詳細(xì)設(shè)計(jì):算法設(shè)計(jì),數(shù)據(jù)設(shè)計(jì) 實(shí)現(xiàn):編碼,測(cè)試,2020年7月21日1時(shí)20分,11,工程學(xué)科的演化,,

5、,手工制造,生產(chǎn),商業(yè)制造,科學(xué),專業(yè)工程,2020年7月21日1時(shí)20分,12,工程學(xué)科的演化(2),2020年7月21日1時(shí)20分,13,科學(xué)與工程的記錄周期,業(yè)界傳說 臨時(shí)解決方案 正式記錄 新問題 模型與理論 改進(jìn)的實(shí)踐,,,,,,,2020年7月21日1時(shí)20分,14,軟件工程的演化,,手工制造,生產(chǎn),科學(xué),專業(yè)工程,1965-70 算法、數(shù)據(jù),一些獨(dú)立的案例(算法、數(shù)據(jù)結(jié)構(gòu)、編譯器構(gòu)造,1980s軟件開發(fā)方法學(xué),,,,2020年7月21日1時(shí)20分,15,Software Archi

6、tecture in Practice第一章 構(gòu)架商業(yè)周期,2020年7月21日1時(shí)20分,16,構(gòu)架由什么決定?,構(gòu)架是否由系統(tǒng)需求決定? 將一份需求說明書給兩個(gè)不同的架構(gòu)師,他們是否能夠設(shè)計(jì)出同樣的架構(gòu)? 軟件構(gòu)架是技術(shù)、商業(yè)和社會(huì)等諸多因素共同作用的結(jié)果。,2020年7月21日1時(shí)20分,17,構(gòu)架從哪里來?,影響構(gòu)架的因素主要包括: 系統(tǒng)涉眾(stakeholder) 開發(fā)組織 構(gòu)架師的素質(zhì)和經(jīng)驗(yàn) 技術(shù)環(huán)境,2020年7月21日1時(shí)20分,18,2020年7月21日1時(shí)20分,19,系統(tǒng)涉眾(stakeholder),管理者:成本要低,人人都得干活 營(yíng)銷人員:特性突出、投放市場(chǎng)快、成本

7、低、可與同類產(chǎn)品匹敵 終端用戶:行為、性能、安全性、可靠性、易用性 維護(hù)人員:可修改性強(qiáng) 客戶:成本低、及時(shí)交付、不要頻繁修改 ,2020年7月21日1時(shí)20分,20,,2020年7月21日1時(shí)20分,21,,2020年7月21日1時(shí)20分,22,開發(fā)組織,除了通過需求表示的組織目標(biāo)外,構(gòu)架還受開發(fā)組織的結(jié)構(gòu)或本質(zhì)的影響 對(duì)現(xiàn)存構(gòu)架的重用 對(duì)某一個(gè)基礎(chǔ)設(shè)施進(jìn)行長(zhǎng)期的商業(yè)投資以實(shí)現(xiàn)某些戰(zhàn)略目標(biāo) 開發(fā)組織本身的結(jié)構(gòu)也會(huì)影響構(gòu)架的形成,2020年7月21日1時(shí)20分,23,構(gòu)架師的素質(zhì)和經(jīng)驗(yàn),構(gòu)架師先前的一些經(jīng)驗(yàn)、教育、培訓(xùn)以及所接觸到過的成功構(gòu)架模式都會(huì)影響到他們對(duì)某種構(gòu)架的選擇。,2020年7月

8、21日1時(shí)20分,24,,17世紀(jì)上半葉,北歐新教勢(shì)力與中歐天主教勢(shì)力發(fā)生了一場(chǎng)“三十年戰(zhàn)爭(zhēng)”,作為北歐新教勢(shì)力的代表,瑞典的軍事力量達(dá)到鼎盛時(shí)期。1625年,號(hào)稱“北方颶風(fēng)”的瑞典國(guó)王古斯塔夫斯阿道弗斯(Gustavs Adolphus)決心建造一艘史無前例的巨型新戰(zhàn)艦瓦薩(Vasa)戰(zhàn)艦。瓦薩戰(zhàn)艦確實(shí)是一艘令人望而生畏的戰(zhàn)艦:艦長(zhǎng)70米,載員300人,在三層的甲板上共裝有64門重炮,火力之強(qiáng)讓人難以置信。,2020年7月21日1時(shí)20分,25,,1628年8月10日,這艘巨大的戰(zhàn)艦終于完工。在斯德哥爾摩,瓦薩戰(zhàn)艦舉行了盛大的下水典禮。禮炮聲中,戰(zhàn)艦揚(yáng)帆起航,乘風(fēng)前進(jìn)。在1萬多名圍觀者的目光

9、注視下,忽然,瓦薩號(hào)奇怪地?fù)u晃了一下,便向左舷傾斜。海水從炮孔處涌入船艙,戰(zhàn)艦迅速翻入水中,幾分鐘后,這艘雄偉戰(zhàn)艦的處女航也是唯一的一次航行結(jié)束了。瓦薩戰(zhàn)艦在它壯麗的起航時(shí)刻,帶著全身飄揚(yáng)的彩旗,沉沒于它誕生的港口。,2020年7月21日1時(shí)20分,26,,人們對(duì)瓦薩的沉沒做出了各種各樣的分析,最后的主要結(jié)論是:該艦制造工藝精良,但“比例嚴(yán)重失調(diào)”,也就是說,該戰(zhàn)艦的架構(gòu)存在缺陷。瓦薩的沉沒早已成為往事。然而,300多年后的今天,在企業(yè)信息系統(tǒng)領(lǐng)域,類似“瓦薩”這樣的故事卻比比皆是。處在工業(yè)高度發(fā)達(dá)的今天,在機(jī)械、電子、建筑、車船制造等各個(gè)領(lǐng)域,作為學(xué)科和工業(yè)的基石“架構(gòu)體系”早已形成完整的理

10、論和方法體系,但是,與這些成熟的工業(yè)領(lǐng)域相比,與企業(yè)信息系統(tǒng)相關(guān)的架構(gòu)體系,幾乎還處在原始和蒙昧的狀態(tài)。,2020年7月21日1時(shí)20分,27,理解架構(gòu):瓦薩戰(zhàn)艦的故事,1625年,瑞典國(guó)王古斯塔夫斯阿道弗斯(Gustavs Adolphus)決心建造一艘史無前例的巨型新戰(zhàn)艦 瓦薩(Vasa)戰(zhàn)艦。 瓦薩戰(zhàn)艦確實(shí)是一艘令人望而生畏的戰(zhàn)艦:艦長(zhǎng)70米,載員300人,在三層的甲板上共裝有64門重炮,火力超強(qiáng)。,2020年7月21日1時(shí)20分,28,瓦薩戰(zhàn)艦的處女航,1628年8月10日,這艘巨大的戰(zhàn)艦終于完工。在斯德哥爾摩的王宮前,瓦薩戰(zhàn)艦舉行了盛大的下水典禮。 在1萬多名圍觀者的目光注視下,忽

11、然,瓦薩號(hào)奇怪地?fù)u晃了一下,便向左舷傾斜。海水涌入船艙,戰(zhàn)艦迅速翻入水中。幾分鐘后,這艘雄偉戰(zhàn)艦的處女航也是唯一的一次航行結(jié)束了。瓦薩戰(zhàn)艦在它壯麗的起航時(shí)刻,帶著全身飄揚(yáng)的彩旗,沉沒于它誕生的港口。,2020年7月21日1時(shí)20分,29,瓦薩戰(zhàn)艦為什么沉沒?,人們對(duì)瓦薩的沉沒做出了分析,最后的主要結(jié)論是: 該艦制造工藝精良,但“比例嚴(yán)重失調(diào)”,也就是說,該戰(zhàn)艦的架構(gòu)存在缺陷。,2020年7月21日1時(shí)20分,30,信息系統(tǒng)的“瓦薩”問題,同樣,在今天的企事業(yè)信息系統(tǒng)領(lǐng)域,“瓦薩”問題“架構(gòu)”成為需要解決的關(guān)鍵問題。,2020年7月21日1時(shí)20分,31,,2020年7月21日1時(shí)20分,32,

12、技術(shù)環(huán)境,技術(shù)環(huán)境可以看作是對(duì)構(gòu)架師素質(zhì)和經(jīng)驗(yàn)的特殊反映 代表某個(gè)時(shí)代的構(gòu)架師的普遍素質(zhì)和經(jīng)驗(yàn) 比如:在當(dāng)今的技術(shù)環(huán)境下,如果構(gòu)架師對(duì)信息系統(tǒng)的設(shè)計(jì)不考慮使用基于WEB的,面向?qū)ο蟮暮椭С种虚g件的方法是很難想像的,2020年7月21日1時(shí)20分,33,2020年7月21日1時(shí)20分,34,構(gòu)架所受的影響,,,,,,,,,,,,構(gòu)架師所受的影響,涉眾,開發(fā)組織,需求(質(zhì)量屬性),構(gòu)架師(小組),構(gòu)架,系統(tǒng),構(gòu)架師的經(jīng)驗(yàn),2020年7月21日1時(shí)20分,35,構(gòu)架商業(yè)周期(ABC),,,,,,,,,,,,構(gòu)架師所受的影響,涉眾,開發(fā)組織,需求(質(zhì)量屬性),構(gòu)架師(小組),構(gòu)架,系統(tǒng),構(gòu)架師的經(jīng)驗(yàn),

13、2020年7月21日1時(shí)20分,36,ABC構(gòu)架的反影響力,構(gòu)架會(huì)影響開發(fā)組織的結(jié)構(gòu) 構(gòu)架會(huì)影響開發(fā)組織的目標(biāo) 構(gòu)架會(huì)影響客戶對(duì)一個(gè)系統(tǒng)的要求 構(gòu)建系統(tǒng)的過程豐富了整個(gè)開發(fā)團(tuán)隊(duì)的經(jīng)驗(yàn),從而將影響設(shè)計(jì)師對(duì)后繼系統(tǒng)的設(shè)計(jì) 一些系統(tǒng)會(huì)影響并實(shí)際改變軟件工程的環(huán)境,也就是系統(tǒng)開發(fā)人員學(xué)習(xí)或?qū)嵺`的技術(shù)環(huán)境,2020年7月21日1時(shí)20分,37,2020年7月21日1時(shí)20分,38,2020年7月21日1時(shí)20分,39,2020年7月21日1時(shí)20分,40,Data Banker,2020年7月21日1時(shí)20分,41,2020年7月21日1時(shí)20分,42,第二章 什么是軟件構(gòu)架,,2020年7月21日1時(shí)

14、20分,43,構(gòu)架概念的澄清,控制處理(CP),特征損失模型 (MODP),回響模型 (MODR),噪音模型 (MODN),,,,,,這是一個(gè)構(gòu)架(描述)嗎?,水下聲學(xué)模擬系統(tǒng),2020年7月21日1時(shí)20分,44,構(gòu)架定義,Len Bass, Paul Clements等人對(duì)構(gòu)架所做的定義: 某一個(gè)軟件或計(jì)算系統(tǒng)的軟件構(gòu)架是該系統(tǒng)的一個(gè)或多個(gè)結(jié)構(gòu),它由軟件元素、這些元素的外觀可見屬性以及這些元素之間的關(guān)系組成。,2020年7月21日1時(shí)20分,45,構(gòu)架含義(1),1.構(gòu)架定義了 軟件元素 構(gòu)架必須省略元素中與其交互無關(guān)的某些信息 接口VS.內(nèi)部實(shí)現(xiàn) 2.系統(tǒng)可能而且確實(shí)由多個(gè)結(jié)構(gòu)組成 其中

15、任何一個(gè)結(jié)構(gòu)并不能與構(gòu)架等同 結(jié)構(gòu)的多重性是理解軟件構(gòu)架的關(guān)鍵,2020年7月21日1時(shí)20分,46,構(gòu)架的含義(2),3.具有軟件的每個(gè)計(jì)算系統(tǒng)都有一個(gè)軟件構(gòu)架 每個(gè)軟件系統(tǒng)都可以看成由若干個(gè)元素及其相互聯(lián)系構(gòu)成 系統(tǒng)構(gòu)架VS.構(gòu)架描述 4.如果某個(gè)元素的行為可以從其它元素的角度觀察到,這個(gè)元素的行為就是構(gòu)架的內(nèi)容 這種行為使各元素的交互成為可能,是構(gòu)架的一部分 5.構(gòu)架的存在與構(gòu)架的優(yōu)劣無關(guān),2020年7月21日1時(shí)20分,47,構(gòu)架的其他定義,構(gòu)架是一種高層設(shè)計(jì) 構(gòu)架是系統(tǒng)的總體結(jié)構(gòu) 構(gòu)架是以組件、組件之間的關(guān)系、組件與環(huán)境之間的關(guān)系為內(nèi)容的某一系統(tǒng)的基本組織結(jié)構(gòu)以及指導(dǎo)上述內(nèi)容設(shè)計(jì)與演

16、化的原理 構(gòu)架是組件和連接器,2020年7月21日1時(shí)20分,48,構(gòu)架模式、參考模型和參考構(gòu)架,構(gòu)架模式是對(duì)元素和關(guān)系類型以及一組對(duì)其使用方式的限制的描述 參考模型是一種考慮數(shù)據(jù)流的功能劃分 參考架構(gòu)是映射到軟件元素(它們相互使用,共同實(shí)現(xiàn)在參考模型中的定義的功能)及元素之間數(shù)據(jù)流上的參考模型 (這些都是理解架構(gòu)中的元素的一些有用的概念),2020年7月21日1時(shí)20分,49,2020年7月21日1時(shí)20分,50,構(gòu)架模式、參考模型和參考構(gòu)架的關(guān)系,參考模型,構(gòu)架模式,參考構(gòu)架,軟件構(gòu)架,,,,2020年7月21日1時(shí)20分,51,軟件構(gòu)架的作用,涉眾之間的交流 代碼級(jí)別的系統(tǒng)抽象程序員的交

17、流工具 構(gòu)架級(jí)別的系統(tǒng)的抽象包括程序員在內(nèi)的絕大多數(shù)系統(tǒng)涉眾都借助軟件體系結(jié)構(gòu)來進(jìn)行彼此理解、協(xié)商、達(dá)成共識(shí)或者相互溝通的基礎(chǔ)。 系統(tǒng)設(shè)計(jì)的前期決策 軟件構(gòu)架是我們所開發(fā)的軟件系統(tǒng)最早期設(shè)計(jì)決策的體現(xiàn),它們對(duì)軟件系統(tǒng)的后續(xù)開發(fā)、部署和維護(hù)具有相當(dāng)重要的影響。 構(gòu)架設(shè)計(jì)是能夠?qū)λ_發(fā)系統(tǒng)進(jìn)行分析的最早時(shí)間點(diǎn)。 可傳遞的系統(tǒng)級(jí)抽象 軟件構(gòu)架是關(guān)于系統(tǒng)構(gòu)造以及系統(tǒng)各個(gè)元素工作機(jī)制的相對(duì)較小、卻又能夠突出反映問題的模型。 這種模型可以在多個(gè)系統(tǒng)之間傳遞,特別是可以應(yīng)用到具有相似質(zhì)量屬性和功能需求的系統(tǒng)中,并能夠促進(jìn)大規(guī)模軟件的系統(tǒng)級(jí)復(fù)用。,2020年7月21日1時(shí)20分,52,2. What is Software Architecture,ANSI/IEEE Std 1471-2000, Recommended Practice for Architectural Description,2020年7月21日1時(shí)20分,53,Architecture metamodel,,2020年7月21日1時(shí)20分,54,

展開閱讀全文
溫馨提示:
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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!