- 相關(guān)推薦
面向方面的數(shù)字視頻監(jiān)控系統(tǒng)軟件質(zhì)量度量研究與應(yīng)用
摘要:以一個(gè)數(shù)字視頻監(jiān)控信息系統(tǒng)為基礎(chǔ),分析了面向?qū)ο蟮能浖_(kāi)發(fā)方法在橫切關(guān)注點(diǎn)分離上的缺陷,采用 對(duì)系統(tǒng)進(jìn)行面向方面建模結(jié)合C&K軟件質(zhì)量度量方法,對(duì)基于面向?qū)ο箝_(kāi)發(fā)的軟件系統(tǒng)和面向方面架構(gòu)的軟件系統(tǒng)進(jìn)行了簡(jiǎn)單的質(zhì)量度量。結(jié)果表明,面向方面的數(shù)字視頻信息系統(tǒng)在可擴(kuò)展性、可復(fù)用性、降低類之間的耦合度以及增強(qiáng)類的內(nèi)聚上具有一定優(yōu)勢(shì)。
關(guān)鍵詞:AOSD;關(guān)注點(diǎn);視頻監(jiān)控;軟件質(zhì)量度量
引 言
在數(shù)字視頻監(jiān)控系統(tǒng)的實(shí)現(xiàn)中,發(fā)現(xiàn)存在跨越多個(gè)模塊的關(guān)注點(diǎn),稱之為橫切關(guān)注點(diǎn)_1。].一個(gè)模塊可能與多個(gè)類相關(guān)聯(lián)。在面向?qū)ο蟮木幊讨,橫切關(guān)注點(diǎn)是一種跨越多個(gè)類的關(guān)注點(diǎn),如果按照傳統(tǒng)面向?qū)ο蟮脑O(shè)計(jì)方法將橫切關(guān)注點(diǎn)硬性地劃分到某個(gè)類中必然會(huì)影響系統(tǒng)的模塊性、可讀性、測(cè)試性能、維護(hù)性和可重用性 J.針對(duì)該問(wèn)題,我們?cè)跀?shù)字視頻監(jiān)控系統(tǒng)中引進(jìn)了面向方面的軟件開(kāi)發(fā)方法(AOSD),它的基本構(gòu)成元素是aSpect和cl嬲s.一個(gè)aspect包含了消息(Advice)、連接點(diǎn)(oinpoim)、切點(diǎn)(poinceut)等模塊。
1 面向?qū)ο筌浖_(kāi)發(fā)方法的缺陷面向?qū)ο蟮能浖_(kāi)發(fā)方法(00SD)采用分解的方式將完整的軟件系統(tǒng)劃分為相對(duì)較小的、易于分析和理解的模塊,從而方便地進(jìn)行各個(gè)功能模塊的設(shè)計(jì)和編碼|3‘引。通過(guò)分析可以看出,上述分散在功能模塊中的功能與行為之間形成了一種橫向的方面(Aspect),即方面與模塊形成了橫切(crosseutting),造成傳統(tǒng)的編程技術(shù)無(wú)法將方面模塊化,從而出現(xiàn)兩種代碼糾結(jié)(Tangling)在一起的情況,其原因是,在傳統(tǒng)的編程技術(shù)中軟件系統(tǒng)中非業(yè)務(wù)功能實(shí)現(xiàn)的代碼無(wú)法模塊化。
2 面向方面建模的數(shù)字視頻監(jiān)控系統(tǒng)面向方面建模(Asped—Oriented ModeIjng,AOM)是在軟件開(kāi)發(fā)的設(shè)計(jì)階段對(duì)方面進(jìn)行建模,AOM利用建模語(yǔ)言(如uML)標(biāo)識(shí)、分析、管理和表示軟件設(shè)計(jì)和構(gòu)架中的橫切關(guān)注點(diǎn),使所設(shè)計(jì)的軟件具有更好的模塊化設(shè)計(jì),從而保持需求、設(shè)計(jì)和實(shí)施的連續(xù)性。
通常,數(shù)字視頻監(jiān)控系統(tǒng)中存在橫切系統(tǒng)核心關(guān)注點(diǎn)的日志記錄、安全性驗(yàn)證、異常處理等非功能需求,以及實(shí)時(shí)視頻監(jiān)控、監(jiān)控點(diǎn)配置、用戶管理、音視頻錄象等功能性需求。通過(guò)采用AOsD可有效地分離并模塊化這些關(guān)注點(diǎn)。如以功能性需求中的監(jiān)控點(diǎn)配置為例,其在功能性需求建模中會(huì)出現(xiàn)一種特定的用例類型,這種用例與其他用例之間并沒(méi)有特定的關(guān)系,但用例的實(shí)現(xiàn)通常會(huì)調(diào)用一些相同的類,例如,會(huì)調(diào)用系統(tǒng)的基礎(chǔ)類(M0nitorPoiIlt),它不是任何用例的特定的類。這種用例被稱為對(duì)等用例(peer use case),比如,“添加監(jiān)控點(diǎn)”、“更改監(jiān)控點(diǎn)”,“刪除監(jiān)控點(diǎn)”用例,它們?cè)趯?shí)現(xiàn)中都共享了一些類。下面以“添加監(jiān)控點(diǎn)”為例對(duì)該用例做進(jìn)一步分析(見(jiàn)圖2)。
考慮了多個(gè)類實(shí)例之間的交互后,就可以比較用例上下文中各個(gè)類的職責(zé)及其之間的關(guān)系;旧希總(gè)傳送給實(shí)例的消息都可以轉(zhuǎn)換成參與通信的類職責(zé)。據(jù)此,我們可以得到該用例的類圖。
3 A0SD和OOSD軟件度量的比較為了驗(yàn)證基于AOSD所獲得的軟件系統(tǒng)的質(zhì)量是否得到了提高,可以使用軟件質(zhì)量度量的方法對(duì)系統(tǒng)進(jìn)行評(píng)估 ],對(duì)此,我們選用C&K度量方法。C&K度量方法由Chidarr】ber等于l994年提出,它從類級(jí)別提出了6個(gè)度量元:WMC、DⅡ1、N0C、LC0M、RFC、cBO。其主要針對(duì)軟件的特性進(jìn)行度量,如繼承、耦合、可復(fù)用性等,并提出了對(duì)類的復(fù)雜性計(jì)算方法。
度量的數(shù)據(jù)來(lái)源于系統(tǒng)的分析設(shè)計(jì)文檔和源代碼文件,并選定系統(tǒng)中的某些類為例子進(jìn)行度量比較,以反映系統(tǒng)可維護(hù)性、可復(fù)用性、可擴(kuò)展性、可移植性、可靠性等性能的變化'4 ].
3.1 每個(gè)類的加權(quán)方法數(shù)(wMC)通過(guò)00sD和A0SD所得到的類圖比較可知:
A0sD存在0OSD中分析出的所有類,所以權(quán)重是相等的,差別在于方法的數(shù)上。以類“Monif0rP0int”為例,在采用A0SD分析系統(tǒng)對(duì)等用例時(shí),將類“Mo試一沁 )0int”中定義的方法放在“MonitorI)0int Aspect”方面內(nèi)進(jìn)行定義,因此類“M0nitorPoint”的方法大大減少。
經(jīng)測(cè)試得,wMCA0sD為l2,wMC㈣為17,說(shuō)明AOSD開(kāi)發(fā)類所需時(shí)間和精力要少些,系統(tǒng)的可維護(hù)性得到了一定的提高。
3.2 繼承樹(shù)的深度(DIT)DT]r指對(duì)象所屬類在繼承樹(shù)中的深度(層次),其中,樹(shù)根為0.Drr是當(dāng)前結(jié)點(diǎn)至根的最大長(zhǎng)度。
Drr在沒(méi)有父類的情況下為0,其余情況下D rIl=max(DIT( ))+1.
以類“Monitod)oint”為例,根據(jù)oosD和AOsD比較分析可知:在00SD中,D珥 =1;而在A0sD中,不僅抽象了類,而且抽象了方面,Drr 鵬。=2(抽象的日志記錄方面)。Drr越大表明設(shè)計(jì)復(fù)雜性越大,同時(shí)系統(tǒng)的可復(fù)用性越高。
3.3 孩子數(shù)目(N0C)NOC定義為繼承類中直接孩子的數(shù)目,在A0SD中,增加了繼承與抽象方面的子方面而在O0SD中,NOC㈣=4.NOC值越大說(shuō)明可復(fù)用性越高;同時(shí),由于N0C值越大,父類的影響就越大,所以需要更多的測(cè)試。N0c值表明,A0SD可復(fù)用性好于OOsD,但是可測(cè)試性較低。
3.4 類之間的耦合(CBO)cB0提供了類的耦合程度的度量依據(jù)。cB0越大,說(shuō)明該類和其他類的關(guān)系越密切,不僅降低了可重用性,而且使測(cè)試變得復(fù)雜。DBO的計(jì)算公式如下:CBo: A * DlT+ B * NoC + C * NosC + D *DAc+E*PpC+ F*MPC前面已取得了類“M0nit0rP0int”的DIrr值、N0C值。父類數(shù)目N0sc易知,N0scA惦D>NOsco0sD.根據(jù)0oSD和AOSD類圖中類的相互關(guān)聯(lián)和依賴的情況,以及類中函數(shù)及屬性的情況計(jì)算得知:在0OsD設(shè)計(jì)的系統(tǒng)中,屬性耦合DAco0S。:2;而在A0sD設(shè)計(jì)的系統(tǒng)中,成員函數(shù)不再包括這些抽象的類,方法對(duì)抽象的類的調(diào)用是通過(guò)與類相關(guān)的抽象方面實(shí)現(xiàn),所以DAc =O.同理,AOsD的PPc(參數(shù)耦合)較O0SD會(huì)大幅減少。對(duì)于MPC(消息耦合),在AOSD中,類與類之間的直接通信減少了,他們之間的聯(lián)系是通過(guò)“方面”來(lái)進(jìn)行。所以,AOsD的MPC將遠(yuǎn)低于O0SD.
根據(jù)上述分析結(jié)果,從類的耦合度來(lái)看,基于A0SD設(shè)計(jì)的類的耦合度遠(yuǎn)小于0OSD所設(shè)計(jì)的類。
3.5 類的響應(yīng)集合(RFC)對(duì)象類的響應(yīng)集合={所有可以被調(diào)用的對(duì)消息響應(yīng)的方法的集合}.類的RFc越大,該類測(cè)試和調(diào)試將更復(fù)雜,其復(fù)雜度越大。通常,用表示該類的響應(yīng)集合,冗s= 】,(U尺 ), ∈其中, 為該類的方法的集合, 為方法 調(diào)用的方法的集合。
在基于AOSD設(shè)計(jì)的類中,因?yàn)樵黾恿藢?duì)等的方面和擴(kuò)展的方面,可以通過(guò)pointcut調(diào)用擴(kuò)展的類中的方法,這樣激勵(lì)做出反應(yīng)的消息個(gè)數(shù)將增多,所以, ℃ 惦D>RFCo0sD.此表明,基于AOSD得到的系統(tǒng)的維護(hù)性、可理解性降低。
3.6 類內(nèi)聚缺乏度(LCOM)在基于AOSD的設(shè)計(jì)中,由于方面的出現(xiàn),將類中的部分方法有效剝離出來(lái),因此無(wú)共享實(shí)例變量的成員函數(shù)對(duì)的個(gè)數(shù)出現(xiàn)明顯的降低。刪值越小,表明AOSD設(shè)計(jì)的系統(tǒng)類之問(wèn)內(nèi)聚更大,封裝性較好,可復(fù)用性和效率更高。
綜上所述,可以得出AOSD對(duì)軟件質(zhì)量特性的影響。表l表示度量元與其所影響的軟件質(zhì)量特性的關(guān)系。
根據(jù)表1的度量元各指標(biāo)值以及度量指標(biāo)與內(nèi)部質(zhì)量關(guān)系可知,基于AOSD的軟件開(kāi)發(fā)方法提高了軟件的可擴(kuò)展性、可復(fù)用性,降低了類之間的耦合度,增強(qiáng)了類的內(nèi)聚,但軟件的可測(cè)試性、可靠性等有所降低。
4 結(jié)論
由于AOsD技術(shù)還處于發(fā)展的初級(jí)階段,至今還沒(méi)有一個(gè)類似于OOSD那樣成熟的標(biāo)準(zhǔn)。同時(shí),面向?qū)ο缶幾g的特性造成了方面代碼在編織后的效率比理論上有一定的降低。因此,在橫切關(guān)注點(diǎn)較少的軟件架構(gòu)中使用面向方面的設(shè)計(jì)方法往往會(huì)使得軟件的質(zhì)量特性有所下降,只有在橫切關(guān)注點(diǎn)較多、涉及的面較廣的軟件架構(gòu)中使用面向方面的設(shè)計(jì)方法才能使得軟件質(zhì)量特性得到比較明顯的提高。
參考文獻(xiàn):
[1]Ivar Jacobson.A0sD中文版—— 基于用例的面向方面的軟件開(kāi)發(fā)[M].北京:電子工業(yè)出版社,2o05.
[2] b}m clarke.面向方面的分析與設(shè)計(jì)方法[M].北京:機(jī)械工業(yè)出版社。
[3]張玉宏;赨ML的軟件度量工具的實(shí)現(xiàn)研究[D].南京:南京航天大學(xué),2()06.
[4]宋維平。基于面向?qū)ο笙到y(tǒng)的質(zhì)量度量的研究[D].重慶:重慶大學(xué),2oo5.
[5]牛家豪。面向?qū)ο筌浖|(zhì)量度量的研究與應(yīng)用[D].南京:南京航天大學(xué),20o4.
【面向方面的數(shù)字視頻監(jiān)控系統(tǒng)軟件質(zhì)量度量研究與應(yīng)用】相關(guān)文章:
淺談面向云服務(wù)信息安全質(zhì)量評(píng)估的度量模型分析論文10-08
SNMP協(xié)議在系統(tǒng)監(jiān)控方面的應(yīng)用10-05
兒科臨床醫(yī)學(xué)質(zhì)量監(jiān)控評(píng)價(jià)體系的研究論文10-08
電腦監(jiān)控系統(tǒng)軟件銷售合同書10-07
流媒體編碼和應(yīng)用層組播技術(shù)在視頻監(jiān)控系統(tǒng)的應(yīng)用研究報(bào)告10-07
管理系統(tǒng)軟件在旅游教育教學(xué)改革中的應(yīng)用論文10-08
煤炭高校機(jī)械學(xué)科研究生教育質(zhì)量監(jiān)控體系的研究與實(shí)踐論文10-08
數(shù)據(jù)庫(kù)案例教學(xué)在應(yīng)用型人才培養(yǎng)方面的實(shí)踐與研究10-06