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

基于分層架構模式識別的軟件架構重構技術

2020-06-21 03:47:37吳劍致
科學導報·學術 2020年69期

吳劍致

【摘 要】提出了一種基于分層體系結構模型識別的軟件體系結構重構技術。該技術使用目標軟件源代碼作為輸入,篩選出與分層體系結構無關的代碼,然后利用代碼詞匯信息探索程序實體之間的語義關聯,提取并計算程序實體與之間的角色相似性通過結合基于軟件集合的分層模型圖像屬性,確定軟件層次結構和軟件體系結構模型。基于方案識別,將系統中的違規定位為重建點,并生成和實施相應的重建建議案。最后,在開源Github和SourceForge社區中,選擇了10個開放源碼軟件系統作為試點項目。與傳統方法相比,本文提出的基于層次模型識別的軟件體系結構重構技術大大提高了模型識別的有效性、重構點識別的效果以及重構建議的實施效果。它可以有效地幫助開發人員識別軟件體系結構模型,獲取重建點并生成重建建議,幫助開發人員實施體系結構重組,改善系統違規情況,并提高軟件質量。

【關鍵詞】架構重構;分層架構模式;架構模式識別;重構點定位

前言

軟件體系結構是提高軟件系統質量并支持軟件開發和再利用的重要手段。在實際軟件開發中應用軟件體系結構的最大困難在于實際開發中不斷變化的需求,使得實際系統和軟件體系結構難以有效地指導軟件開發實踐。因此,重要的是從系統的實施中探討提取、分析和重組軟件體系結構的有效方法,以便更好地了解和分析現有系統,提高軟件系統的維護效率,降低維護成本。同時,軟件體系結構的重構可以有效地評估系統的實現是否符合設計體系結構,并檢查系統的實現是否違反設計,從而提高開發質量。因此,它已成為當前軟件體系結構研究的熱點之一。

一、分層架構模式識別方法

1.代碼預處理

與系統體系結構無關的代碼信息可能會嚴重干擾軟件體系結構模式識別過程,從而影響識別的準確性和有效性。本文使用一般規則、域規則和用戶定義的規則來篩選目標系統的源代碼。

2.軟件職責恢復

預處理的源代碼類文件將轉換為抽象語法樹(AST),并從每個類文件中通過AST節點提取術語信息。由于軟件責任的程序實體分組層是系統的軟件包層,因此必須根據每個類文件所屬的軟件包合并從每個類文件中提取的術語,并為每個軟件包生成一個詞匯文檔。將包裝詞匯文檔中的復合詞分為由子詞分隔的詞,將所有詞的樹干或根部抽出來,然后刪除不能傳遞有效信息的詞以消除噪聲。單詞的重要性因地點而異,因此可以根據出現次數加權。

3.軟件層次識別

軟件層次識別是指基于軟件組件在組件之間填充結構相關性信息,生成組件的完整示意圖,通過組合層次模型圖像屬性執行層次識別,以及獲取目標系統的層次結構。首先,將目標系統的類文件轉換為AST格式,并通過瀏覽AST節點提取所需類之間的結構相關性信息。最后來說,它生成類間結構依賴關系圖,定義g <類,邊>類結構依賴關系圖,該圖由類節點集類和類間依賴關系邊集組成,在相鄰表的抽象中表示,為目標系統中的實體類I生成相應的頂點關鍵點。將所有圖元類頂點存儲在一維數組中,并保存指向每個類頂點的從屬類,以這些頂點作為從屬關系的起點。

二、基于模式識別結果的分層軟件架構重構

1.基于模式識別的重構點定位

本文使用模型的一致性判斷,以圖形方式表示三個違規作為重建點。SKIP、BACK和INTERFACE是分別違反鄰近相關性規則、單向相關性規則和接口規則的程序實體。查找三個違規的過程定義如下:“跳過”和“后退”分別根據數據包結構相關性卡標識非法使用其不相鄰的底層和頂層服務的數據包。被認為是違反等級從屬關系的起點。該接口基于底層類結構的依賴關系圖。如果packageB包含依賴于其packageka子軟件包中cls gamma實體類的cls實體類,并且該cls gamma類不是接口形式,而是直接函數實現類,則視為在package-agea中發生了非表面接口違規。

2.重構建議生成

本文根據重構點的定位,按照自下而上的原則提出了體系結構和代碼重構建議。如圖5所示,PA在分層結構圖中非法調用非直接相鄰子實體的PB函數。因此,在構造點放置階段,pa將被添加到SKIP集合中。要使目標系統與分層模型的使用規范相匹配,建議您取消對pa到PB依賴性的重新構建。經過進一步分析,發現pa-pb依賴關系源自其內部類文件之間的依賴關系,因此切斷pa-pb依賴關系的重構建議映射到代碼層,而消除四個類之間依賴關系的重構建議{C1→C5,C3→C4,C3→C5,C2→C4 重組建議分為兩種類型:取消套裝程式之間的非法相依性,以及調整套裝程式的內部實體介面,以移除類別之間的非法相依性和抽象實體類別作為介面的相依性。

3.重構實施與效果評估

若要評估重建的影響,您必須采取適當的措施,包括針對層次間違規的措施、針對反向違規的措施以及針對非介面違規的措施。

結束語

綜上所述可知,提出了一種基于分層體系結構模型識別的軟件體系結構重建技術,通過使用代碼詞匯信息恢復軟件責任,并使用類圖生成組件結構依賴圖,實現了軟件體系結構模型識別。根據模式識別結果找到重建點并生成重建建議。最后,實驗分析證實,技術大大提高了模型識別的效率、確定重建點的效率以及與傳統方法相比執行重建建議的效率。它可以有效地幫助軟件開發人員識別軟件的結構模型,找到重建點并生成重建建議,幫助開發人員進行結構重建,改善系統違規情況,提高軟件質量。

參考文獻:

[1]杜鵬程.基于軟件職責和結構的分層架構模式識別及重構[D].江蘇南京∶東南大學,2019.

[2]任武.通過用況聚類促進軟件結構恢復的方法[J].電子學報,2013,41(7)∶166-172.

(作者單位:廣西智匯佳人力資源有限公司)

主站蜘蛛池模板: 99一级毛片| 国产18页| 国产自视频| 国产欧美日韩精品综合在线| 国产高清国内精品福利| 久久精品亚洲热综合一区二区| 久草视频精品| 欧美日韩动态图| 亚洲精品图区| 国产真实乱了在线播放| 黄色在线网| 老司机午夜精品视频你懂的| 91毛片网| 亚洲欧美国产视频| 性69交片免费看| 国产中文在线亚洲精品官网| 日日拍夜夜嗷嗷叫国产| 日韩一级二级三级| 女人18毛片一级毛片在线| 国产91精品久久| 亚洲成人黄色网址| 另类综合视频| 欧美第九页| 91久久国产成人免费观看| 欧美第九页| 亚洲妓女综合网995久久| 青青操视频免费观看| 日本精品视频| 日韩欧美国产另类| 亚洲天堂啪啪| 狼友视频国产精品首页| 九色国产在线| 国产97视频在线观看| 国产欧美日韩精品第二区| 最新国产成人剧情在线播放| 日本欧美视频在线观看| 中文字幕在线播放不卡| 无码日韩视频| 114级毛片免费观看| 东京热一区二区三区无码视频| 综合网久久| 一级毛片免费观看不卡视频| 91年精品国产福利线观看久久| 精品国产欧美精品v| 久草中文网| 99手机在线视频| 国产欧美亚洲精品第3页在线| 国产91蝌蚪窝| 91亚洲国产视频| 亚洲成A人V欧美综合| 亚洲国产av无码综合原创国产| 久热这里只有精品6| 99精品免费在线| 欧美日韩中文国产va另类| 欧美国产菊爆免费观看| 日韩AV手机在线观看蜜芽| 国产一级小视频| 青青草91视频| 国产激爽大片高清在线观看| 在线中文字幕网| 高h视频在线| 亚洲午夜福利精品无码| 久操线在视频在线观看| 99re在线观看视频| 国产成人综合亚洲欧美在| 国产激情无码一区二区免费| 国产黑丝视频在线观看| 日本欧美中文字幕精品亚洲| 无码专区在线观看| 免费jizz在线播放| 国产69囗曝护士吞精在线视频| 青草视频免费在线观看| 影音先锋亚洲无码| 免费欧美一级| 成年女人a毛片免费视频| 美女黄网十八禁免费看| 欧美亚洲综合免费精品高清在线观看| 91久久偷偷做嫩草影院免费看| 精品视频一区二区观看| 2021无码专区人妻系列日韩| 亚洲精品色AV无码看| 国产人人乐人人爱|