梅永刚, 丁剑洁, 唐 黎
(1.西安邮电大学 学生处, 陕西 西安 710121; 2.陕西学前师范学院 数学系, 陕西 西安 710061;3.西安邮电大学 通信与信息工程学院, 陕西 西安 710121)
基于跟踪矩阵度量核心资产库若干性质的方法
梅永刚1, 丁剑洁2, 唐黎3
(1.西安邮电大学 学生处, 陕西 西安 710121;2.陕西学前师范学院 数学系, 陕西 西安 710061;3.西安邮电大学 通信与信息工程学院, 陕西 西安 710121)
针对核心资产库的度量问题,给出一种度量分析方法。通过复用跟踪矩阵记录核心资产的复用过程,定义核心资产一致性、产品相关性的度量及性质,结合软件生产线开发方式,对度量可能出现的结果进行分类解释。实例结果表明,该方法可以跟踪核心资产库的复用过程和复用程度,并且能筛选出一致性较高的核心资产集合,一致性较高的产品集合等。
软件生产线;核心资产库;一致性;相关性;度量;跟踪矩阵
软件生产线的开发是围绕核心资产库进行的,是一组具有公共的、可管理的特征集的软件密集系统的集合[1]。核心资产库作为生产线的生产资料,它的规模、质量、成本、覆盖率和复用性等性能直接体现了组织生产线开发模式的有效性,因此对核心资产库的多角度分析度量,是对其管理的重要内容。
目前,对核心资产库的度量主要是从核心资产的属性出发,涉及到核心资产的应用能力、功能相同性、非功能相同性、变化丰富性、以及可裁剪性等方面[2-3]。基于目标-问题-度量模式的软件生产线管理过程[4]以及核心资产的度量元指标[5-9],数据的来源和采集方式都比较模糊,对度量元指标缺少定量的定义与计算方法。生产线开发方式的优势在于可以实现最大化的复用,因此核心资产的复用性是衡量资产库质量的一项重要指标[10-12]。本文拟基于复用跟踪矩阵,给出若干核心资产的一致性和产品相关性的度量定义和方法。
假设在某个时间,将核心资产库中m个资产r1,r2,…,rm按照入库时间排序,记录时间、成本、来源、类型及特征等信息。将生产线已生产的n个产品p1,p2,…,pn按生产时间先后排序。
定义1[11]产品对核心资产的复用矩阵为
U=(uij)n×m,
其中uij为复用符。若产品pi使用核心资产rj,则uij=1,否则uij=0。
复用跟踪矩阵满足下列性质。
性质1U是包含0、1元素的矩阵,每新生产1个产品,矩阵增加1行,每增加1项核心资产,矩阵增加1列,即矩阵大小动态变化。
性质2uij的下标反应了相对顺序,i越大,表示产品pi开发的时间越晚;j越大,表示核心资产rj的入库时间越晚。
性质3矩阵越稀疏,表明核心资产库的整体复用率越低。
性质4核心资产rj的当前复用次数为
性质5产品pi复用的核心资产个数为
2.1定义与性质
核心资产的一致性是对核心资产的质量度量。生产领域的集中性,以及产品之间的相似性,使得核心资产之间存在一定的关系,它们并不是独立的,可以用一致性来反映它们之间的关系。基于复用跟踪矩阵,给出核心资产的一致性以及产品的相关性度量定义[12]。
度量1核心资产ri,rj的一致性为
其中n为产品对核心资产的复用矩阵中对应核心资产列元素的数量积。
定义2核心资产ri,rj的一致性矩阵
C=(cij)m×m,cij=C(ri,rj)。
同理,可以将两个核心资产的一致性度量扩展到多个核心资产的一致性度量。
度量2资产ri,rj,…,rl之间的一致性为
0≤C(ri,rj,…,rl)。
核心资产的一致性满足以下性质。
性质6两个核心资产的一致性表明了产品同时复用这两个资产的比例,因此cij满足
0≤cij≤1(i≠j)。
性质7所有产品同时复用两个资产时,这两个核心资产的一致性为1。
性质8若核心资产集合A和B的一致性度量分别为C(A)和C(B),且A⊂B,则成立
C(A)≥C(B)。
度量3产品pi,pj的相关性为
其中m为产品对核心资产的复用矩阵中对应产品行元素的数量积。
定义3产品pi,pj的相关性矩阵
R=(rij)n×n,rij=R(pi,pj),
0≤rij≤1(i≠j)。
同理,可以定义一组产品的相关性度量。
度量4产品pi,pj,…,pl之间的相关性为
0≤R(pi,pj,…,pl)≤1。
产品的相关性满足以下性质。
性质9两个产品的相关性表明了它们复用相同资产的比例,因此rij满足
0≤rij≤1(i≠j)。
性质10两个产品同时复用了所有核心资产时,这两个产品的相关性为1。
性质11若产品集合A,B对应的相关性分别为R(A)和R(B),且A⊂B,则成立
R(A)≥R(B)。
从上面的定义可以看出,一致性是针对核心资产定义的,表明一组核心资产被所有产品同时复用的比例;相关性是针对产品定义的,表明一组产品复用所有核心资产的比例,它们都是生产线开发方式复用性的体现。核心资产的一致性越高,表明它们被产品同时使用的可能性越大,产品使用越多的相同的核心资产,因此,核心资产库中资产的一致性愈高,表明这条生产线产品的相关性愈强。
2.2度量结果分析
(1) 核心资产的一致性
若度量结果较高,说明本组资产被同时使用的频率较高。需考虑在核心资产库中提供联合下载本组资产的功能,是否有合并资产的可能。
若度量结果较低,说明本组资产被同时使用的频率较低。
原因1资产性质本身适应于不同的应用领域。
原因2入库时间相隔较长,缺乏同时使用机会。
可以根据每个资产入库时的记录,如时间、成本、来源、类型和特征等信息判定,若是原因2引起的度量结果,则需进一步跟踪度量。
(2) 产品相关性
若度量结果较高,说明两个产品在开发过程中共享了较多的核心资产。若产品中出现了缺陷或风险,则需在另一个产品中及时排除或规避,考虑分享更多的产品管理经验。
若度量结果较低,说明两个产品在开发过程中没有共享较多的资产。
原因1产品性质。
原因2产品开发间隔时间较长,核心资产库规模限制。
可以根据产品的应用领域,具体架构模块等信息来判定,若是原因2引起的度量结果,则需进一步跟踪度量。
数据来源于某家软件公司[11],计划重新建立核心资产库以便适应生产线开发方式。新建核心资产库中资产12项,开发相关产品10项,对核心资产的一致性以及产品相关性进行分析,筛选出一致性较高的核心资产以及相关性较高的产品,为生产线的管理提供信息。
根据定义1,建立开发过程中的复用跟踪矩阵
根据度量1,计算出任意一对核心资产的一致性,给出定义2中的一致性矩阵
一致性较高的核心资产组有
(c2,c5)、(c5,c9)、(c6,c9),
可以考虑将它们合并,或提供联合下载功能。
根据度量3,计算任意一对产品的相关性,给出定义3中的相关性矩阵
相关性较高的产品组有
(p1,p7)、(p5,p6)、(p5,p7)、
(p5,p9),(p6,p8)、(p7,p9),
这些产品组在风险管理、后期维护过程中所采取的策略都有较高的复用可能,可相互参考。
引入复用跟踪矩阵记录了核心资产的复用过程,给出了多个核心资产的一致性,产品的相关性等度量定义及其相关性质,并对资产的一致性和产品的相关性度量可能结果进行分析解释。实例结果表明,该度量方法可以筛选出一致性高的核心资产和相关性高的产品,进而达到管理策略的复用。
[1]CLEMENTS P, NORTHROP L. Software Product Lines: Practices and Patterns[M]. Reading, MA: Addison-Wesley, 2002:9-12.
[2]JIN S H, JI H K, RHEW S Y, et al. A framework for evaluating reusability of core asset in product line engineering[J/OL]. Information and Software Technology 2007,49(7):740-760[2016-03-20]. http://dx.doi.org/10.1016/j.infsof.2006.08.008.
[3]ZUBROW D, CHASTEK G J. Measures for Software Product Lines[R/OL].[2016-03-20].http://www.sei.cmu.edu/publications/pubweb.html.
[4]丁剑洁,郝克刚,侯红,等,基于度量的软件生产线管理研究[J].计算机科学,2011,38(1):156-157. DOI:10.3969/j.issn.1002-137X.2011.01.036.
[5]金星波.基于软件库的软件生产线模型研究[J/OL].吉林大学学报:信息科学版,2014, 32 (4): 441-445[2016-03-20]. http://dx.chinadoi.cn/10.3969/j.issn.1671-5896.2014.04.019.
[6]宁安良,侯红,鱼滨,等,软件产品线度量及应用研究[J/OL].计算机应用与软件,2007,24 (9):60-63[2016-03-20]. http://dx.chinadoi.cn/10.3969/j.issn.1000-386X.2007.09.022.
[7]聂坤明,张莉,樊志强.软件产品线可变性建模技术系统综述[J/OL]. 软件学报. 2013,24(9):2001-2019[2016-03-20]. http://dx.chinadoi.cn/10.3724/SP.J.1001.2013.04433.
[8]张涛.软件产品线关键技术研究[D/OL].西安:西北工业大学,2006:4-126.http://cdmd.cnki.com.cn/Article/CDMD-10699-2007172238.htm.
[9]蒋涛,应晶,吴明晖,等.一种面向特征增量的软件产品线分析方法[J/OL].浙江大学学报(工学版),2009 ,43 (12): 2142-2148[2016-03-20]. http://www.cnki.com.cn/Article/CJFDTotal-ZDZC200912006.htm.DOI: 10.3785/j.issn.1008-973X.2009.12.003.
[10] 屈庆明,赵昊翔,潘金贵.基于生产线方式的软件开发[J/OL].计算机科学,2005,32(4):209-211[2016-03-20]. http://dx.chinadoi.cn/10.3969/j.issn.1002-137X.2005.04.064.
[11] 丁剑洁,郝克刚,王金柱.基于跟踪矩阵度量核心资产库复用性的方法[J].计算机应用与软件,2013,30(2):189-191.DOI: 10.3969/j.issn.1000-386x.2013.02.049.
[12] 丁剑洁.软件生产线度量技术应用研究[D].西安:西北大学,2012:3-114.
[责任编辑:祝剑]
Track matrix based measurement on a number of properties of core asset library
MEI Yonggang1,DING Jianjie2,TANG Li3
(1.Students’ Affairs Division, Xi’an University of Posts and Telecommunications, Xi’an 710121, China;2.Mathematic Department, Shaanxi Xueqian Normal Institute, Xi’an 7100061, China;3.School of Communication and Information Engineering,Xi’an University of Posts and Telecommunications, Xi’an 710121, China)
A measurement analysis is proposed for the measurement of core asset library. Based on the basis of reuse track matrix, the definition and properties of core assets consistency, product correlations are given combined with the software product line development to classify and explain the possible measurement results. Example results show that this method can track the reuse process of core asset library, reuse, and select set higher consistency core assets, high consistency of product collection, etc.
software product line, core asset library, consistency, relativity, measurement, track matrix
10.13682/j.issn.2095-6533.2016.05.011
2016-06-03
陕西学前师范学院科研基金资助项目(2013KJ060)
梅永刚(1979-),男,硕士,讲师,从事应用数学研究。E-mail:mygang@xupt.edu.cn
丁剑洁(1979-),女,博士,副教授,从事软件度量和软件过程管理研究。
TP311
A
2095-6533(2016)05-0055-04