Software Engineerin
g and Applications软件工程与应用, 2013, 2, 151-156
http://dx.doi.org/10.12677/sea.2013.26026
Published Online December 2013 (//www.abtbus.com/journal/sea.html)
Research on Forecasting Structural Risks of Large-Scale
Software Based on Ripple Degree
*
Zhen g Liu
1
, Qian Zhang2, Hai Zhao1
1
College of Information Science and Engineering, NortheasternUniversity, Shenyang
2
Technology Strategy & Development Department, Neusoft Corporation, Shenyang
Email: liuzheng@mail.neu.edu.cn
Received: Nov. 15
th
, 2013; revised: Dec. 4th, 2013; accepted: Dec. 11th, 2013
Copyright © 2013 Zheng Liu et al. This is an open access article
distributed under the Creative Commons Attribution License, which permits
unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
In accordance of the Creative Commons
Attribution License all Copyrights © 2013 are reserved for Hans and the owner of the intellectual property Zheng Liu et al. All Copyright © 2013 are
guarded by law and by Hans as a guardian.
Abstract:
Because of the association between nodes in software network, the ripple effect exists in software network.
In this paper, the distributions of forward and reversal ripple degree in many networks of open source software are
analyzed firstly, and then a metric formul
a that evaluates the significance is presented after focusing on those nodes that
have high ripple degree. According to the metric results, we can select the vulnerable nodes, rigid nodes and a “bridge”
node in software structure and this method can provide guidance for design and remodeling of software structure.
Keywords:
Ripple Degree; Forecasting Structural Risk; Software Structure;Software Network
基于波及度的软件结构风险预测方法的研究
*
刘
铮1,张
骞2,赵
海1
1
东北大学信息科学与工程学院,沈阳
2
东软集团技术战略与发展部,沈阳
Email: liuzheng@mail.neu.edu.cn
收稿日期:
2013
年11月15日;修回日期:
2013
年12月4日;录用日期:
2013
年12月11日
摘
要:
由于软件网络中各节点之间的相互调用与关联,波及效应普遍存在于软件网络之中。本文针对大量的
开源软件的网络结构进行研究,首先分析了正向波及度和逆向波及度在软件网络中的分布规律,然后对波及度
较大的节点进行重点研究,提出了波及度显著性度量公式,并根据度量结果发现软件结构中的脆弱节点、僵化
节点和“桥梁”节点,为软件结构设计与重构提供指导。
关键词:
波及度;结构风险预测;软件结构;软件网络
1.
引言
大规模软件由于其功能复杂性所带来的结构复
杂性已成为其固有的特性之一,这使得传统的软件质
量控制方法往往难以得到良好的效果,为软件工程研
究领域提出了新的挑战。生理学家丹特–恰尔夫认
为:“人类的大脑结构是一个复杂网络,表现出非常
强烈的小世界特征,能够形成最有效的连结。”作为
人类大脑思维活动的产物,软件系统成为大脑结构的
一个分形,其内部结构也表现出了明显的复杂网络特
征。从
2002
年开始,一些复杂系统科学和统计物理
领域的研究人员对大量面向对象软件系统的类图进
行了研究,将类及类间关系抽象为有向图,从网络拓
*
资助项目:教育部基本科研业务费项目(N110304003)。
Open Access
151
基于波及度的软件结构风险预测方法的研究
扑的层面对软件网络的整体特性进行了研究,拉开了
借鉴复杂网络理论研究软件结构的序幕
[1-3]。近年来,
将复杂网络的理论应用在对大规模软件系统的结构
和行为特性的研究中,把软件系统抽象为一类人工复
杂网络,用网络的观点来重新审视软件系统的方法得
到了越来越多研究者的认同。研究人员通过建立软件
网络模型,研究软件网络的拓扑特征,揭示了软件结
构的一些普遍特性,为探索大规模软件系统的结构特
征提供了有力的支持,也为软件复杂性控制和软件可
信性度量研究提供了有利的指导和帮助。
20
世纪
90年代初,随着基于Internet的分布式大
规模软件系统的进一步应用,软件人员将软件功能变
化影响分析提到了比较关注的位置
[4]。Bohner[5,6]提出
了一个软件变化分析的过程框架,并首次引用“波及
效应”一词来形象的描述软件变化的影响。以
Ahmed
Breech
[7-9]
为代表的一些研究人员在面向对象软件系
统中从软件结构实体
(如函数或变量等)变化的角度研
究实体变化对其它与其相关的实体的影响。
Chen[10]
等人研究设计文档、软件组件、外部数据和需求变化
之间的关系,建立了一个基于对象和面向属性的软件
变化影响模型。随着软件复用技术的兴起及
UML建
模技术的广泛应用,王映辉
[11,12]在Bohner的基础上,
利用可达矩阵实现了对基于构件的软件体系结构演
化与波及效应分析。
软件复杂功能的实现在于软件中各功能模块的
关联与调用,而模块间的组织结构则直接影响到软件
系统的总体性能。在软件开发与维护中,关注系统内
部结构的合理性将降低软件出错的风险,减少系统维
护的费用。本文主要针对面向对象软件网络中节点变
化所产生的波及效应进行分析,确定节点的波及范围
和规律,并对系统中可能存在缺陷的结构进行风险预
测,为软件的设计和维护提供指导。
2.
软件网络中的波及效应
2.1.
软件网络模型的建立
本文的主要研究对象是面向对象的软件系统,其
网络模型的建立过程是:首先将源代码抽象为系统的
类图,然后将类作为网络中的节点,类之间的交互关
系就是节点间的边,由此抽象出软件网络的拓扑模
型。由于类之间的关系包括继承、关联、聚合、依赖
等,不同关系下的类之间联系的紧密程度也不同,为
了能够更准确地描述软件系统结构,对软件网络中的
边赋予不同的权重,即采用加权网络来表示软件系统
的内部结构。软件网络模型定义如下:
,,,
NVATW(1)
其中,
Vertices1, 2,,
i
Vvi
n,表示网络中n个
节点的集合,每个节点对应于软件系统中的一个类;
Type, ,
TttGUD,此处的G(Generalization)代
表泛化关系,
U(Usage)代表使用关系,D(Dependence)代表
依赖关系;
Arcs, ,,,,
ij ij
A
vvtvVvVt Tij
代表网络中边的集合,每条边对应于软件系统中两个
类之间的关系,由于在实际的软件系统中,两个类之
间的关系可能不是唯一的,例如类
A
与类B之间既存
在依赖关系,又存在使用关系,因此每条边的类型
t
是
一个复合值;
Weightmax ,
Wwwwt tT代
表每条边的权重。
权值的大小是根据两个节点之间相互联系的紧
密程度,也就是相互作用的两个节点之间关系的强弱
定的。在软件的加权网络中,边的权值越大,表示相
互作用的两个节点联系越紧密,这样的性质符合加权
网络中相似权的性质。在研究复杂网络节点之间联系
紧密程度时,应使用相似权,并满足以下条件:相似
权在
[0,1]
之间;权重为0,则无边连接;权重为1,回
到无权网络的定义。在
UML
类图中,类之间的关系
共有
9
中不同的描述,但是其中的普通关联、限定关
联、关联类、聚合和组成等关系在
UML
结构上没有
明显的区别,只能通过语义加以区分,因此在本文的
研究中将上述几种关系统一归纳为使用关系,同时将
继承、绑定与实现关系统一归纳为泛化关系。根据
UML
类图中类间关系的紧密程度,将依赖关系的 权
重赋值为
0.1
,使用关系的权重赋值为0.4,继承关系
的权重赋值为
0.7
。当两个节点之间有两种或两种以
上关系存在时,其权值取最大值。
2.2.
波及效应对软件的影响
在软件网络中,波及效应的表现是当某一节点出
现故障或发生改变时,这种变化会随着与其他节点的
关联而迅速蔓延,进而影响到系统的其他部分。僵化
性和脆弱性是腐化软件中两种常见的特征
[13]
,它们主
要是由于节点的波及范围过大或受波及影响的范围
Open Access
152
基于波及度的软件结构风险预测方法的研究
过大而造成的。其中僵化性是指难以对软件进行改
动,即使是单一简单的改动也会在有依赖关系的模块
中产生连锁反应。这种作用范围越大,系统就越僵化。
僵化性在软件网络中的具体表现为节点的波及效应
大,当其改动或发生故障时会有大量与其相关的节点
不得不做出相应的改动,因此僵化设计的系统必然会
导致其维护成本大大提高。
脆弱性是指在对软件中的一个模块进行改动时,
程序中许多在概念上与该模块没有关联的地方都会
出现问题,而要修正这些问题,又会引出更多的问题。
脆弱性在软件网络中主要表现在那些受波及范围比
较大的节点上,这些节点在结构上与大量节点具有相
关性,因此任何一个相关节点的改变都会对它造成影
响。由此可见,研究软件网络中的波及效应问题可以
对那些可能造成软件僵化或脆弱的内部结构进行预
测,在软件结构设计中对其进行优化,并为软件的维
护与重构提供指导。
2.3.
波及度定义
从波及效应的定义来看,软件网络中的节点既可
以成为这种波及效应的制造者,也可以是受波及效应
影响的被波及对象,因此,在对波及效应进行研究的
过程中,将波及效应在节点上的体现分为两种:正向
波及度和逆向波及度。其定义如下。
定义
1:正向波及度:从软件网络中的节点
vi出
发,沿着正向边可以到达的所有节点的最短路径上权
值之积的和。记为:
,
mn
Fij
ji
wSP
vTFv
WG iijijmn
ji
ij
RFvW Ww
(2)
其中,
TF(vi
)
为节点vi
通过正向边可以到达的所有节
点集合。
Wij为vi与TF(vi)中某一节点vj的总权值,由
节点
vi
与vj之间正向最短路径中所有边权值的乘积计
算得来。当
vi
的出度为0时,RFWG(vi) = 0。
节点的正向波及度反映了节点在软件网络中受
其它节点影响的程度,即当与其相关的节点发生改变
或故障时对该节点造成影响的可能性。通常正向波及
度较大的节点容易导致软件系统出现脆弱性,是在软
件结构设计中需要被高度关注的部分。
定义
2:逆向波及度:从软件网络中的节点vi出
发,沿着逆向边可以到达的所有节点的最短路径上权
值之积的和。记为:
,
mn
Rij
ji
wSP
vTRv
WG iijijmn
ji
ij
RRvWWw
(3)
其中,
TR(vi
)
为节点vi
通过逆向边可以到达的所有节
点集合。
Wij为vi与TR(vi)中某一节点vj的总权值,由
节点
vi
与vj之间逆向最短路径中所有边权值的乘积计
算得来。当
vi
的入度为0时,RRWG(vi) = 0。
逆向波及度反映了该节点发生改变或故障时,会
对其它与其相关联的节点造成的影响程度,最直接的
反映了节点的波及效应。一般来说,逆向波及度大的
节点可能会导致软件系统出现僵化性,因此在软件结
构的设计和维护中需要引起关注。
3.
波及度的规律分析
根据波及度的定义,对选取的
125
个开源软件样
本进行波及度分析。这些软件样本均为面向对象软
件,功能涵盖了开发工具、应用软件、系统软件、娱
乐软件及编译软件等,开发语言包括
C++
、java和C#。
首先根据正、逆向波及度的定义对软件网络中节
点的波及度进行计算,并以
0.5
为区间间隔,对节点
波及度的区间分布频率进行统计,结果发现,随着区
间值的增大,节点正、逆向波及度的出现频率都呈现
出首先迅速下降,然后趋于平稳,最终趋向于
0
的变
化趋势。
由波及度的定义可知,正向波及度大的节点大多
位于系统的较高层,在构造上依赖了大量的其它节
点,是系统中的脆弱环节,一旦其相关的节点出现问
题,都可能会受到影响。因此这样的节点数量在整个
系统中不能过多,以免导致系统脆弱性的出现。相应
地,逆向波及度大的节点大多是构成系统的基础类或
接口,位于系统的底层,被大量的节点直接或间接的
关联,这样的节点一旦发生改动,将会导致大范围的
节点不得不做出相应的调整。如果这样的节点数量过
多,必然会导致系统的僵化。
从上面的分析可以看出,节点波及度的分布规律
很好地反映了软件的设计原则。对于单个节点来说,
若其正向波及度较大,说明其复用了大量的底层节
点,功能相对强大,内部结构相对复杂,容易受到波
及,改动或出现故障的概率较大,为了避免造成更大
范围的影响,应该尽量避免对这样的节点进行复用或
Open Access
153
基于波及度的软件结构风险预测方法的研究
关联,所以其逆向波及度不应过大。同理,逆向波及
度较大的节点由于其在系统中的重要地位,保持其稳
定的结构至关重要,因此应该尽量位于其它节点的波
及范围之外,即正向波及度要小。由此可以看出,正、
逆向波及度应该具有一定的负相关性。
为了验证这一点,对各样本软件中节点的正、逆
向波及度分布联合统计,结果发现,正向波及度大的
节点其逆向波及度都不大,反之亦然。以
firefox
软件
为例,如图
1
所示。
由图可以看出,大部分节点的正、逆向波及度都
比较小,他们位于图中的左下角;少数正向波及度大
的节点其逆向波及度较小;而逆向波及度大的节点其
正向波及度较小,这些节点位于坐标轴附近。当然,
在一些软件中,还会出现另外一类节点,它们的正、
逆向波及度都比较大,比如软件
Azureus
中的个别节
点,如图
2
所示。这类节点是软件设计中应该尽量避
免的。
4.
波及度的显著性度量及结构风险预测
通过对节点波及度分布的分析可以发现,软件中
大部分节点的正、逆向波及度都比较小,只有少部分
节点具有较大的正向波及度或逆向波及度,而同时具
有较大的正、逆向波及度的节点非常少,甚至为
0
。
从软件设计的角度出发,具有单向波及度较大值的节
点是不可避免的。由于正向波及度大的节点受波及的
可能性大,属于“脆弱节点”,所以在故障维护时应
首先考虑对这些节点的排查;逆向波及度大的节点往
往会引起广泛的波及效应,属于“僵化节点”,所以
在软件维护或升级中应该尽量减少对它们的改动。而
同时具有较大的正、逆向波及度的节点是软件结构中
的“隐患节点”,它们对软甲你的稳定性造成了较大
的威胁,在设计的过程中应该尽量避免。
由于波及效应的存在,软件系统的稳定性受到了
极大的挑战,大规模软件的维护成本也不断提高。为
了能够提高软件的可维护性,降低维护成本,在软件
的设计阶段就应该关注其结构的合理性,尽量降低软
件中节点波及效应的影响,对结构中存在的风险因素
进行预判。
在对样本软件的节点波及度分析中发现,每款软
件的正、逆向波及度的最大值相差很大,随后我们对
软件规模和正、逆向波及度平均值,正、逆向波及度
0
5001000 1500 2000
0
50
100
150
200
逆向加权波及度
正向加权波及度
firefox
Figure 1. Joint distribution of forward and reversal ripple degree
in firefox
图
1. Firefox软件网络中节点的正逆向波及度联合分布图
0
100 200300
0
5
10
15
20
逆向加权波及度
正向加权波及度
Azureus
Figure 2. Joint distribution of forward and reversal ripple degree
in Az ureus
图
2. Az ure us
软件网络中节点的正逆向波及度联合分布图
最大值分别进行拟合,结果发现软件规模与软件的平
均波及度水平和波及度范围没有明显的相关性。为了
能够找出软件结构中的“脆弱节点”、“僵化节点”和
“隐患节点”,本文采用显著性度量方式,对上述三
种节点进行判断,其结果将为软件结构设计提供参
考。
4.1.
正向波及度显著性度量
不同的软件,其正向波及度数值范围相差很大,
为了找出每个软件中正向波及度较大的节点,提出了
正向局部波及度显著性度量公式,用来对节点波及度
水平进行度量。
w
WG WG
W
RF v
SD
RFvRF avg
Z
RF
(4)
其中,
RFLG(v)是节点的正向波及度,RFLGavg是整个软
件系统的平均正向波及度,
RFSD
是正向局部波及度的
标准偏差。从软件样本中随机选取六款软件按照上述公
式进行波及度显著性度量,其统计结果如图
3
所示。
Open Access
154
基于波及度的软件结构风险预测方法的研究
0
0.511.52
2.53
3.544.5
0
0. 1
0. 2
0. 3
0. 4
正向加权波及度显著性度量值
节点比例
apache tomcat
Azureus
eMule
fi refo x
npp
SweetHome3D
Figure 3. Statistics of forward ripple degree’s significant value
图
3.
正向波及度显著性度量统计图
图中横坐标是波及度显著性度量值,纵坐标是大
于对应
ZRF(v)
的节点数所占总节点数的比例。从图中
可以看出,软件的正向波及度显著性度量值分布曲线
表现出了相似的变化趋势,即随着度量值的增大,对
应的节点比例迅速下降,当度量值大于
2.5
之后,对
应的节点比例变化趋于平稳,维持在
3%
以下。随后,
对软件样本中的其余样本进行了相同的度量,得到了
相同的统计规律。
通过查阅相关软件的源代码和其公开的开发文
档发现,这些度量值超过
2.5
的节点在构造上依赖或
关联了大量的其他类,功能大多比较复杂,被修改的
次数相对较多,属于“脆弱节点”。这类节点在后期
的软件维护中必须引起相关人员的特殊关注。
4.2.
逆向波及度显著性度量
与正向波及度类似,不同软件的节点逆向波及度
范围不尽相同,因此提出了逆向波及度显著性度量公
式对节点逆向波及度水平进行度量。
W
WG WG
W
RR v
SD
RRvRR avg
Z
RR
(5)
其中,
RRWG(v)是逆向波及度,
RRWG(avg)是系统的平
均逆向波及度, 是逆向波及度的标准偏差。
W
SD
RR
利用逆向波及度显著性度量公式对软件样本中
的
125款软件进行了度量,统计分析之后发现所有的
软件逆向波及度显著性度量值都表现出了相似的变
化规律。如图
4
所示,以随机选取的六款软件的统计
结果为例,随着度量值的增大,对应的节点比例首先
迅速下降,后趋于平稳。其中,度量值大于
0
的节点
比例都在
10%
以上,当度量值增大到2.5的时候,对
应的大于该值的节点比例下降到
3%
以下。通过查看
源代码,发现这些度量值大于
2.5
的节点都是软件系
统中的基础类或接口,被大量的节点继承、依赖或引
0
0.511.522.5
3
3.5
4
4.5
0
0. 1
0. 2
0. 3
0. 4
逆向加权波及度显著性度量值
节点比例
apac he t om cat
A zureus
eMule
firefox
npp
S weetHome 3D
Figure 4. Statistics of reversal ripple degree’s significant value
图
4.
逆向波及度显著性度量统计图
用,属于“僵化节点”,因此,应该尽量保证它们的
稳定性,在后期的维护过程中尽量少做改动。
4.3.
联合波及度显著性度量
软件网络中正、逆向波及度都比较大的节点是系
统结构中的关键节点,由于它们的构造基于大量的底
层节点,同时又被大量的高层节点所关联,因此往往
是结构中的桥梁,也是隐患最大的环节。为了对这部
分节点的波及效应进行分析,提出了节点联合波及度
的计算公式:
1
WG WGWG
RvRRv RFv
(6)
联合波及度反映了软件网络中由于节点直接或
间接发生改变所带来的波及范围,其中,
RR
WG
(v
)
为节
点的逆向波及度,
RFWG(v)
为节点的正向波及度。1 +
RF
WG
(v
)代表了节点 发生改变的波及效应(包括其自
身
)
。节点联合波及度的显著性由以下公式计算:
v
WG
WG WG
Rv
W
SD
RvRavg
Z
R
(7)
其中,
RWG(v)为节点的联合波及度,RWGavg为该软件
的平均联合波及度,为软件联合波及度的标准偏
差。
W
SD
R
对样本软件中的
125款软件的节点联合波及度的
显著性进行度量并统计,结果发现所有软件的联合波
及度显著性度量值的分布规律基本一致,仍以六款随
机软件为例,其度量值分布如图
5
所示。
从图中可以看出,所有软件的节点联合波及度显
著性度量值都大于
−0.5
,而且对于每款软件,其80%
的节点的度量值都分布在区间
[−0.5, 0.5]内。对着度量
值的增大,对应的节点比例逐渐减小。
图
6
是图
5
的局部放大图,从中可以看出,当
时,节点比例都小于
4%
,当时,
2
WG
Rv
Z
4
WG
Rv
Z
Open Access
155
基于波及度的软件结构风险预测方法的研究
Open Access
156
-0.5
0
0.511.522.5
3
3.5 4
0
0.2
0.4
0.6
0.8
1
正逆向加权波及度显著性度量值
节点比例
apac he t om cat
Azureus
eMule
firefox
npp
Sweet Ho me3D
Figure 5. Statistics of joint ripple degree’s significant value
图
5.
联合波及度显著性度量统计图
2
2.53
3.54
4.55
5.56
6.5
0
0. 01
0. 02
0. 03
0. 04
正逆向加权波及度显著性度量值
节点比例
apac he tom cat
A zureus
eMul e
firefox
npp
S weetHome3D
Figure 6. Statistics of joint ripple degree’s significant value
图
6.
联合波及度显著性度量统计图
节点比例都小于
2%
,当
时,节点比例都小
于
1%。根据测试报告和CVS记录,当节点的联合波
及度显著性度量值大于等于
6
时,它们出现问题或被
修改的次数远远高于其他节点,所以,选取
6
作为度
量值的阈值,当节点的联合波及度显著性度量值大于
6
时,该节点为软件网络中的关键节点,充当了桥梁
的作用,其一旦受到攻击,整个网络将会受到极大威
胁,甚至引起整个软件系统的瘫痪。
6
WG
Rv
Z
在软件开发过程中,对已经建立的软件结构及时
进行波及效应的分析和度量,可以尽早发现结构中的
脆弱节点、僵化节点和“桥梁”节点,在保证软件功
能可实现的前提下对其进行优化,将结构风险降到最
低,并对这些节点加以关注,为软件的后续维护提供
参考依据。
5.
结论
软件网络中的波及效应反映了软件内部结构之
间的交互影响程度,当软件发生变化时,这种变化会
通过模块或类间的关联关系蔓延到更大范围,对软件
的多个模块或类造成影响。软件网络中,节点的正向
波及度反映了该节点受其它节点影响的可能性,正向
波及度越大,受影响的可能性越大,此为脆弱节点;
逆向波及度反映了该节点对其它节点造成影响的可
能性,逆向波及度越大,对其它节点的影响越大,此
为僵化节点;而正、逆向波及度都比较大的节点被称
为“桥梁”节点,在结构中起到了关键的连接作用,
是结构中最值得关注的敏感部位。通过对波及度的分
析,确定基于显著性的度量方法,用于在软件结构中
找到上述三种节点。波及度显著性度量的结果可以在
软件的开发初期指导软件系统的结构设计,在软件测
试和运行的过程中为软件维护提供参考。
参考文献
(References)
[1]
Vasa, R., Schneider, J.G., Woodward, C., et al. (2005) Detecting
structural changes in object oriented software systems.
Proceed-
ings of the
2005International Symposium on Empirical Software
Engineering
, 479-486.
[2]
Vasa, R., Schneider, J.-G. and Nierstrasz, O. (2007) The inevit-
able stability of software change.
Proceedings of the Interna-
tional Conference on Software Maintenance
, Paris, 4-13.
[3]
Girolamo, A., Newman, L.I. and Rao, R. (2005) The structure
and behavior of class networks
in object-oriented software de-
sign.
www.eecs.umich.edu/~leenewm/documents/classnetworks.pdf
[4]
程平
,刘伟,陈艳(2010)基于矩阵变换的软件可信性演化
波及效应
.
系统工程理论实践
,
5, 778-785.
[5]
Bohner, S.A. (1996) Impact analysis in the software change
process: A year 2000 perspective.
Proceedings of the1996Inter-
national Conference on Software Maintenance
, 42-51.
[6]
Bohner, S.A. (2002) Software change impacts: An evolving per-
spective.
Proceedings of the International Conference of soft-
ware Maintenance
, 263-272.
[7]
Hassan, A.E. and Richard, C.H. (2004) Predicting change pro-
pagation in software system.
Proceeding of the20th IEEE Inter-
national Conference on software Maintenance
,
9, 284-293.
[8]
Breech, B., Danalis, A., Shindo, S., et al. (2004) Online impact
analysis via dynamic compilation technology.
Proceeding of the
20
th IEEE International Conference on Software Maintenance,
9
, 453-457.
[9]
Malik, H. and Hassan, A.E. (2008) Supporting software evolu-
tion using adaptive change propagation heuristics.
Proceeding of
the
20
th IEEE International Conference on Software Main-
tenance
,
10, 177-186.
[10]
Chen, C.Y., She, C.W. and Tang, J.D. (2007) An object-based,
attribute-oriented approach for so
ftware change impact analysis.
Proceeding of the IEEE International Conference on Industrial
Engineering and Engineering Management
,12, 577-581.
[11]
王映辉,张世琨,刘瑜(2004)基于可达矩阵的软件体系结
构演化波及效应分析
.
软件学报
,
8, 1107-1115.
[12]
王映辉,王立福,张世琨(2006)一种软件需求变化追踪方
法
.
电子学报
,
34, 1428-1432.
[13]
Martin, R.C. (2003)敏捷软件开发–原则、模式与实践.清华
大学出版社
,
北京, 88-132.
|