|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
摘要:识别关键类可以帮助人们尽快理解不熟悉的软件系统.尽管目前已有一些关键类别识别方面的工作,但是大部分方法构建的依赖图是无权的,未考虑类之间交互的种类及次数,有鉴于此,提出了一种基于软件网络加权k-核分析的关键类识别方法.首先,用加权类耦合网络抽象类(接口)、类(接口)间的交互及其次数;然后,引入加权K-核分解方法计算类的加权核数;最后,以加权核数作为类重要性的量度指标,降序排列所有类,并通过过滤得到候选关键类.真实软件上的数据实验验证了本文方法的有效性.
( w$ H5 _+ P' l5 f: w3 q
( @9 P8 h$ o! ^$ D- E关键词:关键类;加权k-核分解;软件网络﹔程序理解$ i) R. S/ O* A7 \" F
. A/ k% i% C8 R1 B. g 软件维护是软件生存期中一项频繁进行的活动,自其第一个版本发布之后便开始,占了软件总预算的90%以上.要维护软件,首先必须理解软件.然而理解软件并不是一件容易的事情,特别是当软件变得异常复杂而分配给维护的人力、物力等资源又比较稀缺的时候,理解软件更是难上加难.类是面向对象软件的基本组成单元,是理解和维护的主要对象.关键类作为实现系统核心功能的类,更是软件理解的重点.选择从关键类开始分析和理解软件已成为理解复杂软件的有效方式之一.因此,提供有效的技术,识别软件中的关键类,对于分析和理解软件,进而控制和降低维护费用具有重要意义.8 O4 M7 v+ M7 c4 V! V6 r2 f7 W: ^
$ ^) t4 X1 B+ P, `8 ~
?( T3 ~; {, o
+ c' U- ?1 x( L+ E
! Z \! }: v& F* O# t
8 ?: X4 {. u! W6 w. b6 V, ^
. C8 E7 G$ ]- o* t
! t& v0 o8 y" X$ _( E7 I2 h
, [$ f+ {% c3 R( ~' k- v- ~) h
8 ?) M5 u Y1 |% v; M. I |
|