




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