




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、軟件工程軟件工程第三章:軟件設(shè)計第三章:軟件設(shè)計2第三章第三章 軟件設(shè)計軟件設(shè)計3.1軟件設(shè)計基本概念軟件設(shè)計基本概念3.2軟件設(shè)計準(zhǔn)則軟件設(shè)計準(zhǔn)則3.3結(jié)構(gòu)化設(shè)計方法結(jié)構(gòu)化設(shè)計方法3.4面向?qū)ο笤O(shè)計方法面向?qū)ο笤O(shè)計方法3.5用戶界面設(shè)計用戶界面設(shè)計3.6軟件復(fù)用軟件復(fù)用3.7逆工程與再工程逆工程與再工程3.8例題例題3 軟件設(shè)計是軟件開發(fā)的關(guān)鍵步驟,直接影響軟件質(zhì)量。軟件設(shè)計階段要解決“如何做”的問題。一、一、軟件設(shè)計階段的任務(wù)軟件設(shè)計階段的任務(wù) 將分析階段獲得的需求說明轉(zhuǎn)換為計算機(jī)中可實現(xiàn)的系統(tǒng)。包括:3.1 3.1 軟件設(shè)計概述軟件設(shè)計概述軟件體系結(jié)構(gòu)的設(shè)計用戶界面的設(shè)計數(shù)據(jù)結(jié)構(gòu)的設(shè)計算
2、法的設(shè)計4 即軟件設(shè)計的任務(wù)是通過多項設(shè)計,構(gòu)造一個高內(nèi)聚低耦合的軟件模型。過程設(shè)計過程設(shè)計系統(tǒng)結(jié)構(gòu)設(shè)計系統(tǒng)結(jié)構(gòu)設(shè)計數(shù)據(jù)設(shè)計數(shù)據(jù)設(shè)計界面設(shè)計界面設(shè)計軟件設(shè)計軟件設(shè)計軟件設(shè)計內(nèi)容軟件設(shè)計內(nèi)容5 從工程管理的角度來看,軟件設(shè)計分兩步完成,分為總體設(shè)計(概要設(shè)計)和詳細(xì)設(shè)計兩個階段。 概要設(shè)計:概要設(shè)計:將軟件需求轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件的系統(tǒng)結(jié)構(gòu)。 詳細(xì)設(shè)計:詳細(xì)設(shè)計:通過對結(jié)構(gòu)表示進(jìn)行細(xì)化,得到軟件詳細(xì)的數(shù)據(jù)結(jié)構(gòu)和算法。軟件設(shè)計工作流程需求需求說明書說明書復(fù)復(fù)審審軟件結(jié)構(gòu)軟件結(jié)構(gòu)可接受可接受模塊描述模塊描述復(fù)復(fù)審審修修 改改修修 改改總體總體設(shè)計設(shè)計詳細(xì)詳細(xì)設(shè)計設(shè)計二、軟件設(shè)計的工作流程二、軟件設(shè)計
3、的工作流程6 軟件設(shè)計的目標(biāo)就是構(gòu)造一個高內(nèi)聚高內(nèi)聚、低耦合低耦合的軟件模型。軟件軟件高可靠性高可靠性高可維高可維護(hù)性護(hù)性高可理高可理解性解性高效率高效率軟件設(shè)計的目標(biāo)衡量軟件設(shè)計的目標(biāo)的衡量軟件設(shè)計的目標(biāo)的準(zhǔn)則準(zhǔn)則: 軟件實體有明顯的層次結(jié)構(gòu),利于軟件元素間控制。 軟件實體應(yīng)該是模塊化的,模塊具有獨立功能。 設(shè)計規(guī)格說明清晰、簡潔、完整和無二義性。 軟件實體與環(huán)境的界面清晰。7第三章第三章 軟件設(shè)計軟件設(shè)計3.1軟件設(shè)計基本概念軟件設(shè)計基本概念3.2軟件設(shè)計準(zhǔn)則軟件設(shè)計準(zhǔn)則3.3結(jié)構(gòu)化設(shè)計方法結(jié)構(gòu)化設(shè)計方法3.4面向?qū)ο笤O(shè)計方法面向?qū)ο笤O(shè)計方法3.5用戶界面設(shè)計用戶界面設(shè)計3.6軟件復(fù)用軟件
4、復(fù)用3.7逆工程與再工程逆工程與再工程3.8例題例題81.軟件結(jié)構(gòu)的準(zhǔn)則2. 模塊化準(zhǔn)則3.軟件獨立性準(zhǔn)則3.2 3.2 軟件設(shè)計準(zhǔn)則軟件設(shè)計準(zhǔn)則 軟件設(shè)計是軟件開發(fā)過程的重要階段,對保證軟件系統(tǒng)的質(zhì)量起著關(guān)鍵作用。但是如何保證軟件設(shè)計的質(zhì)量呢?有以下經(jīng)過長期考驗的設(shè)計準(zhǔn)則: 這些設(shè)計準(zhǔn)則直接影響到體系結(jié)構(gòu)的設(shè)計過程的主要活動系統(tǒng)分解和模塊分解。9 軟件結(jié)構(gòu)表示軟件的系統(tǒng)結(jié)構(gòu),它是軟件模塊間關(guān)系的表示,均表示為層次關(guān)系。軟 件 結(jié) 構(gòu) 示 意 圖0層層1層層2層層ABCDEFGHIJKLMN深度寬度扇入為扇入為2扇出為扇出為3扇入為扇入為3寬度深度寬度3層層4層層一、軟件結(jié)構(gòu)的準(zhǔn)則一、軟件結(jié)構(gòu)
5、的準(zhǔn)則10 深度:深度:表示軟件結(jié)構(gòu)中從頂層模塊到最底層模塊的層數(shù)。 寬度:寬度:表示控制的總分布。 扇出數(shù):扇出數(shù):指一個模塊直接控制下屬的模塊個數(shù)。 扇入數(shù):扇入數(shù):指一個模塊的直接上屬模塊個數(shù)。 一個好的軟件結(jié)構(gòu)的形態(tài)準(zhǔn)則是:一個好的軟件結(jié)構(gòu)的形態(tài)準(zhǔn)則是:頂部寬度小,中部寬度最大,底部寬度次之;在結(jié)構(gòu)頂部有較高的扇出數(shù),在底部有較高的扇入數(shù)。有有 關(guān)關(guān) 指指 標(biāo)標(biāo)11 所謂模塊化就是將系統(tǒng)劃分成若干模塊,每個模塊完成一個子功能,把這些模塊集中起來組成一個整體,以滿足所要求的整個系統(tǒng)的功能。 我們利用模塊化來降低軟件復(fù)雜度。注意選擇分解的最佳模塊數(shù)最佳模塊數(shù)。二、二、模塊化準(zhǔn)則模塊化準(zhǔn)則
6、12三、軟件獨立性準(zhǔn)則三、軟件獨立性準(zhǔn)則 軟件獨立性的含義是指開發(fā)具有功能專一,模塊之間無過多相互作用的模塊。又稱為模塊獨立性準(zhǔn)則。 這種類型的模塊可以并行開發(fā),開發(fā)容易,能減少錯誤的影響,使模塊容易組合、修改及測試。13 耦合性耦合性 用于描述模塊之間聯(lián)系的緊密程度。內(nèi)聚性內(nèi)聚性 用于描述模塊內(nèi)部聯(lián)系的緊密程度。軟件獨立性的度量標(biāo)準(zhǔn)是兩個定性指標(biāo):軟件獨立性的度量標(biāo)準(zhǔn)是兩個定性指標(biāo):耦合性的幾種類型耦合性的幾種類型內(nèi)容耦合內(nèi)容耦合公共耦合公共耦合控制耦合控制耦合復(fù)合耦合復(fù)合耦合數(shù)據(jù)耦合數(shù)據(jù)耦合高高耦合性耦合性低低弱弱內(nèi)聚性內(nèi)聚性強強偶然型偶然型邏輯型邏輯型瞬時型瞬時型通信型通信型順序型順序型
7、功能型功能型內(nèi)聚性的幾種類型內(nèi)聚性的幾種類型14第三章第三章 軟件設(shè)計軟件設(shè)計3.1軟件設(shè)計基本概念軟件設(shè)計基本概念3.2軟件設(shè)計準(zhǔn)則軟件設(shè)計準(zhǔn)則3.3結(jié)構(gòu)化設(shè)計方法結(jié)構(gòu)化設(shè)計方法3.4面向?qū)ο笤O(shè)計方法面向?qū)ο笤O(shè)計方法3.5用戶界面設(shè)計用戶界面設(shè)計3.6軟件復(fù)用軟件復(fù)用3.7逆工程與再工程逆工程與再工程3.8例題例題153.3 結(jié)構(gòu)化設(shè)計方法 SD(Structured Design)法與SA、SP法前后銜接,是結(jié)構(gòu)化開發(fā)方法的核心。1.SD SD 法的兩個階段法的兩個階段 總體設(shè)計總體設(shè)計 解決系統(tǒng)的模塊結(jié)構(gòu),即分解模塊,確定模塊功能及系統(tǒng)模塊的層次結(jié)構(gòu)。 文檔:模塊結(jié)構(gòu)圖及其模塊功能說明。
8、 詳細(xì)設(shè)計詳細(xì)設(shè)計 對模塊圖中每個模塊的過程進(jìn)行描述,常用的描述的方式有:偽代碼、流程圖、N-S圖、PAD圖等。162.SD 2.SD 法的設(shè)計步驟法的設(shè)計步驟 從DFD圖導(dǎo)出初始的模塊結(jié)構(gòu)圖(SC)。 按照SD法設(shè)計總則,改進(jìn)模塊結(jié)構(gòu)圖。3.3 結(jié)構(gòu)化設(shè)計方法17 一、任務(wù) 詳細(xì)設(shè)計階段的任務(wù)是開發(fā)一個可以直接轉(zhuǎn)換為程序的軟件表示,即對系統(tǒng)中每個模塊的內(nèi)部過程進(jìn)行設(shè)計和描述。 二、常用的描述方法工具 1.流程圖 2.結(jié)構(gòu)化流程圖(N-S圖) 3.PAD圖問題分析圖 4.PDL 語言詳細(xì)設(shè)計18第三章第三章 軟件設(shè)計軟件設(shè)計3.1軟件設(shè)計基本概念軟件設(shè)計基本概念3.2軟件設(shè)計準(zhǔn)則軟件設(shè)計準(zhǔn)則3
9、.3結(jié)構(gòu)化設(shè)計方法結(jié)構(gòu)化設(shè)計方法3.4面向?qū)ο笤O(shè)計方法面向?qū)ο笤O(shè)計方法3.5用戶界面設(shè)計用戶界面設(shè)計3.6軟件復(fù)用軟件復(fù)用3.7逆工程與再工程逆工程與再工程3.8例題例題19 UML概述 UML是軟件界第一個統(tǒng)一的建模語言,該方法結(jié)合了Booch, OMT, 和OOSE方法的優(yōu)點,統(tǒng)一了符號體系,并從其他的方法和工程實踐中吸收了許多經(jīng)過實際檢驗的概念和技術(shù)。 它是一種標(biāo)準(zhǔn)的表示,已成為國際軟件界廣泛承認(rèn)的標(biāo)準(zhǔn)。UML是一種基于面向?qū)ο蟮目梢暬耐ㄓ?General)建模語言。為不同領(lǐng)域的用戶提供了統(tǒng)一的交流標(biāo)準(zhǔn)UML圖。 UML的應(yīng)用領(lǐng)域很廣泛,可用于軟件開發(fā)建模的各個階段、商業(yè)建模(Busi
10、ness Modeling), 也可用于其他類型的系統(tǒng)。20設(shè)計視圖實現(xiàn)視圖配置視圖過程視圖用例視圖用例視圖用例視圖描述系統(tǒng)的外部特性、系統(tǒng)功能等。實現(xiàn)視圖 表示系統(tǒng)的實現(xiàn)特征,常用構(gòu)件圖表示。設(shè)計視圖設(shè)計視圖 描述系統(tǒng)設(shè)計特征,包括結(jié)構(gòu)模型視圖和行為模型視圖,前者描述系統(tǒng)的靜態(tài)結(jié)構(gòu)(類圖、對象圖),后者描述系統(tǒng)的動態(tài)行為(交互圖、狀態(tài)圖、活動圖)。過程視圖過程視圖 表示系統(tǒng)內(nèi)部的控制機(jī)制。常用類圖描述過程結(jié)構(gòu),用交互圖描述過程行為。配置視圖配置視圖描述系統(tǒng)的物理配置特征。用配置圖表示。UML常用視圖21 UML語言定義了5種類型,9種不同的圖,把它們有機(jī)結(jié)合起來就可以描述系統(tǒng)的所有視圖。用例
11、圖用例圖( (Usecasediagram) ) 從用戶角度描述系統(tǒng)功能,并指出各功能的操作者。靜態(tài)圖靜態(tài)圖( (Staticdiagram) ) 表示系統(tǒng)的靜態(tài)結(jié)構(gòu)。包括類圖、對象圖、包圖。行為圖行為圖(Behaviordiagram)描述系統(tǒng)的動態(tài)模型和組成對象間的相互關(guān)系。包括狀態(tài)圖、活動圖。 交互圖交互圖(Interactivediagram) 描述對象間的交互關(guān)系。包括順序圖、協(xié)作圖。 實現(xiàn)圖實現(xiàn)圖(Implementationdiagram) 用于描述系統(tǒng)的物理實現(xiàn)。包括構(gòu)件圖、部件圖。 圖(Diagrams)22 用例建模技術(shù),用于描述系統(tǒng)的功能需求。在宏觀上給出模型的總體輪廓。
12、通過對典型用例的分析,使開發(fā)者能夠有效地了解用戶的需求。1 1 用例建模用例建模232. 2. 類圖類圖*1111111111111111值班護(hù)士值班護(hù)士醫(yī)生醫(yī)生病人病人病癥監(jiān)視病癥監(jiān)視病人病癥信號病人病癥信號病歷病歷病歷庫病歷庫病情報告病情報告報警信號報警信號中央監(jiān)護(hù)系統(tǒng)中央監(jiān)護(hù)系統(tǒng)標(biāo)準(zhǔn)病癥信號標(biāo)準(zhǔn)病癥信號1*報警報警監(jiān)視監(jiān)視標(biāo)準(zhǔn)病癥信號庫標(biāo)準(zhǔn)病癥信號庫1243.包圖包圖訂單獲訂單獲取界面取界面AWT郵件發(fā)郵件發(fā)送界面送界面郵件發(fā)郵件發(fā)送應(yīng)用送應(yīng)用訂單獲訂單獲取應(yīng)用取應(yīng)用訂單訂單顧客顧客用戶接口包用戶接口包應(yīng)用層包應(yīng)用層包問題域包問題域包其中其中:AWT是是Java中管理中管理GUI類的包。
13、類的包。254.狀態(tài)圖狀態(tài)圖26呼叫者呼叫者交換交換接受者接受者拿起話筒拿起話筒響撥號聲響撥號聲撥號碼撥號碼路由選擇路由選擇鳴響音鳴響音停音停音響鈴聲響鈴聲接電話接電話停鈴聲停鈴聲ABCDEBA1sCB10s通過網(wǎng)絡(luò)選通過網(wǎng)絡(luò)選擇通話路徑擇通話路徑ED5s雙方通話雙方通話打電話的順序圖5.順序圖順序圖276.活動圖活動圖287.協(xié)作圖協(xié)作圖298.構(gòu)件圖構(gòu)件圖30 保險單保險單 填寫界面填寫界面保險系統(tǒng)保險系統(tǒng)保險數(shù)據(jù)庫保險數(shù)據(jù)庫保險政策保險政策保險用戶保險用戶客戶客戶PCPC保險服務(wù)器保險服務(wù)器保險系統(tǒng)保險系統(tǒng)配置配置配置配置保險系統(tǒng)的配置圖9.配置圖配置圖31第三章第三章 軟件設(shè)計軟件設(shè)計
14、3.1軟件設(shè)計基本概念軟件設(shè)計基本概念3.2軟件設(shè)計準(zhǔn)則軟件設(shè)計準(zhǔn)則3.3結(jié)構(gòu)化設(shè)計方法結(jié)構(gòu)化設(shè)計方法3.4面向?qū)ο笤O(shè)計方法面向?qū)ο笤O(shè)計方法3.5用戶界面設(shè)計用戶界面設(shè)計3.6軟件復(fù)用軟件復(fù)用3.7逆工程與再工程逆工程與再工程3.8例題例題32 隨著各種應(yīng)用軟件的面市,作為人機(jī)接口的用戶界面具有越來越重要的作用,用戶界面是否友好直接影響到軟件的壽命與競爭力。因此,對用戶界面的設(shè)計必須予以足夠的重視。3.5 3.5 用戶界面設(shè)計用戶界面設(shè)計 用戶界面設(shè)計中的主要問題用戶界面設(shè)計中的主要問題: 用戶界面應(yīng)具有的特性用戶界面應(yīng)具有的特性什么是友好的用戶界面。 用戶界面設(shè)計的任務(wù)用戶界面設(shè)計的任務(wù)用戶
15、界面設(shè)計應(yīng)該完成的工作。 用戶界面的基本類型用戶界面的基本類型用戶界面的工作模式。33用戶界面設(shè)計迭代過程用戶界面設(shè)計迭代過程分析和理解分析和理解用戶活動用戶活動在紙上設(shè)計在紙上設(shè)計原型原型與最終用戶與最終用戶一起評價一起評價設(shè)計原型設(shè)計原型產(chǎn)生動態(tài)產(chǎn)生動態(tài)設(shè)計原型設(shè)計原型與最終用戶與最終用戶一起評價一起評價實現(xiàn)最終的實現(xiàn)最終的用戶界面用戶界面可執(zhí)行原型可執(zhí)行原型341.努力保持命令、菜單、顏色等統(tǒng)一努力保持命令、菜單、顏色等統(tǒng)一(StriveforConsistency)。)。2.為頻繁使用的用戶提供快捷方式為頻繁使用的用戶提供快捷方式(EnableFrequentUserstoUseSho
16、rtCuts)。)。3.提供信息反饋提供信息反饋(OfferInformationFeedback)。)。4.提供簡單的錯誤處理提供簡單的錯誤處理(OfferSimpleErrorHandling)。)。5.允許方便地進(jìn)行操作回滾允許方便地進(jìn)行操作回滾(PermitEasyReversalofActions)。)。用戶界面設(shè)計原則:用戶界面設(shè)計原則:35TheoMandel創(chuàng)造了三條黃金原則創(chuàng)造了三條黃金原則:1、用戶主導(dǎo)、用戶主導(dǎo)PlaceUsersinControl以不強迫用戶進(jìn)入不必要的或不希望的動作的方式來定義交互方式,允許用戶交互可以被中斷和撤消,當(dāng)技能級別增加時可以使交互流水化并允
17、許定制交互使用戶隔離內(nèi)部技術(shù)細(xì)節(jié),設(shè)計應(yīng)允許用戶和出現(xiàn)在屏幕上的對象直接交互。2、減少用戶的記憶負(fù)擔(dān)、減少用戶的記憶負(fù)擔(dān)ReduceUsersMemoryLoad減少用戶對短期記憶的要求,建立有意義的缺省,定義直覺性的捷徑,快捷方式,界面的視覺布局應(yīng)該基于真實世界的隱喻。3、保持界面一致、保持界面一致MaketheInterfaceConsistent用戶應(yīng)以一致的方式展示和獲取信息,所有可視信息的組織均按照所有屏幕顯示所保持的設(shè)計標(biāo)準(zhǔn),允許用戶將當(dāng)前任務(wù)放入有意義的語境,在應(yīng)用系列內(nèi)保持一致性,如過去的交互模型已建立起了用戶期望,除非有迫不得已的理由,不要改變它。用戶界面設(shè)計原則:用戶界面設(shè)
18、計原則:363738第三章第三章 軟件設(shè)計軟件設(shè)計3.1軟件設(shè)計基本概念軟件設(shè)計基本概念3.2軟件設(shè)計準(zhǔn)則軟件設(shè)計準(zhǔn)則3.3結(jié)構(gòu)化設(shè)計方法結(jié)構(gòu)化設(shè)計方法3.4面向?qū)ο笤O(shè)計方法面向?qū)ο笤O(shè)計方法3.5用戶界面設(shè)計用戶界面設(shè)計3.6軟件復(fù)用軟件復(fù)用3.7逆工程與再工程逆工程與再工程3.8例題例題393.6 3.6 軟件復(fù)用的基本概念軟件復(fù)用的基本概念 軟件復(fù)用就是將已有的軟件成分用于構(gòu)造新的軟件系統(tǒng),以達(dá)到提高軟件系統(tǒng)的開發(fā)質(zhì)量與效率、開發(fā)成本的目的。 可復(fù)用的軟件成分稱為可復(fù)用構(gòu)件(Reusable Component)或組件,可從舊軟件中提取,也可以專門為復(fù)用而開發(fā)。軟件復(fù)用不僅是對程序的復(fù)用軟
19、件復(fù)用不僅是對程序的復(fù)用,它包括對軟件生它包括對軟件生產(chǎn)過程中任何活動所產(chǎn)生的制成品的復(fù)用。產(chǎn)過程中任何活動所產(chǎn)生的制成品的復(fù)用。如:項目計劃、可行性報告、需求定義、分析模型、詳細(xì)說明、源程序和測試用例等。40 復(fù)用級別越高,可得到的回報也越大,因此分析軟件(Analysis Ware)和設(shè)計軟件(Design Ware)的復(fù)用備受重視。軟件復(fù)用的優(yōu)點:軟件復(fù)用的優(yōu)點: (1)提高軟件生產(chǎn)率,降低軟件生產(chǎn)成本; (2)提高軟件質(zhì)量; (3)提高互操作性; (4)推動標(biāo)準(zhǔn)化; (5)支持原型開發(fā)。3.6 3.6 軟件復(fù)用的基本概念軟件復(fù)用的基本概念41代碼的復(fù)用代碼的復(fù)用設(shè)計結(jié)果的復(fù)用設(shè)計結(jié)果的
20、復(fù)用分析結(jié)果的復(fù)用分析結(jié)果的復(fù)用測試信息的復(fù)用測試信息的復(fù)用抽抽象象程程度度軟件復(fù)用的級別軟件復(fù)用的級別包括目標(biāo)代碼,也包括文本形式包括目標(biāo)代碼,也包括文本形式的源代碼。的源代碼。受實際環(huán)境影響小,可復(fù)用機(jī)會受實際環(huán)境影響小,可復(fù)用機(jī)會多,所需修改少。多,所需修改少??杀粡?fù)用的分析結(jié)果是針對問題可被復(fù)用的分析結(jié)果是針對問題域的某些事物或某些問題的抽象域的某些事物或某些問題的抽象程度更高的解法。程度更高的解法。主要包括測試用例(主要包括測試用例(test casetest case)的復(fù)用和測試過程信息的復(fù)用。的復(fù)用和測試過程信息的復(fù)用。42軟件復(fù)用的形式軟件復(fù)用的形式一、按照重用活動所跨越的應(yīng)
21、用領(lǐng)域的類型分一、按照重用活動所跨越的應(yīng)用領(lǐng)域的類型分1.橫向復(fù)用(橫向復(fù)用(horizontal reusehorizontal reuse)也稱為水平復(fù)用,是指復(fù)用活動的范圍跨越了幾個不同的應(yīng)用領(lǐng)域,復(fù)用的軟件產(chǎn)品主要包括數(shù)據(jù)結(jié)構(gòu)、通用算法、人機(jī)界面等軟件元素。2.縱向復(fù)用(縱向復(fù)用(vertical reusevertical reuse)也稱為垂直復(fù)用,是指復(fù)用活動的范圍限制在同一個應(yīng)用領(lǐng)域或者是一類具有較多共性的應(yīng)用領(lǐng)域內(nèi)。 43二、基于軟件復(fù)用的軟件開發(fā)過程的角度分二、基于軟件復(fù)用的軟件開發(fā)過程的角度分.生產(chǎn)者復(fù)用生產(chǎn)者復(fù)用(product reuse)(product reuse
22、)指建立、獲取或者重新設(shè)計可復(fù)用構(gòu)件的活動。涉及的活動包括:復(fù)用的規(guī)劃、領(lǐng)域分析、構(gòu)件的開發(fā)、構(gòu)件庫的組織和管理。.消費者復(fù)用消費者復(fù)用(consumer reuse)(consumer reuse)指使用可復(fù)用的構(gòu)件建立新的系統(tǒng)的活動。涉及的活動包括:應(yīng)用系統(tǒng)的規(guī)劃、構(gòu)件的檢索和選擇、應(yīng)用系統(tǒng)中非復(fù)用部分的開發(fā)、應(yīng)用系統(tǒng)的組裝。軟件復(fù)用的形式軟件復(fù)用的形式44復(fù)用具有許多明顯的優(yōu)點,但目前應(yīng)用不廣泛的主要原因是: (1)技術(shù)因素技術(shù)因素 構(gòu)件與應(yīng)用系統(tǒng)之間的差異; 構(gòu)件要達(dá)到一定的規(guī)模,才能支持有效的復(fù)用; 發(fā)現(xiàn)復(fù)用構(gòu)件的困難; 基于復(fù)用的軟件開發(fā)方法和軟件過程需要一些新的理論、技術(shù)及支持環(huán)
23、境。軟件軟件復(fù)用的困難復(fù)用的困難(2)人的因素人的因素喜歡自己創(chuàng)造而不喜歡使用別人的東西。45(4)教育因素教育因素軟件科學(xué)技術(shù)的教育與培訓(xùn)中,缺乏關(guān)于軟件復(fù)用的內(nèi)容,缺少專門教材和課程。(3)管理因素管理因素把復(fù)用構(gòu)件和一般軟件構(gòu)件同等看待,把復(fù)用看作可有可無的事。軟件軟件復(fù)用的困難復(fù)用的困難46第三章第三章 軟件設(shè)計軟件設(shè)計3.1軟件設(shè)計基本概念軟件設(shè)計基本概念3.2軟件設(shè)計準(zhǔn)則軟件設(shè)計準(zhǔn)則3.3結(jié)構(gòu)化設(shè)計方法結(jié)構(gòu)化設(shè)計方法3.4面向?qū)ο笤O(shè)計方法面向?qū)ο笤O(shè)計方法3.5用戶界面設(shè)計用戶界面設(shè)計3.6軟件復(fù)用軟件復(fù)用3.7逆工程與再工程逆工程與再工程3.8例題例題47軟件再工程軟件再工程Re-
24、EngineeringRe-Engineering 再工程是在獲得軟件設(shè)計信息的同時,利用這些信息修改或重構(gòu)軟件系統(tǒng)。 根據(jù)用戶需求,軟件開發(fā)人員可利用再工程重新實現(xiàn)已有的軟件系統(tǒng),同時增加新的功能和改進(jìn)性能。 軟件再工程的目的:軟件再工程的目的: 在商業(yè)上要提高產(chǎn)品的競爭力;在技術(shù)上要提高產(chǎn)品的質(zhì)量。但這種愿望無法靠軟件的維護(hù)來實現(xiàn),因為: (1)軟件的可維護(hù)性可能極差,實在不值得去做; (2)即使軟件的可維護(hù)性比較好,但也只是治表不治本。軟件再工程干脆對已有軟件進(jìn)行全部或部分的改造,賦予軟件新的活力。48軟件的逆向工程軟件的逆向工程-Reverse Engineering-Reverse
25、Engineeringn軟件的逆向工程:軟件的逆向工程:分析已有程序,力圖與源代碼相比,在更高抽象層次上建立程序的表示過程即逆向工程是設(shè)計的恢復(fù)過程。n利用逆向工程工具,可以從已存在的程序中抽取數(shù)據(jù)結(jié)構(gòu)、體系結(jié)構(gòu)和程序設(shè)計信息。49集成化集成化CASE環(huán)境環(huán)境ComputerAidedSoftwareEngineering分散的軟件開發(fā)工具都只在軟件產(chǎn)品的某個開發(fā)階段起作用,它們有著不同的用戶界面、不同的數(shù)據(jù)存儲格式,不能夠有效進(jìn)行相互通信和數(shù)據(jù)共享,這些缺陷極大地限制了其最大效能的發(fā)揮。為克服以上缺陷,將多個CASE工具結(jié)合起來構(gòu)成集成化的CASE環(huán)境,使得各種軟件開發(fā)信息能夠在不同CASE工具之間、不同開發(fā)階段以及不同開發(fā)人員之間順暢地傳遞。 50集成化的集成化的CASE環(huán)境劃分層次環(huán)境劃分層次工具工具B信息轉(zhuǎn)換器信息轉(zhuǎn)換器工具工具A專有開發(fā)專有開發(fā)信息信息專有開發(fā)專有開發(fā)信息信息彼此獨立的軟件工具集彼此獨立的軟件工具集環(huán)境中工具之間完全獨立,它們之間有著不同的用戶界面和信息的存儲格式。借助操作系統(tǒng)的文件服務(wù)和數(shù)據(jù)交換服務(wù),實現(xiàn)不同工具之間的數(shù)據(jù)交換和共享。集成度非常低。51(2)具有公共界面的軟件工具集具有公共界面的軟件工具集 提供了一致的公共用戶界面和操作方式,但
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 簽字禮儀試題及答案
- 掌眾集團(tuán)java面試題及答案
- 杭州老板電器面試題及答案
- 急救??荚囶}及答案
- 藻類苔蘚測試題及答案
- java設(shè)計面試題及答案
- 酒店實習(xí)面試題及答案
- 2025年餐飲行業(yè)會員精細(xì)化運營與顧客滿意度提升策略報告
- 吉他彩色線描課件
- 2025年高端定制農(nóng)產(chǎn)品標(biāo)準(zhǔn)化生產(chǎn)技術(shù)與應(yīng)用報告
- 2024工貿(mào)企業(yè)重大事故隱患判定標(biāo)準(zhǔn)解讀
- (新平臺)國家開放大學(xué)《經(jīng)濟(jì)法學(xué)》形考任務(wù)(計分作業(yè))1-4參考答案
- HSE作業(yè)指導(dǎo)書資料
- 2024年新北師大版七年級上冊數(shù)學(xué)教學(xué)課件 第一章 1.2 第2課時 棱柱、圓柱、圓錐的展開與折疊
- 淺析火災(zāi)延伸調(diào)查工作指引
- 2024精麻藥品培訓(xùn)知識試題庫及答案(完整版)
- 2024年湖北黃岡市檢察機(jī)關(guān)招聘雇員制檢察輔助人員50人歷年(高頻重點復(fù)習(xí)提升訓(xùn)練)共500題附帶答案詳解
- 2024國家開放大學(xué)《大學(xué)語文》網(wǎng)上課程1-5形考任務(wù)附答案
- 《小型水庫雨水情測報和大壩安全監(jiān)測設(shè)施建設(shè)與運行管護(hù)技術(shù)指南》
- 2024年小區(qū)地下車位租賃合同
- 光伏系統(tǒng)在智能溫室大棚中的設(shè)計與應(yīng)用
評論
0/150
提交評論