一個(gè)面向?qū)ο筌浖|(zhì)量缺陷輔助檢測(cè)工具的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
一個(gè)面向?qū)ο筌浖|(zhì)量缺陷輔助檢測(cè)工具的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
一個(gè)面向?qū)ο筌浖|(zhì)量缺陷輔助檢測(cè)工具的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
一個(gè)面向?qū)ο筌浖|(zhì)量缺陷輔助檢測(cè)工具的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
一個(gè)面向?qū)ο筌浖|(zhì)量缺陷輔助檢測(cè)工具的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

答辯報(bào)告一個(gè)面向?qū)ο筌浖|(zhì)量缺陷輔助檢測(cè)工具的設(shè)計(jì)與實(shí)現(xiàn)目錄問(wèn)題提出本文的解決方案系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)實(shí)例分析結(jié)束語(yǔ)06/06OO設(shè)計(jì)中的質(zhì)量缺陷度量良好的設(shè)計(jì)原理和原則06/06預(yù)防性維護(hù)的困難現(xiàn)有軟件的維護(hù)可能占一個(gè)開(kāi)發(fā)組織所有工作量的60%以上。預(yù)防性維護(hù)是其中的重點(diǎn)和難點(diǎn),包括碼結(jié)構(gòu)調(diào)整、代碼優(yōu)化和文檔更新。預(yù)防性維護(hù)的困難:適應(yīng)性維護(hù)、完善性維護(hù)和糾正性 維護(hù)都會(huì)帶來(lái)預(yù)防性維護(hù)。代碼經(jīng)過(guò)多次修改維護(hù),復(fù)雜性高,程序難以理解。軟件在設(shè)計(jì)時(shí)對(duì)將來(lái)的軟件修改都沒(méi)有考慮或考慮不多,特別是模塊 獨(dú)立性等。06/06設(shè)計(jì)模式和經(jīng)驗(yàn)規(guī)則設(shè)計(jì)實(shí)踐中總結(jié)出了一些設(shè)計(jì)模式、經(jīng)驗(yàn)規(guī)則等實(shí)踐經(jīng)驗(yàn)的總結(jié)。首先是Gamma等四人在95年提出了設(shè)計(jì)模式的概念,他們從一些好的設(shè)計(jì)中提煉出了好的程序需要滿足的設(shè)計(jì)模式。第二年,Riel從他多年的工作中,總結(jié)了60條面向?qū)ο笤O(shè)計(jì)中的指導(dǎo)原則。1999年Fowler在對(duì)現(xiàn)有代碼進(jìn)行改善的設(shè)計(jì)中,他提出了根據(jù)“代碼中的壞味道”(BadSmellinCode)來(lái)發(fā)現(xiàn)代碼中的問(wèn)題,并針對(duì)這些問(wèn)題提出了代碼重構(gòu)的方法。2003年又有人提出反模式(Dudney),反模式是采用與設(shè)計(jì)模式相同的形式來(lái)描述不恰當(dāng)?shù)膶?shí)踐做法。它為查找實(shí)踐中的不良設(shè)計(jì)提供了更好的依據(jù)。06/06質(zhì)量缺陷

如果設(shè)計(jì)實(shí)體背離了從良好設(shè)計(jì)實(shí)踐中總結(jié)出的設(shè)計(jì)準(zhǔn)則集,則稱這些實(shí)體存在質(zhì)量缺陷?!霸O(shè)計(jì)實(shí)體”。指要所分析的軟件系統(tǒng),包括軟件系統(tǒng)中的方法、類、包等,也指互相影響的多個(gè)不同類型的、相互關(guān)聯(lián)的實(shí)體,稱為設(shè)計(jì)實(shí)體“簇”?!皬牧己迷O(shè)計(jì)實(shí)踐中抽象出來(lái)的準(zhǔn)則集”。這個(gè)界定將類似bugs這樣的錯(cuò)誤排除在質(zhì)量檢測(cè)之外?!氨畴x了給定的準(zhǔn)則集”。為我們使用度量的方法來(lái)進(jìn)行缺陷檢測(cè)提供依據(jù)。每個(gè)準(zhǔn)則都要反映在具體的、特定范例的設(shè)計(jì)規(guī)則和指南中;這些具體的規(guī)則也可以進(jìn)行量化處理,用度量進(jìn)行缺陷檢測(cè)。06/06度量工具的現(xiàn)狀有許多工作將度量應(yīng)用于面向?qū)ο笙到y(tǒng)的設(shè)計(jì)質(zhì)量的改進(jìn)和評(píng)價(jià),如一些度量指標(biāo)。仍然存在一些問(wèn)題:度量的目標(biāo)不同。面向?qū)ο蟮亩攘浚⊿himba,Chidamber等的工具)對(duì)類屬性、繼承的體系結(jié)構(gòu)、類之間的交互等屬性進(jìn)行度量;在逆向工程過(guò)程的初始階段理解軟件系統(tǒng)的結(jié)構(gòu)、發(fā)現(xiàn)問(wèn)題(CodeCrawler);僅僅提供各種面向?qū)ο蟮亩攘拷Y(jié)果(UnderstandJava)以便用戶使用;預(yù)測(cè)可能存在的缺陷跟哪些度量屬性相關(guān),例如OODMS。度量的對(duì)象不同。OODMS針對(duì)軟件設(shè)計(jì)視圖。度量結(jié)果的解釋。度量值本身很難提高軟件產(chǎn)品的質(zhì)量,即使能夠說(shuō)明程序中可能存在問(wèn)題(例如,復(fù)雜性的系數(shù)過(guò)高),也不能提供直接的方法來(lái)改進(jìn)。06/06我們的工作輔助預(yù)防性維護(hù)工作。軟件質(zhì)量缺陷跟度量結(jié)合在一起。具體方法是,針對(duì)要檢測(cè)的具體缺陷,制訂出檢測(cè)規(guī)則,利用度量工具,找出系統(tǒng)中可能存在缺陷的地方,再對(duì)可能的缺陷進(jìn)行檢驗(yàn),然后對(duì)現(xiàn)有的面向?qū)ο笙到y(tǒng)進(jìn)行改進(jìn)。設(shè)計(jì)并實(shí)現(xiàn)了質(zhì)量缺陷輔助檢測(cè)工具。基本面向?qū)ο蠖攘?。缺陷檢測(cè)。檢測(cè)規(guī)則的調(diào)整以及用戶定義檢測(cè)規(guī)則。06/06目錄問(wèn)題提出本文的解決方案系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)實(shí)例分析結(jié)束語(yǔ)06/06OO程序質(zhì)量缺陷檢測(cè)過(guò)程

抽?。ɑ蝾A(yù)處理)。根據(jù)度量活動(dòng),從源代碼中抽取相關(guān)的數(shù)據(jù)。定義計(jì)算。根據(jù)目標(biāo),定義度量和相關(guān)的度量計(jì)算方式。解釋(預(yù)測(cè)可能存在缺陷的實(shí)體)。這個(gè)解釋是基于特定度量解釋模型。質(zhì)量缺陷檢測(cè)引擎。這個(gè)是質(zhì)量檢測(cè)的一個(gè)核心,它將經(jīng)驗(yàn)規(guī)則解釋為我們的檢測(cè)規(guī)則,下面仔細(xì)介紹。結(jié)果的驗(yàn)證。對(duì)于度量檢測(cè)出的可能存在質(zhì)量缺陷的實(shí)體,必須在開(kāi)始的源代碼中手工確認(rèn)。06/06缺陷陷檢檢測(cè)測(cè)引引擎擎如何何解解釋釋單單個(gè)個(gè)度度量量結(jié)結(jié)果果??不不同同的的數(shù)數(shù)據(jù)據(jù)過(guò)濾濾方法法,,具具體體的的選選擇擇過(guò)過(guò)濾濾的的方方法法。。如何何將將多多個(gè)個(gè)度度量量結(jié)結(jié)果果關(guān)關(guān)聯(lián)聯(lián)起起來(lái)來(lái)解解釋釋??————合成成。如何何將將具具體體的的研研究究目目標(biāo)標(biāo)轉(zhuǎn)轉(zhuǎn)化化為為檢檢測(cè)測(cè)規(guī)規(guī)則則,,即即檢檢測(cè)測(cè)規(guī)規(guī)則則的的描描述述??從從現(xiàn)現(xiàn)有有的的經(jīng)經(jīng)驗(yàn)驗(yàn)規(guī)規(guī)則則和和設(shè)設(shè)計(jì)計(jì)模模式式中中總總結(jié)結(jié)可可以以量量化化的的度度量量屬屬性性并并進(jìn)進(jìn)行行評(píng)價(jià)價(jià)。使用用自自頂頂向向下下的的質(zhì)量量缺缺陷陷檢檢測(cè)測(cè)引引擎擎。它它要要寫寫出出規(guī)規(guī)則則的的表表達(dá)達(dá),,根根據(jù)據(jù)這這個(gè)個(gè)規(guī)規(guī)則則可可以以檢檢測(cè)測(cè)出出源源代代碼碼中中有有質(zhì)質(zhì)量量缺缺陷陷的的設(shè)設(shè)計(jì)計(jì)片片斷斷。。主主要要完完成成下下面面幾幾個(gè)個(gè)工工作作::06/06數(shù)據(jù)據(jù)過(guò)過(guò)濾濾數(shù)據(jù)據(jù)過(guò)過(guò)濾濾是根根據(jù)據(jù)特特定定的的度度量量目目標(biāo)標(biāo),,從從原原始始的的度度量量結(jié)結(jié)果果集集中中抽抽取取出出數(shù)數(shù)據(jù)據(jù)子子集集的的方方法法((一一組組操操作作))。。選擇擇數(shù)數(shù)據(jù)據(jù)過(guò)過(guò)濾濾的的規(guī)規(guī)則則規(guī)則則1::明明確確提提到到實(shí)實(shí)現(xiàn)現(xiàn)的的閾閾值值時(shí)時(shí),,使使用用絕絕對(duì)對(duì)語(yǔ)語(yǔ)義義過(guò)過(guò)濾濾。。規(guī)則則2::當(dāng)當(dāng)設(shè)設(shè)計(jì)計(jì)規(guī)規(guī)則則根根據(jù)據(jù)模模糊糊的的邊邊界界值值來(lái)來(lái)定定義義時(shí)時(shí),,例例如如““最最高高/最最低低值值””或或者者““較較高高/較較低低值值””時(shí)時(shí),,使使用用相相對(duì)對(duì)語(yǔ)語(yǔ)義義過(guò)過(guò)濾濾。。規(guī)則則3::大大型型系系統(tǒng)統(tǒng),,使使用用百百分分率率值值來(lái)來(lái)參參數(shù)數(shù)化化相相對(duì)對(duì)語(yǔ)語(yǔ)義義過(guò)過(guò)濾濾;;小小系系統(tǒng)統(tǒng),,相相對(duì)對(duì)語(yǔ)語(yǔ)義義-->絕絕對(duì)對(duì)參參數(shù)數(shù)。。規(guī)則則4::在在設(shè)設(shè)計(jì)計(jì)經(jīng)經(jīng)驗(yàn)驗(yàn)規(guī)規(guī)則則說(shuō)說(shuō)需需要要極極值值,,而而沒(méi)沒(méi)有有說(shuō)說(shuō)明明任任何何特特殊殊的的閾閾值值時(shí)時(shí),,選選擇擇使使用用統(tǒng)統(tǒng)計(jì)計(jì)過(guò)過(guò)濾濾。。06/06合成成合成成::支支持持多多個(gè)個(gè)結(jié)結(jié)果果集集之之間間的的相相關(guān)關(guān)性性解解釋釋,,不不同同的的度度量量結(jié)結(jié)合合在在一一起起的的一一系系列列操操作作。。我們們使使用用3個(gè)個(gè)合合成成::and、、or和和butnot。。例::數(shù)數(shù)據(jù)據(jù)類類((考考慮慮公公共共屬屬性性和和私私有有屬屬性性數(shù)數(shù)量量))06/06缺陷陷檢檢測(cè)測(cè)規(guī)規(guī)則則的的制制訂訂檢測(cè)測(cè)規(guī)規(guī)則則就就是是要要對(duì)對(duì)設(shè)設(shè)計(jì)計(jì)相相關(guān)關(guān)的的規(guī)規(guī)則則進(jìn)進(jìn)行行描描述述,,然然后后要要用用量量化化的的方方法法進(jìn)進(jìn)行行表表達(dá)達(dá),,寫寫出出可可以以用用于于檢檢測(cè)測(cè)的的規(guī)規(guī)則則。。上面面是是萬(wàn)能能類類的例例子子。。根據(jù)據(jù)這這個(gè)個(gè)方方法法,,我我們們識(shí)識(shí)別別出出其其他他的的一些些質(zhì)質(zhì)量量缺缺陷陷。06/06目錄錄問(wèn)題題提提出出本文文的的解解決決方方案案系統(tǒng)統(tǒng)的的設(shè)設(shè)計(jì)計(jì)與與實(shí)實(shí)現(xiàn)現(xiàn)實(shí)例例分分析析結(jié)束束語(yǔ)語(yǔ)06/06面向向?qū)?duì)象象質(zhì)質(zhì)量量缺缺陷陷檢檢測(cè)測(cè)工工具具的的體體系系結(jié)結(jié)構(gòu)構(gòu)度量量計(jì)計(jì)算算檢測(cè)測(cè)規(guī)規(guī)則則定定義義質(zhì)量量缺缺陷陷檢檢測(cè)測(cè)引引擎擎預(yù)處處理理利用用元元模模型型進(jìn)行行信信息息抽抽取取缺陷陷驗(yàn)驗(yàn)證證、、缺缺陷陷修修改改、、度度量量顯顯示示源文文件件相關(guān)關(guān)數(shù)數(shù)據(jù)據(jù)數(shù)據(jù)據(jù)庫(kù)庫(kù)度量量定定義義度量量計(jì)計(jì)算算度量量信息息庫(kù)庫(kù)度量量分分析析器器度量量檢檢測(cè)測(cè)確定檢測(cè)目標(biāo)設(shè)計(jì)規(guī)則分析選擇度量確定檢測(cè)機(jī)制檢驗(yàn)驗(yàn)候候選選項(xiàng)項(xiàng)檢測(cè)測(cè)目目標(biāo)標(biāo)有缺缺陷陷的的實(shí)實(shí)體體改進(jìn)進(jìn)措措施施06/06預(yù)處處理理從Java程程序序模模型型中中抽抽取取出出度度量量活活動(dòng)動(dòng)相相關(guān)關(guān)的的設(shè)設(shè)計(jì)計(jì)信信息息,,并并將將這這些些信信息息存存儲(chǔ)儲(chǔ)到到數(shù)數(shù)據(jù)據(jù)庫(kù)庫(kù)中中。。元模模型型使使用用關(guān)關(guān)系系數(shù)數(shù)據(jù)據(jù)庫(kù)庫(kù)來(lái)來(lái)表表示示。。06/06利用用eclipse的的JDT讀讀取取程程序序信信息息工具具做做成成eclipse上上的的插插件件,,因因此此可可以以利利用用eclipse提提供供的的一一些些功功能能((JDT))直直接接抽抽取取程程序序信信息息,,將將工工作作集集中中在在度度量量上上。。下面面是是利利用用JDT來(lái)來(lái)抽抽取取相相關(guān)關(guān)信信息息的的代代碼碼片片斷斷,,例例如如抽抽取取類類中中導(dǎo)導(dǎo)入入外外部部包包的的代代碼碼片片斷斷06/06缺陷陷檢檢測(cè)測(cè)模模塊塊計(jì)算算統(tǒng)統(tǒng)計(jì)計(jì)基基本本度度量量屬屬性性,,轉(zhuǎn)轉(zhuǎn)化化為為數(shù)據(jù)據(jù)庫(kù)庫(kù)查查詢?cè)儭H毕菹輽z檢測(cè)測(cè)轉(zhuǎn)轉(zhuǎn)化化為為基基本本度度量量屬屬性性的的查查詢?cè)?。。例如如前前面面的的?duì)對(duì)萬(wàn)萬(wàn)能能類類的的檢檢測(cè)測(cè)就就可可以以轉(zhuǎn)轉(zhuǎn)化化為為查查詢?cè)儭?。剩下下的的工工作作就就是是?shù)數(shù)據(jù)據(jù)庫(kù)庫(kù)的的讀讀寫寫部部分分。。06/06用戶戶交交互互和和檢檢測(cè)測(cè)結(jié)結(jié)果果的的顯顯示示系統(tǒng)統(tǒng)功功能能度量量選選擇擇菜菜單單06/06用戶戶交交互互和和檢檢測(cè)測(cè)結(jié)結(jié)果果的的顯顯示示顯示示基基本本的的度度量量屬屬性性結(jié)結(jié)果果顯示示可可能能存存在在缺缺陷陷的的實(shí)實(shí)體體06/06系統(tǒng)功能((續(xù))用戶可以修修改度量過(guò)過(guò)濾的閾值值用戶構(gòu)造缺缺陷檢測(cè)(結(jié)果中繼繼續(xù)查詢))06/06問(wèn)題提出本文的解決決方案系統(tǒng)的設(shè)計(jì)計(jì)與實(shí)現(xiàn)實(shí)例分析結(jié)束語(yǔ)目錄錄06/06實(shí)例分析針對(duì)本工具具進(jìn)行分析析。進(jìn)行了各項(xiàng)項(xiàng)質(zhì)量缺陷陷度量。發(fā)現(xiàn)一個(gè)萬(wàn)萬(wàn)能類:JavaClass.java可能存在其其他缺陷。。06/06目錄錄問(wèn)題提出本文的解決決方案系統(tǒng)的設(shè)計(jì)計(jì)與實(shí)現(xiàn)實(shí)例分析結(jié)束語(yǔ)06/06結(jié)束語(yǔ)工作總結(jié)面向?qū)ο筚|(zhì)質(zhì)量缺陷檢檢測(cè)引擎。。針對(duì)每個(gè)個(gè)具體的質(zhì)質(zhì)量缺陷,,根據(jù)經(jīng)驗(yàn)驗(yàn)規(guī)則將它它們量化為為檢測(cè)目標(biāo)標(biāo),過(guò)濾和和合成,找找出可能存存在缺陷的的設(shè)計(jì)片斷斷。并提供供對(duì)質(zhì)量缺缺陷的解釋釋以及維護(hù)護(hù)的方法。。工具:基于于eclipse平平臺(tái)的插件件,與平臺(tái)臺(tái)上的其他他插件一起起使用,幫幫助檢測(cè)軟軟件質(zhì)量缺缺陷。未來(lái)工作展展望這只是一個(gè)個(gè)原型系統(tǒng)統(tǒng)。閾值的設(shè)定定、度量屬屬性研究、、缺陷規(guī)則則的制訂。。雖然有四四條參照準(zhǔn)準(zhǔn)則,但是是還需進(jìn)一一步精確;;類的復(fù)雜雜性,類中中方法數(shù)量量McCabe圈法;;使用反模模式。用戶自定義義檢測(cè)的實(shí)實(shí)現(xiàn)。識(shí)別更多的的質(zhì)量缺陷陷,制訂更更多的缺陷陷檢測(cè)規(guī)則則。加強(qiáng)圖形化化顯示。缺陷檢測(cè)工工具與其他他工具的集集成,即與與小組的其其他工具結(jié)結(jié)合起來(lái),,例如,類類的繼承關(guān)關(guān)系圖、類類圖等。06/06謝謝!06/06我們識(shí)別的的常見(jiàn)質(zhì)量量缺陷返回06/06例——萬(wàn)能能類的缺陷陷識(shí)別OOD中的的設(shè)計(jì)規(guī)則則:功能應(yīng)該均均衡地分配配在頂層的的類中。缺缺陷:某些些類集中了了系統(tǒng)的大大部分功能能,只是將將一些小細(xì)細(xì)節(jié)交給一一些不重要要的類,大大量使用其其他類的數(shù)數(shù)據(jù)。缺點(diǎn):管理理復(fù)雜性的的原則、缺缺乏內(nèi)聚性性、對(duì)復(fù)用用和理解都都有極大的的影響。具體設(shè)計(jì)參參考了Fowler的大類bad-smell策略:讀寫了許多多“輕量””類(直接接地或者通通過(guò)accessor方法)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論