[发明专利]一种逆向提取Java软件程序类图的方法有效
| 申请号: | 201310451992.5 | 申请日: | 2013-09-29 |
| 公开(公告)号: | CN103593222A | 公开(公告)日: | 2014-02-19 |
| 发明(设计)人: | 于莉莉;张幼春;卢玲;高智杰;祝宇;邱薇;刘晓杰;吕益楠 | 申请(专利权)人: | 中国人民解放军第二炮兵装备研究院科研试验中心 |
| 主分类号: | G06F9/45 | 分类号: | G06F9/45 |
| 代理公司: | 中国人民解放军第二炮兵专利服务中心 11040 | 代理人: | 肖进 |
| 地址: | 10008*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 逆向 提取 java 软件 程序 方法 | ||
1.一种逆向提取Java软件程序类图的方法,其特征是包括以下步骤:
A.基于JDT的API接口,分析.class文件,获取Java程序的静态信息,提取类之间的继承、关联、聚合、依赖关系以及类与接口之间实现、关联、聚合、依赖关系;
B.选定体现主要流程的类作为骨干类,并将其作为抽象的基准点,搜索任意两个骨干类之间的路径;
C.对B步骤得到的每一条路径,从路径的任意一端开始,检查是否存在具有类-关系-类-关系-类这样性质的子路径与本步骤列举的57条类图抽象规则相匹配,若匹配,则用抽象规则的结果代替这条子路径;若不匹配,则跳过当前的类结点和关系结点,从下一个类结点开始遍历;直到不存在可以转换的路径,除此之外,骨干类不能被抽象掉;类图抽象规则包括:
其中,“-”表示分隔符,Class表示类,两个类之间为类存在的关系,共4种关系:Generalization为泛化关系;Dependency为依赖关系;Association为关联关系,Aggregation为聚合关系;Left表示后一类位于前一类的左侧;Right表示后一类位于前一类的右侧;表示推出符号,由前描述的关系推出后描述的关系;
D.若出现两个骨干类之间抽象后存在多种关系时,按照泛化关系优先于聚合关系优先于双向关联关系优先于单向关联关系优先于依赖关系的优先级确定保留哪个关系,对抽象后的路径进行合并,得到抽象类图。
2.根据权利要求1所述的逆向提取Java软件程序类图的方法,其特征是步骤B所述的选定骨干类的方法为:
借助用例模型:在业务领域专家的指导下找到与用例图或者活动图对应的那些框架片断,选为骨干类;
或者基于业务实体的层次分析:从能与业务实体对应起来的实体类开始,按照类间关系自底向上根据构件依赖关系标识层次,将处于较高层次上的那些类选为骨干类;
或者软件设计人员或测试人员根据需要自定义骨干类。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军第二炮兵装备研究院科研试验中心,未经中国人民解放军第二炮兵装备研究院科研试验中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310451992.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种粘结剂及其制备方法
- 下一篇:具有三烷氧基甲硅烷基烷基的鎓盐





