论文部分内容阅读
[摘要]软件重用一直被视为软件开发过程中解决开发问题的方法。软件构件库的产生为软件重用提供有力的支持。基于软件构件库,很多开发组织提出基于构件开发过程的软件工粗。但是在构件开发过程中很少有开发组织提出构件查询过程。对当前的适用于大型构件库的构件查询过程进行改进。这种改进后的构件查询过程能更好地用于小型构件库。
[关键词]软件复用 基于构件的软件工程 软件过程改进 构件查询过程
中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0810065-01
软件重用一直被视为软件开发过程中解决开发问题的方法。重用可以提高软件开发的生产效率和质量,并且很多项目组宜称从中获益匪浅。研究者们提出了一些怎样查询合适的可重用构件的过程。Motisio提出一种改进的构件过程。Ivica Crnkovic提出了怎样提高构件开发可靠性的方法。Poulin提出了一种概括性的查询过程,包括几种通用的测试候选的可重用构件是否合适的标准。Boloix和Robillard提出了一种通用的测试软件产品、过程和对项目开发有影响的框架,Kontio提出了一种可重用OTS构件的查询过程OTSO,该过程分为选择、展示、评定、决策、实现和测试6个阶段。作者认为,Kontio提出的OTSO过程周期长,用于管理成本较高,不适合用在小型构件库(构件数量不超过300)中,因而在此基础上,作者提出了快速的软件构件查询过程(Reusable Component Selection Process,RCSP)。
一、可重用构件查询过程(RCSP)
可重用构件查询过程如下图所示,该过程分为3个子过程:查询、评估、分析。可重用构件查询过程中引用了Kontio提出的构件标准定义子过程,构件标准定义子过程将项目重用目标分解为标准。这些标准将按照可重用构件查询过程的子过程进行情况,提供给子过程使用。提供给查询子过程的标准是构件指导信息,即藉要什么样的构件。提供给评估子过程的信息是标准定义信息,这些信息比构件指导信息更细更完备。提供给分析子过程的信息是经过评估子过程完善的构件标准信息。下面将分别介绍可重用构件查询过程的3个子过程。
(一)查询子过程
目标:查找出满足评估标准的可重用构件,将查询结果展示出来,并送交评估子过程进行处理。
输入:外部构件库和构件指导信息。外部构件库指项目开发使用的构件库和第三方构件库。构件指导信息指由定义评估标准子过程生成的构件信息,这些构件信息描述了需要什么样的构件。
输出:构件列表,该列表包括:
(1)构件的名称;(2)构件作者和来派;(3)构件制作时间;(4)构件入库时间;(5)构件版本号;(6)使用平台;(7)应用领域;(8)功能;(9)表示方法;(10)形态;(11)层次;(12)上下文环境;(13)尺寸;(14)制作工具。
如果在查询过程中,无法找到所需构件,那么将导致需求变更。查询子过程会出现的一个问题是:何时查询应该结束和找到所有的构件?该问题的解决办法是,使用多个构件库,一次查询的时间不超过1天,浏览每次查询的结果。如果在多个搜索源下每次查询结果都一样,那么可以认定不需要额外的查询了。
(二)评估子过程
目标:通过评估标准评估查询得到的构件。
输入:查询得到的构件和标准定义。定义评估标准子过程向评估子过程发出的标准是分级的重要度评估标准。该标准的具体含义是,按照查询子过程的查询标准反馈信息,对构件按重要程度分级。按重要程度分级的好处是尽可能地减少评估时间。
输出:量好的评估结果,该结果将作为数据存储点,以文档的形式供分析子过程使用。
(三)分析子过程
目标:决定在项目中使用哪些构件。
输入:评估得到的构件、其对应的评估数据和查询评估标准。
输出:文档化的构件使用信息。这些构件使用信息将包含构件名称、构件来源、构件特征以及构件评估数据。这些信息将提交给项目经理决定使用那些构件。
二、RCSP算法
(一)RCSP算法设计
RCSP算法包括了方法:define(),query(),evaluate(),analyze(),
这些方法用于生成构件评定标准、查询构件、评估构件标准和分析构件数据。算法物人为:外部构件库、项目规约和项目约束。算法拍出为:构件查询报告、供项目开发人员浏览最终被选定的构件。
int rcsp (mmpntDB,specific,rnnstrain)(
mmpntStand=define (specific,constrain);
while(!compntStand)(
mmpnt~query (mmpntDB,compntStand);
display (mmpnt,infor);
compntStand=define (compntStand,compnt. infor),
for( mmpntNo=),i!fit ( compnt. infor,compnt-
Stand),mmpntNo++)(
compntQuatt=evaluate (compnt,compnt5tand),
StandDiscrip~define(mmpntStand,
MmpntQuatt)
)
)
compntReport=analyze (mmpntQuatt,standDiscrip),
return mmpntReport i
(二)RCSP算法分析与实现
当查找到N个构件时,外层while循环所摇的时间复杂度为O(N),加上内层for循环需要的时间负责度,整个算法的时间复杂度为O(N2)e算法实现是基于SUN公司的NetBeans平台下GUI编程。RCSP方法在构件库内构件数量小于1000个的情况下,复杂度低于Kontio的OTSO,但比Ivica Crnkovic提出的方法要高,如下图所示。
三、结束语
通过与4位学者的研究成果相比较得知,可重用构件查询过程的评定标准适用于小型构件库(构件数不超过1000个)。所以接下来的工作是要提高构件查询的标准和过程的可复用性,使其更适合用于大型构件库。
参考文献:
[1]杨芙清、梅宏、李克勒,软件复用与软件构件技术,电子学报,1999,2(2).
[2]李禹材、王玲,一种子领域通用构件的开发方法,计算机工程,2006,32(9).
[3]黄凯,荃于Eclipse体系的构件开发管理平台的设计实现,科学技术与工程,2005,14(5).
[关键词]软件复用 基于构件的软件工程 软件过程改进 构件查询过程
中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0810065-01
软件重用一直被视为软件开发过程中解决开发问题的方法。重用可以提高软件开发的生产效率和质量,并且很多项目组宜称从中获益匪浅。研究者们提出了一些怎样查询合适的可重用构件的过程。Motisio提出一种改进的构件过程。Ivica Crnkovic提出了怎样提高构件开发可靠性的方法。Poulin提出了一种概括性的查询过程,包括几种通用的测试候选的可重用构件是否合适的标准。Boloix和Robillard提出了一种通用的测试软件产品、过程和对项目开发有影响的框架,Kontio提出了一种可重用OTS构件的查询过程OTSO,该过程分为选择、展示、评定、决策、实现和测试6个阶段。作者认为,Kontio提出的OTSO过程周期长,用于管理成本较高,不适合用在小型构件库(构件数量不超过300)中,因而在此基础上,作者提出了快速的软件构件查询过程(Reusable Component Selection Process,RCSP)。
一、可重用构件查询过程(RCSP)
可重用构件查询过程如下图所示,该过程分为3个子过程:查询、评估、分析。可重用构件查询过程中引用了Kontio提出的构件标准定义子过程,构件标准定义子过程将项目重用目标分解为标准。这些标准将按照可重用构件查询过程的子过程进行情况,提供给子过程使用。提供给查询子过程的标准是构件指导信息,即藉要什么样的构件。提供给评估子过程的信息是标准定义信息,这些信息比构件指导信息更细更完备。提供给分析子过程的信息是经过评估子过程完善的构件标准信息。下面将分别介绍可重用构件查询过程的3个子过程。
(一)查询子过程
目标:查找出满足评估标准的可重用构件,将查询结果展示出来,并送交评估子过程进行处理。
输入:外部构件库和构件指导信息。外部构件库指项目开发使用的构件库和第三方构件库。构件指导信息指由定义评估标准子过程生成的构件信息,这些构件信息描述了需要什么样的构件。
输出:构件列表,该列表包括:
(1)构件的名称;(2)构件作者和来派;(3)构件制作时间;(4)构件入库时间;(5)构件版本号;(6)使用平台;(7)应用领域;(8)功能;(9)表示方法;(10)形态;(11)层次;(12)上下文环境;(13)尺寸;(14)制作工具。
如果在查询过程中,无法找到所需构件,那么将导致需求变更。查询子过程会出现的一个问题是:何时查询应该结束和找到所有的构件?该问题的解决办法是,使用多个构件库,一次查询的时间不超过1天,浏览每次查询的结果。如果在多个搜索源下每次查询结果都一样,那么可以认定不需要额外的查询了。
(二)评估子过程
目标:通过评估标准评估查询得到的构件。
输入:查询得到的构件和标准定义。定义评估标准子过程向评估子过程发出的标准是分级的重要度评估标准。该标准的具体含义是,按照查询子过程的查询标准反馈信息,对构件按重要程度分级。按重要程度分级的好处是尽可能地减少评估时间。
输出:量好的评估结果,该结果将作为数据存储点,以文档的形式供分析子过程使用。
(三)分析子过程
目标:决定在项目中使用哪些构件。
输入:评估得到的构件、其对应的评估数据和查询评估标准。
输出:文档化的构件使用信息。这些构件使用信息将包含构件名称、构件来源、构件特征以及构件评估数据。这些信息将提交给项目经理决定使用那些构件。
二、RCSP算法
(一)RCSP算法设计
RCSP算法包括了方法:define(),query(),evaluate(),analyze(),
这些方法用于生成构件评定标准、查询构件、评估构件标准和分析构件数据。算法物人为:外部构件库、项目规约和项目约束。算法拍出为:构件查询报告、供项目开发人员浏览最终被选定的构件。
int rcsp (mmpntDB,specific,rnnstrain)(
mmpntStand=define (specific,constrain);
while(!compntStand)(
mmpnt~query (mmpntDB,compntStand);
display (mmpnt,infor);
compntStand=define (compntStand,compnt. infor),
for( mmpntNo=),i!fit ( compnt. infor,compnt-
Stand),mmpntNo++)(
compntQuatt=evaluate (compnt,compnt5tand),
StandDiscrip~define(mmpntStand,
MmpntQuatt)
)
)
compntReport=analyze (mmpntQuatt,standDiscrip),
return mmpntReport i
(二)RCSP算法分析与实现
当查找到N个构件时,外层while循环所摇的时间复杂度为O(N),加上内层for循环需要的时间负责度,整个算法的时间复杂度为O(N2)e算法实现是基于SUN公司的NetBeans平台下GUI编程。RCSP方法在构件库内构件数量小于1000个的情况下,复杂度低于Kontio的OTSO,但比Ivica Crnkovic提出的方法要高,如下图所示。
三、结束语
通过与4位学者的研究成果相比较得知,可重用构件查询过程的评定标准适用于小型构件库(构件数不超过1000个)。所以接下来的工作是要提高构件查询的标准和过程的可复用性,使其更适合用于大型构件库。
参考文献:
[1]杨芙清、梅宏、李克勒,软件复用与软件构件技术,电子学报,1999,2(2).
[2]李禹材、王玲,一种子领域通用构件的开发方法,计算机工程,2006,32(9).
[3]黄凯,荃于Eclipse体系的构件开发管理平台的设计实现,科学技术与工程,2005,14(5).