2∞9 年 3 月
第 25 卷第 1 期
陕西教青学院学报
Joumal of Shaanxi Institute of Education
软件生产线核心资产库的演化分析
丁剑洁,刘洋
(陕西教育学院数理工程系,陕西西安 71∞61)
∞9
Vo1. 25
摘 要:核心资产库是软件生产线的核心组成部分,它随着组织业务、组织目标、技术革新以及时间等因素不
断演化。本文从核心资产库的度量出发,给出了和资产库演化相关的度量元及其形式化定义,根据各度量值的变
化分析了演化过程中资产库对应的不同状态,以及围绕诸状态所进行的不同活动,总结出核心资产痒的演化模型,
为软件企业开发生产线提供参考。
关键询:软件生产线;核心资产库:软件度量
中图分类号:1Y311. 52 文献标识码 :A 文章编号 :1∞8 - 598X(2009)01-∞81-03
1 号 l言
随着对软件生产线理论研究以及实践的深入,生产线带来的潜在经济价值也逐渐被认可,直口提高产品质量,控制生产成
本,保证按时交付产品等等[1]。软件生产线是一个软件密集型的系统集合,它们共享一个公共的、可管理的特性集,这些特性
可以满足特定市场任务的特殊需求,并且按照规定的方式从一个公共的核心资产库开发得到[2]。核心资产库是用来存放与
软件相关的任何制品,例如规格说明、设计、代码、用户文档资料等。自软件生产线概念提出以来,其研究多集中在生产线架
构、共性与可变性管理、应用与领域工程等;另外还有学者从组织视角出发,研究生产线的组织架构、角色和职能、组织学习、
变更管理、冲突管理、组织文化和组织承诺等等凶。其中也涉及到生产线演化过程[← 11] ,文献[6]提出了生产线能力成熟度模
型;而在核心资产库方面,只涉及到它的存放内容、管理以及度量等相关研究,并没有深入讨论核心资产库的演化过程。
核心资产库的演化指的是它所提供的核心资产在数量、质量、功能以及使用上的任何变化。本文从核心资产库的度量出
发,给出三个与生产线的演化息息相关的度量元:覆盖率、一致性和使用率,根据度量值的不同,将核心资产库分为四种状态:
宝藏、宝石、混合物和石头,同时指出不同状态之间的转换叉依赖于对核心资产库实施的各种开发活动,如丰富、精简和改进,
在此基础上,提出核心资产库的演化模型。
2 核心资产库度量
核心资产库的度量是软件生产线开发管理中必不可少的活动,它有助于组织管理核心资产、反映核心资产的使用状况、
帮助资产库管理人员及时调整开发活动的方向,保证资产库开发在组织的监控下保持稳定的性能。核心资产库的度量关注
点很多:规模、成本、质量、效率、回报率等等。文献[11]也给出了相关论述。本文重点关注和核心资产库的演化紧密相关的三
个度量元:覆盖率、一致性和利用率。
覆盖率
覆盖率是一种数量度量,描述生产线核心资产库的规模,用现有的核心资产数量和目标核心资产数量的比值来表示。
定义 1 CL == nL1NL ,其中 CL 表示生命周期覆盖率 , nL 袭 1 核心资产库多角度覆盖范围
为已经覆盖的阶段数目 , NL 为汁划覆盖的阶段数目: 角度 覆盖范围
cc = nclNc ,其中马表示类型覆盖率 , nc为己覆盖类型
数目 , Nc 为计划覆盖类型数目:
Cf = n/屿,其中 Cf :表示特征覆盖率 , nf 为已覆盖特征
数目 , Nf 为计划覆盖特征数目;
生命周期
类型
特征
Ca ==马/凡,其中 Q 表示应用覆盖率 , na 为已经覆盖的 应用
领域范围,凡表示计划覆盖的领域范围。
收稿日期 :2∞8-12-01;修回臼期 :2∞9-03 -06
基金项目:陕西教育学院科研基金项目 (07KJ42Q)
需求、设计、代码、测试、部署等
文档说明书、代码片断、组件、方案等
由领域决定的各种功能特征和非功能特征
产品的应用范围,如流程管理的生产线应用
范围有 OA 、αM等
作者简介:丁剑洁(1979- ),女,陕西韩城人,院西教育学院数理工程系讲师,工学硕士。
• 81 •
在论述核心资产库的覆盖率时,应从不同的角度出发,如生命周期、类型、特征、应用等,综合考虑其覆盖率,参看表 1。
定义 1 中给出了四种类型覆盖率的计算方法,前提是只有当核心资产的数量达到一定数量级时,计算结果才是有意义的。
另外,考虑到投资回报率以及维护核心资产库所需要的成本,一个软件生产线组织不会将软件开发生命周期的所有制品放在
核心资产库中,覆盖率会随着组织状况调整。
一致性
一致性是一种质量度量,描述一组核心资产在使用过程中的一致程度,实际上指的是它们在开发同一个产品过程中被同
时使用的概率。一致性表明核心资产之间是存在一定关系的。
定义2 若 C(C t> C2) 表示资产 CJ 与 C2 之间的一致性,则 C(C1 , C2) = P(C1Ic2) ,其中 P(C1 Ic2) 为条件概率,指的是使用
C2 时同时使用 C1 的概率。
利用牟
利用率描述的是核心资产在开发新产品中被使用的频繁程度。核心资产的利用率与生产线的生命期以及核心资产纳入
资产库的时间都是相关的。核心资产库的平均利用率取决于每个核心资产在已开发产品中的使用频率。在性能稳定且被良好
维护的生产线中,随着不断开发新产品,核心资产的利用率应该是整体逐步提高的。
定义 3 在某个时间段内,资产库中存在 t个资产,分别为 C]'C2 , "'C, 0若 U(Ci) 表示资产 Ci 在这段时间的利用率,则 U(CJ
= n; INi。其中 ni 表示在此段时间内使用资产 Q 开发的产品数目,问表示此段时间内共开发的产品数目, i 1,2 ,… , t o
3 核心资产库的不同状态
文献[5J根据覆盖率和一致性将核心资产库分为四种状态:宝藏、混合物、宝石与石头,它们表现出来的利用率也是不同
的,参见表 20
表 2 核心资产库状态与度量元之间的关系 宝藏,核心资产库中包括一系列制品,覆盖了软件开发生
状态 覆盖率 一致性 使用率 命周期的各个阶段,各个资产之间的一致性很高,并且包含丰
富的特征,被有机的存放在资产库中。此状态特点是覆盖率、石头 低 低 一致性和利用率都较高,生产线性能稳定。拥有此种核心资混合物 高 低 产库的组织容易获得高的利润回报率,拥有强有力的市场。宝石 低 高 混合物,核心资产库中包括一系列软件开发的制品,分布宝藏 高 高 在整个开发的生命周期,但是这些核心资产并不是一致的,各
个资产的关系很模糊,很难将这些资产按照某一维度来分类。通常拥有此类资产库的软件组织虽然已经确立了几个重要的
候选核心资产作为目标,但还不能期望得到很高的回报值。
宝石,核心资产相互一致但是数量不多,当一个组织想快速进入某个新的领域市场时,此种状态是最合适的选择。
石头,核心资产库中包含很少的制品,例如软件组件和设计丈档,但它们不是一致的。当组织进入某个市场遇到很大的
障碍,或者不确定某产品是否会有市场前景时,他们的核心资产库多处在此种状态。
核心资产库状态不是静止不变的,围绕组织目标,可对核心资产库进行一系列开发活动。
4 开发核心资产库的活动
核心资产库的开发围绕三种活动:丰富、精简和改进,它们
有不同的目标,同时对核心资产库存在不同的影响,参看表 30
丰富核心资产库即分析、归纳一个制品并将它加入到资
产库中,希望以后能为开发新产品提供应用 z精简指的是从核
心资产库中剔除某些制品,目的是减少冗余资产,缩短核心资
产的搜寻时间,提高利用率;改进活动指的是优化资产库的性
能,提高质量、易用性等,但它不会改变现有核心资产库的覆
盖率,例如将语言表达的业务逻辑改为 UML表示。
核心资产库的不同状态、不同活动与度量元的值之间是
存在关系的,参考图 1。
图 1 中的实线部分表示核心资产库的主要发展趋势。一
个成功生产线的核心资产库的变化有两个大的方向,规模由
小到大,质量由低到高。如图 1 中所示,最早的资产库是由零
散的制品构成,在其基础上丰富到一定的数量,进入混合物状
态,混合物并不利于资产的重复利用,需要资产库管理员进行
优化、精简,将有价值的部分保留,使得资产库变成一座宝藏,
当然随着市场需求的变化和自身业务的需要,有可能会精简
宝藏中一些利用率低的资产,进入宝石状态。不过,核心资产
. 82 .
表 3 开发目标与开展活动关系表
目标 开展活动
提高覆盖率 丰富
降低覆盖率 精简
提高一致性 丰富
提高使用率 改进、精简
E
丰富
图 1 核心资产库演化示意图
库的状态并不是线性发展,而是存在反馈与循环。例如,将宝藏、宝石过度丰富,不顾及资产的利用率,就可能使资产库退化
到混合物状态,参看图中虚线部分表示。所以理想的资产库状态应该在宝石与宝藏之间平衡,即保持高的覆盖率和一致性,
同时具有高利用率,要想达到这个目的,需要对核心资产库进行定期更新与维护,使其保持稳定的性能。
5 小结
在软件生产线开发方式中,核心资产库的开发是一项重要活动。核心资产库的性能直接影响到一条软件生产线的能力成熟
度。由于时间、业务范围、技术革新以及企业期望值等诸多因素的影响,核心资产库处在不断演化过程中。在核心资产库度量中
最能体现演化的度量元有核心资产库的覆盖率、一致性和使用率:本文介绍了资产库的四种状态:宝藏、宝石、混合物以及石头,
又将资产库的开发活动分为丰富、精简与改进。详细描述了核心资产库处在不同状态时,几个重要度量元值的变化,以及各个活
动与不同状态的转变关系,总结了核心资产库的演化模型,对核心资产库的开发和维护具有一定的指导意义。
[参考文献]
[1] FRAN∞ISC, RIα}ER C. A Product Line engineering practices n时el[J] .缸ence of 臼nputer pr咿四m咱, 2邸,57: 73
-87.
[2] C山MENf P, NOR古-IROP L. Software Product Lines: Practice and Pa阳ns[M]. Addison-Wesley , 2∞1:608.
[3] FAHEEM A, LUIZ F C, SHAHBAZ A S. Institutionalization of software 伊世uct line: An empirical investigation of key orga.-
factors[]]. The Jownal of Systems and Software , 2∞7,部: 836-849.
[4] 弘MlÆL A A, ALI B. K. E叫ution s叩port mechanisms for software prr由ct lìne 阴回思远[J).币le]∞rnal of Systems and
Softw配,2∞8 , 81:17:归 -1801.
[5] MARI 1, YOSHIAKI F. Software Product Line Evolution Mett时Based on Kaizen Approach,SAC'07 ,March 11-15 , 2∞7
ACM 1 - 59593 - 480 - 4107 I锁则3.
[6] AHMED F , CAPRETZ L F , SAMARABANDU J. Fuzzy inference system for software 阴。duct family process evaluati∞[]] .
Infonnation 每ien恼, 2∞8 , 178:2780 - 2793.
[7] AJlLA S A, DUMITRESCU R T. E鸡:lerÌmental use of code delta , α对e chum , and rate of changeωunderstand software
pr叫uct line evolution[]]. The Journal of Systems and Software , 2007 ,80: 74 -91.
[8] HER J S, LIM J H , OH S H, RHEW S Y, KIM S D. A frame飞IYOrk for evaluating reusability of ∞re 挺配t inp宜oduct line en-
阴阳i昭[JJ. Infonnation and Software Techno国y, 2∞7 , 49: 740-760.
[9] 四JSHJ , SVAf时BERGM. E咽.lution in software 严oouct lines[J]. Journal of Software Maintenance, 1师9 , 11 (6): 391-
422.
[10] BAlLETTI A] , AJlLASA, DUMITRE缸URT. E玛JerÌence report on the effect of market 同n>ition ∞防oduct linee即
lution.τbe2仪)4 IEEE Int四 Confer四ce on Infonnation R.巴.ISe and Int,句归,tion , (IEEE IRI - 2;仪)4), Nov.四lb缸 8
10 , 2创)4[C]. Las V句恼, NV, USA, -156.
[11] AJlLA S A, KABA A B. Using traceability mechanismsωsup归.rt software product line evolution. In: The 20ωlEEE In-
termtional û>nference on Infonnation Reuse and Int喀ration (IEEE JRJ - 2∞4) , November 8 -10 , 2∞4[C]. Las Vegas,
NV, USA , pp. 157-162.
[12] 宁安良,侯缸,等.软件产品线度量及其应用研究[J].计算机应用与软件,2∞7 , 24(9).
[责任编辑朱截然]
R臼earch on 由e core Asæt Library' s Evolotion in Software Prodoct Line
DING Jian-jie , LIU Yang
( and Physical Dt平缸tment , Shaanxi Jnstitute of Education,觅'an 71创>61 , Chiæ)
Abstract: The ∞re 邵阳 libr缸y is the most important ∞mponent of software product line; it evolv,臼
臼.ponded to organization busine岱, origination object , technol鸣y renovation and time. From the metric of the
∞re asset library, this paper shows severa1 m四surements which are ∞rrelative with evolve of ∞阻挡set libr.缸y ,
d配ribes the different stat臼 of library aα刀,rding the change of measurement' s va1ue , analyz臼 the difference ac-
tivities to improving the perforrnance of ∞re asset library and pro严沼臼由e evolve model of ∞re asset library.
τb臼e works favor for the organi臼tion develop software product line.
Keywl倒也: software prc对uct line; ∞,re 臼set library; softw缸e measurement
• 83 •