一种软件系统演化的分析方法和装置制造方法及图纸

技术编号:15863732 阅读:74 留言:0更新日期:2017-07-23 07:58
本发明专利技术公开了一种软件系统演化的分析方法和装置。该方法包括:以第一版本软件中的信息资源为节点,以第一版本软件中信息资源之间的关联关系为边,构建第一版本软件的第一软件结构拓扑图;根据代数拓扑复形原理,将第一软件结构拓扑图中的每一个节点表述成一个代数构件,并获取代数构件之间的关系信息;将第一软件结构拓扑图转化为以代数构件为节点,以关系信息为边的第二软件结构拓扑图,并将第二软件结构拓扑图分解为代数构件表达式;输出第一版本软件的代数构件表达式。本发明专利技术以代数运算的形式分析该软件系统的演化过程,从整体上对软件系统的演化过程进行掌握,指导软件系统的重构和维护;提高软件系统,特别是大规模软件系统的演化分析效率。

【技术实现步骤摘要】
一种软件系统演化的分析方法和装置
本专利技术涉及计算机
,具体涉及一种软件系统演化的分析方法和装置。
技术介绍
目前在世界范围内的软件系统演化方法主要分为动态软件系统演化和静态软件系统演化方法两大类,其中动态软件系统演化方法指的是软件系统在运行期间的演化,它具有软件系统不会出现暂时失效的优点,但是其中的技术方案由于涉及到软件系统的状态迁移问题,因此,相比于静态软件系统演化方法来说技术上实现比较困难。静态软件系统演化方法指的是软件系统在停机状态下的演化,即软件版本的升级。相对来说实现起来比较容易,不需要考虑软件系统的状态迁移以及处理活动的进程。现有的软件系统静态演化分析方法主要集中在对软件源代码的度量层次上,有基于Petri网的软件系统演化过程,描述了软件系统的演化过程,并提出了软件系统演化过程中的活性判断及优化算法。基于代码复杂度的软件系统演化评估与分析,分析了Java代码的McCabe圈复杂度和Halstead复杂度,通过对软件系统的度量发现其中复杂度较高的模块,并且分析随着软件系统版本的升级软件系统复杂度的变化规律,对引起软件系统复杂度变化的类和方法进行定位,从而知道软件系本文档来自技高网...
一种软件系统演化的分析方法和装置

【技术保护点】
一种软件系统演化的分析方法,其特征在于,对于给定软件系统的第一版本软件,获取所述第一版本软件的代数构件表达式,具体包括:以所述第一版本软件中的信息资源为节点,以所述第一版本软件中信息资源之间的关联关系为边,构建所述第一版本软件的第一软件结构拓扑图;根据代数拓扑复形原理,将所述第一软件结构拓扑图中的每一个节点表述成一个代数构件,并获取所述代数构件之间的关系信息;将所述第一软件结构拓扑图转化为以所述代数构件为节点,以所述关系信息为边的第二软件结构拓扑图,并将所述第二软件结构拓扑图分解为代数构件表达式;其中,所述代数构件表达式由所述第二软件结构拓扑图中的代数构件和所述关系信息组成;输出所述第一版本软...

【技术特征摘要】
1.一种软件系统演化的分析方法,其特征在于,对于给定软件系统的第一版本软件,获取所述第一版本软件的代数构件表达式,具体包括:以所述第一版本软件中的信息资源为节点,以所述第一版本软件中信息资源之间的关联关系为边,构建所述第一版本软件的第一软件结构拓扑图;根据代数拓扑复形原理,将所述第一软件结构拓扑图中的每一个节点表述成一个代数构件,并获取所述代数构件之间的关系信息;将所述第一软件结构拓扑图转化为以所述代数构件为节点,以所述关系信息为边的第二软件结构拓扑图,并将所述第二软件结构拓扑图分解为代数构件表达式;其中,所述代数构件表达式由所述第二软件结构拓扑图中的代数构件和所述关系信息组成;输出所述第一版本软件的代数构件表达式。2.如权利要求1所述的方法,其特征在于,所述方法进一步包括:对于给定软件系统的不同版本软件,获取所述不同版本软件的代数构件表达式;比较所述不同版本软件的代数构件表达式,获得所述给定软件系统的演化信息,根据所述演化信息总结所述给定软件系统的演化规律,并输出所述演化信息和所述演化规律。3.如权利要求1或2所述的方法,其特征在于,所述以所述第一版本软件中的信息资源为节点,以所述第一版本软件中的关联关系为边,构建所述第一版本软件的第一软件结构拓扑图包括:针对所述第一版本软件中的面向过程程序语言,以所述第一版本软件的源代码中的方法或结构体作为节点,以所述方法和/或所述结构体之间的调用和包含关系为边,构建所述软件系统的第一软件结构拓扑图;针对所述软件系统中的面向对象程序语言,以所述软件系统的源代码中的类为节点,以类和类之间的继承、泛化、关联、依赖或使用关系为边,构建所述软件系统的第一软件结构拓扑图。4.如权利要求1或2所述的方法,其特征在于,所述将所述第一软件结构拓扑图中的每一个节点表述成一个代数构件包括:将所述软件结构拓扑图中的每一个节点表述成一个代数构件六元组形式;所述六元组中的元素包括:逻辑行为集合、连接关系集合、控制器、内部数据、聚合运算、检测器。5.如权利要求1或2所述的方法,其特征在于,所述将所述第二软件结构拓扑图分解为代数构件表达式包括:将所述第二软件结构拓扑图自上向下粗化分解得到第一代数构件表达式;将所述第二软件结构拓扑图自左向右精化分解得到第二代数构件表达式;将所述第一代数构件表达式和所述第二代数构件表达式进行集成,获得所述第一版本软...

【专利技术属性】
技术研发人员:胡昌振单纯朱洪进马锐喻梓峻
申请(专利权)人:北京理工大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1