《軟件體系結(jié)構(gòu)L》PPT課件.ppt
《《軟件體系結(jié)構(gòu)L》PPT課件.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《《軟件體系結(jié)構(gòu)L》PPT課件.ppt(54頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、軟件體系結(jié)構(gòu),主講老師:周立新,2020年7月21日1時(shí)20分,1,教科書(shū)和參考書(shū),教科書(shū): 軟件架構(gòu)實(shí)踐(第2版),L.Bass.P.Clements.and R.Kazman, 車立紅譯,清華大學(xué)出版社(2004) 參考書(shū): 軟件構(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àn)中文翻譯 軟件體系結(jié)構(gòu) 軟件架構(gòu) 軟件構(gòu)架,2020年7月21日1時(shí)20分,5,軟件體系結(jié)構(gòu)(構(gòu)架)研究的問(wèn)題,結(jié)構(gòu)性問(wèn)題 系統(tǒng)的組織,由哪些組件構(gòu)成 全局性的控制結(jié)構(gòu) 通訊、同步或訪問(wèn)的協(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í)行文件層 位模式 代碼層 編程語(yǔ)言的原語(yǔ)、操作符; 記錄、數(shù)組、過(guò)程; 構(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è)界傳說(shuō) 臨時(shí)解決方案 正式記錄 新問(wèn)題 模型與理論 改進(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軟件開(kāi)發(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)需求決定? 將一份需求說(shuō)明書(shū)給兩個(gè)不同的架構(gòu)師,他們是否能夠設(shè)計(jì)出同樣的架構(gòu)? 軟件構(gòu)架是技術(shù)、商業(yè)和社會(huì)等諸多因素共同作用的結(jié)果。,2020年7月21日1時(shí)20分,17,構(gòu)架從哪里來(lái)?,影響構(gòu)架的因素主要包括: 系統(tǒng)涉眾(stakeholder) 開(kāi)發(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,開(kāi)發(fā)組織,除了通過(guò)需求表示的組織目標(biāo)外,構(gòu)架還受開(kāi)發(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) 開(kāi)發(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)以及所接觸到過(guò)的成功構(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)決心建造一艘史無(wú)前例的巨型新戰(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萬(wàn)多名圍觀者的目光
9、注視下,忽然,瓦薩號(hào)奇怪地?fù)u晃了一下,便向左舷傾斜。海水從炮孔處涌入船艙,戰(zhàn)艦迅速翻入水中,幾分鐘后,這艘雄偉戰(zhàn)艦的處女航也是唯一的一次航行結(jié)束了。瓦薩戰(zhàn)艦在它壯麗的起航時(shí)刻,帶著全身飄揚(yáng)的彩旗,沉沒(méi)于它誕生的港口。,2020年7月21日1時(shí)20分,26,,人們對(duì)瓦薩的沉沒(méi)做出了各種各樣的分析,最后的主要結(jié)論是:該艦制造工藝精良,但“比例嚴(yán)重失調(diào)”,也就是說(shuō),該戰(zhàn)艦的架構(gòu)存在缺陷。瓦薩的沉沒(méi)早已成為往事。然而,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)決心建造一艘史無(wú)前例的巨型新戰(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萬(wàn)多名圍觀者的目光注視下,忽
11、然,瓦薩號(hào)奇怪地?fù)u晃了一下,便向左舷傾斜。海水涌入船艙,戰(zhàn)艦迅速翻入水中。幾分鐘后,這艘雄偉戰(zhàn)艦的處女航也是唯一的一次航行結(jié)束了。瓦薩戰(zhàn)艦在它壯麗的起航時(shí)刻,帶著全身飄揚(yáng)的彩旗,沉沒(méi)于它誕生的港口。,2020年7月21日1時(shí)20分,29,瓦薩戰(zhàn)艦為什么沉沒(méi)?,人們對(duì)瓦薩的沉沒(méi)做出了分析,最后的主要結(jié)論是: 該艦制造工藝精良,但“比例嚴(yán)重失調(diào)”,也就是說(shuō),該戰(zhàn)艦的架構(gòu)存在缺陷。,2020年7月21日1時(shí)20分,30,信息系統(tǒng)的“瓦薩”問(wèn)題,同樣,在今天的企事業(yè)信息系統(tǒng)領(lǐng)域,“瓦薩”問(wèn)題“架構(gòu)”成為需要解決的關(guān)鍵問(wè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)架師所受的影響,涉眾,開(kāi)發(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)架師所受的影響,涉眾,開(kāi)發(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ì)影響開(kāi)發(fā)組織的結(jié)構(gòu) 構(gòu)架會(huì)影響開(kāi)發(fā)組織的目標(biāo) 構(gòu)架會(huì)影響客戶對(duì)一個(gè)系統(tǒng)的要求 構(gòu)建系統(tǒng)的過(guò)程豐富了整個(gè)開(kāi)發(fā)團(tuán)隊(duì)的經(jīng)驗(yàn),從而將影響設(shè)計(jì)師對(duì)后繼系統(tǒng)的設(shè)計(jì) 一些系統(tǒng)會(huì)影響并實(shí)際改變軟件工程的環(huán)境,也就是系統(tǒng)開(kāi)發(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),它由軟件元素、這些元素的外觀可見(jiàn)屬性以及這些元素之間的關(guān)系組成。,2020年7月21日1時(shí)20分,45,構(gòu)架含義(1),1.構(gòu)架定義了 軟件元素 構(gòu)架必須省略元素中與其交互無(wú)關(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)劣無(wú)關(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)來(lái)進(jìn)行彼此理解、協(xié)商、達(dá)成共識(shí)或者相互溝通的基礎(chǔ)。 系統(tǒng)設(shè)計(jì)的前期決策 軟件構(gòu)架是我們所開(kāi)發(fā)的軟件系統(tǒng)最早期設(shè)計(jì)決策的體現(xiàn),它們對(duì)軟件系統(tǒng)的后續(xù)開(kāi)發(fā)、部署和維護(hù)具有相當(dāng)重要的影響。 構(gòu)架設(shè)計(jì)是能夠?qū)λ_(kāi)發(fā)系統(tǒng)進(jìn)行分析的最早時(shí)間點(diǎn)。 可傳遞的系統(tǒng)級(jí)抽象 軟件構(gòu)架是關(guān)于系統(tǒng)構(gòu)造以及系統(tǒng)各個(gè)元素工作機(jī)制的相對(duì)較小、卻又能夠突出反映問(wèn)題的模型。 這種模型可以在多個(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: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 銷售技巧培訓(xùn)課件:接近客戶的套路總結(jié)
- 20種成交的銷售話術(shù)和技巧
- 銷售技巧:接近客戶的8種套路
- 銷售套路總結(jié)
- 房產(chǎn)銷售中的常見(jiàn)問(wèn)題及解決方法
- 銷售技巧:值得默念的成交話術(shù)
- 銷售資料:讓人舒服的35種說(shuō)話方式
- 汽車銷售績(jī)效管理規(guī)范
- 銷售技巧培訓(xùn)課件:絕對(duì)成交的銷售話術(shù)
- 頂尖銷售技巧總結(jié)
- 銷售技巧:電話營(yíng)銷十大定律
- 銷售逼單最好的二十三種技巧
- 銷售最常遇到的10大麻煩
- 銷售資料:銷售10大黃金觀念
- 銷售資料:導(dǎo)購(gòu)常用的搭訕?lè)椒?/a>