




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu) 江江 賀賀2課程簡介課程簡介l期末總評期末總評 = 考試成績考試成績70%+報(bào)告報(bào)告30%3參考書目參考書目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)的開發(fā)l軟件體系結(jié)構(gòu)的發(fā)展階段l軟件體系結(jié)構(gòu)定義l軟件體系結(jié)構(gòu)的主要研究內(nèi)容l軟件體系結(jié)構(gòu)的意義6緣起緣起l軟件開發(fā)過程問題問題定義定義需求需求分析分析軟件軟件
2、設(shè)計(jì)設(shè)計(jì)軟件軟件編碼編碼軟件軟件測試測試維護(hù)維護(hù)升級升級用戶用戶系統(tǒng)分析員系統(tǒng)分析員程序員程序員測試人員測試人員用服人員用服人員7緣起緣起l系統(tǒng)分析員系統(tǒng)分析員是連接用戶與程序開發(fā)人員的紐帶,在軟件開發(fā)過程中起著關(guān)鍵性作用。責(zé)任大:責(zé)任大:軟件系統(tǒng)的成功是所有人員的功能,但是一軟件系統(tǒng)的成功是所有人員的功能,但是一個軟件的失敗往往是系統(tǒng)分析員的錯誤。個軟件的失敗往往是系統(tǒng)分析員的錯誤。薪水高:薪水高:系統(tǒng)分析員的收入通常是程序員的系統(tǒng)分析員的收入通常是程序員的25倍。倍。要求高:要求高:系統(tǒng)分析員必須具備良好的溝通能力、極強(qiáng)系統(tǒng)分析員必須具備良好的溝通能力、極強(qiáng)的概括能力、對于技術(shù)的把握能力。
3、的概括能力、對于技術(shù)的把握能力。8緣起緣起l系統(tǒng)分析員面臨的困境交流的困難:交流的困難:用戶、軟件開發(fā)人員、系統(tǒng)分析員之間。軟件復(fù)用的困難:軟件復(fù)用的困難:大量的重復(fù)勞動,現(xiàn)有經(jīng)驗(yàn)的積累難以直接改進(jìn)新的系統(tǒng)設(shè)計(jì)。軟件系統(tǒng)升級、維護(hù)的困難:軟件系統(tǒng)升級、維護(hù)的困難:6080%的軟件開發(fā)成本是在軟件初次投入以后產(chǎn)生的。9緣起緣起l解決之道軟件體系結(jié)構(gòu)它是為了解決軟件危機(jī)而應(yīng)運(yùn)而生。它是為了解決軟件危機(jī)而應(yīng)運(yùn)而生。它是軟件工程學(xué)科的新分支,是一門初露端倪的它是軟件工程學(xué)科的新分支,是一門初露端倪的新學(xué)科。新學(xué)科。它是現(xiàn)有的各種經(jīng)驗(yàn)知識的累積。它是現(xiàn)有的各種經(jīng)驗(yàn)知識的累積。它的發(fā)展史就是軟件的發(fā)展史,
4、是循序漸進(jìn)的。它的發(fā)展史就是軟件的發(fā)展史,是循序漸進(jìn)的。10緣起緣起l新的軟件開發(fā)過程問題問題定義定義需求需求分析分析軟件軟件設(shè)計(jì)設(shè)計(jì)軟件軟件編碼編碼軟件軟件測試測試維護(hù)維護(hù)升級升級體系結(jié)體系結(jié)構(gòu)設(shè)計(jì)構(gòu)設(shè)計(jì)11基于軟件體系結(jié)構(gòu)的開發(fā)基于軟件體系結(jié)構(gòu)的開發(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)的提供、評價(jià)及度量評價(jià)及度量no體系結(jié)構(gòu)的體系結(jié)構(gòu)的性質(zhì)分析性質(zhì)分析ye
5、s體系結(jié)構(gòu)的演化體系結(jié)構(gòu)的演化軟件升級軟件升級軟件設(shè)計(jì)軟件設(shè)計(jì)軟件編碼軟件編碼軟件測試軟件測試12基于軟件體系結(jié)構(gòu)的開發(fā)基于軟件體系結(jié)構(gòu)的開發(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)的提供、評價(jià)和度量體系結(jié)構(gòu)的提供、評價(jià)和度量體系機(jī)構(gòu)的終結(jié)體系機(jī)構(gòu)的終結(jié)13基于軟件體系結(jié)構(gòu)的開發(fā)基于軟件體系結(jié)構(gòu)的開發(fā)l生命周期之一:體系結(jié)構(gòu)的非形式化描述體系結(jié)構(gòu)的非形式化描述通常使用自然語言描述概念和原則通常使用自然
6、語言描述概念和原則該階段是創(chuàng)造性和開拓性的該階段是創(chuàng)造性和開拓性的需要與軟件用戶進(jìn)行不斷的交互需要與軟件用戶進(jìn)行不斷的交互14基于軟件體系結(jié)構(gòu)的開發(fā)基于軟件體系結(jié)構(gòu)的開發(fā)l生命周期之二:體系結(jié)構(gòu)的規(guī)范描述和分析體系結(jié)構(gòu)的規(guī)范描述和分析運(yùn)用合適的形式化理論對上一階段的非形式化描運(yùn)用合適的形式化理論對上一階段的非形式化描述進(jìn)行規(guī)范定義述進(jìn)行規(guī)范定義要求做到:無歧義、無死鎖、安全性、靈活性等要求做到:無歧義、無死鎖、安全性、靈活性等15基于軟件體系結(jié)構(gòu)的開發(fā)基于軟件體系結(jié)構(gòu)的開發(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ì)總是從抽象到具體的過程,需要逐步細(xì)化、求精的過程,需要逐步細(xì)化、求精求精過程中需要不斷的驗(yàn)證,以判斷所得具體體求精過程中需要不斷的驗(yàn)證,以判斷所得具體體系結(jié)構(gòu)與求精前的體系結(jié)構(gòu)是否語義一致系結(jié)構(gòu)與求精前的體系結(jié)構(gòu)是否語義一致16基于軟件體系結(jié)構(gòu)的開發(fā)基于軟件體系結(jié)構(gòu)的開發(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)的開發(fā)基于軟件體系結(jié)構(gòu)的開
8、發(fā)l生命周期之五:體系結(jié)構(gòu)的演化和擴(kuò)展體系結(jié)構(gòu)的演化和擴(kuò)展軟件在使用過程中,用戶可能提出新的非功能性軟件在使用過程中,用戶可能提出新的非功能性需求,如性能、容錯、安全性、互操作性、自適需求,如性能、容錯、安全性、互操作性、自適應(yīng)性等。應(yīng)性等。由于軟件的需求的增加和改變而導(dǎo)致的軟件體系由于軟件的需求的增加和改變而導(dǎo)致的軟件體系結(jié)構(gòu)的改動,稱為演化和擴(kuò)展。結(jié)構(gòu)的改動,稱為演化和擴(kuò)展。18基于軟件體系結(jié)構(gòu)的開發(fā)基于軟件體系結(jié)構(gòu)的開發(fā)l生命周期之六:體系結(jié)構(gòu)的提供、評價(jià)和度量體系結(jié)構(gòu)的提供、評價(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)行情況,對
9、軟件體系結(jié)構(gòu)展開的定性評價(jià)和定的運(yùn)行情況,對軟件體系結(jié)構(gòu)展開的定性評價(jià)和定量的度量,有利于軟件體系結(jié)構(gòu)的重用(包括設(shè)計(jì)量的度量,有利于軟件體系結(jié)構(gòu)的重用(包括設(shè)計(jì)重用和構(gòu)件重用)和知識積累。重用和構(gòu)件重用)和知識積累。19基于軟件體系結(jié)構(gòu)的開發(fā)基于軟件體系結(jié)構(gòu)的開發(fā)l生命周期之七:體系機(jī)構(gòu)的終結(jié)體系機(jī)構(gòu)的終結(jié)經(jīng)過多次演化和修改后的體系結(jié)構(gòu),容易變得難經(jīng)過多次演化和修改后的體系結(jié)構(gòu),容易變得難以維護(hù)和理解,難以達(dá)到系統(tǒng)設(shè)計(jì)的要求,此時以維護(hù)和理解,難以達(dá)到系統(tǒng)設(shè)計(jì)的要求,此時該體系結(jié)構(gòu)就應(yīng)該被拋棄,重新構(gòu)造新的體系結(jié)該體系結(jié)構(gòu)就應(yīng)該被拋棄,重新構(gòu)造新的體系結(jié)構(gòu),這一過程稱為構(gòu),這一過程稱為 。2
10、0軟件體系結(jié)構(gòu)的發(fā)展階段軟件體系結(jié)構(gòu)的發(fā)展階段l“無體系結(jié)構(gòu)”設(shè)計(jì)階段l萌芽階段l初級階段l高級階段21軟件體系結(jié)構(gòu)的發(fā)展階段軟件體系結(jié)構(gòu)的發(fā)展階段l“無體系結(jié)構(gòu)”設(shè)計(jì)階段( 1946年年ENIAC計(jì)算計(jì)算機(jī)問世機(jī)問世ALGOL68誕生前誕生前)軟件開發(fā)以匯編語言為主,編程是少數(shù)軟件開發(fā)以匯編語言為主,編程是少數(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ì)語言,包括出現(xiàn)了一批結(jié)構(gòu)化程序設(shè)計(jì)語言,包括PASCAL、Ada 語言等語言等軟件體系結(jié)構(gòu)已經(jīng)成為系統(tǒng)開發(fā)中的一個明確概念軟件體系結(jié)構(gòu)已經(jīng)成為系統(tǒng)開發(fā)中的一個明確概念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ù)萬行、數(shù)十萬行軟件規(guī)模達(dá)到數(shù)萬行、數(shù)十萬行軟件開發(fā)成為一種職業(yè),誕生了程序員這一群體軟件開發(fā)成為一種職業(yè),誕生了程序員這一群體24軟件體系結(jié)構(gòu)的發(fā)展階段軟件體系結(jié)構(gòu)的發(fā)展階段l萌芽階段困境:困境:硬件像一匹越來越快的馬,而軟件則是一個越來越硬
12、件像一匹越來越快的馬,而軟件則是一個越來越胖的人,硬件與軟件之間的鴻溝依然存在,且愈發(fā)胖的人,硬件與軟件之間的鴻溝依然存在,且愈發(fā)嚴(yán)重嚴(yán)重軟件規(guī)模擴(kuò)大導(dǎo)致軟件質(zhì)量的下降軟件規(guī)模擴(kuò)大導(dǎo)致軟件質(zhì)量的下降大量的重復(fù)勞動,軟件重用任重道遠(yuǎn)大量的重復(fù)勞動,軟件重用任重道遠(yuǎn)25軟件體系結(jié)構(gòu)的發(fā)展階段軟件體系結(jié)構(gòu)的發(fā)展階段l初級階段(80年代初90年代初)面向?qū)ο蠹夹g(shù)的提出,出現(xiàn)數(shù)十種支持軟件開發(fā)的面向?qū)ο蠹夹g(shù)的提出,出現(xiàn)數(shù)十種支持軟件開發(fā)的面向?qū)ο蠓椒ǎ缑嫦驅(qū)ο蠓椒ǎ鏐ooch, Coad/Yourdon, OMT, Jacobson等等各種面向?qū)ο笳Z言如各種面向?qū)ο笳Z言如C+的出現(xiàn)。的出現(xiàn)。軟件以對
13、象作為基本元素,系統(tǒng)由離散的對象構(gòu)成軟件以對象作為基本元素,系統(tǒng)由離散的對象構(gòu)成統(tǒng)一建模語言統(tǒng)一建模語言UML提出提出26軟件體系結(jié)構(gòu)的發(fā)展階段軟件體系結(jié)構(gòu)的發(fā)展階段l初級階段優(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初級階段困境:困境:基于對象的重用屬于代碼重用
14、,需要對類的內(nèi)部設(shè)基于對象的重用屬于代碼重用,需要對類的內(nèi)部設(shè)計(jì)、實(shí)現(xiàn)有清晰的認(rèn)識。計(jì)、實(shí)現(xiàn)有清晰的認(rèn)識。軟件的升級、維護(hù)等需要重新編譯、調(diào)試,無法實(shí)軟件的升級、維護(hù)等需要重新編譯、調(diào)試,無法實(shí)現(xiàn)動態(tài)升級。現(xiàn)動態(tài)升級。難以實(shí)現(xiàn)設(shè)計(jì)重用,缺乏描述體系結(jié)構(gòu)的語言。難以實(shí)現(xiàn)設(shè)計(jì)重用,缺乏描述體系結(jié)構(gòu)的語言。28軟件體系結(jié)構(gòu)的發(fā)展階段軟件體系結(jié)構(gòu)的發(fā)展階段l高級階段(90年代初現(xiàn)在)軟件開發(fā)強(qiáng)調(diào)構(gòu)件化技術(shù)和體系結(jié)構(gòu)技術(shù)。軟件開發(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)作為開
15、發(fā)文檔和中間產(chǎn)品,開始出現(xiàn)在軟體系結(jié)構(gòu)作為開發(fā)文檔和中間產(chǎn)品,開始出現(xiàn)在軟件開發(fā)過程中。件開發(fā)過程中。29軟件體系結(jié)構(gòu)的發(fā)展階段軟件體系結(jié)構(gòu)的發(fā)展階段l高級階段優(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)語言無關(guān)構(gòu)件的實(shí)現(xiàn)與實(shí)現(xiàn)語言無關(guān)構(gòu)件可以單獨(dú)開發(fā)、單獨(dú)編譯、單獨(dú)調(diào)試構(gòu)件可以單獨(dú)開發(fā)、單獨(dú)編譯、單獨(dú)調(diào)試基于構(gòu)件的軟件系統(tǒng)可以實(shí)現(xiàn)動態(tài)升級和維護(hù)基于構(gòu)件的軟件系統(tǒng)可以實(shí)現(xiàn)動態(tài)升級和維護(hù)體系結(jié)構(gòu)提供了設(shè)計(jì)重用的可能性,設(shè)計(jì)重用是比體系結(jié)構(gòu)提供了設(shè)計(jì)重用的可能性,設(shè)計(jì)重用是比構(gòu)件重用更加抽象、更加高級的重用。構(gòu)件重用更加抽象、更加高級的重用。30軟件
16、體系結(jié)構(gòu)的發(fā)展階段軟件體系結(jié)構(gòu)的發(fā)展階段l四個階段的總結(jié)四個階段的總結(jié)機(jī)器機(jī)器語言語言匯編匯編語言語言無體系結(jié)構(gòu)階段無體系結(jié)構(gòu)階段高級高級語言語言結(jié)構(gòu)化結(jié)構(gòu)化編程編程萌芽階段萌芽階段初級階段初級階段面向?qū)γ嫦驅(qū)ο蠹夹g(shù)象技術(shù)面向?qū)γ嫦驅(qū)ο笳Z言象語言31軟件體系結(jié)構(gòu)的發(fā)展階段軟件體系結(jié)構(gòu)的發(fā)展階段l四個階段的總結(jié)四個階段的總結(jié)構(gòu)件構(gòu)件技術(shù)技術(shù)COMEJBWebServiceCORBA高級階段高級階段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)形成歷史較短,尚不完善。不同的研究者對于軟件體系結(jié)構(gòu)有不同的理解。不同的研究者對于軟件體系結(jié)構(gòu)有不同的理解。定義一旦被接受,其影響很大!定義一旦被接受,其影響很大!33軟件體系結(jié)構(gòu)定義軟件體系結(jié)構(gòu)定義l定義1:Booch & Rumbaugh & Jacobson 定
18、義軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu) = 組織,組織, 元素,元素, 子系統(tǒng),風(fēng)格子系統(tǒng),風(fēng)格34軟件體系結(jié)構(gòu)定義軟件體系結(jié)構(gòu)定義l定義2:Bass 定義軟件體系結(jié)構(gòu)是一個或多個結(jié)構(gòu),包括軟件構(gòu)件軟件體系結(jié)構(gòu)是一個或多個結(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)件間連接及其他一些方面組成。方面組成。框架模型框架模型 與結(jié)構(gòu)模型
19、類似,強(qiáng)調(diào)整個系統(tǒng)的結(jié)構(gòu)。與結(jié)構(gòu)模型類似,強(qiáng)調(diào)整個系統(tǒng)的結(jié)構(gòu)。動態(tài)模型動態(tài)模型 強(qiáng)調(diào)系統(tǒng)的行為質(zhì)量。強(qiáng)調(diào)系統(tǒng)的行為質(zhì)量。過程模型過程模型 體系結(jié)構(gòu)是一系列過程的結(jié)果。體系結(jié)構(gòu)是一系列過程的結(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ù)元素:作為被加工的信息對象數(shù)據(jù)元素:作為被加工的信息對象
20、連接元素:用于將體系結(jié)構(gòu)的不同部分組合連接起來連接元素:用于將體系結(jié)構(gòu)的不同部分組合連接起來形式:形式:專有特性:用于限制體系結(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): 是一個程序是一個程序/系統(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 &am
21、p; Hofmeister 定義體系結(jié)構(gòu)包括體系結(jié)構(gòu)包括 至少至少 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)件可以是對象、進(jìn)程、庫、商
22、品軟件、數(shù)據(jù)庫或者其構(gòu)件可以是對象、進(jìn)程、庫、商品軟件、數(shù)據(jù)庫或者其他更廣泛的模塊他更廣泛的模塊構(gòu)件的基本特性是:獨(dú)立、封裝、重用構(gòu)件的基本特性是:獨(dú)立、封裝、重用42軟件體系結(jié)構(gòu)的主要研究內(nèi)容軟件體系結(jié)構(gòu)的主要研究內(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)的軟件開發(fā)過程基于體系結(jié)構(gòu)的軟件開發(fā)過程l特定領(lǐng)域的體系結(jié)構(gòu)框架特定領(lǐng)域的體系結(jié)構(gòu)框架l體系結(jié)構(gòu)的評價(jià)方法體系結(jié)構(gòu)的評價(jià)方法43軟件體系結(jié)構(gòu)的主要研究內(nèi)容軟件體系結(jié)構(gòu)的主要研究內(nèi)容l體系結(jié)構(gòu)理論模型的研究體系結(jié)構(gòu)理
23、論模型的研究5 種體系結(jié)構(gòu)模型種體系結(jié)構(gòu)模型結(jié)構(gòu)模型結(jié)構(gòu)模型框架模型框架模型動態(tài)模型動態(tài)模型過程模型過程模型功能模型功能模型44軟件體系結(jié)構(gòu)的主要研究內(nèi)容軟件體系結(jié)構(gòu)的主要研究內(nèi)容l體系結(jié)構(gòu)描述研究體系結(jié)構(gòu)描述研究各種體系結(jié)構(gòu)描述語言(各種體系結(jié)構(gòu)描述語言(ADL)過程代數(shù)過程代數(shù)偏序集合偏序集合化學(xué)抽象機(jī)化學(xué)抽象機(jī)45軟件體系結(jié)構(gòu)的主要研究內(nèi)容軟件體系結(jié)構(gòu)的主要研究內(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)的主要研究內(nèi)容軟件體系結(jié)構(gòu)的主要研究內(nèi)容l體系結(jié)構(gòu)分析與驗(yàn)證體系結(jié)構(gòu)分析與驗(yàn)證將軟件的非
24、功能特性轉(zhuǎn)化為體系結(jié)構(gòu)的需求將軟件的非功能特性轉(zhuǎn)化為體系結(jié)構(gòu)的需求分析體系結(jié)構(gòu)滿足期望的需求屬性分析體系結(jié)構(gòu)滿足期望的需求屬性對體系結(jié)構(gòu)的語義、語法、類型失配等進(jìn)行檢查與驗(yàn)證對體系結(jié)構(gòu)的語義、語法、類型失配等進(jìn)行檢查與驗(yàn)證建立評價(jià)軟件體系結(jié)構(gòu)的方法建立評價(jià)軟件體系結(jié)構(gòu)的方法47軟件體系結(jié)構(gòu)的主要研究內(nèi)容軟件體系結(jié)構(gòu)的主要研究內(nèi)容l基于體系結(jié)構(gòu)的軟件開發(fā)過程基于體系結(jié)構(gòu)的軟件開發(fā)過程傳統(tǒng)的軟件開發(fā)模型:傳統(tǒng)的軟件開發(fā)模型:瀑布模型:軟件需求完全明確瀑布模型:軟件需求完全明確漸進(jìn)式開發(fā):軟件最初基本需求明確漸進(jìn)式開發(fā):軟件最初基本需求明確變換模型:基于形式化開發(fā)方法變換模型:基于形式化開發(fā)方法引入
25、軟件體系結(jié)構(gòu)后的軟件開發(fā)過程完全不同以往,引入軟件體系結(jié)構(gòu)后的軟件開發(fā)過程完全不同以往,體系結(jié)構(gòu)貫穿軟件開發(fā)的整個階段。體系結(jié)構(gòu)貫穿軟件開發(fā)的整個階段。48軟件體系結(jié)構(gòu)的主要研究內(nèi)容軟件體系結(jié)構(gòu)的主要研究內(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ī)場信息系統(tǒng)的體系結(jié)構(gòu)機(jī)場信息系統(tǒng)的體系結(jié)構(gòu)電信軟件的體系結(jié)構(gòu)電信軟件的體系結(jié)構(gòu)49軟件體系結(jié)構(gòu)的主要研究內(nèi)容軟件體系結(jié)構(gòu)的主要研究內(nèi)容l體系結(jié)構(gòu)的評價(jià)方法體系結(jié)構(gòu)的評價(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 Met
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 聚酯底漆行業(yè)深度研究分析報(bào)告(2024-2030版)
- 2025年 公路交通安全生產(chǎn)管理能力考試練習(xí)題附答案
- 2025年 蚌埠行知高級中學(xué)招聘考試筆試試題附答案
- 2023-2028年中國干果堅(jiān)果行業(yè)市場發(fā)展監(jiān)測及投資戰(zhàn)略咨詢報(bào)告
- 中國纖維柄斧子行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報(bào)告(2024-2030)
- 中國天花板行業(yè)市場深度研究及發(fā)展趨勢預(yù)測報(bào)告
- 2025年中國點(diǎn)陣式顯示器行業(yè)發(fā)展?jié)摿Ψ治黾巴顿Y方向研究報(bào)告
- 中國紫膠行業(yè)市場調(diào)查報(bào)告
- 2025年中國止擋片行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報(bào)告
- 中國空調(diào)壓縮機(jī)減震墊行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報(bào)告(2024-2030)
- 租房合同到期交接協(xié)議書
- 道路人行天橋加裝電梯導(dǎo)則(試行)
- 中國廢舊輪胎橡膠粉項(xiàng)目投資計(jì)劃書
- 子宮內(nèi)膜異位性疾病護(hù)理
- 人工智能芯片研究報(bào)告
- 2025-2030母嬰用品產(chǎn)業(yè)市場現(xiàn)狀供需分析及重點(diǎn)企業(yè)投資評估規(guī)劃分析研究報(bào)告
- 2025貴州中考:歷史高頻考點(diǎn)
- pc構(gòu)件吊裝安全專項(xiàng)施工方案
- 汽車質(zhì)量意識培訓(xùn)
- 2025萬家寨水務(wù)控股集團(tuán)所屬企業(yè)校園招聘82人筆試參考題庫附帶答案詳解
- 管網(wǎng)工程有限空間內(nèi)清淤作業(yè)檢測修復(fù)安全專項(xiàng)施工方案
評論
0/150
提交評論