[发明专利]一种面向模式的软件架构重构方法有效
申请号: | 201910254644.6 | 申请日: | 2019-03-31 |
公开(公告)号: | CN109976802B | 公开(公告)日: | 2022-08-12 |
发明(设计)人: | 李必信;苏晓威;王璐璐;孔祥龙;周颖;廖力 | 申请(专利权)人: | 东南大学 |
主分类号: | G06F8/72 | 分类号: | G06F8/72 |
代理公司: | 南京众联专利代理有限公司 32206 | 代理人: | 杜静静 |
地址: | 210096 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 模式 软件 架构 方法 | ||
1.一种面向模式的软件架构重构方法,其特征在于,该方法包括如下步骤:
步骤1)输入软件架构图ArcGraph,并度量其质量指标;
步骤2)构建模式库,为每个模式构建决策图;
步骤3)用户将ArcGraph需要提高的质量指标作为重构需求从模式库中选择合适的模式Patternchoose;
步骤4)对于架构图ArcGraph,应用Patternchoose指导重构,并作为软件重构的目标;
步骤5)对于重构点集,执行相应的重构操作,并预测出重构后的架构图RefactArcGraph;
所述步骤1)
输入软件架构图ArcGraph,并对ArcGraph进行质量指标度量,具体如下,软件架构图由组件集合Comset{Com1,Com2,…,Comn}和组件间依赖集合Edgeset{Edgeij}组成,其中n为组件数量,其中Comi表示组件i,Edgeij表示组件i依赖组件j;对ArcGraph进行质量指标度量,度量结果表示为QualifyIndexSetOld={ModifiesIndexValue,ReplaceableIndexValue,UnderstandabilityIndexValue,TestabilityIndexValue,ExtensibilityIndexValue},即质量指标公式包括可扩展性、可替换性、易理解性、易测试性以及可修改性,用户根据上述的指标度量情况选择需要提高的质量指标作为重构需求;
所述步骤2)构建模式库,对于每个模式,都会定义一棵决策图,利用决策图的方法找到重构点,以图的方式进行组织,决策图上的节点表示了在决策的过程中可能遇到的问题,这些问题决定了某一个特定位置是否能够应用某一模式,以及发现潜在的重构位置,决策图由判定和寻找两部分组成,判定部分,定义判定规则来判断ArcGraph是否可以应用该模式;寻找部分,定义模式重构规范来寻找重构点;具体如下:
21)所述判定规则由四种节点UnaryNavigationNode,BinaryNavigationNode,OrConditionNode和PatternNode组成,其中:
①UnaryNavigationNode表示在对该模式的判断过程中,该节点只能有一种判断结果,如果该节点判断是true,将继续判断下一个条件,否则将停止处理,即无法应用该模式重构;
②BinaryNavigationNode表示该节点的判断无论对错,都有对应的节点用于进一步判断;
③OrConditionNode表示对条件的判断可以采用并行的方式处理,其中每一个条件判断的结果不影响最终的判读结果;
④PatternNode表示经过判断,架构图可以应用该模式;
22)所述寻找部分,定义模式重构规范来寻找重构点;重构规范由两个节点UsePrincipleNode和RefactorNode组成,其中:
⑤UsePrincipleNode表示使用该模式需要遵循的使用规范;
⑥RefactorNode表示经过模式使用规范找到的重构点集合;
所述步骤4)对于架构图ArcGraph,应用Patternchoose指导重构,并作为软件重构的目标;具体如下,
a)对于架构图ArcGraph使用Patternchoose模式,利用Patternchoose模式的决策图判定是否可以应用该模式;
b)若可以应用该模式,则利用该模式的规范找到重构点集合RefactorPointset={RefactorPointi}i=0,1,…,n;n为重构点个数;重构点RefactorPointi={RectComiset,RectEdgeiset,RectTypei};重构点由三部分组成,RectEdgeiset表示需要重构的边集合,RectComiset表示需要重构的组件集合,RectTypei表示重构的类型,总共有AddDependEdge:增加组件依赖边,RemoveDependEdge:减少组件依赖边,CombineComp:组件合并,SplitComp:组件拆分,AddComp:添加组件五种类型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910254644.6/1.html,转载请声明来源钻瓜专利网。