版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第八講軟件體系結(jié)構(gòu)教師姓名電子郵件學(xué)校個人主頁目錄1.什么是軟件體系結(jié)構(gòu)?2.為什么要研究軟件體系結(jié)構(gòu)?3.軟件體系結(jié)構(gòu)的研究角度;4.基本的軟件體系結(jié)構(gòu)風(fēng)格;5.基于體系結(jié)構(gòu)的軟件開發(fā)模式;6.異構(gòu)體系結(jié)構(gòu);7.軟件體系結(jié)構(gòu)的當(dāng)前研究熱點。什么是軟件體系結(jié)構(gòu)?DewaynePerry和AlexanderWolf于1992年正式提出軟件體系結(jié)構(gòu)的概念:軟件體系結(jié)構(gòu)是具有一定形式的結(jié)構(gòu)化元素。結(jié)構(gòu)化元素包括:進程元素、數(shù)據(jù)元素和連接元素。MaryShaw和DavidGarlan于1993年提出:軟件體系結(jié)構(gòu)是軟件設(shè)計過程中的一個層次,這一層次超越計算過程中的算法設(shè)計和數(shù)據(jù)結(jié)構(gòu)設(shè)計。設(shè)計和說明總體系統(tǒng)結(jié)構(gòu)作為一個新問題正式提出來了。什么是軟件體系結(jié)構(gòu)?DewaynePerry和DavidGalan于1995年IEEE軟件工程學(xué)報上定義:軟件體系結(jié)構(gòu)是一個程序/系統(tǒng)各部件的結(jié)構(gòu)、它們之間的相互關(guān)系、進行設(shè)計的原則和隨時間演進的指導(dǎo)方針。南加州大學(xué)軟件工程中心的BarryBoehm指出:一個軟件體系結(jié)構(gòu)包括:(1)一個軟件和系統(tǒng)部件、互聯(lián)及約束的集合;(2)一個系統(tǒng)需求說明的集合;(3)一個基本原理用以說明這一部件、互聯(lián)和約束能夠滿足系統(tǒng)的需求。什么是軟件體系結(jié)構(gòu)?1997年,Bass,Clements和Kazman在《使用軟件體系結(jié)構(gòu)》一書中的定義:一個程序或計算機系統(tǒng)的軟件體系結(jié)構(gòu)包括一個或一組軟件部件、軟件部件的外部可見特性及其相互關(guān)系?!巴獠靠梢娞匦浴笔侵杠浖考峁┑姆?wù)、性能、特性、錯誤處理、共享資源使用等。這一定義強調(diào)軟件體系結(jié)構(gòu)必須從系統(tǒng)中抽象出某些信息。什么是軟件體系結(jié)構(gòu)?
對軟件體系結(jié)構(gòu)定義的總結(jié)分析:軟件體系結(jié)構(gòu)定義了軟件部件(Component),包括部件間交互的定義,特別強調(diào)省略和部件相互關(guān)系無關(guān)的內(nèi)容信息(contentinformation)。軟件體系結(jié)構(gòu)并不說明什么是部件、什么是部件的相互關(guān)系。每一個軟件系統(tǒng)都有自身的體系結(jié)構(gòu),即由軟件部件及其相互關(guān)系組成。軟件體系結(jié)構(gòu)中每一部件的行為是體系結(jié)構(gòu)的一部分,反映部件間如何進行交互。軟件體系結(jié)構(gòu)的基本元素是部件,部件的描述信息包括:(1)計算功能:部件所實現(xiàn)的整體功能;(2)額外功能特性:描述部件的執(zhí)行效率、處理能力、環(huán)境假設(shè)和整體特性;(3)結(jié)構(gòu)特性:描述部件如何與其他部件集成在一起,以構(gòu)成系統(tǒng)信息;(4)家族特性:描述了相同或相關(guān)部件之間的關(guān)系。什么是軟件體系結(jié)構(gòu)?表1:普通部件及其支持的相互作用目錄1.什么是軟件體系結(jié)構(gòu)?2.為什么要研究軟件體系結(jié)構(gòu)?3.軟件體系結(jié)構(gòu)的研究角度;4.基本的軟件體系結(jié)構(gòu)風(fēng)格;5.基于體系結(jié)構(gòu)的軟件開發(fā)模式;6.異構(gòu)體系結(jié)構(gòu);7.軟件體系結(jié)構(gòu)的當(dāng)前研究熱點。為什么要研究軟件體系結(jié)構(gòu)?1.系統(tǒng)體系結(jié)構(gòu)的發(fā)展是與計算機抽象技術(shù)的發(fā)展同步的;2.大規(guī)模復(fù)雜軟件系統(tǒng)的性能與質(zhì)量對軟件工程技術(shù)提出了新的要求;3.軟件體系結(jié)構(gòu)研究的重要性。為什么要研究軟件體系結(jié)構(gòu)?----計算機抽象技術(shù)的發(fā)展抽象數(shù)據(jù)類型數(shù)據(jù)結(jié)構(gòu)與算法軟件結(jié)構(gòu)研究的開始高級程序設(shè)計語言程序族軟件體系結(jié)構(gòu)匯編語言、宏替換;高級語言編譯器、數(shù)據(jù)類型。程序=數(shù)據(jù)結(jié)構(gòu)+算法(算法抽象)軟件劃分與構(gòu)造,方便系統(tǒng)的開發(fā)與維護。(模塊抽象)數(shù)據(jù)類型抽象、封裝、信息隱藏、多態(tài)性等。一個家族的程序,在信息隱藏和軟件結(jié)構(gòu)設(shè)計上具有相同的模式。(設(shè)計模式抽象)軟件體系結(jié)構(gòu)可以看作是要把程序族中的成員的結(jié)構(gòu)化信息組織起來,使系統(tǒng)在體系結(jié)構(gòu)級達到重用。(體系結(jié)構(gòu)抽象)為什么要研究軟件體系結(jié)構(gòu)?----軟件工程技術(shù)發(fā)展的要求程序設(shè)計階段早期軟件工程階段手工作坊軟件危機1.軟件開發(fā)無計劃性;2.軟件需求不充分;3.軟件開發(fā)過程無規(guī)范;4.軟件開發(fā)產(chǎn)品無評測手段。如何更多、更好、更方便、更快地開發(fā)軟件?工程化管理軟件開發(fā)以滿足功能需求為主問題定義;需求分析;概要設(shè)計;詳細設(shè)計;編碼;測試;維護瀑布模型;演化模型;螺旋模型;噴泉模型;增量模型;原型模型;組裝可重用構(gòu)件模型。為什么要研究軟件體系結(jié)構(gòu)?----軟件工程技術(shù)發(fā)展的要求?1.
為什么專家和新手在使用軟件開發(fā)模型和軟件工程方法時,表現(xiàn)出來的軟件效率和效果不一樣?專家的經(jīng)驗應(yīng)用環(huán)境問題要求空間問題求解空間如:設(shè)計模式框架注意:經(jīng)驗的抽取與表達獨立于具體的功能要求。為什么要研究軟件體系結(jié)構(gòu)?----軟件工程技術(shù)發(fā)展的要求?2.
為什么應(yīng)用軟件開發(fā)模型和軟件工程方法解決大規(guī)模、復(fù)雜問題時,軟件系統(tǒng)的質(zhì)量和效率無法得到保證?非功能性需求1.系統(tǒng)性能要求,可用性要求;2.系統(tǒng)可適應(yīng)性和可移植性要求;3.系統(tǒng)可靠性和安全保密性要求;4.系統(tǒng)可重用性要求等。解決方法:在系統(tǒng)的局部算法結(jié)構(gòu)設(shè)計之前,著重進行系統(tǒng)的整體結(jié)構(gòu)設(shè)計。軟件體系結(jié)構(gòu)設(shè)計為什么要研究軟件體系結(jié)構(gòu)?----軟件工程技術(shù)發(fā)展的要求軟件概要設(shè)計的主要任務(wù)就是進行系統(tǒng)結(jié)構(gòu)設(shè)計,是不是就是軟件體系結(jié)構(gòu)設(shè)計?概要設(shè)計結(jié)構(gòu)化設(shè)計面向?qū)ο笤O(shè)計注意:以往的概要設(shè)計中的功能實體(構(gòu)件)的設(shè)計是首位的,也是顯式的,構(gòu)件間的連接并沒有單獨作為實體顯式地設(shè)計,而是作為構(gòu)件的附屬形式出現(xiàn)。而軟件體系結(jié)構(gòu)設(shè)計將部件、部件連接、連接規(guī)范和原則單獨作為實體顯式定義。為什么要研究軟件體系結(jié)構(gòu)?----軟件體系結(jié)構(gòu)研究的重要性1.軟件體系結(jié)構(gòu)是系統(tǒng)開發(fā)中不同參與者進行交流和信息傳播的媒介。注意:軟件體系結(jié)構(gòu)代表了系統(tǒng)的公共的高層次的抽象。為什么要研究軟件體系結(jié)構(gòu)?----軟件體系結(jié)構(gòu)研究的重要性2.軟件體系結(jié)構(gòu)代表了早期的設(shè)計決策成果。早期的決策最難處理、最難于改變、影響范圍也最大。軟件體系結(jié)構(gòu)給予開發(fā)人員一種實現(xiàn)的約束。(部件劃分、部件交互)軟件體系結(jié)構(gòu)支配了開發(fā)和維護項目的組織結(jié)構(gòu)。(系統(tǒng)結(jié)構(gòu)支配了項目組織結(jié)構(gòu))軟件體系結(jié)構(gòu)關(guān)系著系統(tǒng)的目標質(zhì)量。(好的體系結(jié)構(gòu)是系統(tǒng)成功的必要條件)通過研究軟件體系結(jié)構(gòu)可能預(yù)測軟件的某些質(zhì)量。軟件體系結(jié)構(gòu)是系統(tǒng)的高層次概述,因此可以作為新項目成員培訓(xùn)的基礎(chǔ)。軟件體系結(jié)構(gòu)可以幫助管理層適應(yīng)變化。(改動的時間、風(fēng)險、后果、優(yōu)先級等)軟件變化種類1.局部的:修改單個部件本身;2.非局部的:要修改幾個部件,但不影響基礎(chǔ)體系結(jié)構(gòu)的變動;3.體系結(jié)構(gòu)級的:改動會影響各部分的相互關(guān)系,甚至整個系統(tǒng)。為什么要研究軟件體系結(jié)構(gòu)?----軟件體系結(jié)構(gòu)研究的重要性3.軟件體系結(jié)構(gòu)可以作為一種可變換的模型。軟件體系結(jié)構(gòu)決策能在具有相似需求的多個系統(tǒng)中發(fā)生影響。通過體系結(jié)構(gòu)的抽象可以使設(shè)計者能夠?qū)σ恍┙?jīng)過實踐證明是非常有效的體系結(jié)構(gòu)部件進行復(fù)用,從而提高設(shè)計的效率和可靠性。軟件體系結(jié)構(gòu)有利于形成完整的軟件生產(chǎn)線,并共享公共的軟件體系結(jié)構(gòu)??梢砸M大量的外部開發(fā)的部件來構(gòu)造系統(tǒng),只要這些部件是與確定的體系結(jié)構(gòu)相容。體系結(jié)構(gòu)可以使部件的功能與其互連機制分離,從而可以分散注意焦點,有利于處理問題。體系結(jié)構(gòu)有利于面向模式、面向部件的開發(fā)。因此:軟件體系結(jié)構(gòu)體現(xiàn)了一個相對來說比較小又可理解的模型軟件體系結(jié)構(gòu)講座提綱1.什么是軟件體系結(jié)構(gòu)?2.為什么要研究軟件體系結(jié)構(gòu)?3.軟件體系結(jié)構(gòu)的研究角度;4.基本的軟件體系結(jié)構(gòu)風(fēng)格;5.基于體系結(jié)構(gòu)的軟件開發(fā)模式;6.異構(gòu)體系結(jié)構(gòu);7.軟件體系結(jié)構(gòu)的當(dāng)前研究熱點。軟件體系結(jié)構(gòu)的研究角度1.軟件角度從不同角度分析軟件的體系結(jié)構(gòu)。2.軟件風(fēng)格(style)角度
描述了對軟件設(shè)計成分如何進行整理和安排,并且對這些整理和安排加以限制,從而形成一種設(shè)計軟件的特定模式。每一種軟件體系結(jié)構(gòu)風(fēng)格均有自己的組織原則和基本成分,它們決定了風(fēng)格的形成。軟件體系結(jié)構(gòu)研究角度----軟件角度
從多個不同的角度描述一個軟件系統(tǒng)的整體結(jié)構(gòu),能全面、清晰地反映軟件系統(tǒng)的全貌,也能滿足不同參與者的需求。目前常用的“4+1”角度模式:支持軟件的功能需求(系統(tǒng)的功能抽象)支持模塊的組織與管理(軟件的靜態(tài)結(jié)構(gòu))系統(tǒng)的并發(fā)與同步等控制結(jié)構(gòu),支持系統(tǒng)的非功能性需求。描述軟件和硬件的映射問題對系統(tǒng)中的重要活動的抽象,使四個角度有機地聯(lián)系起來。軟件體系結(jié)構(gòu)研究角度----軟件風(fēng)格角度軟件體系結(jié)構(gòu)風(fēng)格:能重復(fù)使用的軟件體系模式。有原則使用結(jié)構(gòu)風(fēng)格的益處:促進了對體系結(jié)構(gòu)設(shè)計的復(fù)用;帶來顯著的代碼復(fù)用。體系結(jié)構(gòu)風(fēng)格不變部分可以共享同一個實現(xiàn)代碼;只要系統(tǒng)是使用常用的、規(guī)范的方法來組織,就可使別的設(shè)計者很容易地理解系統(tǒng)的體系結(jié)構(gòu);對標準風(fēng)格的使用也支持了互操作性。CORBA與基于事件機制的集成;結(jié)構(gòu)風(fēng)格通常允許進行特殊的和風(fēng)格有關(guān)的分析,這與連接件的特性有關(guān);通常有可能對特定的風(fēng)格提供可視化手段(visualization)。注意:結(jié)構(gòu)風(fēng)格的使用幾乎完全是特化的,必須根據(jù)特定項目的具體特點進行分析比較后確定。軟件體系結(jié)構(gòu)研究角度----軟件風(fēng)格角度軟件體系結(jié)構(gòu)風(fēng)格的四種基本要素:1.提供一個詞匯表:定義與設(shè)計元素有關(guān)的部件、連接件類型等。2.定義一套配置規(guī)則或系統(tǒng)的拓撲限制:明確設(shè)計元素的合法組成方式。3.定義一套語義解釋原則:使得設(shè)計元素的組成可以適當(dāng)?shù)丶s束于配置規(guī)則之中,并具有清晰的含義。4.定義可以對基于這種風(fēng)格建立的系統(tǒng)進行的分析。如:Client/Server結(jié)構(gòu)風(fēng)格的實時處理過程的可調(diào)度性。軟件體系結(jié)構(gòu)講座提綱1.什么是軟件體系結(jié)構(gòu)?2.為什么要研究軟件體系結(jié)構(gòu)?3.軟件體系結(jié)構(gòu)的研究角度;4.基本的軟件體系結(jié)構(gòu)風(fēng)格;5.基于體系結(jié)構(gòu)的軟件開發(fā)模式;6.異構(gòu)體系結(jié)構(gòu);7.軟件體系結(jié)構(gòu)的當(dāng)前研究熱點?;镜能浖w系結(jié)構(gòu)風(fēng)格出發(fā)點:側(cè)重于軟件體系結(jié)構(gòu)的結(jié)構(gòu)模型,即觀察軟件部件、連接件、部件及連接件組合的約束條件。1.
管道和過濾器(pipesandfilters)2.數(shù)據(jù)抽象和面向?qū)ο蠼M織(dataabstractionandOO-organization)3.基于事件的隱式調(diào)用(event-based,implicitinvocation)4.分層系統(tǒng)(layeredsystems)5.倉庫系統(tǒng)(repositories)6.表格驅(qū)動的解釋器(tabledriveninterpreters)7.其它類型的體系結(jié)構(gòu)基本的軟件體系結(jié)構(gòu)風(fēng)格----管道/過濾器(pipesandfilters)計算過濾器計算過濾器管道過濾器:對輸入數(shù)據(jù)進行局部變換,并采用漸進式計算方法,在未處理完所有輸入數(shù)據(jù)以前,就可以產(chǎn)生部分計算結(jié)果,并將其送到輸出端口。管道:各過濾器之間的連接器將一個過濾器的輸出傳到下一過濾器的輸入端。特征:1.過濾器一定是獨立的實體,即各過濾器之間不能共享狀態(tài);
2.過濾器與其連接的上下游的過濾器互相獨立。過濾器只能涉及限制哪類數(shù)據(jù)可以出現(xiàn)在它的輸入管道中,可以保證它將輸出何種類型的計算結(jié)果,但不能識別與其相連的管道的另一邊的過濾器?;镜能浖w系結(jié)構(gòu)風(fēng)格----管道/過濾器(pipesandfilters)1.系統(tǒng)的整體行為可以理解為各獨立過濾器行為的簡單合成。
2.系統(tǒng)維護容易:過濾器可以容易地替換和增加。
3.允許進行如吞吐量和死鎖等性能分析。
4.很自然地支持并發(fā)執(zhí)行。1.過濾器容易被看成提供一個完整的將輸入數(shù)據(jù)轉(zhuǎn)換成輸出數(shù)據(jù)的模塊。實際上,過濾器是以漸進式處理數(shù)據(jù)的。
2.維護兩個分離但相關(guān)的數(shù)據(jù)流時,很難設(shè)計這樣的系統(tǒng)。
3.由于管道遵循最一般的數(shù)據(jù)傳輸標準,所以,過濾器必須承擔(dān)數(shù)據(jù)語法分析和編碼的額外工作,增加了復(fù)雜性,降低了性能。基本的軟件體系結(jié)構(gòu)風(fēng)格----數(shù)據(jù)抽象和面向?qū)ο蠼M織(dataabstractionandOO-organization)部件:對象,或者說是抽象數(shù)據(jù)類型的實例。連接:對象間通過函數(shù)和過程調(diào)用發(fā)生相互關(guān)系。特征:1.對象負責(zé)維持本身的完整性;
2.信息隱藏:對象的結(jié)構(gòu)和方法的實現(xiàn)對其它對象不可見。抽象、封裝、信息隱藏、繼承、多態(tài)性、動態(tài)聯(lián)編等…...一個對象與另一個對象交互時必須知道對方的標識,這種顯式調(diào)用使得系統(tǒng)的維護變得較困難?;镜能浖w系結(jié)構(gòu)風(fēng)格----基于事件的隱式調(diào)用(event-based,implicitinvocation)思想:組件不直接調(diào)用一個過程,而是觸發(fā)或廣播一個或多個事件。系統(tǒng)中其它組件的過程在一個或多個事件中注冊,當(dāng)一個事件被觸發(fā),系統(tǒng)自動調(diào)用在這個事件中注冊的所有過程。這樣,事件的觸發(fā)就可以隱式調(diào)用模塊中的過程。特點:事件的聲明者不用知道哪些部件會被事件影響。部件:模塊,既可以是過程,又可以是事件集合。連接:顯式和隱式過程調(diào)用強有力支持軟件復(fù)用;系統(tǒng)容易升級。軟件部件放棄了對計算的控制,控制完全由系統(tǒng)完成。數(shù)據(jù)傳遞常常需要依賴一個存儲庫來完成,資源管理成為問題。系統(tǒng)正確性的評判問題。因為過程的調(diào)用依賴于調(diào)用時的環(huán)境?;镜能浖w系結(jié)構(gòu)風(fēng)格----分層系統(tǒng)(layeredsystems)內(nèi)核基本工具有用的系統(tǒng)用戶軟部件:實現(xiàn)在層次結(jié)構(gòu)中的虛擬機連接件:層次與層次之間交互的協(xié)議層次化組織原則:每一層向其上層提供服務(wù),并利用下層的服務(wù)?;镜能浖w系結(jié)構(gòu)風(fēng)格----分層系統(tǒng)(layeredsystems)支持基于抽象程度遞增的系統(tǒng)設(shè)計。支持功能擴展、增強。因為功能的改變最多影響相鄰的層次。支持復(fù)用。只要提供的服務(wù)接口定義不變,同一層的不同實現(xiàn)可以交換使用。并不是每個系統(tǒng)都可以很容易地劃分為分層的模式,有時即使存在邏輯層次結(jié)構(gòu),但出于對系統(tǒng)性能的考慮,將低層和高層的功能耦合起來。很難找到一個合適的、正確的層次抽象方法?;镜能浖w系結(jié)構(gòu)風(fēng)格----倉庫系統(tǒng)(repositories)軟件部件表示當(dāng)前狀態(tài)的中心數(shù)據(jù)結(jié)構(gòu)一組相互獨立的處理中心數(shù)據(jù)的部件部件交互方式根據(jù)輸入數(shù)據(jù)流的事務(wù)處理類型決定執(zhí)行哪個處理過程根據(jù)中心數(shù)據(jù)結(jié)構(gòu)的當(dāng)前狀態(tài)觸發(fā)進行執(zhí)行傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)黑板系統(tǒng)基本的軟件體系結(jié)構(gòu)風(fēng)格----倉庫系統(tǒng)(repositories)黑板(共享數(shù)據(jù))知識源知識源知識源知識源直接存?。褐R源不斷改變黑板的狀態(tài)。按照與應(yīng)用程序相關(guān)的層次組織的問題求解數(shù)據(jù)獨立、分離的與應(yīng)用程序相關(guān)的知識及其處理單元黑板狀態(tài)驅(qū)動控制:使用特定的知識?;镜能浖w系結(jié)構(gòu)風(fēng)格----表格驅(qū)動的解釋器(tabledriveninterpreters)工作存儲區(qū)對解釋引擎控制狀態(tài)的表示被解釋程序的當(dāng)前狀態(tài)的表示解釋引擎輸入輸出計算狀態(tài)機被選數(shù)據(jù)和指令存儲器數(shù)據(jù)存取解釋器基本的軟件體系結(jié)構(gòu)風(fēng)格----表格驅(qū)動的解釋器(tabledriveninterpreters)工作存儲區(qū)規(guī)則庫規(guī)則與數(shù)據(jù)元素選擇規(guī)則解釋引擎輸入輸出計算狀態(tài)機被選數(shù)據(jù)和規(guī)則存儲器數(shù)據(jù)存取事實存儲區(qū)專家系統(tǒng)基本的軟件體系結(jié)構(gòu)風(fēng)格----其它類型的體系結(jié)構(gòu)分布式系統(tǒng)中最常用的體系結(jié)構(gòu):客戶/服務(wù)器模型服務(wù)器:為客戶提供服務(wù);事先并不知道有哪些客戶對其進行訪問??蛻簦罕仨氈苯踊蜷g接知道服務(wù)器的標識。遠過程調(diào)用注意:結(jié)構(gòu)的層次可以是兩層,也可以是三層(在客戶和服務(wù)器之間增加了一個中間層:中間件),三層結(jié)構(gòu)中相鄰兩層仍然保持客戶/服務(wù)器的關(guān)系?;镜能浖w系結(jié)構(gòu)風(fēng)格Garlan和Shaw對通用體系結(jié)構(gòu)風(fēng)格的分類:數(shù)據(jù)流風(fēng)格:批處理序列;管道/過濾器;過程/調(diào)用風(fēng)格:主程序/子過程;面向?qū)ο?;分層系統(tǒng);獨立組件風(fēng)格:進程通訊;基于事件驅(qū)動的系統(tǒng);虛擬機風(fēng)格:表格驅(qū)動的解釋器;基于規(guī)則的系統(tǒng);數(shù)據(jù)中心風(fēng)格:數(shù)據(jù)庫系統(tǒng);超文本系統(tǒng);黑板系統(tǒng)。小結(jié):一個體系結(jié)構(gòu)風(fēng)格定義了有相同組織結(jié)構(gòu)模式的一系列系統(tǒng),并定義了組件和連接器類型的列表以及一套組件連接的約束。許多體系結(jié)構(gòu)模型還有一個或多個語義模型來指定如何由各部分的屬性決定系統(tǒng)的整體屬性。軟件體系結(jié)構(gòu)講座提綱1.什么是軟件體系結(jié)構(gòu)?2.為什么要研究軟件體系結(jié)構(gòu)?3.軟件體系結(jié)構(gòu)的研究角度;4.基本的軟件體系結(jié)構(gòu)風(fēng)格;5.基于體系結(jié)構(gòu)的軟件開發(fā)模式;6.異構(gòu)體系結(jié)構(gòu);7.軟件體系結(jié)構(gòu)的當(dāng)前研究熱點?;隗w系結(jié)構(gòu)的軟件開發(fā)模式良好的體系結(jié)構(gòu)可以為軟件開發(fā)和維護帶來好處:識別相似系統(tǒng)的通用結(jié)構(gòu)模式,有助于理解系統(tǒng)高層之間的聯(lián)系,使得新系統(tǒng)可以作為以前系統(tǒng)的變種來構(gòu)造;合適的體系結(jié)構(gòu)是系統(tǒng)成功的關(guān)鍵,而不合適的體系結(jié)構(gòu)可能帶來災(zāi)難性的后果;對軟件體系結(jié)構(gòu)的理解,可以幫助開發(fā)人員在不同的設(shè)計方案中做出理性的選擇;體系結(jié)構(gòu)對于分析和描述復(fù)雜系統(tǒng)的高層屬性通常是十分必要的;各種體系結(jié)構(gòu)風(fēng)格的提煉、描述和普遍采用,便于軟件開發(fā)人員在系統(tǒng)設(shè)計中互相交流;在軟件開發(fā)文檔中清晰地記錄系統(tǒng)體系結(jié)構(gòu),不僅可以顯著地節(jié)省軟件理解的工作量,而且便于在軟件維護的全過程中保持系統(tǒng)的總體結(jié)構(gòu)和特性不變?;隗w系結(jié)構(gòu)的軟件開發(fā)模式提煉特定應(yīng)用領(lǐng)域的穩(wěn)定需求和易變需求,建立可復(fù)用的領(lǐng)域模型。在特定領(lǐng)域模型的基礎(chǔ)上提煉特定應(yīng)用領(lǐng)域的軟件體系結(jié)構(gòu)。進行體系結(jié)構(gòu)設(shè)計分配系統(tǒng)功能到相應(yīng)的構(gòu)建和連接件上存放設(shè)計模式、對象或其它可重用的設(shè)計構(gòu)件。設(shè)計構(gòu)件和連接件復(fù)用/存儲軟件體系結(jié)構(gòu)講座提綱1.什么是軟件體系結(jié)構(gòu)?2.為什么要研究軟件體系結(jié)構(gòu)?3.軟件體系結(jié)構(gòu)的研究角度;4.基本的軟件體系結(jié)構(gòu)風(fēng)格;5.基于體系結(jié)構(gòu)的軟件開發(fā)模式;6.異構(gòu)體系結(jié)構(gòu);7.軟件體系結(jié)構(gòu)的當(dāng)前研究熱點。異構(gòu)體系結(jié)構(gòu)1.異構(gòu)是不可避免的不同的體系結(jié)構(gòu)在處理能力上有不同的優(yōu)缺點,一個系統(tǒng)的體系結(jié)構(gòu)應(yīng)該根據(jù)實際需要進行選擇,以解決實際問題。同一種體系結(jié)構(gòu)下的可重用的部件和連接件在不同時期可能存在不同的標準,特別是連接件中的通信協(xié)議標準。如果要重用原來系統(tǒng)中遺留下來的代
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年工業(yè)萘項目立項申請報告模板
- 2025年智能化配電與電控裝置項目規(guī)劃申請報告模板
- 函授畢業(yè)生登記表自我鑒定范文15篇
- 2025年汽車安全氣囊及裝置項目提案報告
- 2025年寵物水族項目立項申請報告
- 2025年無菌包裝用包裝材料項目立項申請報告
- 2025年汽車覆蓋件模具項目提案報告模式
- 2024年度水利工程行政合同行政優(yōu)益權(quán)實施要點分析3篇
- 資料員個人工作總結(jié)范文五篇
- 房屋租賃協(xié)議書六篇
- 湖南省雅禮教育集團2023-2024學(xué)年高二上學(xué)期期末英語試卷 含解析
- 2024年7月國家開放大學(xué)法學(xué)本科《知識產(chǎn)權(quán)法》期末考試試題及答案
- 北京市西城區(qū)2022-2023學(xué)年六年級上學(xué)期數(shù)學(xué)期末試卷(含答案)
- 2024秋期國家開放大學(xué)本科《經(jīng)濟學(xué)(本)》一平臺在線形考(形考任務(wù)1至6)試題及答案
- 上海市住院醫(yī)師規(guī)范化培訓(xùn)公共科目考試題庫-重點傳染病防治知識
- 2024智能變電站新一代集控站設(shè)備監(jiān)控系統(tǒng)技術(shù)規(guī)范部分
- 抵押貸款行業(yè)可行性分析報告
- MOOC 微觀經(jīng)濟學(xué)-浙江大學(xué) 中國大學(xué)慕課答案
- 《土地利用規(guī)劃》簡答題復(fù)習(xí)
- 繼電保護誤動事故的處理.ppt
- 農(nóng)村基層人大代表述職報告
評論
0/150
提交評論