|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
摘要:软件系统是一类典型的人工参与的复杂系统,理解软件系统的演化规律有助于更好地指导软件工程实践.本文从包、类和特征三个粒度上构建软件系统的网络模型,利用复杂网络理论依次从网络规模、质量、结构控制三方面定量分析软件系统演化规律.以经典的Lehman演化定律为基准,对比软件系统在不同粒度下的演化差异.研究结果表明:(1)不同粒度下软件系统表现出的演化特性有所不同,其中在类粒度下效果更好;(2)持续增长、持续变化、自我调节和主体维持四项定律表现出与构建软件网络的粒度无关;(3)包粒度下系统演化对软件质量影响不大,而反馈系统定律仅在类粒度下成立.
/ _) @' ^; P$ G1 {! K; I2 w: {& {9 Z4 e& \- F8 `
关键词:软件演化;软件网络;复杂网络;复杂系统
: R1 @- @) k! M% G6 D8 d2 v: ?) b% v! a+ x; {& e$ a
在软件工程中,软件系统经历着“改进-保持-更新”的迭代生长节奏.这一过程中表现出的特性对提高软件系统的鲁棒性和适应性提出了新的挑战,关系到软件生态系统的可持续发展,且与软件开发与维护成本控制息息相关.众所周知,软件维护成本占总投入的70%以上.因此,探索软件的演化特性有助于降低软件开发维护成本,但同样也极具挑战性.
5 q8 m$ I5 y W7 B+ ~5 |1 I& e* }4 y& D9 r" X2 C" J0 I* r+ y, O
' f1 h' u- K0 ?* O/ ]- \& r8 O
: S; f; P9 H; q
' M1 m' |3 R7 k$ V7 @$ G |
|