云南大学研究生科研课题资助项目结题报告书已填写_第1页
云南大学研究生科研课题资助项目结题报告书已填写_第2页
云南大学研究生科研课题资助项目结题报告书已填写_第3页
云南大学研究生科研课题资助项目结题报告书已填写_第4页
云南大学研究生科研课题资助项目结题报告书已填写_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 编号:ynuy201030云南大学研究生科研课题资助项目结题报告书项目名称:基于超协调逻辑的软件演化需求建模申请人:谢仲文 所 在(院) 系:软件学院 申 请 人 电 话指导教师:李彤 填表日期:2011-10-25 云南大学学生科技创新与创业计划领导小组办公室制2011年11月5填 表 说 明1、凡列入我校学生创新与创业行动计划的各类项目,结题时均须如实填报本报告书。2、项目编号请按照云南大学研究生科研课题资助项目合同书的编号填写。3、本报告书请用a4纸打印,报送一式3份(纸质两份,电子版一份,电子版以光盘方式提交)。4、本报告书请用230克浅蓝色皮纹纸做封面,并

2、采取胶装方式装订。5、本报告书须附有学院评审验收的相关材料。 6、以附件方式提交相关成果复印件,并按照以下顺序装订: (1)在研究期内发表的与课题有关的论文的复印件; (2)在研究期内与课题有关的成果获得奖励的证书复印件; (3)在研究期内发表的与课题有关的论文被sci、ssci 、ei 、 istp 、isshp、cssci收录的证明或被人大报刊复印资料收录的论文复印件;(4)因成果转让获得收入的证明材料; (5)与课题有关的其他应提供的材料。最终成果名称基于超协调逻辑的软件演化需求建模:项目研究报告和系列论文研究类别一般项目 重点项目成果形式研究报告和论文出版单位、时间ieee等出版社,2

3、011.5等出版时间成果字数2万余字成果去向及使用范围研究成果分别被ei、cnki等国内、外重要检索机构和数据库收录云南大学研究生科研课题资助项目合同书中填写的预期成果及形式预期研究结果为项目研究报告,并发表论文3-5篇(其中核心期刊1-2篇)。本项目的阶段性成果序号成果名称成果形式作者发表或应用单位及时间1an approach to modelling and managing software process resources.论文谢仲文,李彤,代飞,等ieee出版,2011年5月(ei 收录,accession number: 20113914379107)2基于特征组合的软件需求建

4、模论文谢仲文,李彤,代飞,等计算机科学,已录用,将于2012年第1期刊出,核心期刊正刊,cscd核心收录3传媒公司(杂志社)业务管理系统v1.0,登记号: 2011sr007932.软件著作权秦江龙,谢仲文,代飞中华人民共和国国家版权局,2011年2月18日4一种基于结构熵的软件演化过程规范化度量方法论文刘金卓,廖鸿志,谢仲文(美国)科学与教育出版社,2010.125软件再工程的系统分析论文刘金卓,廖鸿志,谢仲文(美国)科学与教育出版社,2010.126the application research of bankers algorithm for resources management

5、in software evolution processes论文金运志,李彤,谢仲文,等(美国)asme press出版,2011年8月(即将被ei收录)项目负责人及主要参加人员项目负责人姓 名谢仲文性别男出生年月1982.6技术职务博士生贡献主持本项目的研究,完成项目的核心内容,并突破项目研究的难点,主笔项目研究报告和2篇学术论文,参与所有学术论文的撰写项目主要参加人姓名单位技术职务主要贡献金运志云南大学软件学院硕士生算法研究,并主笔发表论文1篇高提雷云南大学信息学院硕士生建立模型,并参与论文撰写卢萍云南大学软件学院硕士生层次协调性研究,并参与论文撰写刘金卓云南大学软件学院博士生系统分析和

6、度量研究,并主笔发表论文2篇最终成果简介(基本内容、学术价值、社会效益等)在本项目的支持下,产生的主要学术成果的基本内容、学术价值、社会效益等情况如下:1、基本内容:为了建模包含非协调信息的软件演化需求,提出一个超协调的软件演化需求元模型,其主要部件包括:特征、演化需求和演化意图。首先,分析了演化需求的五个重要特征;其次,在形式定义特征的基础上,研究了特征之间的协调、层次和交叠关系;第三,在分析特征属性间的依赖和互斥关系基础上,形式定义演化需求和演化意图,使得演化需求能包含非协调信息而演化意图必须完整和一致;第四,把演化需求规范化为演化需求第一范式(1ernf)到第四范式(4ernf),演化需

7、求规范化的过程提供了一种将演化需求转化为演化意图的方法。结果表明,提出的元模型可以有效支持演化需求的五个重要特征,进而为提高软件演化实施的质量和效率奠定基础。(具体内容,详见项目研究报告)2、学术成果:在课题的支持下,发表的学术论文之中已有1篇被ei收录(成果1),有1篇即将被ei收录(成果5),有1篇已被核心期刊的正刊录用待发表(成果2),另有2篇一般的学术会议论文(成果3和4),具体论文如下:1 zhongwen xie, tong li, fei dai, jianglong qin, yunzhi jin. an approach to modelling and managing s

8、oftware process resources. proceedings of 2011 3nd international conference on the communication software and networks (iccsn 2011), may 27-29, 2011, xian, china, v5:387-390. (ei 收录,accession number: 20113914379107)2 谢仲文,李彤,代飞,等. 基于特征组合的软件需求建模. 计算机科学,已录用,将于2012年第1期刊出(核心期刊正刊,cscd核心收录)3 刘金卓,廖鸿志,谢仲文. 一

9、种基于结构熵的软件演化过程规范化度量方法.计算机与系统工程教学研究论文集,(美国)科学与教育出版社,2010.12,222-228.(第三作者)4 刘金卓,廖鸿志,谢仲文. 软件再工程的系统分析.计算机与系统工程教学研究论文集,(美国)科学与教育出版社,2010.12,253-258.(第三作者)5 yunzhi jin, tong li, zhongwen xie, dai fei, jinzhuo liu, the application research of bankers algorithm for resources management in software evolution

10、 processes. proceedings of the 2011 3rd international conference on mechanical and electrical technology(icmet 2011), august 2011,257-262(即将被ei 收录)3、社会效益和其它成果:1 合作开发完成的软件获软件著作权登记证书,登记号: 2011sr007932.(软件名称:“传媒公司(杂志社)业务管理系统 v1.0”,著作权人:秦江龙;谢仲文;代飞),2011年2月18日2 项目主持人谢仲文获评第六届岳虹研究生奖学金一等奖,2010年12月3 项目主持人谢仲文

11、通过系统分析师(高级职称资格)考试,位列该项考试云南省全省第一名,2011年5月项目经费总决算(单位:元)校拨经费其他经费来源及数额类别年度合计2010年2011年年年合计3403.106596.90图书资料费853.101555.90调研差旅费2125成果印刷费100.00190小型会议费成果鉴定费论文版面费2450.002600.00其他50.00项目指导老师审查验收意见 (签章) 年 月 日(研究成果正文打印)项目研究报告:一个超协调的软件演化需求元模型需求工程(requirements engineering)是软件工程的一个重要研究方向1。通常,软件需求是由特定组织内具有不同职能和角

12、色的一组人群各自需求的复杂组合,或者是运行环境中的各种因素的一种复杂组合2,3。软件演化(software evolution)现象从上世纪60 年代发现以来,一直受到人们的关注4,5。随着软件系统规模的增大,软件演化的重要性和普适性越来越强6。软件演化促使软件产品逐渐走向成熟,而驱使软件演化的源动力是软件演化需求(requirements for software evolution)。但与软件的需求和演化相比,软件演化需求(简称演化需求)却常被忽略。演化需求,作为软件演化和需求的交叉点,已越来越显得重要:首先,演化需求是软件演化的源头,为演化的实施奠定基础;其次,对演化需求的研究是对需求工

13、程理论的扩充和完善。演化需求元模型抽象出演化需求的本质特性,并描述与其相关的概念及关系,是用来定义演化需求的工具。但传统的需求建模方法有一个约束条件:要求需求必须满足一致性3,7。然而,大量的实践表明,需求本身具有易变性2,3,随着软件系统规模扩大,尤其在软件演化过程中,需求之间经常是非协调的。文献7,8认为非协调性的存在是有好处的:有利于从多方面去考察需求;有利于进一步说明系统需要如何演化;有利于调动各个参与软件演化的角色的积极性等。超协调性是指能描述非协调信息,并避免平凡推理现象7。超协调的演化需求元模型是一个能描述包含不一致信息的演化需求建模工具,使得可以适当地处理不协调信息,以便于对具

14、有动态性和易变性的演化需求进行建模。本文把演化需求和演化意图区别对待,提出一个超协调的演化需求元模型rsemm(requirements for software evolution meta-model),以支持包含非协调信息的演化需求建模,并最终将其转化为一致、完整的演化意图,作为软件演化实施的输入。1 软件演化需求的特征通过观察和分析,本文总结出软件演化需求的以下五个重要特征。第一,超协调性。前文已对超协调性进行了说明,这里要进一步指出,演化需求往往包含许多视角,每个视角包含一组特征,不同视角的特征之间可能存在非协调性,因此,演化需求必须能描述非协调信息。但是,引入超协调性并非目的,而只

15、是手段。本文把演化需求和演化意图区别对待,演化需求可以是非协调的,但最终由演化需求得到的演化意图必须是一致的;建模的过程(特征和演化需求)是允许非协调信息的存在,但建模的最终结果(演化意图)必须是一致的。第二,层次性。演化需求具有不同的颗粒度,粗粒度的需求可以是细粒度需求的抽象,也可以是由细粒度需求组合而成;细粒度的需求可以是粗粒度需求的求精,也可以是粗粒度需求的一部分。颗粒度的粗细构成了演化需求的层次性。第三,依赖性。需求之间存在着相互的依赖性,一个需求的无法实现可能导致其它需求也无法实现,一个需求的改变也可能影响到其它的需求。第四,易变性和动态性。由于需求本身具有动态性和易变性,而演化需求

16、的动态性和易变性就显得更加突出,即演化需求是一直在动态变化着的。第五,不公平性。由于演化需求来自许多不同的角色,不同的角色处于不同的地位,这导致了软件演化需求之间优先级的不同。2软件演化需求元模型的设计思路对需求的建模主要有以下几种方法9:面向目标的方法,面向主体和意图的需求方法,基于情景的方法,问题框架方法,基于uml的需求建模方法,面向特征的需求分析方法等。这些方法都不支持超协调性建模。目前工业界主流的方法是基于uml的需求建模方法;而自从特征2,3,10的概念被提出来以后,面向特征的需求方法受到广泛关注:从最初特征仅局限于捕捉领域需求,到目前特征的概念被广泛用于描述需求11和构件12。考

17、虑到特征的以上特点,以及其在区分共性和个性特征方面的优势,本文将特征作为需求模型的基本部件。选定特征作为基本部件之后,当进行rsemm的设计时,还需考虑以下因素:第一,rsemm应该体现软件演化需求的重要特征;第二,由于超协调性在软件演化需求中的重要性,rsemm应显式支持超协调性;第三,逻辑语言作为元语言适合于描述演化需求元模型;第四,经典二值逻辑无法描述非协调信息,所以需要使用超协调逻辑系统。理论上,要使逻辑系统具有超协调能力有五种途径7:第一,引入新逻辑运算符号;第二,改变原有逻辑符号的标准行为;第三,废止或改变一些推理规则;第四,重新定义整个证明系统;第五,引入不同的逻辑真值。其中引入

18、多值逻辑系统是最自然和直观的方法;但是若引入的值过多,又将使逻辑系统过于复杂;因此,本文拟采用三值逻辑,引进第三逻辑值表示不确定状态。即在本文中,用t表示真,f表示假,i表示不确定的中间值。3软件演化需求元模型rsemm在设计思路指导下,本节提出演化需求元模型rsemm,其部件包含特征、演化需求和演化意图。3.1 特征面向特征的需求分析方法把特征作为问题空间的基本元素,使用特征以及特征之间的关系来组织问题空间10,11。目前关于特征尚无统一定义。文献12认为:特征是描述客观世界知识的本体,表现为描述特定应用领域所提供服务的术语或概念。本文形式化地给出软件演化需求中特征的定义:定义1(特征)一个

19、特征是一个五元组f=,其中:(1) fid是一个特征的唯一标识,在同一个软件项目中任意两个特征的fid互不相同;(2) r称为特征fid的特征域,是一个一阶三值谓词公式的集合,表明该特征所关心的需求的性质集合,且该特征不关心不属于集合r的公式所代表的性质;r中的每一个公式称为特征fid的一个特征属性;(3) t称为特征fid的真特征域,是r的一个子集,t中的所有公式取值为真,t表明特征必须具备的性质(属性);(4) i称为特征fid的超协调特征域,也是r的一个子集,且满足ti=,i中的所有公式取值不确定,i表明特征尚未确定的性质;由于i的引入,使得特征具有超协调性(相对于经典二值逻辑要求非真即

20、假的刚性);(5) e称为特征fid的扩展点,必要时可对特征进行扩展,或者用于描述特征的其它信息,比如特征的优先级、类型、绑定时间等;为了使模型简化,本文不考虑e代表的具体含义。在定义1中并没有给出特征域中取值为假的公式的集合,因其可通过集合运算(r-t-i)求得。定义2(特征家族)一个特征家族是一个特征的集合,集合中的所有特征的特征域r相同。特征家族中的所有特征的特征域r都相同,一个特征家族的所有特征构成一颗特征树,其根节点特征满足i=r,其叶子节点特征满足i=,每一个节点是对特征域r中的属性的一次三值赋值。一个特征域确定了一个特征家族。定义3(特征空间)给定一个特征域r,由所有特征域是给定

21、特征域r的子集确定的特征家族的集合构成了特征域的特征空间。定义中,特征空间中所有特征的特征域都是r的子集。一个特征域确定了一个特征空间。若特征域r有n个元素,则该特征空间包含2n个特征家族。3.2 特征间的协调关系由于使用三值逻辑,协调性的定义将与经典二值逻辑有所不同,而且比经典二值逻辑的协调性更加复杂。本文将特征间的协调关系分为强协调和弱协调,下面分别给出其定义。本文用符号f1.r表示特征f1的特征域r,其余类似。定义4(强协调)给定两个特征f1和f2,称它们是强协调的,当且仅当满足以下条件:对任意一个属于f1.rf2.r的公式g,必有(gf1.tgf2.t)(g(f1.(r-t-i)g(f

22、2.(r-t-i)成立。强协调要求属于两个特征的共同特征域的性质已确定且一致:要么该性质是两个特征都需要的性质,要么该性质是两个特征都不能拥有的性质。定义5(弱协调)给定两个特征f1和f2,称它们是弱协调的,当且仅当满足以下条件:对任意一个属于f1.rf2.r的公式g,必有(gf1.i)(gf2.i)成立。弱协调要求属于两个特征的共同的特征域的性质至少有一个还没有被确定,这就保证了这两个特征之间在共同性质上至少不会存在矛盾。定义6(协调)强协调和弱协调统称为协调。给定两个特征f1和f2,若它们若不满足协调的定义,则称它们是矛盾的或不一致的。3.3 特征间的层次关系由特征家族的定义可知:一个特征

23、模型构成一颗树。同一家族内的特征之间是有层次关系的。一般而言,祖先特征是子孙特征的抽象,子孙特征是祖先特征的求精。即祖先特征的尚未确定的性质比子孙特征的尚未确定的性质要多。定义7(特征家族的阶)对于由特征域r确定的特征家族,r的元素个数称为该特征家族的阶。定义8(特征在家族中的层)一个特征在其家族中所处的层等于该特征的超协调特征域i中的元素的个数。一个特征其尚未确定的性质越多,所处的层就越高。顶层的根节点所有的性质都尚未确定,底层的叶子节点所有的性质都已确定。定义9(祖先特征和子孙特征)一个家族中的两个特征f1和f2,称f1是f2的祖先特征,f2是f1的子孙特征,满足以下条件:(1) 特征f1

24、的层比特征f2高;(2) 特征f1和特征f2是强协调的。定义10(父特征和子特征)一个家族中的两个特征f1和f2,称f1是f2的父特征,f2是f1的子特征,满足以下条件:(1) 特征f1的层比特征f2高1;(2) 特征f1和特征f2是强协调的。由定义易知:父特征是一种特殊的祖先特征,子特征是一种特殊的子孙特征。3.4 特征间的交叠关系特征间的交叠关系描述两个特征存在共同关心的性质,即两个特征的特征域r存在非空的交集。定义11(特征间的交叠关系)两个特征f1和f2,称f1和f2之间有交叠关系,当且仅当满足条件:f1.rf2.r。特征的交叠关系只是表明特征之间关注点的交叠关系,考虑到协调性,特征间

25、的交叠关系可以精化为以下三种关系。定义12(特征间的一致交叠)两个特征f1和f2,称特征f1和特征f2之间一致交叠,当且仅当满足以下条件:(1)特征f1和特征f2之间有交叠关系;(2) 特征f1和特征f2是强协调的。一致交叠关系不仅表明特征之间存在共同关心的性质,而且表明它们关于共同关心性质的理解是确定的和一致的。定义13(特征间的相容交叠)两个特征f1和f2,称特征f1和特征f2之间相容交叠,当且仅当满足以下条件:(1)特征f1和特征f2之间有交叠关系;(2) 特征f1和特征f2是弱协调的。相容交叠关系不仅表明特征之间存在共同关心的性质,而且表明它们关于共同关心性质的理解是没有矛盾的,但可能

26、还存在不确定的性质。定义14(特征间的矛盾交叠)两个特征f1和f2,称特征f1和特征f2之间矛盾交叠,当且仅当满足以下条件:(1)特征f1和特征f2之间有交叠关系;(2) 存在一个属于f1.rf2.r的公式g,使得g在一个特征中处于取值为真的集合,在另一个特征中处于取值为假的集合。矛盾交叠关系不仅表明特征之间存在共同关心的性质,而且表明它们关于共同关心性质的理解是矛盾和不一致的。3.5 特征属性之间的关系特征间的层次、交叠关系描述两个特征之间抽象与具体、关注点交叠等纵向的关系。而特征属性间的关系则通过特征属性之间的依赖和互斥关系,在横向上把软件需求模型的各个特征连接起来。在定义1中已经指出,r

27、中的每一个公式称为特征fid的一个特征属性,下面给出属性间的依赖和互斥关系的定义。定义15(属性间的依赖关系)属性间的依赖关系是一个二元组d=,表明属性g1依赖于属性g2,即如果属性g1在某个特征f1的t集合中,那么要求属性g2也在某个特征f2的t集合中。定义中允许f1=f2 ,当然也可不相等。性质1 依赖关系是可传递的。证明:已知d1=和d2=,由d1知g1为真则存在g2也为真,由d2知g2为真则存在g3也为真;由此可知:在d1和d2都成立的情况下,若g1为真则存在g3也为真,即有也是属性依赖关系。依赖关系是可传递的表明:若有两个依赖关系d1=和d2=,则有d3=。定义16(属性间的双向依赖

28、关系)属性间的双向依赖关系是一种特殊的依赖关系,即存在两个一般的依赖关系d1=和d2=,表明属性g1和属性g2相互依赖。双向依赖关系使得软件演化意图中的两个属性的取值要么都为真,要么都为假。性质2 双向依赖关系是等价关系。证明:第一,一个属性依赖于它本身,即依赖关系是自反的;第二,根据性质1,依赖关系是传递的;第三,相互依赖关系是对称的。单向依赖由于不具对称性,因此非等价关系。定义17(属性间的互斥关系)属性间的互斥关系是一个二元组m=,表明属性g1与属性g2互斥。属性间的互斥关系表明对于属性g1和属性g2,要求两个属性不能同时处在其特征的t集合中。3.6 演化需求和演化意图在对软件演化需求进

29、行建模的时候,一般情况下可能同时涉及到多个特征;根据前文所述,特征之间的纵向联系(即层次关系、交叠关系)可以通过各个特征的定义推导出来,即隐式地包含在各个特征的定义之中;而特征的横向联系(即属性间的依赖和互斥)则必须被显式地描述。定义18(演化需求)演化需求是一个三元组req=,其中:(1)s是一个特征的集合,表明该需求所包含的特征;(2)d是一个属性间依赖关系的集合,其中每一个元素是一个二元组,描述两个不同的特征属性之间的依赖关系;(3)m是一个属性间互斥关系的集合,其中每一个元素是一个二元组,描述特征之间的属性互斥关系。演化需求描述了来自多个视角的特征,以及各个特征的属性之间的关系。由于演

30、化需求包含多个不同视点对需求的理解,因此允许所包含的特征中存在着不确定的属性,也允许不同特征之间存在不一致的信息,允许特征不满足一些依赖关系和互斥关系。但是这样的演化需求无法作为软件演化的输入,所以需要对这样的需求进行规范化和决策,最终得到协调一致和确定的软件演化意图。定义19(依赖完整性)需求req=满足依赖完整性,当且仅当:对于d中的任意一个元素,若其第一元属于s中某个特征f1的特征域,那么其第二元也必须属于s中某个特征f2的特征域。定义中允许f1=f2 (当然也可不相等)。依赖完整性是演化需求的最基本要求,因为不满足依赖完整性的依赖关系将无法参照。定义20(属性确定性)需求req=满足属

31、性确定性,当且仅当:对于s中的任意一个特征,其i =。属性确定性要求经过决策,每一个待定的属性都得到确定。定义21(约束一致性)需求req=满足约束一致性,当且仅当:(1) 对于d中的任意一个元素,若其第一元为真,则其第二元也必须为真;(2) 对于m中的任意一个元素,其第一元和第二元不同时为真。特征的属性间存在一些依赖关系和互斥条件,演化意图必须要保证这些约束条件不被违背。定义22(交叠一致性)需求req=满足交叠一致性,当且仅当:s中的任意两个交叠的特征,满足一致交叠关系。软件演化意图必须保证交叠的特征属性之间的一致性,即共同的特征属性之间是强协调的。定义23(演化意图)一个需求req=是一

32、个软件演化意图,当且仅当它同时满足依赖完整性、属性确定性、约束一致性和交叠一致性。可见,演化意图必须是完整、确定和一致的。至此,完成了软件演化需求元模型rsemm的所有部件的定义。4 需求模型的规范化虽然rsemm能描述演化需求,但是最初建立的演化需求模型往往不够规范。此外,考虑到演化需求通常包含许多不同的视点,这样最初建立的演化需求往往不满足演化意图的定义。为了使演化需求更加规范并实现从演化需求到演化意图的转换,本文通过对需求进行规范化来逐步构建规范化的演化需求,最终得到演化意图。因此,需求规范化的过程也是一种从演化需求导出演化意图的过程。本文把演化需求规范化为演化需求第一范式(1ernf)

33、到第四范式(4ernf)。由于依赖完整性是需求建模的基本要求,不满足依赖完整性的需求是不完整的需求,由此引出1ernf的定义。定义24(需求第一范式1ernf)需求req=满足满足需求第一范式(1ernf),当且仅当它满足依赖完整性。但是,只满足需求第一范式往往是不够的,因为同一个属性可能处在多个不同的特征之中,为了消除冗余性并在一定程度上减少不一致性,需要对有交叠关系的特征进行融合。定义25(需求第二范式2ernf)需求req=如果满足1ernf,且其s集合中的所有特征不交叠,则称该需求满足需求第二范式(2ernf)。下面给出把满足1ernf的演化需求模型转化为满足2ernf的演化需求模型的

34、算法,该算法主要工作是把多个有交叠关系的特征融合成一个特征,所以也称特征融合算法。算法 1(1ernf转化2ernf算法)把一个符合1ernf的需求转化为符合2ernf的需求的算法。输入:一个符合1ernf的需求;输出:一个符合2ernf的需求;(1) 对于需求中的任意两个特征f1和f2,判断它们是否是交叠的;如果交叠,转到步骤(2),否则转到步骤(4);(2) 构建一个新特征f3,使得f3.r=f1.rf2.r,f3.t= (f1.tf2.t- f1.rf2.r)(f1.tf2.t),f3.i=f1.if2.i(f1.tf2.(r-t-i)(f2.tf1.(r-t-i);(3) 给f3分配f

35、id,把f3加到s集合中并从集合s中删除f1和f2;(4) 如果s中所有特征都互不交叠,结束;否则转到(1)继续处理下一组交叠的特征。算法1在特征融合的时候,融合后的特征的特征域是融合前两个特征的特征域的并集;融合后的特征的t集合是融合前两个特征的t集合中没有交叠的属性的并集,再加上交叠部分的属性中都取值为真的属性;融合后的特征的i集合是融合前两个特征的i集合的并集,再加上那些在一个特征中为真在另一个特征中为假的属性的集合。特征融合使得融合后的特征的i集合更大,一方面使得融合后的特征是协调的,另一个方面也把这些有冲突的属性的决策时间推后。由于在演化需求中,不容易确定的性质(即i集合中的性质)往

36、往也是软件演化的对象。因此,在需求规范化的早期有必要把确定的性质和未确定的性质分开。这样,只包含确定性质的特征往往是较为稳定的;而只包含未定的性质的特征往往是不够稳定的,是特别必须关注和加以分析的。定义26(标准特征)特征满足以下条件之一,则称该特征是一个标准特征:(1) 该特征的i集合为空集;(2)该特征满足r=i。标准特征要求:要么特征的所有属性都是确定的(条件1),要么其所有属性都是未定的(条件2)。定义27(需求第三范式3ernf)一个需求req=若满足2ernf,且s中的每一个特征都是标准特征,则其满足需求第三范式(3ernf)。满足3ernf的需求把易变属性和稳定属性分开,这样有利

37、于只包含稳定属性的特征的重用,也有利于对易变属性的隔离和分析。下面给出把满足2ernf的需求转化为满足3ernf的需求的算法,该算法主要工作是把一个既包含易变的属性又包含稳定的属性的特征分解成两个特征,其中一个所有属性都确定,另一个所有属性都未定。该算法主要是把特征标准化,因此也称特征标准化算法。算法 2(2ernf转化3ernf算法)把一个符合2ernf的需求转化为符合3ernf的需求的算法。输入:一个符合2ernf的需求; 输出:一个符合3ernf的需求;(1) 对于需求中的每个特征f,判断是否标准特征。如果不是,转到步骤(2),否则转到步骤(4)处理下一个特征;(2) 构建两个新特征f1

38、和f2,使得f1.r=f.i,f1.t=,f1.i=f.i;f2.r=f.(r-i),f2.t= f.t,f2.i=;(3) 给f1和f2分配fid, 把f1和f2加到s集合中并在集合s中删除f;(4) 若s中所有特征都已是标准特征,结束;否则转到(1)继续处理下一非标准特征。算法2在特征标准化的时候,把需求中的每个非标准的特征分解成两个标准的特征f1和f2,其中f1是所有的属性都是未定的特征,而f2是所有的属性都是确定的特征。通过特征标准化,把需求中的稳定属性和易变属性隔离开来,有利于将来再次对软件系统进行演化。定义28(需求第四范式4ernf)一个需求req=如果满足3ernf,并且满足软

39、件演化意图的定义,则称该需求满足需求第四范式(4ernf),也称演化意图范式。满足3ernf的需求把易变的属性和稳定的属性分开,这样在构建4ernf的需求的时候就只需依据约束条件(包括依赖和互斥)对未定特征中的属性做出决策。由于4ernf需要人的参与来做出决策,因此无法给出把3ernf自动转化为4ernf的算法。具体的转化过程需要人的因素的参与,也更多地依赖于演化需求建模人员的技能和经验。需要说明的是,满足4ernf的需求一定是演化意图,但是演化意图不一定满足4ernf。因为4ernf必须在特征属性上无冗余性,而软件演化意图允许冗余,只要求交叠属性之间是一致的。需要规范化的四个级别,由其定义可

40、知,对于各种范式之间的联系有4ernf3ernf2ernf1ernf成立。需求的规范化方法给出了一种由演化需求过渡到演化意图的方法。5 rsemm对软件演化需求特征的支持软件演化需求元模型rsemm能有效支持演化需求的五个重要特征,理由如下:第一,超协调性。通过多值逻辑未确定属性集合的引入,使得特征模型具有超协调性,并表现出层次协调性。而且在需求的规范化过程中,从1ernf到3ernf都允许非协调信息的存在,直到4ernf才要求消除非协调信息。第二,层次性。rsemm支持特征之间的抽象与具体的类层次,也支持部分和整体的组成层次。第三,依赖性。rsemm能描述特征属性之间的依赖性。第四,易变性和

41、动态性。特征在其家族内根据对性质的取值不同而不同,体现了动态性和易变性。第五,不公平性。通过对特征模型中的扩展点的定义,可以显式描述不公平性。综上所述,rsemm能有效支持演化需求的五个重要特征。6 结 论(1) 基于三值逻辑,以特征作为基本部件,建立了一个支持超协调性建模的软件演化需求元模型rsemm,并分析了特征间的协调关系、层次关系和交叠关系,特征属性间的依赖和互斥关系。(2) 通过对演化需求模型进行规范化,提出了从演化需求第一范式(1ernf)到第四范式(4ernf)的4种不同程度的演化需求范式,为判断演化需求模型的规范化程度设定了严格的标准;提出一种把较低级别范式的演化需求模型转化为

42、较高级别范式的方法,该方法逐步把包含非协调信息的演化需求转化为一致的、可用于指导软件演化实施的演化意图,为软件演化的实施奠定基础。(3) 考虑到演化需求比传统软件需求更复杂和易变,非协调信息比例更高;因此,rsemm不仅可建模演化需求,也可用于建模一般的软件需求。参考文献(references)1 杨芙清. 软件工程技术发展思索j. 软件学报,2005,16(1):1-7.yang fuqing, thinking on the development of software engineering technologyj. journal of software,2005,16(1):1-7

43、.(in chinese)2 zhang wei, mei hong, and zhao haiyan, a feature-oriented approach to modeling requirements dependencies.c / proceedings of 13th ieee international conference on requirements engineering, piscataway: ieee computer society, 2005: 273-2843 mei hong, zhang wei, zhao haiyan, a metamodel fo

44、r modeling system features and their refinement, constraint and interaction relationshipsj, software and systems modeling, june 2006, vol.5, no.2:172-186.4 cook s, harrison r, lehman m, et al. evolution in software systems: foundations of the spe classification scheme j. journal of softwarem aintena

45、nce and evolution research and practice, 2006, 18 (1) : 1-35.5 李长云,李莹,吴健,吴朝晖. 一个面向服务的支持动态演化的软件模型j. 计算机学报, 2006, 29(7):1020-1028.li changyun, li ying, wu jian, et al. a service-oriented software model supporting dynamic evolution.j. chinese journal of computers, 2006, 29(7): 1020-1028.(in chinese)6 l

46、i tong. an approach to modelling software evolution processesm. springer-verlag gmbh, berlin heidelberg new york, 2008.8.7 王炜. 基于构件的软件系统动态演化研究d. 昆明:云南大学软件学院,2009.12.8 nuseibeh b, easterbrook s and russo a. leveraging inconsistency in software developmentj. computer, 33(4), 2000:24-29.9 金芝,刘璘,金英. 软件需求工程:原理和方法m. 北京:科学出版社,2008.7.10 zhang wei, zhao haiyan, mei hong, a propositional logic-based method for verification of feature models.c /proceedings of 6th international conference on formal engineering methods(icfem), heidelberg: springer berlin, 2004:115-130.11 zhang wei, mei hong, zhao ha

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论