999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于關(guān)聯(lián)度分析的艦艇作戰(zhàn)軟件可修改性評估*

2020-12-07 05:26:20陳云閣張永勝
計算機(jī)與數(shù)字工程 2020年10期
關(guān)鍵詞:關(guān)聯(lián)分析

王 超 陳云閣 張永勝

(海軍大連艦艇學(xué)院 大連 116018)

1 引言

在軟件生存周期的各個階段中,軟件維護(hù)是公認(rèn)容易被忽視的活動,而事實上,軟件維護(hù)是軟件生存周期中需要資源最多的一個階段,現(xiàn)有資料表明,軟件系統(tǒng)整個生存周期中總成本的40%到70%要用于軟件維護(hù)[1~3]。

由于修改程序和評價軟件修改所引起的潛在連鎖反應(yīng)通常需要大量的軟件維護(hù)工作,因此軟件的可修改性被看作是軟件可維護(hù)性的一個主要屬性[4]。雖然軟件的可維護(hù)性己經(jīng)開始引起業(yè)界的重視,并且己有一定的研究,但僅有少量的文獻(xiàn)論述了軟件可維護(hù)性中的軟件可修改性[5~7],因此,對艦艇作戰(zhàn)軟件的可修改性開展深入的研究是非常有必要的。

軟件可修改性通常被解釋成修改構(gòu)件或者程序的難易程度[8]。因為軟件可修改性往往會與構(gòu)件之間的關(guān)聯(lián)反應(yīng)相關(guān),該特性可以看作是對軟件變更導(dǎo)致的連鎖反應(yīng)的評價,由此可知,軟件可修改性實質(zhì)上主要取決于軟件變更時構(gòu)件之間的關(guān)聯(lián)度。

2 軟件構(gòu)件關(guān)聯(lián)度影響要素分析

根據(jù)艦艇作戰(zhàn)軟件的工作實際,決定艦艇作戰(zhàn)軟件修改難易程度的關(guān)鍵原因,是在依據(jù)軟件變更需求對某個軟件構(gòu)件實施修改時,其他軟件構(gòu)件需要同步進(jìn)行變更,即所謂的“波及效應(yīng)”[9~10],產(chǎn)生的主要原因則來源于軟件構(gòu)件間的關(guān)聯(lián)性。因此,在開展艦艇作戰(zhàn)軟件可修改性評估工作時,可以從度量軟件構(gòu)件的關(guān)聯(lián)性著手,定量評估軟件構(gòu)件的關(guān)聯(lián)度,計算構(gòu)件的可修改性,最終實現(xiàn)整個軟件可修改性的評估。

可修改性代表了軟件容易修改的程度,一個易修改的軟件應(yīng)該是內(nèi)部關(guān)聯(lián)關(guān)系清晰且容易理解的[11]。軟件內(nèi)部的關(guān)聯(lián)度主要依賴于構(gòu)件之間的耦合性、內(nèi)聚性等因素。

其中,耦合是構(gòu)件之間互相連接的緊密程度的度量,構(gòu)件之間的連接越緊密,聯(lián)系越多,耦合性就越高,其構(gòu)件獨立性就越弱。

軟件構(gòu)件之間的常見的耦合方式有九種,構(gòu)成耦合的九種類型[12],包括外部耦合、引入耦合、類型使用耦合、程調(diào)用耦合、數(shù)據(jù)耦合、標(biāo)記耦合、控制耦合、公共耦合、內(nèi)容耦合,按照耦合性從松散到緊密的程度由低至高排列,如圖1所示。

圖1 耦合類型及與構(gòu)件關(guān)聯(lián)度之間關(guān)系

內(nèi)聚是構(gòu)件內(nèi)部各個元素之間彼此結(jié)合緊密程度的度量[13]。一個構(gòu)件內(nèi)部各個元素之間的聯(lián)系越緊密,其內(nèi)聚性越高。軟件構(gòu)件之間常見的內(nèi)聚方式有七種,包括實用程序內(nèi)聚、時間內(nèi)聚、過程內(nèi)聚、順序內(nèi)聚、通信內(nèi)聚、層內(nèi)聚、功能內(nèi)聚,如圖2所示。

圖2 內(nèi)聚類型及與構(gòu)件關(guān)聯(lián)度之間的關(guān)系

根據(jù)軟件構(gòu)件關(guān)聯(lián)性影響因素的分析,為實現(xiàn)軟件構(gòu)件關(guān)聯(lián)度的定量度量,首先應(yīng)識別出影響軟件構(gòu)件關(guān)聯(lián)性的關(guān)鍵變量,然后依據(jù)關(guān)鍵變量的種類、個數(shù)與其他構(gòu)件的相關(guān)程度,來來評估該構(gòu)件的修改難度系數(shù)。

3 軟件可修改性評估模型

3.1 軟件可修改性評估的基本思路

圖3 為軟件可修改性評估的基本思路。通過對軟件代碼的掃描進(jìn)行代碼詞法分析和語法分析,識別出軟件的內(nèi)部結(jié)構(gòu),包括軟件構(gòu)件內(nèi)部的控制流和數(shù)據(jù)流,統(tǒng)計所有的關(guān)鍵變量,計算各個軟件構(gòu)件的關(guān)聯(lián)度量化值,進(jìn)而計算構(gòu)件和軟件的可修改性。

圖3 軟件可修改性計算的基本思路

3.2 軟件可修改性評估原理

1)確定關(guān)聯(lián)元

關(guān)聯(lián)元是軟件構(gòu)件中能夠傳遞關(guān)聯(lián)關(guān)系的變量。對于構(gòu)件P 來說,假設(shè)存在一行賦值語句,賦值代碼中某個賦值運算符的左邊是構(gòu)件P 的扇出元,右邊是變量m,則稱m 為關(guān)聯(lián)元。根據(jù)程序的語法規(guī)則,在軟件代碼掃描的過程中可以識別出構(gòu)件的關(guān)聯(lián)元。

2)構(gòu)件關(guān)聯(lián)元關(guān)聯(lián)程度的評價

假設(shè)構(gòu)件P1有一個關(guān)聯(lián)元m,m 通過數(shù)據(jù)流或控制流關(guān)聯(lián)影響到另一構(gòu)件P2的扇入元β ,導(dǎo)致構(gòu)件P2可能進(jìn)一步將這種關(guān)聯(lián)關(guān)系延伸到別的構(gòu)件。這種由于相互關(guān)聯(lián)給構(gòu)件P2帶來程序修改的難度,稱為構(gòu)件關(guān)聯(lián)元的關(guān)聯(lián)程度。構(gòu)件關(guān)聯(lián)元關(guān)聯(lián)程度的評價通過搜索構(gòu)件P2的扇出元數(shù)量、計算構(gòu)件內(nèi)部復(fù)雜度來實現(xiàn)。

3)構(gòu)件與軟件可修改性的評估

構(gòu)件的可修改性根據(jù)該構(gòu)件平均每個關(guān)聯(lián)元造成的傳遞性修改難度來確定,通過綜合各個構(gòu)件可修改性來實現(xiàn)整個軟件系統(tǒng)的可修改性評估。

3.3 軟件可修改性評估模型

根據(jù)軟件可修改性評估的思路和原理,建立了軟件可修改性的評估模型。

1)構(gòu)件P 的原始關(guān)聯(lián)度評估:

其中,F(xiàn)P是構(gòu)件P 的扇出元個數(shù),CP是構(gòu)件P 量化的內(nèi)部復(fù)雜性,可以采用經(jīng)典的McCabe 方法計算。

2)關(guān)聯(lián)元m(m ∈P)關(guān)聯(lián)影響構(gòu)件Q 的次數(shù):

其中,β 可能是普通變量或數(shù)據(jù)結(jié)構(gòu)變量。

在分析關(guān)聯(lián)元對外傳遞產(chǎn)生關(guān)聯(lián)關(guān)系的時候發(fā)現(xiàn),一個關(guān)聯(lián)元對其它構(gòu)件產(chǎn)生關(guān)聯(lián)影響的次數(shù)是不同的,可能是一次,也可能是多次,具有不同的關(guān)聯(lián)影響效果,因此,計算軟件關(guān)聯(lián)程度時需要統(tǒng)計關(guān)聯(lián)元影響構(gòu)件的次數(shù)。

3)關(guān)聯(lián)元累積的綜合關(guān)聯(lián)度:

其中,NPm是指受關(guān)聯(lián)元m 關(guān)聯(lián)影響的所有構(gòu)件。

一個關(guān)聯(lián)元有可能會關(guān)聯(lián)影響到某個構(gòu)件的多個扇出元,而各扇出元又可能同時對多個構(gòu)件造成傳遞的關(guān)聯(lián)影響,因此,一個關(guān)聯(lián)元累積的綜合關(guān)聯(lián)度是由關(guān)聯(lián)影響構(gòu)件的次數(shù)和構(gòu)件的原始關(guān)聯(lián)度共同決定的。

4)RSP:構(gòu)件P 的軟件修改難度:

構(gòu)件的修改難度可以根據(jù)該構(gòu)件平均每個關(guān)聯(lián)元造成的傳遞性修改難度來確定,其中,TP是構(gòu)件P 關(guān)聯(lián)元的數(shù)量,E 是代表經(jīng)驗系數(shù)的常量,1 ≥RSP≥0,RSP=0 表示構(gòu)件P 的修改難度最小,RSP=1表示構(gòu)件P 的修改難度最大。

5)MP:構(gòu)件P 的可修改性:

MP=0 表示構(gòu)件P 具有最差的可修改性,MP=1表示構(gòu)件P 具有最好的可修改性。

6)M :整個軟件的可修改性:

其中,CNS 表示軟件構(gòu)件數(shù)量,M 的值域同MP。

4 軟件可修改性評估系統(tǒng)設(shè)計

基于軟件可修改性評估的原理,我們設(shè)計并實現(xiàn)了一個軟件可修改性自動評估的系統(tǒng)。系統(tǒng)的體系結(jié)構(gòu)如圖4 所示,主要由軟件靜態(tài)分析組件和可修改性度量組件組成。

4.1 軟件靜態(tài)分析組件

為實現(xiàn)軟件可修改性的度量,首先需要對軟件的源代碼進(jìn)行靜態(tài)分析,通過詞法分析和語法分析識別、分析出軟件代碼的基礎(chǔ)架構(gòu)信息和數(shù)據(jù)控制信息。該組件主要由源代碼關(guān)鍵字匹配器、源程序語法分析器和程序信息庫構(gòu)成。

1)源代碼語句模式匹配器:通過詞法分析并經(jīng)過語句模式匹配,識別代碼的語句類型,將源程序細(xì)分為若干個程序塊,進(jìn)行分類存儲。

2)源代碼語法識別器:根據(jù)程序的語法規(guī)則,構(gòu)造用于識別軟件控制信息和數(shù)據(jù)信息的有限自動機(jī),并在語句模式匹配的基礎(chǔ)上,調(diào)用相應(yīng)類型的有限自動機(jī)對源代碼語法信息進(jìn)行識別和分析。

3)源代碼信息庫:將語法識別器分析出來的軟件信息按照可修改性度量的需要進(jìn)行篩選和存儲。

4.2 可修改性度量組件

可修改性度量組件以軟件靜態(tài)分析數(shù)據(jù)為基礎(chǔ),采用軟件可修改性評估模型對軟件可修改性進(jìn)行計算。該組件主要包括代碼關(guān)聯(lián)程度分析器、構(gòu)件復(fù)雜度度量器和可修改性解算器。

1)代碼關(guān)聯(lián)程度分析器:運用源代碼信息庫數(shù)據(jù),對軟件構(gòu)件之間由于耦合性而引起的關(guān)聯(lián)關(guān)系進(jìn)行分析,建立構(gòu)件關(guān)聯(lián)關(guān)系影響鏈圖。

2)構(gòu)件復(fù)雜度計算器:在軟件靜態(tài)分析的基礎(chǔ)上,使用經(jīng)典的McCabe 方法計算構(gòu)件的內(nèi)部復(fù)雜度。

3)可修改性解算器:在構(gòu)件關(guān)聯(lián)程度分析和復(fù)雜度度量基礎(chǔ)上,運用3.3 節(jié)建立的軟件可修改性評估模型計算構(gòu)件和軟件的可修改屬性值。

圖4 軟件可修改性評估系統(tǒng)體系結(jié)構(gòu)

5 結(jié)語

依據(jù)軟件可修改性評估系統(tǒng),對多個軟件項目進(jìn)行了測試,結(jié)果表明系統(tǒng)解算的軟件可修改性度量值與人工分析一致,說明提出的軟件可修改性評估方法對于軟件項目具有一定的實用性和可操作性,為軟件可修改性的驗證提供了途徑。

此外,通過實施軟件可修改性評估,能夠在軟件開發(fā)階段就對今后軟件修改的難易程度進(jìn)行預(yù)測,并根據(jù)預(yù)測結(jié)果,對軟件產(chǎn)品和過程進(jìn)行改進(jìn),對于提高軟件質(zhì)量、減少下一步軟件維護(hù)階段所占用的資源,將發(fā)揮積極有效的作用。

猜你喜歡
關(guān)聯(lián)分析
不懼于新,不困于形——一道函數(shù)“關(guān)聯(lián)”題的剖析與拓展
“苦”的關(guān)聯(lián)
隱蔽失效適航要求符合性驗證分析
“一帶一路”遞進(jìn),關(guān)聯(lián)民生更緊
電力系統(tǒng)不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
奇趣搭配
智趣
讀者(2017年5期)2017-02-15 18:04:18
電力系統(tǒng)及其自動化發(fā)展趨勢分析
中西醫(yī)結(jié)合治療抑郁癥100例分析
在線教育與MOOC的比較分析
主站蜘蛛池模板: YW尤物AV无码国产在线观看| 亚洲精品视频免费| 国产精品任我爽爆在线播放6080 | 日韩欧美网址| 九九视频免费在线观看| 性视频久久| 亚洲视频在线网| 亚洲人网站| 亚洲毛片在线看| 免费在线看黄网址| 精品国产Ⅴ无码大片在线观看81| 欧美怡红院视频一区二区三区| 在线高清亚洲精品二区| 色偷偷综合网| 亚洲精品免费网站| 欧美亚洲另类在线观看| 四虎国产在线观看| 一区二区自拍| 国产亚洲欧美日韩在线一区| 2021精品国产自在现线看| 丰满人妻一区二区三区视频| 国产00高中生在线播放| 91精品专区国产盗摄| 岛国精品一区免费视频在线观看| 一级毛片免费观看不卡视频| 欧美a在线视频| 国产一区二区三区在线观看视频 | 国产福利大秀91| 99ri精品视频在线观看播放| 日本久久久久久免费网络| 男女精品视频| 国产欧美中文字幕| 色欲色欲久久综合网| 99尹人香蕉国产免费天天拍| 国产真实自在自线免费精品| 久久婷婷五月综合色一区二区| 日韩无码白| 国产波多野结衣中文在线播放 | 在线欧美一区| 国产一级精品毛片基地| 四虎永久在线精品国产免费| 国产一区二区三区免费| 激情无码视频在线看| 中文字幕在线看| 婷婷伊人久久| 国产欧美日韩综合一区在线播放| 一级毛片不卡片免费观看| 久青草国产高清在线视频| 亚洲免费成人网| 日韩在线成年视频人网站观看| 国产Av无码精品色午夜| 麻豆国产在线观看一区二区| 波多野结衣第一页| 欧美精品v日韩精品v国产精品| 国产欧美日韩视频一区二区三区| 国产精品女主播| 九九九精品成人免费视频7| 久久综合伊人 六十路| 色视频国产| 在线日韩一区二区| 精品久久久久成人码免费动漫 | 国产杨幂丝袜av在线播放| 四虎影视8848永久精品| 女人18一级毛片免费观看| 国产精品网址你懂的| 欧美在线精品一区二区三区| 重口调教一区二区视频| 国产成人精品男人的天堂下载 | 国产日韩欧美中文| 国产美女91视频| 一本大道香蕉中文日本不卡高清二区| 91小视频在线观看| 91福利片| av天堂最新版在线| 91www在线观看| 国产视频自拍一区| 日韩国产精品无码一区二区三区| 亚洲中文字幕无码爆乳| 国内精品久久久久鸭| 午夜a视频| 日韩av电影一区二区三区四区 | 亚洲美女一级毛片|