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.

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

主站蜘蛛池模板: 亚洲国产91人成在线| 国产本道久久一区二区三区| 国产美女精品一区二区| 日韩欧美亚洲国产成人综合| 国产亚洲精品97AA片在线播放| 91九色国产在线| 美女扒开下面流白浆在线试听| 国产流白浆视频| 国产精品午夜福利麻豆| 中日无码在线观看| 3D动漫精品啪啪一区二区下载| 老司机久久99久久精品播放| 欧美一道本| 国产免费网址| 国产精品第一区| 久久久波多野结衣av一区二区| 亚洲欧美人成电影在线观看| 国产对白刺激真实精品91| 亚洲区一区| www成人国产在线观看网站| 久久久久无码精品| 色综合天天视频在线观看| 波多野结衣无码AV在线| 熟女成人国产精品视频| 久久成人免费| 好吊日免费视频| 国产精品熟女亚洲AV麻豆| 国产网站一区二区三区| 国产在线精彩视频二区| 夜夜操国产| 熟妇无码人妻| 国产高清毛片| 日本在线欧美在线| 日本在线视频免费| 国产福利拍拍拍| 亚洲女同欧美在线| 91免费国产高清观看| 久久永久免费人妻精品| 99在线视频免费| 国产aⅴ无码专区亚洲av综合网| 国产一区二区丝袜高跟鞋| 天天做天天爱夜夜爽毛片毛片| 久久综合九九亚洲一区| 国产欧美日韩精品综合在线| 中文字幕亚洲第一| 国产无套粉嫩白浆| av在线无码浏览| 一级毛片a女人刺激视频免费| 亚洲日本韩在线观看| 久久久四虎成人永久免费网站| 老司机午夜精品视频你懂的| 看国产一级毛片| 无套av在线| 成人午夜在线播放| 亚洲精品综合一二三区在线| 国产精品自拍合集| 日韩精品资源| 亚洲国产综合自在线另类| 伊人久久福利中文字幕| 亚洲乱码视频| 91毛片网| 欧美日韩另类国产| 色九九视频| 狠狠色综合网| 国产欧美成人不卡视频| 色九九视频| 国产情侣一区二区三区| 熟妇人妻无乱码中文字幕真矢织江| 国内a级毛片| 欧美精品成人一区二区视频一| 亚洲精品制服丝袜二区| 久操中文在线| 二级毛片免费观看全程| 久久女人网| 91福利片| 72种姿势欧美久久久大黄蕉| 国产欧美日韩专区发布| 五月综合色婷婷| 无码精品国产dvd在线观看9久| 五月婷婷综合网| 国产不卡在线看| 四虎影视无码永久免费观看|