一种基于时态的对象变更影响分析方法和系统技术方案

技术编号:18458632 阅读:53 留言:0更新日期:2018-07-18 12:38
本发明专利技术提供了一种基于时态的对象变更影响分析方法和系统。所述方法包括以下步骤:构建表示软件对象本身以及对象之间的依赖关系的多层时态依赖图;根据该多层时态依赖图,确定以下任意一种情况下的对象变更影响:以某个对象为核心,确定受其影响的所有对象及其联系;以时间轴为核心,确定某个对象随时间演变对其他对象的影响;以时间点为核心,确定某个时间点所有相关对象及其之间的变更影响。本发明专利技术研究了一种通用的变更影响分析方法,可以减少软件维护和测试成本,因为只需要对受影响的软件对象(模型、构件或者其他软件对象)进行维护和测试,并且能够分析和控制软件对象变更的风险、成本和进度。

An analysis method and system of object change impact based on tense

The invention provides a temporal based object change impact analysis method and system. The methods described include the following steps: building a multi-layer temporal dependency graph representing the dependence of the software object itself and between the objects; according to the multi-layer temporal dependency graph, determine the effect of the change of the object under any situation below: at the core of a certain object, determine all the objects and their connections that are affected by the objects; with time The axis is the core, which determines the influence of an object over time on other objects; at the time point, it determines the influence of all related objects and the changes between them at a certain time point. This invention has studied a general change impact analysis method that reduces the cost of software maintenance and testing because it only needs to maintain and test the affected software objects (models, components or other software objects), and can analyze and control the more risk, cost and progress of the software objects.

【技术实现步骤摘要】
一种基于时态的对象变更影响分析方法和系统
本专利技术涉及计算机技术,更具体地,涉及一种基于时态的对象变更影响分析方法和系统。
技术介绍
当前,随着计算机软件的自身规模和精细程度的日益提升,软件开发过程已经发展为一个多对象相互联系、支持、影响和制约的复杂过程。软件开发过程所涉及的对象众多,其中主要的对象包括需求、设计、模型、构件、参数、软件产品等对象。软件开发所涉及的各种开发对象不是孤立存在的,相互之间具有密切联系。对于开发对象之间的联系,举例来说,软件产品整体的设计可以分解为各个模块的设计,对模块的设计当中嵌入了相关的模型,根据软件各个模块的设计可生成构件,可以为每个构件建立一个支持数据的子集,该子集中描述了构件相关的需求,等等。时态实体是自身均具有时态属性,且状态随时间变化的实体对象。时态实体之间的联系可作为时态联系。软件开发对象本身以及对象之间的相互联系都不是静态的和固定的,软件开发对象本身是动态和时变的,开发对象之间的联系也是动态且时变的。因而,软件需求、设计、模型、构件、参数和软件产品均可以作为时态实体,这些时态实体本身不仅存在随时间演化的版本联系,时态实体之间也存在着复杂的时态联系。举个具体例子来说,如图1所示,A实体(例如构件)和B实体(例如软件产品)作为时态实体分别具有各种版本,以及各个版本之间的时态联系。其中At0,At1,At2,At3,At4,At5…表示A实体的各个版本,由虚箭头线相连表示A实体随时间发展演化成的各个版本对象,B实体也有类似随时间演化的版本对象的序列,即Bt0,Bt1,Bt3,Bt4,Bt5;为A、B实体在每个时刻的版本对象附加了时态标签,时态标签为该版本对象的有效时间,有效时间表示为“[发布时间,停用时间]”。实线箭头表示了A、B实体的各个版本对象之间的相互联系,例如软件产品对构件的使用即为二者之间的联系;时态对象的相互联系也附加了时态标签,位于实线旁边的时态标签表示两个版本对象建立联系的有效时间“[开始时间,结束时间]”,从而表征了时态实体相互联系的时态属性;参见图1中各个箭头,其中图1(1)表示At0版本“使用”Bt0版本;图1(2)表示A实体由At1版本升级为At2版本,Bt1版本不变;图1(3)表示At3版本不变,Bt3版本升级为Bt4版本;图1(4)表示At3升级为At5版本,Bt4版本升级为Bt5版本。总之,上述A和B两类时态实体之间的四种时态联系,实际上为以下两类时态联系:A版本变化,B版本同步变化;A版本变化,B版本不变化。由于需求、设计、模型、构件、参数和软件产品等软件开发对象具备时态实体的属性,因此,在软件开发过程中,对其中任一个对象变更带来的影响进行分析,软件开发管理中的一个关键技术。变更影响分析是保证软件质量的重要手段,可以减少软件维护和测试成本,因为只需要对受影响的软件对象(模型、构件或者其他软件对象)进行维护和测试。因而,一个优秀的软件变更影响分析方法对于整个软件系统开发是非常重要的。当前国内外对于软件变更影响分析的相关研究不少,但大多数都是基于源码集的变更影响分析,许多变更影响分析的研究方法都是从继承关系、方法调用行为和其它程序实体间的依赖关系推理出来的。通过分析源码文件、类包、类、方法、声明和变量来预测变更的传播。源码级的变更影响分析方法不适用在软件设计的早期阶段和需求分析。现有技术中较少一部分是基于软件体系结构层面的变更影响分析,例如UML构件图能够在一个比源码更为抽象的层面上评估体系结构的变更,这个能够在开发的早期阶段和在基于模型开发(ModelBasedDevelopment,MBD)上进行影响分析的方法在近年来越来越重要。然而即使是允许细粒度结果的体系结构分析都要依赖于底层的建模语言,例如分析复杂的UML类图。而现有技术中对于过程级的软件变更影响分析的相关研究更少。可见,现有技术中缺少一种从静态发展到动态,考虑和支持版本演化中的变更影响分析,真正从时态的角度来对变更实现影响分析的手段。
技术实现思路
根据现有技术中的上述需求,本专利技术提供了一种基于时态的对象变更影响分析方法和系统。本专利技术研究了一种通用的变更影响分析方法,来支持对软件开发过程中需求、设计、模型、构件、软件和支持数据等实体对象实现变更影响分析。本专利技术提供了一种基于时态的对象变更影响分析方法,其特征在于,包括以下步骤:构建表示软件对象本身以及对象之间的依赖关系的多层时态依赖图;根据该多层时态依赖图,确定以下任意一种情况下的对象变更影响:以某个对象为核心,确定受其影响的所有对象及其联系;以时间轴为核心,确定某个对象随时间演变对其他对象的影响;以时间点为核心,确定某个时间点所有相关对象及其之间的变更影响。优选的是,构建的所述多层时态依赖图包括需求层、变更层以及设计层;需求层表示需求对象作为时态实体的依赖关系;每个变更层表示与该层所对应的软件对象的变更关系作为时态实体的依赖关系;设计层表示设计对象作为时态实体的依赖关系。优选的是,所述多层依赖图的每一层Li定义为一个多粒度依赖图Li=(Vi,Ei,DTi),该层是由相同类型的实体及其属性和行为构成的,其中节点Vi表示实体集合,Ei表示节点间有向边〈vi,vj〉的集合,〈vi,vj〉表示结点vi依赖于结点vj,DTi表示依赖类型集合。优选的是,以某个对象为核心,分析受到影响对象之间的联系具体包括以下分析内容的一种或多种:(1)同一生命周期内,时态实体内部的变更影响;(2)同一生命周期内,时态实体之间的变更影响;(3)不同生命周期内,时态实体内部的变更影响;(4)不同生命周期内,时态实体之间的变更影响。优选的是,确定对象变更影响同时利用时态实体的动态时态信息和静态的非时态信息。本专利技术提供了一种基于时态的对象变更影响分析系统,其特征在于,包括:时态依赖图构建单元,用于构建表示软件对象本身以及对象之间的依赖关系的多层时态依赖图;对象变更影响分析单元,用于根据该多层时态依赖图,确定以下任意一种情况下的对象变更影响:以某个对象为核心,确定受其影响的所有对象及其联系;以时间轴为核心,确定某个对象随时间演变对其他对象的影响;以时间点为核心,确定某个时间点所有相关对象及其之间的变更影响。优选的是,所述对象变更影响分析单元确定对象变更影响同时利用时态实体的动态时态信息和静态的非时态信息。可见,作为软件配置管理的一个关键技术,本专利技术针对各种软件对象及其联系具有时态性的基本特征,提供了基于时态的变更影响分析方法。本专利技术是保证软件质量的重要手段,可以减少软件维护和测试成本,因为只需要对受影响的软件对象(模型、构件或者其他软件对象)进行维护和测试,并且能够分析和控制软件对象变更的风险、成本和进度。附图说明下面结合附图和具体实施方式对本专利技术作进一步详细的说明:图1示出了时态实体及其联系的时变示意图;图2是本专利技术的变更影响分析方法流程图;图3示出了多层时态依赖图的示例结构。具体实施方式为了使本
的人员更好地理解本专利技术的技术方案,并使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合实施例及实施例附图对本专利技术作进一步详细的说明。本专利技术针对软件开发过程中需求、设计、模型、构件、软件和支持数据等实体对象,根据其作为时态实体的特性,特别是根据这本文档来自技高网
...

【技术保护点】
1.一种基于时态的对象变更影响分析方法,其特征在于,包括以下步骤:构建表示软件对象本身以及对象之间的依赖关系的多层时态依赖图;根据该多层时态依赖图,确定以下任意一种情况下的对象变更影响:以某个对象为核心,确定受其影响的所有对象及其联系;以时间轴为核心,确定某个对象随时间演变对其他对象的影响;以时间点为核心,确定某个时间点所有相关对象及其之间的变更影响。

【技术特征摘要】
1.一种基于时态的对象变更影响分析方法,其特征在于,包括以下步骤:构建表示软件对象本身以及对象之间的依赖关系的多层时态依赖图;根据该多层时态依赖图,确定以下任意一种情况下的对象变更影响:以某个对象为核心,确定受其影响的所有对象及其联系;以时间轴为核心,确定某个对象随时间演变对其他对象的影响;以时间点为核心,确定某个时间点所有相关对象及其之间的变更影响。2.根据权利要求1所述的对象变更影响分析方法,其特征在于,构建的所述多层时态依赖图包括需求层、变更层以及设计层;需求层表示需求对象作为时态实体的依赖关系;每个变更层表示与该层所对应的软件对象的变更关系作为时态实体的依赖关系;设计层表示设计对象作为时态实体的依赖关系。3.根据权利要求2所述的对象变更影响分析方法,其特征在于,所述多层依赖图的每一层Li定义为一个多粒度依赖图Li=(Vi,Ei,DTi),该层是由相同类型的实体及其属性和行为构成的,其中节点Vi表示实体集合,Ei表示节点间有向边〈vi,vj〉的集合,〈vi,vj〉表示结点vi依赖于结点vj,DTi表示依赖类型集合。4.根据权利要求1所述的对象变更...

【专利技术属性】
技术研发人员:赵晓哲史红权陈行军张俊
申请(专利权)人:中国人民解放军海军大连舰艇学院
类型:发明
国别省市:辽宁,21

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

1