[发明专利]一种基于时态的对象依赖关系发现方法和系统有效
申请号: | 201710124891.5 | 申请日: | 2017-03-03 |
公开(公告)号: | CN106970788B | 公开(公告)日: | 2018-08-07 |
发明(设计)人: | 史红权;赵晓哲;张俊;陈行军 | 申请(专利权)人: | 中国人民解放军海军大连舰艇学院 |
主分类号: | G06F8/70 | 分类号: | G06F8/70;G06F8/71 |
代理公司: | 深圳市博太联众专利代理事务所(特殊普通合伙) 44354 | 代理人: | 任转英 |
地址: | 116000 *** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 时态 对象 依赖 关系 发现 方法 系统 | ||
1.一种基于时态的软件配置管理对象依赖关系发现系统,其特征在于包括:
数据库模式构建模块,用于根据时态实体以及时态实体之间的联系,建立数据库模式;
其中时态实体包括软件开发要素中的以下至少一种:软件需求、设计、模型、构件、软件产品、开发单位、开发人员;时态实体具有时态属性,该时态属性包括时态实体的版本信息和/或有效时间信息;时态实体联系包括时态实体内部的依赖关系或时态实体之间的依赖关系,
其中建立数据库模式包括将时态实体和时态实体联系在数据库环境中以包括表、视图、存储过程的方式来创建,其中建立专门的联系表来表达时态实体的内部联系和时态实体之间的外部联系,其中表、视图中还包括时态属性字段来表达时态实体的以上时态属性;
依赖图构建模块,用于构建多层时态依赖图,包括:
定义每种时态实体分别对应多层时态依赖图中的一层,定义每种时态实体的一个具体对象为该层中的一个结点e,定义层内的结点与结点之间的有向边为内部依赖,定义层间的结点与结点之间的有向边为外部依赖;
定义由以上所有结点和有向边构成的图为多层时态依赖图;
输入以上数据库模式,获取其中包括表、视图、存储过程的所有数据库模式;
初始化多层时态依赖图的层数为0;
开始非空循环,条件为“数据库模式不为空”;
如果获得的数据库模式是一个时态实体;
多层时态依赖图的层数加1;
生成当前层的时态依赖图中的结点;
否则,如果获得的数据库模式是一个内部联系;
生成层内依赖关系;
否则,如果获得的数据库模式是一个外部联系;
生成层间依赖关系,即外部依赖关系;
结束非空循环,条件为“数据库模式不为空”;
输出多层时态依赖图;
依赖性分析模块,遍历整个多层时态依赖图,计算所有或部分结点的依赖性评价参数,从而作出依赖性分析;
其中,依赖性评价参数包括以下至少一种:该参数传入耦合Ca、传出耦合Ce;
其中,传入耦合Ca为依赖于被分析实体的其他实体的数量;传出耦合Ce为被分析的实体所依赖的其他实体的数量;实体不稳定性I=Ce/(Ce+Ca);用于衡量实体的不稳定性,取值范围为[0,1],I=0表示实体最稳定,I=1表示实体最不稳定。
2.根据权利要求1所述的系统,其还包括:依赖性分析模块中作出的依赖性分析为包括以下至少一种:直接依赖统计分析、依赖链分析、循环依赖分析、社会性分析、时态性分析。
3.根据权利要求1所述的系统,其还包括:依赖性分析模块中作出的依赖性分析包括直接依赖统计分析,
输入多层时态依赖图;
对多层时态依赖图采用宽度优先算法遍历整个图,具体为:
开始非空循环,条件为“存在没有访问过的结点”,
随机选定一个未访问过的结点e;
将该结点e进入队列Queue;
开始非空循环,条件为“队列Queue不为空”,
计算该结点e的传入耦合Ca,
计算该结点e的传出耦合Ce,
计算该结点e的实体不稳定性I,
计算该结点e的实体距离D,
结束非空循环,条件为“队列Queue不为空”,
结束非空循环,条件为“存在没有访问过的结点”,
输出每个结点的传入耦合Ca、传出耦合Ce、实体稳定性I。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军海军大连舰艇学院,未经中国人民解放军海军大连舰艇学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710124891.5/1.html,转载请声明来源钻瓜专利网。