![第二次體系結(jié)構(gòu)概述及調(diào)用返回體系結(jié)構(gòu)演示文稿_第1頁](http://file4.renrendoc.com/view/77bfd7b0034171ddd4954011319c60e4/77bfd7b0034171ddd4954011319c60e41.gif)
![第二次體系結(jié)構(gòu)概述及調(diào)用返回體系結(jié)構(gòu)演示文稿_第2頁](http://file4.renrendoc.com/view/77bfd7b0034171ddd4954011319c60e4/77bfd7b0034171ddd4954011319c60e42.gif)
![第二次體系結(jié)構(gòu)概述及調(diào)用返回體系結(jié)構(gòu)演示文稿_第3頁](http://file4.renrendoc.com/view/77bfd7b0034171ddd4954011319c60e4/77bfd7b0034171ddd4954011319c60e43.gif)
![第二次體系結(jié)構(gòu)概述及調(diào)用返回體系結(jié)構(gòu)演示文稿_第4頁](http://file4.renrendoc.com/view/77bfd7b0034171ddd4954011319c60e4/77bfd7b0034171ddd4954011319c60e44.gif)
![第二次體系結(jié)構(gòu)概述及調(diào)用返回體系結(jié)構(gòu)演示文稿_第5頁](http://file4.renrendoc.com/view/77bfd7b0034171ddd4954011319c60e4/77bfd7b0034171ddd4954011319c60e45.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第二次體系結(jié)構(gòu)概述及調(diào)用返回體系結(jié)構(gòu)演示文稿*當(dāng)前1頁,總共40頁。(優(yōu)選)第二次體系結(jié)構(gòu)概述及調(diào)用返回體系結(jié)構(gòu)當(dāng)前2頁,總共40頁。*軟件體系結(jié)構(gòu)概述提綱背景軟件體系結(jié)構(gòu)的概念軟件體系結(jié)構(gòu)的意義軟件體系結(jié)構(gòu)和軟件質(zhì)量屬性軟件體系結(jié)構(gòu)風(fēng)格當(dāng)前3頁,總共40頁。*1.1背景Edsger.Dijstra指出“軟件的規(guī)模越大,其整體構(gòu)架就越重要”20世紀(jì)90年代,軟件體系結(jié)構(gòu)逐漸被工業(yè)界和學(xué)術(shù)界廣泛接受,并且業(yè)內(nèi)普遍認(rèn)為:對于大規(guī)模復(fù)雜軟件系統(tǒng)而言,構(gòu)架的設(shè)計比數(shù)據(jù)結(jié)構(gòu)以及算法的設(shè)計更為重要當(dāng)前4頁,總共40頁。*1.2軟件體系結(jié)構(gòu)的概念MaryShaw和DavidGarlan的定義:軟件體系結(jié)構(gòu)用于描述系統(tǒng)的構(gòu)成要素、構(gòu)成要素之間的交互和組合模式以及在進(jìn)行組合時的約束條件LenBass的定義:軟件體系結(jié)構(gòu)是指程序或者系統(tǒng)的組成關(guān)系,這種組成關(guān)系包括軟件、軟件的外部可見屬性以及這些軟件之間的關(guān)系當(dāng)前5頁,總共40頁。*1.2.1軟件體系結(jié)構(gòu)的概念(續(xù))IEEE1471-2000中的定義:軟件體系結(jié)構(gòu)是系統(tǒng)的基本組織結(jié)構(gòu),包括系統(tǒng)構(gòu)成要素,這些要素相互之間以及與運(yùn)行環(huán)境之間的關(guān)系,還包括系統(tǒng)設(shè)計及演化時應(yīng)遵循的原則軟件體系結(jié)構(gòu)包括三個基本要素:構(gòu)件、連接件和約束當(dāng)前6頁,總共40頁。*1.3軟件體系結(jié)構(gòu)的意義軟件體系結(jié)構(gòu)是軟件相關(guān)人員之間進(jìn)行交流的手段軟件體系結(jié)構(gòu)是一種高層次的設(shè)計復(fù)用手段軟件體系結(jié)構(gòu)是早期設(shè)計決策的體現(xiàn),決定了最終軟件的質(zhì)量當(dāng)前7頁,總共40頁。*1.4軟件體系結(jié)構(gòu)與軟件質(zhì)量屬性軟件體系結(jié)構(gòu)的優(yōu)劣依賴于各種因素,這些因素通常被稱為軟件質(zhì)量屬性(qualities)質(zhì)量屬性包括:性能,可伸縮性,可用性,可維護(hù)性,安全性,易用性,可重復(fù)性,可測試性以及可移植性等當(dāng)前8頁,總共40頁。*1.5軟件體系結(jié)構(gòu)的風(fēng)格軟件體系結(jié)構(gòu)風(fēng)格是對軟件體系結(jié)構(gòu)的分類,每一種軟件體系結(jié)構(gòu)風(fēng)格都代表一類軟件的結(jié)構(gòu)組織模式軟件體系結(jié)構(gòu)風(fēng)格是在實踐中被重復(fù)使用的構(gòu)件設(shè)計的總結(jié)當(dāng)前9頁,總共40頁。*1.5.1軟件體系結(jié)構(gòu)的風(fēng)格(續(xù))軟件體系結(jié)構(gòu)風(fēng)格包括:數(shù)據(jù)流風(fēng)格,順序批處理風(fēng)格,管道-過濾器風(fēng)格,調(diào)用-返回風(fēng)格,主程序-子程序風(fēng)格,面向?qū)ο箫L(fēng)格,分層的風(fēng)格,獨(dú)立構(gòu)件風(fēng)格,進(jìn)程通訊,事件系統(tǒng),虛擬機(jī)風(fēng)格,解釋器,基于規(guī)則的系統(tǒng),以數(shù)據(jù)為中心的風(fēng)格,數(shù)據(jù)庫,超文本以及黑板風(fēng)格等。另外還有分布式的風(fēng)格,比如云計算,P2P風(fēng)格等當(dāng)前10頁,總共40頁。*2調(diào)用-返回風(fēng)格提綱非結(jié)構(gòu)化的編程簡介調(diào)用-返回風(fēng)格軟件體系結(jié)構(gòu)的概念主程序-子程序軟件體系結(jié)構(gòu)面向?qū)ο筌浖w系結(jié)構(gòu)主程序-子程序與面向?qū)ο篌w系結(jié)構(gòu)舉例當(dāng)前11頁,總共40頁。*2.1非結(jié)構(gòu)化的編程簡介非結(jié)構(gòu)化的編程技術(shù)是歷史上最早的編程范型非結(jié)構(gòu)化語言(比如匯編語言)編寫的程序通常包內(nèi)含一系列有序的命令,每行有一個行號標(biāo)記,便于程序跳轉(zhuǎn)當(dāng)前12頁,總共40頁。*2.1.1非結(jié)構(gòu)化編程的特點(diǎn)非結(jié)構(gòu)化編程已經(jīng)引入了循環(huán),分支及子程序的概念非結(jié)構(gòu)化編程中的子程序允許有多個入口和多個出口程序的執(zhí)行順序可以被任意變換當(dāng)前13頁,總共40頁。*2.1.2非結(jié)構(gòu)化編程的舉例01main02movAX,045;03movBX,012;04addAX,BX;05jnz17;06…07jump012;08…當(dāng)前14頁,總共40頁。*2.2調(diào)用-返回風(fēng)格軟件體系結(jié)構(gòu)調(diào)用-返回風(fēng)格體系結(jié)構(gòu)(CallandReturnArchitecture)采用分而治之的策略,其主要思想是將一個復(fù)雜的大系統(tǒng)分解為一些子系統(tǒng),以便降低復(fù)雜度,并且增加可修改性這種系統(tǒng)的程序執(zhí)行順序通常只由一個單線程控制當(dāng)前15頁,總共40頁。*2.2.1調(diào)用-返回風(fēng)格體系結(jié)構(gòu)示意AMainBCDE12910456738程序運(yùn)行的控制流示意當(dāng)前16頁,總共40頁。*2.2.2調(diào)用-返回風(fēng)格體系的概念每個軟件都設(shè)計為有一個唯一的程序執(zhí)行入口和一個唯一的程序執(zhí)行出口;程序執(zhí)行結(jié)束后,則控制被返回給程序的調(diào)用構(gòu)件;這些程序的構(gòu)件被稱為子程序(Subroutine)從一個構(gòu)件到另一個構(gòu)件的控制傳遞被稱為程序調(diào)用(call)當(dāng)前17頁,總共40頁。*2.2.3調(diào)用-返回風(fēng)格體系的組織擁有整個軟件入口的構(gòu)件叫做主程序(MainProgram),它控制子程序的執(zhí)行順序可以被所有構(gòu)件訪問的共享數(shù)據(jù)被稱為全局變量(Globalvarible)MainSub1Sub2Sub3GlobalDataSub4Sub5當(dāng)前18頁,總共40頁。*2.2.4調(diào)用-返回風(fēng)格體系的層次組織調(diào)用-返回風(fēng)格體系結(jié)構(gòu)可以被組織成任何形式。但層次結(jié)構(gòu)的組織形式更清晰層次結(jié)構(gòu)的設(shè)計被稱為共享數(shù)據(jù)的主程序-子程序軟件體系結(jié)構(gòu)MainSub1Sub2Sub3Sub4Sub5Sub6Sub7Sub8DataSub10DataSub9Sub11當(dāng)前19頁,總共40頁。*2.3主程序-子程序軟件體系結(jié)構(gòu)主程序-子程序軟件體系結(jié)構(gòu)在設(shè)計上使用層次化的劃分方法,該體系結(jié)構(gòu)中使用由編程語言直接支持的單一控制線程相比于非結(jié)構(gòu)化編程,主程序-子程序軟件體系結(jié)構(gòu)能夠較好地支持系統(tǒng)的可改變性和可伸縮性等性能,其采用分而治之的策略當(dāng)前20頁,總共40頁。*
自頂向下的設(shè)計方法主程序-子程序軟件體系結(jié)構(gòu)通常采用自頂向下的設(shè)計方法,即從系統(tǒng)的功能角度出發(fā),從高層開始,將整個功能逐步細(xì)化為子功能MainSub1Sub2Sub3Sub11Sub12Sub21Sub22Sub31Sub211Sub121Sub111當(dāng)前21頁,總共40頁。*
自頂向下的設(shè)計舉例一個藥品成本計算系統(tǒng)(MedicineCostComputation)要計算一種藥品的單位成本,要求輸入藥品的名稱(MedicineName),然后系統(tǒng)輸出該藥品的單位成本(MedicineCostperUnit)MedicineCostComputationMedicineNameMedicineCost系統(tǒng)的第一層數(shù)據(jù)流圖(DFD)當(dāng)前22頁,總共40頁。*
系統(tǒng)層次化數(shù)據(jù)流圖結(jié)構(gòu)化設(shè)計從數(shù)據(jù)流圖開始,然后將數(shù)據(jù)流圖轉(zhuǎn)換為程序結(jié)構(gòu)圖系統(tǒng)的第三層數(shù)據(jù)流圖(DFD)系統(tǒng)的第二層數(shù)據(jù)流圖(DFD)MedicineCostComputationEnterMedicineNameOutputMedicineCostGetResearchCostperUnitEnterMedicineNameGetProductionCostperUnitOutputMedicineCost當(dāng)前23頁,總共40頁。*
系統(tǒng)結(jié)構(gòu)圖設(shè)計數(shù)據(jù)流圖從數(shù)據(jù)輸入開始,對數(shù)據(jù)的各個處理過程以及最后的輸出進(jìn)行描述,然后構(gòu)建結(jié)構(gòu)圖GetResearchCostperUnitEnterMedicineNameGetProductionCostperUnitOutputMedicineCostMedicineCostComputationSystemCalculatemedineCost13245678當(dāng)前24頁,總共40頁。*2.3.2.3自頂向下結(jié)構(gòu)化設(shè)計的問題功能演化困難現(xiàn)實中的系統(tǒng)功能不容易描述,比如服務(wù)請求式的系統(tǒng)難于找到頂層功能模塊功能化設(shè)計丟掉了數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)由功能設(shè)計得到的軟件產(chǎn)品產(chǎn)生的可復(fù)用代碼較少當(dāng)前25頁,總共40頁。*
結(jié)構(gòu)化設(shè)計的優(yōu)缺點(diǎn)優(yōu)點(diǎn)邏輯設(shè)計與物理設(shè)計分離開發(fā)過程中形成一套規(guī)范化的文檔,便于將來修改和維護(hù)缺點(diǎn)開發(fā)周期長,開發(fā)過程復(fù)雜系統(tǒng)難于適應(yīng)環(huán)境變化經(jīng)驗表明,較小的程序(小于10萬行)適合于結(jié)構(gòu)化開發(fā)當(dāng)前26頁,總共40頁。*2.4
面向?qū)ο蟮捏w系結(jié)構(gòu)結(jié)構(gòu)化編程中的數(shù)據(jù)可以被程序的任何語句訪問,當(dāng)程序變大時,這種做法使得程序缺陷可能被傳到很遠(yuǎn),難于維護(hù)面向?qū)ο笤O(shè)計可以將數(shù)據(jù)和操作封裝起來,使數(shù)據(jù)的訪問受到限制。這種將數(shù)據(jù)和操作捆綁的方式被稱為對象當(dāng)前27頁,總共40頁。*
面向?qū)ο蟮捏w系結(jié)構(gòu)面向?qū)ο蟮脑O(shè)計中,系統(tǒng)被看作為一些對象的集合,消息從一個對象發(fā)送到另一個對象,每個對象完成一定的功能Obj1Obj7Obj6Obj5Obj4Obj3Obj2CallCallCallCallCallCallCallCall面向?qū)ο蟮捏w系結(jié)構(gòu)當(dāng)前28頁,總共40頁。*
面向?qū)ο蟮奶攸c(diǎn)封裝性繼承性多態(tài)復(fù)用和可維護(hù)性對象是對現(xiàn)實世界的抽象并且可以管理自己系統(tǒng)功能通過對象服務(wù)表示共享數(shù)據(jù)區(qū)域被取消對象可以是分布式的當(dāng)前29頁,總共40頁。*2.4.3面向?qū)ο蟮睦^承機(jī)制繼承的目的是代碼復(fù)用繼承提供了一個統(tǒng)一的接口,容易實現(xiàn)多態(tài)AnimalLandAnimalAquaticAnimalBirdfamilyMammalsElephantWhale當(dāng)前30頁,總共40頁。*2.4.4面向?qū)ο蟮膬?yōu)點(diǎn)面向?qū)ο笤O(shè)計有如下優(yōu)點(diǎn):容易維護(hù),沒有共享的數(shù)據(jù)可復(fù)用性好映射現(xiàn)實世界,便于理解容易對一個系統(tǒng)進(jìn)行分解當(dāng)前31頁,總共40頁。*2.4.5面向?qū)ο蟮娜秉c(diǎn)面向?qū)ο笤O(shè)計有如下缺點(diǎn):程序占用的內(nèi)容大一個對象要和其它對象交互,必須知道其它對象的身份當(dāng)前32頁,總共40頁。*2.5主程序-子程序與面向?qū)ο蟮捏w系結(jié)構(gòu)比較設(shè)計一個文檔更新系統(tǒng),對符合一定格式的輸入文檔進(jìn)行更新,系統(tǒng)的功能描述如下:政治問題,將文檔中的Japanese修改為Germany兩千年問題,將兩位日期修改為四位日期對商品按字典序排序當(dāng)前33頁,總共40頁。*文檔更新系統(tǒng)的數(shù)據(jù)變化原始文件 Printer$230Germany89-02-01 Refrigerator$380Japaness88-12-08 Refrigerator$360Taiwan89-05-12 Printer$330Japaness89-07-11政治修改后的文件 Printer$230Germany89-02-01 Refrigerator$380Germany88-12-08 Refrigerator$360Taiwan89-05-12 Printer$330Germany89-07-11當(dāng)前34頁,總共40頁。*文檔更新系統(tǒng)的數(shù)據(jù)變化經(jīng)過兩千年問題修改的文件 Printer$230Germany1989-02-01 Refrigerator$380Germany1988-12-08 Refrigerator$360Taiwan1989-05-12 Printer$330Germany1989-07-11排序后的文件 Printer$230Germany1989-02-01 Printer$330Germany1989-07-11 Refrigerator$360Taiwan1989-05-12 Refrigerator$380Germany1988-12-08當(dāng)前35頁,總共40頁。*結(jié)構(gòu)化程序設(shè)計文檔更新系統(tǒng)結(jié)構(gòu)化程序中包含一個主程序和5個子程序結(jié)構(gòu)化設(shè)計的程序包含數(shù)據(jù)與函數(shù),程序中的全局變量沒有被封裝,由每個函數(shù)訪問與修改MainInputCorrectPoliticalErrorCorrectY2KErrorSortOutput當(dāng)前36頁,總共40頁。*面向?qū)ο笤O(shè)計文檔更新系統(tǒng)面向?qū)ο蟮脑O(shè)計將數(shù)據(jù)、政治問題,排序及輸出功能封裝在不同的類中,類之間的數(shù)據(jù)通過參數(shù)進(jìn)行傳遞LegacyFileUpdateGUI《Interface》FileUpdateInterface+update():voidInput-file:ArrayList+update():voidPoliticalIssue-file:ArrayList+update():voi
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 吉林省八年級數(shù)學(xué)下冊19矩形菱形與正方形19.1矩形19.1.1矩形的性質(zhì)聽評課記錄1新版華東師大版
- 小學(xué)二年級數(shù)學(xué)口算競賽試題
- 人教版地理七年級上冊《3.3降水的變化與分布》聽課評課記錄
- 北師大版歷史八年級下冊第14課《各民族的團(tuán)結(jié)與發(fā)展》聽課評課記錄
- 小學(xué)六年級數(shù)學(xué)下冊《面積的變化》聽評課記錄
- 人教版七年級道德與法治七年級上冊聽課評課記錄:第一單元成長的節(jié)拍第三課 發(fā)現(xiàn)自己第一課時認(rèn)識自己
- 公司員工廉潔自律協(xié)議書范本
- 二零二五年度汽車修理廠汽車美容與維修一體化服務(wù)合同
- 二零二五年度網(wǎng)絡(luò)劇導(dǎo)演專項聘用合同
- 二零二五年度肉類產(chǎn)品食品安全監(jiān)管合同協(xié)議
- 《高級計量經(jīng)濟(jì)學(xué)》-上課講義課件
- 《現(xiàn)代氣候?qū)W》研究生全套教學(xué)課件
- 護(hù)理診斷及護(hù)理措施128條護(hù)理診斷護(hù)理措施
- 情商知識概述課件
- 九年級物理總復(fù)習(xí)教案
- 【64精品】國標(biāo)蘇少版小學(xué)音樂六年級下冊教案全冊
- 天然飲用山泉水項目投資規(guī)劃建設(shè)方案
- 汽車座椅骨架的焊接夾具論文說明書
- 2019年重慶市中考物理試卷(a卷)及答案
- 信義玻璃參數(shù)表
- 發(fā)電機(jī)組自動控制器
評論
0/150
提交評論