版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
UML系統(tǒng)建模及系統(tǒng)分析與設(shè)計軟件復(fù)用與軟件構(gòu)件技術(shù)軟件復(fù)用與軟件構(gòu)件技術(shù)7.1軟件復(fù)用技術(shù)的發(fā)展與應(yīng)用7.1.1軟件復(fù)用技術(shù)的發(fā)展1.1968——1978年:萌芽、潛伏期2.1979——1983年:再發(fā)現(xiàn)期3.1983——1994年:發(fā)展期4.1994年至今:成熟期
7.1.2軟件復(fù)用的形式按抽象程度的高低,軟件的復(fù)用可以劃分為如下級別,如圖7.1所示。
代碼構(gòu)件復(fù)用設(shè)計結(jié)果復(fù)用分析結(jié)果復(fù)用測試信息復(fù)用主要包括測試用例的復(fù)用和測試過程信息的復(fù)用。受實際環(huán)境影響小,可復(fù)用機會多,所需修改少。針對問題域的某些事物或某些問題的抽象程度更高的解法。針對問題域的某些事物或某些問題的抽象程度更高的解法。抽象程度高低圖7.1軟件復(fù)用的級別7.1.3軟件復(fù)用的類型與優(yōu)點1.軟件復(fù)用的類型軟件復(fù)用可以分為橫向復(fù)用和縱向復(fù)用兩種類型。2.軟件復(fù)用的優(yōu)點⑴提高生產(chǎn)率⑵減少維護代價⑶提高互操作性⑷支持快速原型⑸減少培訓(xùn)開銷
7.1.4可復(fù)用軟件構(gòu)件的生產(chǎn)與使用1.可復(fù)用軟件構(gòu)件的開發(fā)思路圖7.2基于構(gòu)件的軟件開發(fā)基本思路構(gòu)件需求,領(lǐng)域分析構(gòu)件庫構(gòu)件開發(fā)與維護構(gòu)件設(shè)計和實現(xiàn)構(gòu)件測試采購新構(gòu)件從已有系統(tǒng)中發(fā)掘、提煉構(gòu)件開發(fā)新構(gòu)件應(yīng)用系統(tǒng)開發(fā)設(shè)計軟件體系結(jié)構(gòu)檢索、獲取構(gòu)件組裝應(yīng)用系統(tǒng)2.可復(fù)用軟件構(gòu)件的使用⑴構(gòu)件分析與設(shè)計⑵構(gòu)件實現(xiàn)及局部測試。⑶基于構(gòu)件的應(yīng)用程序組裝。⑷應(yīng)用系統(tǒng)整體測試。3.采用構(gòu)件編程的優(yōu)勢⑴面向?qū)ο缶幊痰闹赜脤儆诎缀袕?fù)用,是對源代碼的復(fù)用,而構(gòu)件復(fù)用可以是黑盒復(fù)用,使用者可以不對它進行繼承、重載等操作而直接使用。⑵面向?qū)ο缶幊痰膹?fù)用要受到其開發(fā)環(huán)境的制約,如用C++產(chǎn)生的類很難在以O(shè)bjectPascal為開發(fā)語言的項目中復(fù)用,而構(gòu)件復(fù)用則不然。⑶面向?qū)ο缶幊痰膹?fù)用是基于源代碼級的,而很多程序員出于技術(shù)保密,不會公開其源代碼,這使得研究成果的復(fù)用范圍很小。采用構(gòu)件就不一樣了,因為構(gòu)件是一段二進制碼,其內(nèi)部具體實現(xiàn)是無法看到的,可以將成熟的構(gòu)件當作商品出售,可有效地重用他人已有的勞動成果。7.1.5可復(fù)用軟件的生產(chǎn)與復(fù)用1.可復(fù)用軟件的生產(chǎn)過程⑴領(lǐng)域分析⑵建立領(lǐng)域中特定的體系結(jié)構(gòu)模型⑶識別將要建立或準備復(fù)用的候選構(gòu)件⑷完成共性/差異分析⑸再造可復(fù)用構(gòu)件⑹構(gòu)件的封裝2.基于復(fù)用的應(yīng)用系統(tǒng)構(gòu)造領(lǐng)域需求分析領(lǐng)域設(shè)計領(lǐng)域?qū)崿F(xiàn)需求分析應(yīng)用系統(tǒng)結(jié)構(gòu)設(shè)計系統(tǒng)構(gòu)件分析、設(shè)計、編碼、測試領(lǐng)域需求領(lǐng)域體系結(jié)構(gòu)、構(gòu)件原型系統(tǒng)系統(tǒng)需求領(lǐng)域需求應(yīng)用系統(tǒng)需求庫構(gòu)件庫已存在需求領(lǐng)域?qū)<翌I(lǐng)域用戶獲取領(lǐng)域可復(fù)用需求可復(fù)用需求獲取領(lǐng)域可復(fù)用設(shè)計設(shè)計方案所需新構(gòu)件用戶需求業(yè)務(wù)流程需求復(fù)用設(shè)計復(fù)用構(gòu)件復(fù)用可復(fù)用構(gòu)件原型系統(tǒng)開發(fā)面向復(fù)用開發(fā)所需構(gòu)件獲取領(lǐng)域可復(fù)用構(gòu)件應(yīng)用系統(tǒng)開發(fā)使用復(fù)用開發(fā)圖7.3基于軟件復(fù)用的信息系統(tǒng)開發(fā)模型7.1.6面向?qū)ο蠹夹g(shù)與軟件復(fù)用的關(guān)系1.面向?qū)ο蠹夹g(shù)對軟件復(fù)用的支持面向?qū)ο蠓椒▽浖?fù)用技術(shù)提供了良好的支持。2.復(fù)用技術(shù)對面向?qū)ο蟮姆椒ǖ闹С置嫦驅(qū)ο蟮能浖_發(fā)和軟件復(fù)用之間的關(guān)系是相輔相成的。7.2軟件構(gòu)件技術(shù)7.2.1軟件構(gòu)件技術(shù)1.軟件構(gòu)件技術(shù)的發(fā)展歷史2.軟件構(gòu)件技術(shù)的發(fā)展現(xiàn)狀3.基于構(gòu)件的軟件復(fù)用的關(guān)鍵技術(shù)構(gòu)件、構(gòu)架獲取構(gòu)件標準化與描述構(gòu)件分類、存儲與檢索獲取構(gòu)件組裝領(lǐng)域工程軟件再工程軟件架構(gòu)開放系統(tǒng)技術(shù)CASE技術(shù)圖7.4基于構(gòu)件的軟件復(fù)用支持技術(shù)軟件過程非技術(shù)因素7.2.2軟件架構(gòu)
1.軟件架構(gòu)的概念圖7.6軟件架構(gòu)DSPDSP任務(wù)TaskNDSP/BIOSINThandlerMailboxTaskTask12…MPU應(yīng)用程序SD驅(qū)動MTD驅(qū)動Keypad驅(qū)動USB驅(qū)動LCD驅(qū)動DSP驅(qū)動嵌入式Linux內(nèi)核INThandlerQtQt/EmbeddedFramebuffer2.軟件架構(gòu)的要素一般而言,軟件系統(tǒng)的架構(gòu)(ArchitECture)有兩個要素:
⑴它是一個軟件系統(tǒng)從整體到部分的最高層次的劃分。⑵建造一個系統(tǒng)所作出的最高層次的、以后難以更改的,商業(yè)的和技術(shù)的決定。3.軟件架構(gòu)的目標可靠性(Reliable)安全行(Secure)可擴展性(SCAlable)可定制化(CuSTomizable)可擴展性(Extensible)可維護性(MAIntainable)客戶體驗(CustomerExperience)市場時機(TimetoMarket)4.軟件架構(gòu)的種類⑴邏輯架構(gòu)⑵物理架構(gòu)⑶系統(tǒng)架構(gòu)圖7.7邏輯架構(gòu)表象層
商業(yè)層
數(shù)據(jù)持久層HTML服務(wù)Session服務(wù)安全服務(wù)系統(tǒng)管理流管理多國語言支持權(quán)限服務(wù)系統(tǒng)整合服務(wù)報表服務(wù)任務(wù)管理緩沖服務(wù)表象服務(wù)交易服務(wù)文件導(dǎo)入服務(wù)登錄服務(wù)DataAccessUserPrcferenceSSO服務(wù)主機系統(tǒng)關(guān)系數(shù)據(jù)庫消息隊列名錄服務(wù)Servlet服務(wù)EJB服務(wù)定時服務(wù)Transport服務(wù)(Email,HTTPS)ApplicationServerWEBServer7.3軟件再工程7.3.1軟件運行維護遇到的問題1.軟件維護費用高2.軟件維護難度大3.軟件資產(chǎn)數(shù)額巨大7.3.2軟件再工程的概念再分析再編碼再測試7.3.3軟件再工程的模型1.傳統(tǒng)的軟件再工程模型實施實施實施重構(gòu)重構(gòu)重構(gòu)用戶需求系統(tǒng)實際需求系統(tǒng)實際需求系統(tǒng)實際需求現(xiàn)存系統(tǒng)逆向工程抽象階段用戶需求系統(tǒng)實際需求系統(tǒng)實際需求系統(tǒng)實際需求目標系統(tǒng)正向工程精化階段用戶需求變更重構(gòu)描述重構(gòu)設(shè)計重構(gòu)編碼再工程系統(tǒng)(功能、性能化)圖7.8軟件再工程通用模型系統(tǒng)需求獲取功能模塊確定函數(shù)、變量分離數(shù)據(jù)、程序分析逆向工程系統(tǒng)功能描述功能模塊設(shè)定函數(shù)、變量設(shè)定數(shù)據(jù)、代碼生成正向工程在描述再設(shè)計在設(shè)定再編碼轉(zhuǎn)換過程)圖7.9結(jié)構(gòu)化軟件再工程模型2.面向?qū)ο筌浖俟こ棠P凸δ艹橄蟆@取類、對象、方法確定劃分代碼分析、切分逆向工程正向工程重新描述重新構(gòu)建重新編碼新功能獲取、描述類、對象、方法重新確定新生成代碼用戶需求變更圖7.10面向?qū)ο蟮能浖俟こ棠P?.Web化軟件再工程7.3.4實用的重用戰(zhàn)略界面重用策略2.邏輯層包裝原則3.數(shù)據(jù)層重用策略7.3.5再工程活動類型級別1.系統(tǒng)級2.數(shù)據(jù)級3.程序級
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 三視圖小學(xué)生題目及答案
- 養(yǎng)老院老人生活照顧人員行為規(guī)范制度
- 養(yǎng)老院老人緊急救援人員福利待遇制度
- 養(yǎng)老院老人健康監(jiān)測報告制度
- 養(yǎng)老院工作人員職責分工制度
- 大專入門考試題目及答案
- 辦公室消防安全管理制度
- 鐵路四確認制度
- 小藝考初試考哪些題目及答案
- 電商平臺支付流程設(shè)計原則
- 2025年鑄造原理考試試題及答案
- 2025全國注冊監(jiān)理工程師繼續(xù)教育必考題庫和答案
- 衣柜全屋定制設(shè)計方案
- ESG理論與實務(wù) 課件 第一章 ESG概述
- 食堂餐廳維修項目方案(3篇)
- 醫(yī)用手術(shù)器械講解
- 冰芯氣泡古大氣重建-洞察及研究
- DB37∕T 5031-2015 SMC玻璃鋼檢查井應(yīng)用技術(shù)規(guī)程
- 口腔腫瘤手術(shù)配合方案
- 新疆金川礦業(yè)有限公司堆浸場擴建技改項目環(huán)評報告
- 2025至2030年中國武漢餐飲行業(yè)市場現(xiàn)狀調(diào)查及發(fā)展趨向研判報告
評論
0/150
提交評論