軟件體系結(jié)構(gòu)101_第1頁(yè)
軟件體系結(jié)構(gòu)101_第2頁(yè)
軟件體系結(jié)構(gòu)101_第3頁(yè)
軟件體系結(jié)構(gòu)101_第4頁(yè)
軟件體系結(jié)構(gòu)101_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、面向21世紀(jì)的軟件方法論教材 軟 件 體 系 結(jié) 構(gòu) 可重構(gòu)軟件設(shè)計(jì)方法學(xué)萬(wàn) 麟 瑞1課程簡(jiǎn)介第一章 概論第二章 基本體系結(jié)構(gòu)風(fēng)格主程序子過(guò)程結(jié)構(gòu),事件觸發(fā)結(jié)構(gòu),解釋器結(jié)構(gòu),層次結(jié)構(gòu),管道過(guò)濾器結(jié)構(gòu),黑板結(jié)構(gòu),面向?qū)ο蠼Y(jié)構(gòu)第三章 分布計(jì)算體系結(jié)構(gòu) CS;CORBA,RMI;SOA,ESB,OGSA第四章 軟件設(shè)計(jì)模式Template Method,Strategy;Composite,MVC;Builder第五章 體系結(jié)構(gòu)的形式描述方法第六章 軟件構(gòu)架與構(gòu)件設(shè)計(jì)方法第七章 應(yīng)用案例分析2參考文獻(xiàn)1 萬(wàn)建成等軟件體系結(jié)構(gòu)的原理、組成與應(yīng)用 科學(xué)出版社,20022 張友生軟件體系結(jié)構(gòu)清華大學(xué)出版社

2、,20043 李英軍等譯設(shè)計(jì)模式機(jī)械工業(yè)出版社,20004 B.P.Douglass著,麥中凡等譯實(shí)時(shí)設(shè)計(jì)模式. 北京航空航天大學(xué)出版社,20045 王志堅(jiān)等軟件構(gòu)件技術(shù)及其應(yīng)用科學(xué)出版社,20056 萬(wàn)麟瑞面向構(gòu)件的軟件開(kāi)發(fā)方法學(xué)研究 小型微型計(jì)算機(jī)系統(tǒng),2003,Vol.24 No.33第 1 講:軟件體系結(jié)構(gòu)的發(fā)展與應(yīng)用概況第一章 概論1.1 軟件體系結(jié)構(gòu)的研究概況1.1.1 體系結(jié)構(gòu)的模型抽象理念1.1.2 體系結(jié)構(gòu)描述語(yǔ)言1.2 軟件體系結(jié)構(gòu)的設(shè)計(jì)理念1.2.1 軟件結(jié)構(gòu)及其設(shè)計(jì)理念1.2.2 軟件體系結(jié)構(gòu)及其設(shè)計(jì)理念4第一章 概論大系統(tǒng)認(rèn)知理念:框架過(guò)程設(shè)計(jì)方法程序數(shù)據(jù)工具框架構(gòu)架

3、體系結(jié)構(gòu)軟件框架:從總體上架構(gòu)主部子部結(jié)構(gòu)的可實(shí)例化系統(tǒng)軟件構(gòu)架:可重構(gòu)領(lǐng)域化的軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu): 系統(tǒng)地研究軟件結(jié)構(gòu)設(shè)計(jì)與構(gòu)造的軟件領(lǐng)域工程 程序設(shè)計(jì)方法學(xué)軟件工程領(lǐng)域工程重構(gòu)工程 等多學(xué)科相結(jié)合的新興邊緣學(xué)科 面向21世紀(jì)的可重構(gòu)軟件設(shè)計(jì)方法學(xué) 工程性實(shí)用性強(qiáng)的應(yīng)用學(xué)科與技術(shù)51.1 軟件體系結(jié)構(gòu)的研究概況軟件方法論的發(fā)展歷程:面向過(guò)程方法面向?qū)ο蠓椒嫦驑?gòu)件方法程序結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)軟件結(jié)構(gòu)軟件體系結(jié)構(gòu)1.1.1 體系結(jié)構(gòu)的模型抽象理念1. 程序結(jié)構(gòu)抽象:機(jī)器指令匯編語(yǔ)言子程序控制流程 高級(jí)語(yǔ)言過(guò)程函數(shù)數(shù)據(jù)結(jié)構(gòu)類(lèi)型模塊程序2. 軟件結(jié)構(gòu)抽象 面向過(guò)程模型(功能模型,數(shù)據(jù)流模型) 面向數(shù)

4、據(jù)模型(信息模型,語(yǔ)義數(shù)據(jù)模型) 面向?qū)ο竽P停▽?duì)象模型,組件模型)63. 軟件體系結(jié)構(gòu)抽象 內(nèi)涵:體系結(jié)構(gòu)風(fēng)格,設(shè)計(jì)模式;構(gòu)件,形式描述;MDA(1) 體系結(jié)構(gòu)風(fēng)格:具有相同風(fēng)范或族集特性的特定結(jié)構(gòu)類(lèi)型 調(diào)用返回結(jié)構(gòu):靜態(tài)結(jié)構(gòu)的基礎(chǔ)描述方法主程序子過(guò)程結(jié)構(gòu),層次結(jié)構(gòu),客戶(hù)服務(wù)器結(jié)構(gòu) 請(qǐng)求響應(yīng)結(jié)構(gòu):運(yùn)行結(jié)構(gòu)的基礎(chǔ)描述方法中斷事件結(jié)構(gòu),進(jìn)程線程結(jié)構(gòu),消息結(jié)構(gòu) 虛擬機(jī)系統(tǒng):編譯器,解釋器,規(guī)則基產(chǎn)生式系統(tǒng) 數(shù)據(jù)流系統(tǒng):順序批處理結(jié)構(gòu),編譯器,狀態(tài)轉(zhuǎn)換器,管道過(guò)濾器結(jié)構(gòu),工作流結(jié)構(gòu) 數(shù)據(jù)中心系統(tǒng):黑板系統(tǒng),數(shù)據(jù)倉(cāng)庫(kù),超文本系統(tǒng) 面向?qū)ο笙到y(tǒng):對(duì)象結(jié)構(gòu),Agent結(jié)構(gòu)7(2) 設(shè)計(jì)模式:結(jié)構(gòu)行為上具有

5、參照價(jià)值的可預(yù)制設(shè)計(jì)樣板 可形成面向模式的軟件體系結(jié)構(gòu) 三種類(lèi)型:構(gòu)造型,結(jié)構(gòu)型,行為型 構(gòu)造型模式:生成器,抽象工廠,工廠方法,原型,單例;整體部分,視圖句柄;指針計(jì)數(shù)器 結(jié)構(gòu)型模式:組合器;代理結(jié)構(gòu);享元,外觀; 模型視圖控制(MVC), 表示抽象控制(PAC); 適配器,橋接器 行為型模式:模板方法,策略,觀察器; 迭代器,命令結(jié)構(gòu),責(zé)任鏈;發(fā)送接收,客戶(hù)分發(fā)服務(wù),出版訂購(gòu)81.1.2 體系結(jié)構(gòu)描述語(yǔ)言ADL:為軟件系統(tǒng)的概念框架建模和形式規(guī)約描述提供具體的概念元、語(yǔ)法和語(yǔ)義的說(shuō)明語(yǔ)言(1) 數(shù)學(xué)描述語(yǔ)言MDL:Z語(yǔ)言,類(lèi)屬理論,Petri網(wǎng)(2) 軟件說(shuō)明語(yǔ)言SDL:UML,XML,I

6、DL;WPDL,XPDL(3) 體系結(jié)構(gòu)語(yǔ)言ADL: 結(jié)構(gòu)風(fēng)格類(lèi): Aesop,C2,Wright 結(jié)構(gòu)實(shí)例類(lèi):Adage,MetaH,Rapide,Unicon 約束配置類(lèi):Darwin,CHAM 可交換體系結(jié)構(gòu)描述語(yǔ)言ACME(中介表達(dá)通用工具)非ADL語(yǔ)言:編程語(yǔ)言,模塊接口語(yǔ)言MIL,需求描述語(yǔ)言; 數(shù)學(xué)描述語(yǔ)言;軟件說(shuō)明語(yǔ)言91.2 軟件體系結(jié)構(gòu)的設(shè)計(jì)理念1.2.1 軟件結(jié)構(gòu)及其設(shè)計(jì)理念 1. 軟件的結(jié)構(gòu)要素 程序:一組數(shù)據(jù)與處理方法(操作指令)的集合 早期:Pascal語(yǔ)言的發(fā)明者NWirth提出的程序理念 程序 = 算法 + 數(shù)據(jù)結(jié)構(gòu) 發(fā)展:非交互交互性數(shù)據(jù)處理與計(jì)算方法 程序

7、界面 算法 數(shù)據(jù)結(jié)構(gòu)三層構(gòu)架軟件:一組程序、相關(guān)信息及其文檔的集合 程序 按預(yù)定功能和性能要求設(shè)計(jì)的可執(zhí)行指令序列 信息 包括驅(qū)動(dòng)數(shù)據(jù)結(jié)構(gòu)正常工作的數(shù)據(jù)和設(shè)計(jì)知識(shí) 文檔 與程序開(kāi)發(fā)、維護(hù)和使用有關(guān)的圖文資料10(1) 結(jié)構(gòu)元素:關(guān)于軟件的基本組成原理及軟件分塊機(jī)制 部件:程序片段(指令序列),數(shù)據(jù)(數(shù)據(jù)項(xiàng)集); 過(guò)程,函數(shù),變量;模塊;對(duì)象;表,庫(kù),倉(cāng) 關(guān)系:順序,分支,循環(huán);并行,嵌套,選擇;回環(huán)中斷,參數(shù),消息;主程序子過(guò)程;程序覆蓋(2) 控制流程:語(yǔ)句結(jié)構(gòu)程序結(jié)構(gòu)模塊結(jié)構(gòu)CHE 順序結(jié)構(gòu):sequence i 分支結(jié)構(gòu): if else switch case i else 循環(huán)結(jié)構(gòu):

8、 while do repeat until 轉(zhuǎn)移語(yǔ)句:過(guò)程調(diào)用:過(guò)程名 (參數(shù)1,參數(shù)n)中斷事件設(shè)置:set 事件 to 過(guò)程名;112. 模塊結(jié)構(gòu):體現(xiàn)程序語(yǔ)句序列的基本功能分塊CHE 與連接控制流之間的構(gòu)造關(guān)系外部表示:具有順序、選擇、循環(huán)及其轉(zhuǎn)移連接控制方式的程序結(jié)構(gòu)抽象內(nèi)部表示:具有IO、處理邏輯、內(nèi)部數(shù)據(jù)及其運(yùn)行特性的一組算法的集合123. 基本連接機(jī)制 (1) 過(guò)程調(diào)用:部件間通過(guò)對(duì)方的過(guò)程或方法來(lái)實(shí)現(xiàn)顯式連接 調(diào)用時(shí)必須知道對(duì)方的部件標(biāo)識(shí)、操作標(biāo)識(shí)及參數(shù)設(shè)置 形式:(參數(shù)表) 擴(kuò)充模式:本地過(guò)程調(diào)用(LPC),遠(yuǎn)程過(guò)程調(diào)用(RPC)(2) 事件觸發(fā):用特定事件名來(lái)標(biāo)識(shí)中斷號(hào)所

9、形成的隱式連接 事件:對(duì)象狀態(tài)轉(zhuǎn)換的控制信息方法調(diào)用的消息 事件設(shè)置:set 事件 to 過(guò)程名; 事件腳本定義:事件名監(jiān)護(hù)條件動(dòng)作表達(dá)式(3) 服務(wù)接口:部件間通過(guò)互連接口進(jìn)行功能交互和數(shù)據(jù)交換, 以實(shí)現(xiàn)請(qǐng)求方和接收方之間的連接服務(wù)接口(接口名,類(lèi)型,事件,操作,上下文)134. 軟件結(jié)構(gòu)設(shè)計(jì)的總體理念設(shè)計(jì)思想概念元素表示方法通用劃分策略 層次抽象:體現(xiàn)問(wèn)題復(fù)雜度分割與組塊分層的結(jié)構(gòu)化觀點(diǎn)表示方法:程序模塊功能結(jié)構(gòu)(控制結(jié)構(gòu),控制關(guān)系)數(shù)據(jù)結(jié)構(gòu)(類(lèi)型,值) 抽象數(shù)據(jù)類(lèi)型(對(duì)象,關(guān)系,操作方法,語(yǔ)義)對(duì)象結(jié)構(gòu)(對(duì)象,分類(lèi),關(guān)系,消息方法)通用劃分:接口實(shí)現(xiàn);程序數(shù)據(jù);型實(shí)例;實(shí)體規(guī)約141.2

10、.2 軟件體系結(jié)構(gòu)及其設(shè)計(jì)理念 1. 軟件體系結(jié)構(gòu)定義軟件體系結(jié)構(gòu):是具有整體化抽象層次的骨架體結(jié)構(gòu),是可模式化模型化模板化的問(wèn)題解決框架;是可預(yù)制、可替換、可組合和可演化的軟件模型,是由一組構(gòu)件、連接子關(guān)系以及相關(guān)約束組成的軟件系統(tǒng)2. 體系結(jié)構(gòu)設(shè)計(jì)的概念模型要素:components,connectors,constraints;Configuration構(gòu)架 構(gòu)件名(類(lèi)型,端口,計(jì)算方法) 連接件名(類(lèi)型,角色,交互方法) 約束(實(shí)體約束,連接約束) 配置(構(gòu)件名,連接件名,粘連特性)153. 軟件體系結(jié)構(gòu)的特性 整體性:側(cè)重體系化結(jié)構(gòu)的描述與設(shè)計(jì), 包括全局結(jié)構(gòu)與局部結(jié)構(gòu)的演化關(guān)系和宏觀特性; 比基本軟件結(jié)構(gòu)具有更高層次的設(shè)計(jì)抽象, 一般針對(duì)復(fù)雜和大型的軟件系統(tǒng) 層次性:側(cè)重軟件抽象的粒度級(jí)劃分, 一般定義為構(gòu)架級(jí)、構(gòu)件級(jí)和對(duì)象級(jí) 可預(yù)制性:?jiǎn)卧Y(jié)構(gòu)成熟,可預(yù)先設(shè)計(jì)、實(shí)現(xiàn)和提供選擇 可替換性:不是可修改和可覆蓋,而是可插拔和可重載 可組合性:結(jié)構(gòu)可重組,部件可重用,應(yīng)用接口可擴(kuò)充可演化性:框架規(guī)則實(shí)例;泛化特化;通過(guò)模板方法和創(chuàng)建機(jī)制動(dòng)態(tài)生成一個(gè)特定應(yīng)用164. 體系結(jié)構(gòu)的設(shè)計(jì)層次 體現(xiàn)問(wèn)題分割與抽象形式的規(guī)范化和結(jié)構(gòu)化觀點(diǎn); 體現(xiàn)軟件分塊的粒度級(jí)劃分思想與設(shè)計(jì)通則; 體現(xiàn)功能分割、軟件分層、基于協(xié)議的層間交互和 語(yǔ)義規(guī)則描述等設(shè)計(jì)思想 (1)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論