版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu) 江江 賀賀2課程簡(jiǎn)介課程簡(jiǎn)介l期末總評(píng)期末總評(píng) = 考試成績(jī)考試成績(jī)70%+報(bào)告報(bào)告30%3參考書(shū)目參考書(shū)目l馮沖馮沖 江賀等江賀等 軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)理論與實(shí)踐理論與實(shí)踐.人民郵電人民郵電出版社出版社l張友生張友生.軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu).清華大學(xué)出版社清華大學(xué)出版社4軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu) 第第 1 講:講: 軟件體系結(jié)構(gòu)的引入軟件體系結(jié)構(gòu)的引入江賀江賀5內(nèi)容摘要內(nèi)容摘要l緣起l基于軟件體系結(jié)構(gòu)的開(kāi)發(fā)l軟件體系結(jié)構(gòu)的發(fā)展階段l軟件體系結(jié)構(gòu)定義l軟件體系結(jié)構(gòu)的主要研究?jī)?nèi)容l軟件體系結(jié)構(gòu)的意義6緣起緣起l軟件開(kāi)發(fā)過(guò)程問(wèn)題問(wèn)題定義定義需求需求分析分析軟件軟件
2、設(shè)計(jì)設(shè)計(jì)軟件軟件編碼編碼軟件軟件測(cè)試測(cè)試維護(hù)維護(hù)升級(jí)升級(jí)用戶用戶系統(tǒng)分析員系統(tǒng)分析員程序員程序員測(cè)試人員測(cè)試人員用服人員用服人員7緣起緣起l系統(tǒng)分析員系統(tǒng)分析員是連接用戶與程序開(kāi)發(fā)人員的紐帶,在軟件開(kāi)發(fā)過(guò)程中起著關(guān)鍵性作用。責(zé)任大:責(zé)任大:軟件系統(tǒng)的成功是所有人員的功能,但是一軟件系統(tǒng)的成功是所有人員的功能,但是一個(gè)軟件的失敗往往是系統(tǒng)分析員的錯(cuò)誤。個(gè)軟件的失敗往往是系統(tǒng)分析員的錯(cuò)誤。薪水高:薪水高:系統(tǒng)分析員的收入通常是程序員的系統(tǒng)分析員的收入通常是程序員的25倍。倍。要求高:要求高:系統(tǒng)分析員必須具備良好的溝通能力、極強(qiáng)系統(tǒng)分析員必須具備良好的溝通能力、極強(qiáng)的概括能力、對(duì)于技術(shù)的把握能力。
3、的概括能力、對(duì)于技術(shù)的把握能力。8緣起緣起l系統(tǒng)分析員面臨的困境交流的困難:交流的困難:用戶、軟件開(kāi)發(fā)人員、系統(tǒng)分析員之間。軟件復(fù)用的困難:軟件復(fù)用的困難:大量的重復(fù)勞動(dòng),現(xiàn)有經(jīng)驗(yàn)的積累難以直接改進(jìn)新的系統(tǒng)設(shè)計(jì)。軟件系統(tǒng)升級(jí)、維護(hù)的困難:軟件系統(tǒng)升級(jí)、維護(hù)的困難:6080%的軟件開(kāi)發(fā)成本是在軟件初次投入以后產(chǎn)生的。9緣起緣起l解決之道軟件體系結(jié)構(gòu)它是為了解決軟件危機(jī)而應(yīng)運(yùn)而生。它是為了解決軟件危機(jī)而應(yīng)運(yùn)而生。它是軟件工程學(xué)科的新分支,是一門(mén)初露端倪的它是軟件工程學(xué)科的新分支,是一門(mén)初露端倪的新學(xué)科。新學(xué)科。它是現(xiàn)有的各種經(jīng)驗(yàn)知識(shí)的累積。它是現(xiàn)有的各種經(jīng)驗(yàn)知識(shí)的累積。它的發(fā)展史就是軟件的發(fā)展史,
4、是循序漸進(jìn)的。它的發(fā)展史就是軟件的發(fā)展史,是循序漸進(jìn)的。10緣起緣起l新的軟件開(kāi)發(fā)過(guò)程問(wèn)題問(wèn)題定義定義需求需求分析分析軟件軟件設(shè)計(jì)設(shè)計(jì)軟件軟件編碼編碼軟件軟件測(cè)試測(cè)試維護(hù)維護(hù)升級(jí)升級(jí)體系結(jié)體系結(jié)構(gòu)設(shè)計(jì)構(gòu)設(shè)計(jì)11基于軟件體系結(jié)構(gòu)的開(kāi)發(fā)基于軟件體系結(jié)構(gòu)的開(kāi)發(fā)需求分析需求分析體系結(jié)構(gòu)的非體系結(jié)構(gòu)的非形式化描述形式化描述體系結(jié)構(gòu)的規(guī)范體系結(jié)構(gòu)的規(guī)范描述描述求精否?求精否?體系結(jié)構(gòu)的求精體系結(jié)構(gòu)的求精yes體系結(jié)構(gòu)的驗(yàn)證體系結(jié)構(gòu)的驗(yàn)證no體系結(jié)構(gòu)的實(shí)施體系結(jié)構(gòu)的實(shí)施演化否?演化否?體系結(jié)構(gòu)的終結(jié)體系結(jié)構(gòu)的終結(jié)體系結(jié)構(gòu)的提供、體系結(jié)構(gòu)的提供、評(píng)價(jià)及度量評(píng)價(jià)及度量no體系結(jié)構(gòu)的體系結(jié)構(gòu)的性質(zhì)分析性質(zhì)分析ye
5、s體系結(jié)構(gòu)的演化體系結(jié)構(gòu)的演化軟件升級(jí)軟件升級(jí)軟件設(shè)計(jì)軟件設(shè)計(jì)軟件編碼軟件編碼軟件測(cè)試軟件測(cè)試12基于軟件體系結(jié)構(gòu)的開(kāi)發(fā)基于軟件體系結(jié)構(gòu)的開(kāi)發(fā)l軟件體系結(jié)構(gòu)的生命周期體系結(jié)構(gòu)的非形式化描述體系結(jié)構(gòu)的非形式化描述體系結(jié)構(gòu)的規(guī)范描述和分析體系結(jié)構(gòu)的規(guī)范描述和分析體系結(jié)構(gòu)的求精及其驗(yàn)證體系結(jié)構(gòu)的求精及其驗(yàn)證體系結(jié)構(gòu)的實(shí)施體系結(jié)構(gòu)的實(shí)施體系結(jié)構(gòu)的演化和擴(kuò)展體系結(jié)構(gòu)的演化和擴(kuò)展體系結(jié)構(gòu)的提供、評(píng)價(jià)和度量體系結(jié)構(gòu)的提供、評(píng)價(jià)和度量體系機(jī)構(gòu)的終結(jié)體系機(jī)構(gòu)的終結(jié)13基于軟件體系結(jié)構(gòu)的開(kāi)發(fā)基于軟件體系結(jié)構(gòu)的開(kāi)發(fā)l生命周期之一:體系結(jié)構(gòu)的非形式化描述體系結(jié)構(gòu)的非形式化描述通常使用自然語(yǔ)言描述概念和原則通常使用自然
6、語(yǔ)言描述概念和原則該階段是創(chuàng)造性和開(kāi)拓性的該階段是創(chuàng)造性和開(kāi)拓性的需要與軟件用戶進(jìn)行不斷的交互需要與軟件用戶進(jìn)行不斷的交互14基于軟件體系結(jié)構(gòu)的開(kāi)發(fā)基于軟件體系結(jié)構(gòu)的開(kāi)發(fā)l生命周期之二:體系結(jié)構(gòu)的規(guī)范描述和分析體系結(jié)構(gòu)的規(guī)范描述和分析運(yùn)用合適的形式化理論對(duì)上一階段的非形式化描運(yùn)用合適的形式化理論對(duì)上一階段的非形式化描述進(jìn)行規(guī)范定義述進(jìn)行規(guī)范定義要求做到:無(wú)歧義、無(wú)死鎖、安全性、靈活性等要求做到:無(wú)歧義、無(wú)死鎖、安全性、靈活性等15基于軟件體系結(jié)構(gòu)的開(kāi)發(fā)基于軟件體系結(jié)構(gòu)的開(kāi)發(fā)l生命周期之三:體系結(jié)構(gòu)的求精及其驗(yàn)證體系結(jié)構(gòu)的求精及其驗(yàn)證大型復(fù)雜軟件的體系結(jié)構(gòu)設(shè)計(jì)總是從抽象到具體大型復(fù)雜軟件的體系結(jié)
7、構(gòu)設(shè)計(jì)總是從抽象到具體的過(guò)程,需要逐步細(xì)化、求精的過(guò)程,需要逐步細(xì)化、求精求精過(guò)程中需要不斷的驗(yàn)證,以判斷所得具體體求精過(guò)程中需要不斷的驗(yàn)證,以判斷所得具體體系結(jié)構(gòu)與求精前的體系結(jié)構(gòu)是否語(yǔ)義一致系結(jié)構(gòu)與求精前的體系結(jié)構(gòu)是否語(yǔ)義一致16基于軟件體系結(jié)構(gòu)的開(kāi)發(fā)基于軟件體系結(jié)構(gòu)的開(kāi)發(fā)l生命周期之四:體系結(jié)構(gòu)的實(shí)施體系結(jié)構(gòu)的實(shí)施將求精后的體系結(jié)構(gòu)用于系統(tǒng)的設(shè)計(jì)中,將軟件將求精后的體系結(jié)構(gòu)用于系統(tǒng)的設(shè)計(jì)中,將軟件中的構(gòu)件(中的構(gòu)件(component)與連接件)與連接件(connector)有有機(jī)組合,獲得系統(tǒng)設(shè)計(jì)的總體框架。機(jī)組合,獲得系統(tǒng)設(shè)計(jì)的總體框架。17基于軟件體系結(jié)構(gòu)的開(kāi)發(fā)基于軟件體系結(jié)構(gòu)的開(kāi)
8、發(fā)l生命周期之五:體系結(jié)構(gòu)的演化和擴(kuò)展體系結(jié)構(gòu)的演化和擴(kuò)展軟件在使用過(guò)程中,用戶可能提出新的非功能性軟件在使用過(guò)程中,用戶可能提出新的非功能性需求,如性能、容錯(cuò)、安全性、互操作性、自適需求,如性能、容錯(cuò)、安全性、互操作性、自適應(yīng)性等。應(yīng)性等。由于軟件的需求的增加和改變而導(dǎo)致的軟件體系由于軟件的需求的增加和改變而導(dǎo)致的軟件體系結(jié)構(gòu)的改動(dòng),稱為演化和擴(kuò)展。結(jié)構(gòu)的改動(dòng),稱為演化和擴(kuò)展。18基于軟件體系結(jié)構(gòu)的開(kāi)發(fā)基于軟件體系結(jié)構(gòu)的開(kāi)發(fā)l生命周期之六:體系結(jié)構(gòu)的提供、評(píng)價(jià)和度量體系結(jié)構(gòu)的提供、評(píng)價(jià)和度量在軟件體系結(jié)構(gòu)用于系統(tǒng)設(shè)計(jì)之后,根據(jù)系統(tǒng)實(shí)際在軟件體系結(jié)構(gòu)用于系統(tǒng)設(shè)計(jì)之后,根據(jù)系統(tǒng)實(shí)際的運(yùn)行情況,對(duì)
9、軟件體系結(jié)構(gòu)展開(kāi)的定性評(píng)價(jià)和定的運(yùn)行情況,對(duì)軟件體系結(jié)構(gòu)展開(kāi)的定性評(píng)價(jià)和定量的度量,有利于軟件體系結(jié)構(gòu)的重用(包括設(shè)計(jì)量的度量,有利于軟件體系結(jié)構(gòu)的重用(包括設(shè)計(jì)重用和構(gòu)件重用)和知識(shí)積累。重用和構(gòu)件重用)和知識(shí)積累。19基于軟件體系結(jié)構(gòu)的開(kāi)發(fā)基于軟件體系結(jié)構(gòu)的開(kāi)發(fā)l生命周期之七:體系機(jī)構(gòu)的終結(jié)體系機(jī)構(gòu)的終結(jié)經(jīng)過(guò)多次演化和修改后的體系結(jié)構(gòu),容易變得難經(jīng)過(guò)多次演化和修改后的體系結(jié)構(gòu),容易變得難以維護(hù)和理解,難以達(dá)到系統(tǒng)設(shè)計(jì)的要求,此時(shí)以維護(hù)和理解,難以達(dá)到系統(tǒng)設(shè)計(jì)的要求,此時(shí)該體系結(jié)構(gòu)就應(yīng)該被拋棄,重新構(gòu)造新的體系結(jié)該體系結(jié)構(gòu)就應(yīng)該被拋棄,重新構(gòu)造新的體系結(jié)構(gòu),這一過(guò)程稱為構(gòu),這一過(guò)程稱為 。2
10、0軟件體系結(jié)構(gòu)的發(fā)展階段軟件體系結(jié)構(gòu)的發(fā)展階段l“無(wú)體系結(jié)構(gòu)”設(shè)計(jì)階段l萌芽階段l初級(jí)階段l高級(jí)階段21軟件體系結(jié)構(gòu)的發(fā)展階段軟件體系結(jié)構(gòu)的發(fā)展階段l“無(wú)體系結(jié)構(gòu)”設(shè)計(jì)階段( 1946年年ENIAC計(jì)算計(jì)算機(jī)問(wèn)世機(jī)問(wèn)世ALGOL68誕生前誕生前)軟件開(kāi)發(fā)以匯編語(yǔ)言為主,編程是少數(shù)軟件開(kāi)發(fā)以匯編語(yǔ)言為主,編程是少數(shù)“科學(xué)家科學(xué)家”的游戲的游戲軟件應(yīng)用以軍用和科學(xué)計(jì)算為主軟件應(yīng)用以軍用和科學(xué)計(jì)算為主軟件規(guī)模小,很少明確考慮系統(tǒng)結(jié)構(gòu)軟件規(guī)模小,很少明確考慮系統(tǒng)結(jié)構(gòu)22軟件體系結(jié)構(gòu)的發(fā)展階段軟件體系結(jié)構(gòu)的發(fā)展階段l萌芽階段(19701980年)提出了結(jié)構(gòu)化編程的思想提出了結(jié)構(gòu)化編程的思想“軟件工程軟件
11、工程” 的思想被廣泛應(yīng)用的思想被廣泛應(yīng)用出現(xiàn)了一批結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,包括出現(xiàn)了一批結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,包括PASCAL、Ada 語(yǔ)言等語(yǔ)言等軟件體系結(jié)構(gòu)已經(jīng)成為系統(tǒng)開(kāi)發(fā)中的一個(gè)明確概念軟件體系結(jié)構(gòu)已經(jīng)成為系統(tǒng)開(kāi)發(fā)中的一個(gè)明確概念23軟件體系結(jié)構(gòu)的發(fā)展階段軟件體系結(jié)構(gòu)的發(fā)展階段l萌芽階段優(yōu)點(diǎn):優(yōu)點(diǎn):軟件應(yīng)用走向商用、民用軟件應(yīng)用走向商用、民用軟件規(guī)模達(dá)到數(shù)萬(wàn)行、數(shù)十萬(wàn)行軟件規(guī)模達(dá)到數(shù)萬(wàn)行、數(shù)十萬(wàn)行軟件開(kāi)發(fā)成為一種職業(yè),誕生了程序員這一群體軟件開(kāi)發(fā)成為一種職業(yè),誕生了程序員這一群體24軟件體系結(jié)構(gòu)的發(fā)展階段軟件體系結(jié)構(gòu)的發(fā)展階段l萌芽階段困境:困境:硬件像一匹越來(lái)越快的馬,而軟件則是一個(gè)越來(lái)越硬
12、件像一匹越來(lái)越快的馬,而軟件則是一個(gè)越來(lái)越胖的人,硬件與軟件之間的鴻溝依然存在,且愈發(fā)胖的人,硬件與軟件之間的鴻溝依然存在,且愈發(fā)嚴(yán)重嚴(yán)重軟件規(guī)模擴(kuò)大導(dǎo)致軟件質(zhì)量的下降軟件規(guī)模擴(kuò)大導(dǎo)致軟件質(zhì)量的下降大量的重復(fù)勞動(dòng),軟件重用任重道遠(yuǎn)大量的重復(fù)勞動(dòng),軟件重用任重道遠(yuǎn)25軟件體系結(jié)構(gòu)的發(fā)展階段軟件體系結(jié)構(gòu)的發(fā)展階段l初級(jí)階段(80年代初90年代初)面向?qū)ο蠹夹g(shù)的提出,出現(xiàn)數(shù)十種支持軟件開(kāi)發(fā)的面向?qū)ο蠹夹g(shù)的提出,出現(xiàn)數(shù)十種支持軟件開(kāi)發(fā)的面向?qū)ο蠓椒?,如面向?qū)ο蠓椒?,如Booch, Coad/Yourdon, OMT, Jacobson等等各種面向?qū)ο笳Z(yǔ)言如各種面向?qū)ο笳Z(yǔ)言如C+的出現(xiàn)。的出現(xiàn)。軟件以對(duì)
13、象作為基本元素,系統(tǒng)由離散的對(duì)象構(gòu)成軟件以對(duì)象作為基本元素,系統(tǒng)由離散的對(duì)象構(gòu)成統(tǒng)一建模語(yǔ)言統(tǒng)一建模語(yǔ)言UML提出提出26軟件體系結(jié)構(gòu)的發(fā)展階段軟件體系結(jié)構(gòu)的發(fā)展階段l初級(jí)階段優(yōu)點(diǎn):優(yōu)點(diǎn):易于表述概念、易于相互交流易于表述概念、易于相互交流作為描述、分析和建立文檔的手段,提高了軟件的作為描述、分析和建立文檔的手段,提高了軟件的易讀性、可維護(hù)性和可重用性易讀性、可維護(hù)性和可重用性其中的繼承、封裝和多態(tài)性等機(jī)制,為軟件重用提其中的繼承、封裝和多態(tài)性等機(jī)制,為軟件重用提供了一種可行的手段供了一種可行的手段27軟件體系結(jié)構(gòu)的發(fā)展階段軟件體系結(jié)構(gòu)的發(fā)展階段l初級(jí)階段困境:困境:基于對(duì)象的重用屬于代碼重用
14、,需要對(duì)類的內(nèi)部設(shè)基于對(duì)象的重用屬于代碼重用,需要對(duì)類的內(nèi)部設(shè)計(jì)、實(shí)現(xiàn)有清晰的認(rèn)識(shí)。計(jì)、實(shí)現(xiàn)有清晰的認(rèn)識(shí)。軟件的升級(jí)、維護(hù)等需要重新編譯、調(diào)試,無(wú)法實(shí)軟件的升級(jí)、維護(hù)等需要重新編譯、調(diào)試,無(wú)法實(shí)現(xiàn)動(dòng)態(tài)升級(jí)。現(xiàn)動(dòng)態(tài)升級(jí)。難以實(shí)現(xiàn)設(shè)計(jì)重用,缺乏描述體系結(jié)構(gòu)的語(yǔ)言。難以實(shí)現(xiàn)設(shè)計(jì)重用,缺乏描述體系結(jié)構(gòu)的語(yǔ)言。28軟件體系結(jié)構(gòu)的發(fā)展階段軟件體系結(jié)構(gòu)的發(fā)展階段l高級(jí)階段(90年代初現(xiàn)在)軟件開(kāi)發(fā)強(qiáng)調(diào)構(gòu)件化技術(shù)和體系結(jié)構(gòu)技術(shù)。軟件開(kāi)發(fā)強(qiáng)調(diào)構(gòu)件化技術(shù)和體系結(jié)構(gòu)技術(shù)。COM、CORBA、EJB、WebService的提出的提出軟件軟件 = 構(gòu)件構(gòu)件 + 基于體系結(jié)構(gòu)的構(gòu)件組裝基于體系結(jié)構(gòu)的構(gòu)件組裝體系結(jié)構(gòu)作為開(kāi)
15、發(fā)文檔和中間產(chǎn)品,開(kāi)始出現(xiàn)在軟體系結(jié)構(gòu)作為開(kāi)發(fā)文檔和中間產(chǎn)品,開(kāi)始出現(xiàn)在軟件開(kāi)發(fā)過(guò)程中。件開(kāi)發(fā)過(guò)程中。29軟件體系結(jié)構(gòu)的發(fā)展階段軟件體系結(jié)構(gòu)的發(fā)展階段l高級(jí)階段優(yōu)點(diǎn):優(yōu)點(diǎn):構(gòu)件實(shí)現(xiàn)了可執(zhí)行二進(jìn)制代碼的重用構(gòu)件實(shí)現(xiàn)了可執(zhí)行二進(jìn)制代碼的重用構(gòu)件的實(shí)現(xiàn)與實(shí)現(xiàn)語(yǔ)言無(wú)關(guān)構(gòu)件的實(shí)現(xiàn)與實(shí)現(xiàn)語(yǔ)言無(wú)關(guān)構(gòu)件可以單獨(dú)開(kāi)發(fā)、單獨(dú)編譯、單獨(dú)調(diào)試構(gòu)件可以單獨(dú)開(kāi)發(fā)、單獨(dú)編譯、單獨(dú)調(diào)試基于構(gòu)件的軟件系統(tǒng)可以實(shí)現(xiàn)動(dòng)態(tài)升級(jí)和維護(hù)基于構(gòu)件的軟件系統(tǒng)可以實(shí)現(xiàn)動(dòng)態(tài)升級(jí)和維護(hù)體系結(jié)構(gòu)提供了設(shè)計(jì)重用的可能性,設(shè)計(jì)重用是比體系結(jié)構(gòu)提供了設(shè)計(jì)重用的可能性,設(shè)計(jì)重用是比構(gòu)件重用更加抽象、更加高級(jí)的重用。構(gòu)件重用更加抽象、更加高級(jí)的重用。30軟件
16、體系結(jié)構(gòu)的發(fā)展階段軟件體系結(jié)構(gòu)的發(fā)展階段l四個(gè)階段的總結(jié)四個(gè)階段的總結(jié)機(jī)器機(jī)器語(yǔ)言語(yǔ)言匯編匯編語(yǔ)言語(yǔ)言無(wú)體系結(jié)構(gòu)階段無(wú)體系結(jié)構(gòu)階段高級(jí)高級(jí)語(yǔ)言語(yǔ)言結(jié)構(gòu)化結(jié)構(gòu)化編程編程萌芽階段萌芽階段初級(jí)階段初級(jí)階段面向?qū)γ嫦驅(qū)ο蠹夹g(shù)象技術(shù)面向?qū)γ嫦驅(qū)ο笳Z(yǔ)言象語(yǔ)言31軟件體系結(jié)構(gòu)的發(fā)展階段軟件體系結(jié)構(gòu)的發(fā)展階段l四個(gè)階段的總結(jié)四個(gè)階段的總結(jié)構(gòu)件構(gòu)件技術(shù)技術(shù)COMEJBWebServiceCORBA高級(jí)階段高級(jí)階段SUN公司提出,公司提出,Enterprise Java BeanOMG(Object Management Group)提出,提出,Common Object Request Broker Archi
17、tectureMicrosoft提出,提出,Component Object Model 32軟件體系結(jié)構(gòu)定義軟件體系結(jié)構(gòu)定義l存在至少數(shù)十種的軟件體系結(jié)構(gòu)定義,尚未形存在至少數(shù)十種的軟件體系結(jié)構(gòu)定義,尚未形成公認(rèn)的統(tǒng)一定義,其原因在于:成公認(rèn)的統(tǒng)一定義,其原因在于:軟件體系結(jié)構(gòu)形成歷史較短,尚不完善。軟件體系結(jié)構(gòu)形成歷史較短,尚不完善。不同的研究者對(duì)于軟件體系結(jié)構(gòu)有不同的理解。不同的研究者對(duì)于軟件體系結(jié)構(gòu)有不同的理解。定義一旦被接受,其影響很大!定義一旦被接受,其影響很大!33軟件體系結(jié)構(gòu)定義軟件體系結(jié)構(gòu)定義l定義1:Booch & Rumbaugh & Jacobson 定義軟件體系結(jié)構(gòu)軟
18、件體系結(jié)構(gòu) = 組織,組織, 元素,元素, 子系統(tǒng),風(fēng)格子系統(tǒng),風(fēng)格34軟件體系結(jié)構(gòu)定義軟件體系結(jié)構(gòu)定義l定義2:Bass 定義軟件體系結(jié)構(gòu)是一個(gè)或多個(gè)結(jié)構(gòu),包括軟件構(gòu)件軟件體系結(jié)構(gòu)是一個(gè)或多個(gè)結(jié)構(gòu),包括軟件構(gòu)件(component)、構(gòu)件的外部可視屬性()、構(gòu)件的外部可視屬性(property)和構(gòu)件之間的關(guān)系(和構(gòu)件之間的關(guān)系(relationship)。)。35軟件體系結(jié)構(gòu)定義軟件體系結(jié)構(gòu)定義l定義3:Shaw 定義四種分類法四種分類法結(jié)構(gòu)模型結(jié)構(gòu)模型 體系結(jié)構(gòu)由構(gòu)件、構(gòu)件間連接及其他一些體系結(jié)構(gòu)由構(gòu)件、構(gòu)件間連接及其他一些方面組成。方面組成??蚣苣P涂蚣苣P?與結(jié)構(gòu)模型類似,強(qiáng)調(diào)整個(gè)系
19、統(tǒng)的結(jié)構(gòu)。與結(jié)構(gòu)模型類似,強(qiáng)調(diào)整個(gè)系統(tǒng)的結(jié)構(gòu)。動(dòng)態(tài)模型動(dòng)態(tài)模型 強(qiáng)調(diào)系統(tǒng)的行為質(zhì)量。強(qiáng)調(diào)系統(tǒng)的行為質(zhì)量。過(guò)程模型過(guò)程模型 體系結(jié)構(gòu)是一系列過(guò)程的結(jié)果。體系結(jié)構(gòu)是一系列過(guò)程的結(jié)果。36軟件體系結(jié)構(gòu)定義軟件體系結(jié)構(gòu)定義l定義4:Garlan & Shaw 定義體系結(jié)構(gòu)體系結(jié)構(gòu)=構(gòu)件,連接件,構(gòu)件,連接件, 約束約束37軟件體系結(jié)構(gòu)定義軟件體系結(jié)構(gòu)定義l定義5:Perry & Wolf 定義體系結(jié)構(gòu)體系結(jié)構(gòu) = 元素,形式,元素,形式, 準(zhǔn)則準(zhǔn)則元素:元素:處理元素:負(fù)責(zé)完成數(shù)據(jù)加工處理元素:負(fù)責(zé)完成數(shù)據(jù)加工數(shù)據(jù)元素:作為被加工的信息對(duì)象數(shù)據(jù)元素:作為被加工的信息對(duì)象連接元素:用于將體系結(jié)構(gòu)的不同部
20、分組合連接起來(lái)連接元素:用于將體系結(jié)構(gòu)的不同部分組合連接起來(lái)形式:形式:專有特性:用于限制體系結(jié)構(gòu)元素的選擇專有特性:用于限制體系結(jié)構(gòu)元素的選擇關(guān)系:關(guān)系: 用于限制體系結(jié)構(gòu)元素組合的拓?fù)浣Y(jié)構(gòu)用于限制體系結(jié)構(gòu)元素組合的拓?fù)浣Y(jié)構(gòu)38軟件體系結(jié)構(gòu)定義軟件體系結(jié)構(gòu)定義l定義6:Garlan & Perry 定義體系結(jié)構(gòu)體系結(jié)構(gòu): 是一個(gè)程序是一個(gè)程序/系統(tǒng)各構(gòu)件的結(jié)構(gòu)、它們的相互系統(tǒng)各構(gòu)件的結(jié)構(gòu)、它們的相互關(guān)系,以及進(jìn)行設(shè)計(jì)的原則和指導(dǎo)方針。關(guān)系,以及進(jìn)行設(shè)計(jì)的原則和指導(dǎo)方針。39軟件體系結(jié)構(gòu)定義軟件體系結(jié)構(gòu)定義l定義7:Soni & Nord & Hofmeister 定義體系結(jié)構(gòu)包括體系結(jié)構(gòu)包括
21、 至少至少 4 種具體形態(tài):種具體形態(tài):概念體系結(jié)構(gòu)概念體系結(jié)構(gòu)模塊互連體系結(jié)構(gòu)模塊互連體系結(jié)構(gòu)執(zhí)行體系結(jié)構(gòu)執(zhí)行體系結(jié)構(gòu)代碼體系結(jié)構(gòu)代碼體系結(jié)構(gòu)40軟件體系結(jié)構(gòu)定義軟件體系結(jié)構(gòu)定義l定義8:Boehm 模型體系結(jié)構(gòu)體系結(jié)構(gòu) = 構(gòu)件,連接件,約束,不同人員的需求,準(zhǔn)則構(gòu)件,連接件,約束,不同人員的需求,準(zhǔn)則41軟件體系結(jié)構(gòu)定義軟件體系結(jié)構(gòu)定義l不同定義的總結(jié)軟件體系結(jié)構(gòu)定義了構(gòu)件(軟件體系結(jié)構(gòu)定義了構(gòu)件(component)任何實(shí)際系統(tǒng)都可以看作由構(gòu)件及其相互關(guān)系組成任何實(shí)際系統(tǒng)都可以看作由構(gòu)件及其相互關(guān)系組成構(gòu)件可以是對(duì)象、進(jìn)程、庫(kù)、商品軟件、數(shù)據(jù)庫(kù)或者其構(gòu)件可以是對(duì)象、進(jìn)程、庫(kù)、商品軟件、
22、數(shù)據(jù)庫(kù)或者其他更廣泛的模塊他更廣泛的模塊構(gòu)件的基本特性是:獨(dú)立、封裝、重用構(gòu)件的基本特性是:獨(dú)立、封裝、重用42軟件體系結(jié)構(gòu)的主要研究?jī)?nèi)容軟件體系結(jié)構(gòu)的主要研究?jī)?nèi)容l體系結(jié)構(gòu)理論模型的研究體系結(jié)構(gòu)理論模型的研究l體系結(jié)構(gòu)描述研究體系結(jié)構(gòu)描述研究l體系結(jié)構(gòu)設(shè)計(jì)研究體系結(jié)構(gòu)設(shè)計(jì)研究l體系結(jié)構(gòu)分析與驗(yàn)證體系結(jié)構(gòu)分析與驗(yàn)證l基于體系結(jié)構(gòu)的軟件開(kāi)發(fā)過(guò)程基于體系結(jié)構(gòu)的軟件開(kāi)發(fā)過(guò)程l特定領(lǐng)域的體系結(jié)構(gòu)框架特定領(lǐng)域的體系結(jié)構(gòu)框架l體系結(jié)構(gòu)的評(píng)價(jià)方法體系結(jié)構(gòu)的評(píng)價(jià)方法43軟件體系結(jié)構(gòu)的主要研究?jī)?nèi)容軟件體系結(jié)構(gòu)的主要研究?jī)?nèi)容l體系結(jié)構(gòu)理論模型的研究體系結(jié)構(gòu)理論模型的研究5 種體系結(jié)構(gòu)模型種體系結(jié)構(gòu)模型結(jié)構(gòu)模型結(jié)構(gòu)
23、模型框架模型框架模型動(dòng)態(tài)模型動(dòng)態(tài)模型過(guò)程模型過(guò)程模型功能模型功能模型44軟件體系結(jié)構(gòu)的主要研究?jī)?nèi)容軟件體系結(jié)構(gòu)的主要研究?jī)?nèi)容l體系結(jié)構(gòu)描述研究體系結(jié)構(gòu)描述研究各種體系結(jié)構(gòu)描述語(yǔ)言(各種體系結(jié)構(gòu)描述語(yǔ)言(ADL)過(guò)程代數(shù)過(guò)程代數(shù)偏序集合偏序集合化學(xué)抽象機(jī)化學(xué)抽象機(jī)45軟件體系結(jié)構(gòu)的主要研究?jī)?nèi)容軟件體系結(jié)構(gòu)的主要研究?jī)?nèi)容l體系結(jié)構(gòu)設(shè)計(jì)研究體系結(jié)構(gòu)設(shè)計(jì)研究體系結(jié)構(gòu)設(shè)計(jì)方法體系結(jié)構(gòu)設(shè)計(jì)方法體系結(jié)構(gòu)風(fēng)格體系結(jié)構(gòu)風(fēng)格體系結(jié)構(gòu)設(shè)計(jì)工具體系結(jié)構(gòu)設(shè)計(jì)工具46軟件體系結(jié)構(gòu)的主要研究?jī)?nèi)容軟件體系結(jié)構(gòu)的主要研究?jī)?nèi)容l體系結(jié)構(gòu)分析與驗(yàn)證體系結(jié)構(gòu)分析與驗(yàn)證將軟件的非功能特性轉(zhuǎn)化為體系結(jié)構(gòu)的需求將軟件的非功能特性轉(zhuǎn)化為體系
24、結(jié)構(gòu)的需求分析體系結(jié)構(gòu)滿足期望的需求屬性分析體系結(jié)構(gòu)滿足期望的需求屬性對(duì)體系結(jié)構(gòu)的語(yǔ)義、語(yǔ)法、類型失配等進(jìn)行檢查與驗(yàn)證對(duì)體系結(jié)構(gòu)的語(yǔ)義、語(yǔ)法、類型失配等進(jìn)行檢查與驗(yàn)證建立評(píng)價(jià)軟件體系結(jié)構(gòu)的方法建立評(píng)價(jià)軟件體系結(jié)構(gòu)的方法47軟件體系結(jié)構(gòu)的主要研究?jī)?nèi)容軟件體系結(jié)構(gòu)的主要研究?jī)?nèi)容l基于體系結(jié)構(gòu)的軟件開(kāi)發(fā)過(guò)程基于體系結(jié)構(gòu)的軟件開(kāi)發(fā)過(guò)程傳統(tǒng)的軟件開(kāi)發(fā)模型:傳統(tǒng)的軟件開(kāi)發(fā)模型:瀑布模型:軟件需求完全明確瀑布模型:軟件需求完全明確漸進(jìn)式開(kāi)發(fā):軟件最初基本需求明確漸進(jìn)式開(kāi)發(fā):軟件最初基本需求明確變換模型:基于形式化開(kāi)發(fā)方法變換模型:基于形式化開(kāi)發(fā)方法引入軟件體系結(jié)構(gòu)后的軟件開(kāi)發(fā)過(guò)程完全不同以往,引入軟件體系結(jié)
25、構(gòu)后的軟件開(kāi)發(fā)過(guò)程完全不同以往,體系結(jié)構(gòu)貫穿軟件開(kāi)發(fā)的整個(gè)階段。體系結(jié)構(gòu)貫穿軟件開(kāi)發(fā)的整個(gè)階段。48軟件體系結(jié)構(gòu)的主要研究?jī)?nèi)容軟件體系結(jié)構(gòu)的主要研究?jī)?nèi)容l特定領(lǐng)域的體系結(jié)構(gòu)框架特定領(lǐng)域的體系結(jié)構(gòu)框架CASE體系結(jié)構(gòu)體系結(jié)構(gòu)CAD軟件的參考模型軟件的參考模型信息系統(tǒng)的參考體系結(jié)構(gòu)信息系統(tǒng)的參考體系結(jié)構(gòu)網(wǎng)絡(luò)體系結(jié)構(gòu)網(wǎng)絡(luò)體系結(jié)構(gòu)機(jī)場(chǎng)信息系統(tǒng)的體系結(jié)構(gòu)機(jī)場(chǎng)信息系統(tǒng)的體系結(jié)構(gòu)電信軟件的體系結(jié)構(gòu)電信軟件的體系結(jié)構(gòu)49軟件體系結(jié)構(gòu)的主要研究?jī)?nèi)容軟件體系結(jié)構(gòu)的主要研究?jī)?nèi)容l體系結(jié)構(gòu)的評(píng)價(jià)方法體系結(jié)構(gòu)的評(píng)價(jià)方法體系結(jié)構(gòu)權(quán)衡分析方法(體系結(jié)構(gòu)權(quán)衡分析方法(Architecture Tradeoff Analysis Method, ATAM)體系結(jié)構(gòu)分析方法體系結(jié)構(gòu)分析方法 (Software Architecture Analysis Metho
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度美團(tuán)外賣(mài)店鋪服務(wù)標(biāo)準(zhǔn)合同范本4篇
- 二零二五年度標(biāo)準(zhǔn)裝載機(jī)租賃合同附帶租賃設(shè)備更換服務(wù)3篇
- 2025年度美團(tuán)外賣(mài)平臺(tái)食品安全責(zé)任承諾合同2篇
- 2025年度房地產(chǎn)開(kāi)發(fā)項(xiàng)目融資合同范本7篇
- 二零二五年度船舶貨物保險(xiǎn)合同示范文本2篇
- 二零二五年度新能源產(chǎn)業(yè)融資合同3篇
- 二零二五年度全新廣東房屋租賃合同規(guī)范租賃市場(chǎng)秩序2篇
- 2025年度科技創(chuàng)新區(qū)土地使用權(quán)轉(zhuǎn)讓居間合同范本
- 2025年度農(nóng)藥產(chǎn)品代理銷售數(shù)據(jù)統(tǒng)計(jì)分析合同
- 2025年度南京汽車(chē)租賃押金管理合同范本4篇
- 2024年財(cái)政部會(huì)計(jì)法律法規(guī)答題活動(dòng)題目及答案一
- 2024年云網(wǎng)安全應(yīng)知應(yīng)會(huì)考試題庫(kù)
- 寒假計(jì)劃表作息時(shí)間安排表
- 高考日語(yǔ)基礎(chǔ)歸納總結(jié)與練習(xí)(一輪復(fù)習(xí))
- 《預(yù)防犯罪》課件
- 【企業(yè)作業(yè)成本在上海汽車(chē)集團(tuán)中的應(yīng)用研究案例7300字(論文)】
- 高中物理答題卡模板
- 化學(xué)用語(yǔ)專項(xiàng)訓(xùn)練
- 芳香植物與芳香療法講解課件
- 不孕癥診斷、治療新進(jìn)展課件
- 學(xué)校食堂食品質(zhì)量控制方案
評(píng)論
0/150
提交評(píng)論