軟件體系結構SA概論_第1頁
軟件體系結構SA概論_第2頁
軟件體系結構SA概論_第3頁
軟件體系結構SA概論_第4頁
軟件體系結構SA概論_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、軟件體系結構(SA)概論8/6/202211、SA基礎SA基礎;SA的地位;SA技術現狀及發(fā)展趨勢;SA建模;8/6/20222研究背景20世紀60年代末開始出現的“軟件危機”軟件組件和軟件重用的推動關于SA研究的興起8/6/20223關于軟件危機軟件的先天不足1968年在原西德加密施(Garmish)召開的國際軟件工程會議上被人們普遍認識到。軟件工程的尷尬8/6/20224從軟件危機談起軟件危機的表現軟件成本日益增長開發(fā)進度難以控制軟件質量差軟件維護困難8/6/20225軟件危機的原因用戶需求不明確缺乏正確的理論指導軟件規(guī)模越來越大軟件復雜度越來越高8/6/20226如何克服軟件危機人們面臨

2、的不光是技術問題,更重要的是管理問題。管理不善必然導致失敗。 用現代工程的概念、原理、技術和方法進行計算機軟件的開發(fā)、管理和維護。軟件工程因此而誕生。它在軟件開發(fā)方法、工具、管理等方面的應用大大緩解了軟件危機造成的被動局面。 8/6/20227軟件工程軟件工程是用工程、科學和數學的原則與方法研制、維護計算機軟件的有關技術及管理方法。包括三個要素:方法。軟件工程方法為軟件開發(fā)提供了如何做的技術,是完成軟件工程項目的技術手段;工具。軟件工具是人類在開發(fā)軟件的活動中智力和體力的擴展和延伸,為軟件工程方法提供了自動的或半自動的軟件支撐環(huán)境;過程。軟件工程的過程則是將軟件工程的方法和工具綜合起來以達到合

3、理、及時地進行計算機軟件開發(fā)的目的。8/6/20228組件與軟件重用軟件重用指在兩次或多次不同的軟件開發(fā)過程中重復使用相同或相近軟件元素的過程。軟件元素包括程序代碼、測試用例、設計文檔、設計過程、需求分析文檔甚至領域知識。這種可重用的元素稱作軟組件,可重用的軟件元素越大,其重用的粒度就越大。8/6/20229軟件重用的好處可以減少軟件開發(fā)活動中大量的重復性工作,從而:提高軟件生產率降低開發(fā)成本縮短開發(fā)周期由于軟組件大都經過嚴格的質量認證,并在實際運行環(huán)境中得到校驗,因此,重用軟組件有助于改善軟件質量。大量使用軟組件,軟件的靈活性和標準化程度也可望得到提高。 8/6/202210軟件組件直觀的理

4、解組件是指語義完整、語法正確和有可重用價值的單位軟件,是軟件重用過程中可以明確辯識的系統(tǒng);是語義描述、通訊接口和實現代碼的復合體。是具有一定的功能,能夠獨立工作或能同其它組件裝配起來協(xié)調工作的程序體,組件的使用同他的開發(fā)、生產無關。8/6/202211軟件組件與類從抽象程度來看面向對象技術已達到了類級重用(代碼重用),是類封裝。重用粒度太小,不足以解決異構互操作和效率更高的重用。組件將抽象的程度提到一個更高的層次,它對一組類的組合進行封裝,并代表完成一個或多個功能的特定服務,也為用戶提供了多個接口。組件隱藏了具體的實現,只用接口提供服務。 8/6/202212組件技術的三個主流組件技術發(fā)展迅速

5、,已形成三個主要流派:IBM支持的CORBA Sun的Java平臺Microsoft的COM+。 8/6/202213組件的分類如果把軟件系統(tǒng)看成是組件的集合,那么從組件的外部形態(tài)來看,構成一個系統(tǒng)的組件可分為5類:獨立而成熟的組件有限制的組件適應性組件裝配的組件可修改的組件8/6/202214組件的分類獨立而成熟的組件得到了實際運行環(huán)境的多次檢驗,它們隱藏了所有接口,用戶只需用規(guī)定好的命令進行使用。如數據庫管理系統(tǒng)和操作系統(tǒng)等。有限制的組件它們提供了接口,指出了使用的條件和前提,這種組件在裝配時,會產生資源沖突、覆蓋等影響,在使用時需要加以測試。例如,各種面向對象對象程序設計語言中的基礎類庫

6、等。8/6/202215組件的分類適應性組件用封裝和接口技術,把不兼容性、資源沖突等進行了處理,可直接使用在各種環(huán)境中。例如ActiveX等。裝配的組件已經裝配在操作系統(tǒng)、數據庫管理系統(tǒng)或信息系統(tǒng)不同層次上,使用膠水代碼(Blue Code)就可以進行連接使用。軟件商提供的多數軟件產品都屬這一類。8/6/202216組件的分類可修改的組件可修改的組件可以進行版本替換。如果對原組件修改錯誤、增加新功能,可以利用重新“包裝”或寫接口來實現組件的替換。這種組件在應用系統(tǒng)開發(fā)中使用得比較多。8/6/202217組件的獲取組件獲取可以有多種不同的途徑:從現有組件中獲得符合要求的組件,直接使用或作適應性修

7、改,得到可重用的組件;通過遺傳工程,將具有潛在重用價值的組件提取出來,得到可重用的組件;從市場上購買現成的商業(yè)組件,即COTS組件;開發(fā)新的符合要求的組件。8/6/202218SA的興起1960s的軟件危機引發(fā)了軟件工程的研究。早期的軟件工程將軟件設計的重點放在數據結構和算法的選擇上。如今,系統(tǒng)的結構和規(guī)格說明顯得更重要軟件危機的程度日益加劇,現有的軟件工程方法顯得力不從心。對于大規(guī)模復雜軟件系統(tǒng)來說,系統(tǒng)結構設計和規(guī)格說明比算法和數據結構的選擇更重要。對SA的系統(tǒng)和深入的研究將會成為提高軟件生產率和解決軟件維護問題的最有希望的途徑之一。8/6/202219SA不是空穴來風自從軟件系統(tǒng)首次被分

8、成許多模塊,模塊之間有相互作用,組合起來有整體的屬性,就具有了體系結構。好的開發(fā)者常常會使用一些體系結構模式作為軟件系統(tǒng)結構設計策略,但他們并沒有規(guī)范地、明確地表達出來,這樣就無法將他們的知識與別人交流。SA是設計抽象的進一步發(fā)展,滿足了更好地理解軟件系統(tǒng),更方便地開發(fā)更大、更復雜的軟件系統(tǒng)的需要。8/6/202220軟件與建筑的類比軟件總是有體系結構的,不存在沒有體系結構的軟件。如同一座建筑物,軟件也有它的:基礎(操作系統(tǒng)之上的基礎設施軟件)主體(實現計算邏輯的主體應用程序)裝飾(方便使用的用戶界面程序)等。8/6/202221對應于建筑的軟件構建過程預設計階段初步了解設計輪廓域分析階段詳細

9、了解明確的需求圖解設計階段外觀設計(GUI等)原型設計開發(fā)階段完善設計用戶證實項目文檔階段技術文檔技術路線的確定人員配合域合約簽訂階段確定標的招標構件階段監(jiān)督項目實施需求的變更設計后構建階段培訓維護8/6/202222軟件與結構化程序設計從細節(jié)上來看,每一個程序也是有結構的。早期的結構化程序就是以語句組成模塊,模塊的聚集和嵌套形成層層調用的程序結構,這也是SA的表現形式之一。結構化程序的程序(表達)結構和(計算的)邏輯結構的一致性及自頂向下開發(fā)方法自然而然地形成了體系結構。由于結構化程序設計時代程序規(guī)模不大,通過強調結構化程序設計方法學,自頂向下、逐步求精,并注意模塊的耦合性就可以得到相對良好

10、的結構,所以,并未特別研究SA。 8/6/202223SA、建筑、結構化程序設計結構化程序設計時代是以磚、瓦、灰、沙、石、預制梁、柱、屋面板蓋平房和小樓面向對象時代以整面墻、整間房、一層樓梯的預制件蓋高樓大廈。這些大粒度的框架設計與復用就成為SA的基本特征之一;8/6/202224SA現代軟件工程的發(fā)展組件怎樣搭配才合理?體系結構怎樣構造容易?重要組件有了更改后,如何保證整棟高樓不倒?每種應用領域需要什么組件(醫(yī)院、工廠、旅館)?有哪些實用、美觀、強度、造價合理的組件骨架使建造出來的建筑(即體系結構)更能滿足用戶的需求?軟件從傳統(tǒng)的軟件工程進入到現代面向對象的軟件工程,研究整個軟件系統(tǒng)的體系結

11、構,尋求建構最快、成本最低、質量最好的構造過程。8/6/202225對SA的研究SA雖脫胎于軟件工程,但其形成同時借鑒了計算機體系結構和網絡體系結構中很多寶貴的思想和方法,最近幾年SA研究已完全獨立于軟件工程的研究,成為計算機科學的一個最新的研究方向和獨立學科分支。SA研究的主要內容涉及SA描述、SA風格、SA評價和SA的形式化方法等。解決好軟件的重用、質量和維護問題,是研究SA的根本目的。8/6/202226SA的定義雖然SA已經在軟件工程領域中有著廣泛的應用,但迄今為止還沒有一個被大家所公認的定義。許多專家學者從不同角度和不同側面對SA進行了刻畫,較為典型的定義有: 8/6/202227B

12、ooch、Rumbaugh和Jacobson的定義SA組織,元素,子系統(tǒng),風格SA是一系列重要決策的集合即:SA與軟件組織、系統(tǒng)的結構元素、接口的選擇、元素的行為及子系統(tǒng)及風格密切相關8/6/202228Perry和Wolf的定義SA元素,形式,準則SA是具有一定形式的結構化元素的集合,包括處理組件、數據組件和連接組件。處理組件負責對數據進行加工,數據組件是被加工的信息,連接組件把體系結構的不同部分組組合連接起來。這一定義注重區(qū)分處理組件、數據組件和連接組件,這一方法在其他的定義和方法中基本上得到保持。 8/6/202229Shaw和Garlan的定義SA構件,連接件,約束SA是軟件設計過程中

13、的一個層次,這一層次超越計算過程中的算法設計和數據結構設計。體系結構問題包括總體組織和全局控制、通訊協(xié)議、同步、數據存取,給設計元素分配特定功能,設計元素的組織,規(guī)模和性能,在各設計方案間進行選擇等。SA處理算法與數據結構之上的關于整體系統(tǒng)結構設計和描述方面的一些問題,如:全局組織和全局控制結構、關于通訊、同步與數據存取的協(xié)議,設計組件功能定義,物理分布與合成,設計方案的選擇、評估與實現等。 8/6/202230Kruchten的定義SA有四個角度,它們從不同方面對系統(tǒng)進行描述:概念角度:描述系統(tǒng)的主要組件及它們之間的關系模塊角度:包含功能分解與層次結構;運行角度:描述了一個系統(tǒng)的動態(tài)結構;代

14、碼角度:描述了各種代碼和庫函數在開發(fā)環(huán)境中的組織。8/6/202231Hayes Roth的定義SA是一個抽象的系統(tǒng)規(guī)范,主要包括用其行為來描述的功能組件和組件之間的相互連接、接口和關系。8/6/202232Garlan和Perry的定義1995年,在IEEE軟件工程學報上, David Garlan和Dewne Perry定義:SA是一個程序系統(tǒng)各組件的結構、它們之間的相互關系以及進行設計的原則和隨時間進化的指導方針。8/6/202233Boehm的定義SA構件,連接件,約束、不同人員的需求、準則Barry Boehm和他的學生的定義:一個SA包括:一個軟件和系統(tǒng)組件,互聯及約束的集合;一個

15、系統(tǒng)需求說明的集合;一個基本原理用以說明這一組件,互聯和約束能夠滿足系統(tǒng)需求。8/6/202234Bass的定義1997年,Bass,Ctements和Kazman在使用SA一書中給出如下的定義:一個程序或計算機系統(tǒng)的SA包括一個或一組軟件組件、軟件組件的外部的可見特性及其相互關系。其中,軟件外部的可見特性是指軟件組件提供的服務、性能、特性、錯誤處理、共享資源使用等。8/6/202235IEEE610.12-1990定義SA構件,連接件,環(huán)境、原理8/6/202236我們的定義(理解)SA是軟件系統(tǒng)的一個結構、行為和屬性的高級抽象,它由構成系統(tǒng)的元素的描述、元素間的相互作用、指導元素集成的模式

16、以及這些模式的約束所組成。SA不僅指定了系統(tǒng)的組織結構和拓撲結構,也顯示了系統(tǒng)需求和構成系統(tǒng)的元素之間的對應關系,提供了一些設計決策的基本原理。 8/6/202237SA的基本概念圖軟件體系結構構件連接件約束端口角色通用風格管道/過濾器分層解釋器1*1*1*8/6/202238SA的基本概念圖SA:=軟件體系模型|軟件體系風格軟件體系模型:=(構件,連接件,約束構件:=端口1,端口2端口n連接件:=角色1,角色2角色m約束:=(端口i,角色j)軟件體系風格:=管道過濾器、客戶服務器解釋器8/6/202239SA的發(fā)展與現狀SA尚處在迅速發(fā)展之中,越來越多的研究人員正在把注意力投向SA的研究。用

17、于對SA進行規(guī)格描述的模型、標記法和工具仍很不正規(guī)。為使之更為精確和健壯,很多的研究工作都在進行中。 8/6/202240SA的發(fā)展歷程無體系結構設計階段萌芽階段初級階段高級階段綜合階段8/6/202241SA的發(fā)展歷程無體系結構設計階段1946年的ENIAC,軟件問世1950s的Fortran、COBOL出現、1960s ALGOL出現以匯編語言為基本的設計語言系統(tǒng)規(guī)模很小,很少考慮SA,也基本不存在軟件系統(tǒng)建模問題8/6/202242SA的萌芽階段標志事件1968年的NATO會議上,軟件工程的概念首次出現軟件開發(fā)方法、開發(fā)模型、開發(fā)工具等研究開始1970s的PASCAL語言出現結構化軟件開

18、發(fā)技術圍繞項目提出了費用估算、文檔復審等方法和工具數據結構、程序模塊化等特征出現軟件工程方法及CASE工具出現SA已經成為系統(tǒng)開發(fā)的一個明確概念由于軟件規(guī)模不大,結構化程序設計方法基本能滿足要求,SA的問題不是主要問題8/6/202243SA的初級階段標志事件1980s,面向對象技術出現Booch、Coad/Yourdon、OMT及Jacobson等方法得到廣泛的認可Booch方法提出:類視圖、對象視圖、狀態(tài)遷移圖、交互作用圖、模塊圖、進程圖等UML提出:功能模型、靜態(tài)模型、動態(tài)模型、配置模型等1994年的UML,綜合了Booch、OMT和Jacobson等方法的特點,統(tǒng)一了符號體系OMG于1

19、997年正式采納UML1.1作為建模語言規(guī)范抽象數據類型和面相對象技術使SA研究得到重視類庫的構造、分布式應用系統(tǒng)的設計規(guī)模、復雜性高的系統(tǒng)等,對SA的研究都提出了要求8/6/202244SA的高級階段標志事件1990s基于構件的軟件開發(fā)出現軟件開發(fā)目標強調:自適應性、互操作性、可擴展性和可重用性強調采用構件化技術和體系結構技術構件的實現與語言無關以Kruchten的“41”模型為標志基于構件和SA的開發(fā)方法中,開發(fā)模式也發(fā)生了相應的變化軟件開發(fā)算法體系結構軟件開發(fā)構件開發(fā)基于構件的構件組裝SA的研究成為軟件工程的重要研究領域,并最終成為一門學科8/6/202245國內外研究現狀關于SA的研究

20、工作主要在國外國內對SA的研究尚處在起步階段原因主要有兩點: SA表面上看起來是一個老話題,似乎沒有新東西。與國外相比,國內對大型和超大型復雜軟件系統(tǒng)開發(fā)的經歷相對較少,對軟件危機的災難性體會沒有國外深刻,對SA研究的重要性和必要性認識不足。8/6/202246應用現狀形成研究熱點,仍處于非形式化水平自20世紀90后期以來,SA的研究成為一個熱點。從SA研究的現狀來看,當前的研究還停留在非形式化的基礎上。軟件構架師仍然缺乏必要的工具,這種工具應該是顯式描述的、有獨立性的形式化工具。在目前通用的軟件開發(fā)方法中,描述通常是用非形式化的圖和文本不能描述系統(tǒng)期望的存在于組件之間的接口,不能描述不同的組

21、成系統(tǒng)的組合關系的意義。難以被開發(fā)人員理解,更不能用來分析其一致性和完整性等特性。8/6/202247SA的非形式化描述在目前通用的軟件開發(fā)方法中,描述通常是用非形式化的圖和文本不能描述系統(tǒng)期望的存在于組件之間的接口,不能描述不同的組成系統(tǒng)的組合關系的意義。難以被開發(fā)人員理解,更不能用來分析其一致性和完整性等特性。當一個軟件系統(tǒng)中的組件之間幾乎以一種非形式化的方法描述時,系統(tǒng)的重用性也會受到影響,在設計一個系統(tǒng)結構過程中的努力很難移植到另一個系統(tǒng)中去。對系統(tǒng)組件和連接關系的結構化假設沒有得到顯式的、形式化的描述時,把這樣的系統(tǒng)組件移植到另一個系統(tǒng)中去將是有風險的,甚至是不可能的。 8/6/20

22、2248SA的形式化方法研究SA研究如果僅僅停留在非形式化的框圖階段,已經難以適應進一步發(fā)展的需要。為支持基于體系結構的開發(fā),需要有形式化建模符號、體系結構說明的分析與開發(fā)工具。8/6/202249SA的形式化描述系統(tǒng)Wright美國卡耐基梅隆大學的Robert JA11en于l997年提出的Wright系統(tǒng)。Wright是-種結構描述語言,該語言基于一種形式化的、抽象的系統(tǒng)模型,為描述和分析SA和結構化方法提供了一種實用的工具。Wright主要側重于描述系統(tǒng)的軟件組件和連接的結構、配置和方法。它使用顯式的、獨立的連接模型來作為交互的方式,這使得該系統(tǒng)可以用邏輯謂詞符號系統(tǒng),而不依賴特定的系統(tǒng)

23、實例來描述系統(tǒng)的抽象行為。Wright系統(tǒng)還可以通過一組靜態(tài)檢查來判斷系統(tǒng)結構規(guī)格說明的一致性和完整性。Wright系統(tǒng)的確適用于對大型系統(tǒng)的描述和分析。8/6/202250SA的建模研究研究SA的首要問題是如何表示SA,即如何對SA建模。根據建模的側重點的不同,可以將SA的模型分為5種:結構模型框架模型動態(tài)模型過程模型功能模型。在這5個模型中,最常用的是結構模型和動態(tài)模型。8/6/202251SA的結構模型是一個最直觀、最普遍的建模方法。以體系結構的組件、連接件和其他概念來刻畫結構,并力圖通過結構來反映系統(tǒng)的重要語義內容,包括系統(tǒng)的配置、約束、隱含的假設條件、風格、性質。研究結構模型的核心是

24、體系結構描述語言。8/6/202252SA的框架模型框架模型與結構模型類似,但它不太側重描述結構的細節(jié)而更側重于整體的結構??蚣苣P椭饕砸恍┨厥獾膯栴}為目標建立只針對和適應該問題的結構。 8/6/202253SA的動態(tài)模型動態(tài)模型是對結構或框架模型的補充,研究系統(tǒng)的“大顆?!钡男袨樾再|。例如:描述系統(tǒng)的重新配置或演化。動態(tài)可能指系統(tǒng)總體結構的配置、建立或拆除通信通道或計算的過程。這類系統(tǒng)常是激勵型的。8/6/202254SA過程模型過程模型研究構造系統(tǒng)的步驟和過程。結構是遵循某些過程腳本的結果。8/6/202255SA的功能模型該模型認為體系結構是由一組功能組件按層次組成,下層向上層提供服務

25、。它可以看作是一種特殊的框架模型。8/6/202256SA的“ 4+1”視角模型 這5種模型各有所長,也許將5種模型有機地統(tǒng)一在一起,形成一個完整的模型來刻畫SA更合適。Kruchten在1995年提出了一個“4+1”的視角模型?!?+1”模型從5個不同的視角包括邏輯視角、過程視角、物理視角、開發(fā)視角和場景視角來描述SA。每一個視角只關心系統(tǒng)的一個側面,5個視角結合在一起才能夠反映系統(tǒng)的SA的全部內容。8/6/202257SA的4+1模型圖8/6/202258基于SA的軟件開發(fā)模型研究軟件開發(fā)模型是跨越整個軟件生存周期的系統(tǒng)開發(fā)、運行、維護所實施的全部工作和任務的結構框架,給出了軟件開發(fā)活動各

26、階段之間的關系。常見的軟件開發(fā)模型大致可分為三種類型:以軟件需求完全確定為前提的瀑布模型。在軟件開發(fā)初始階段只能提供基本需求時采用的漸進式開發(fā)模型,如螺旋模型等。以形式化開發(fā)方法為基礎的變換模型。8/6/202259SA與軟件開發(fā)模型所有開發(fā)方法都要解決需求與實現之間的差距。這三種類型的軟件開發(fā)模型都存在這樣或那樣的缺陷,不能很好地支持基于SA的開發(fā)過程。需要在基于SA的軟件開發(fā)模型方面做研究,例如:為了形象地表示體系結構的生命周期,北郵的周瑩新博士建立了一個SA的生命周期模型。8/6/202260SA的生命周期模型SA的終結SA提供評價和度量需要演化或擴展?SA的演化SA的非形式化描述SA的

27、性質分析SA的規(guī)范描述SA的實施需要求精否?SA的求精SA求精的驗證SA的形式化基礎(數學模型)NOYESYESNOSA的生命周期模型8/6/202261軟件產品線體系結構的研究SA的研究是大型軟件系統(tǒng)開發(fā)的關鍵環(huán)節(jié)。SA在軟件生產線的開發(fā)中至關重要:基于同一個SA,可以創(chuàng)建不同功能的多個系統(tǒng)。在軟件產品族之間共享體系結構和一組可重用的組件,可提高效率并降低開發(fā)和維護成本。一個產品線代表著一組具有公共的系統(tǒng)需求集的軟件系統(tǒng),它們都是根據基本的用戶需求對標準的產品線構架進行定制,將可重用組件與系統(tǒng)獨有的部分集成而得到的。采用軟件生產線式模式進行軟件生產,將產生巨型編程企業(yè)(?)。8/6/2022

28、62SA的研究熱點關于SA的研究很新,其概念還相當模糊。作為軟件工程研究的一個組成部分, 對SA的研究已經取得了長足的發(fā)展。對SA的研究包括如下幾個方面:SA形式基礎的研究;針對SA描述中特有的問題研究新的專門的高級語言;建立用于度量和評價SA的模型和方法;建立面向專門領域的SA范型庫。把SA從目前的直覺和經驗狀態(tài)過渡到理論。8/6/202263提供新的SA描述語言在提高軟件工程師對軟件系統(tǒng)的描述和理解能力中,雖然SA描述起著重要作用,但這些抽象的描述通常是非形式化的和隨意的。體系結構設計經常難以理解,難以適于進行形式化分析和模擬,缺乏相應的支持工具幫助構架師完成設計工作。為了解決這個問題,用

29、于描述和推理的形式化語言得以發(fā)展,這些語言就叫做體系結構描述語言ADL(Architecture Description Language)8/6/202264關于ADLsADL是這樣一種語言,系統(tǒng)構架師可以利用它所提供的特性進行軟件系統(tǒng)概念體系結構建模。ADL提供了具體的語法與刻畫體系結構的概念框架。ADLs使得系統(tǒng)開發(fā)者能夠很好地描述他們設計的體系結構,以便與人交流,能夠用提供的工具對許多實例進行分析。8/6/202265關于ADLsADLs尋求增加SA設計的可理解性和重用性。ADLs的目的就是提供一種規(guī)范化的體系結構描述,使體系結構的自動化分析變得可能。目前近二十種ADLs,比較有影響力

30、的有C2、UniCon、MetaH、Aesop、SADL、Rapide、Wright等。這些語言能對體系結構連接器進行第一級抽象,能描述模型的結構和內部組件之間的交互作用,也引入了一些新的系統(tǒng)分析模式。8/6/202266對SA的專門知識的整理主要是對軟件工程師在軟件開發(fā)實踐中得來的各種體系結構的原則、模式的整理和分類。對SA風格的分類和比較對體系結構描述語言的綜合分析等目前,國內對SA的研究主要集中在對SA的專門知識的整理上。8/6/202267提供特定領域的體系結構框架開發(fā)特定的領域,為產品提供可重用框架日益受到關注。在特定的領域中可以提取相關系統(tǒng)中的共同方面,以便可以通過低成本地把這些共

31、同的設計實例化來構筑新系統(tǒng)。例如:編譯器的標準分解。這個方法可以使一個本科生在一個學期時間內構造一個新的語言編譯系統(tǒng)。標準化的通訊協(xié)議。這個可以使廠家通過在不同層次的抽象上提供服務來互相操縱。第四代語言。利用4GL開發(fā)出商務信息處理的通用范式。用戶界面工具和框架。這個方法為開發(fā)者提供了一個可重用框架以及象菜單、對話框這樣的可重用組件的集合。8/6/202268提供特定領域的體系結構框架在這里,SA充當一個理解系統(tǒng)組件和它們之間關系的框架,特別是那些始終跨越時間和實現的屬性。這對于現在系統(tǒng)的分析和未來系統(tǒng)的綜合很有必要。在分析的支持下,體系結構抓住領域知識和實際的一致,促進設計的評估和組件的實施,減少模擬和構造原型。在綜合的支持下,體系結構提供了建立系列產品的基礎,以可預測的方式利用領域知識構造和維護模塊、子系統(tǒng)和系統(tǒng)。 8/6/202269提供SA的形式化基礎對體系結構設計的推理的形式化表示使得體系結構級的設計更好地被理解、被實現。其目的是對體系結構設計人員在實踐過程中總結出來的一些設計的經驗和方法加以總結、概括,從而形成一個形式化的描述,形成一定的理論基礎(以代替當前的不精確的研究)?,F有的一些形式化機制:如過程代數、偏序集合、化學抽象機等。希望對系統(tǒng)的非功能特性如性能、可維護性等給出形式特征,同時給出SA的理論。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論