计机学第36卷第1期算报Vol. 36 No. 1 2013年1月CHINESE Jan. 2013 JOURNAL OF CO肌1PUTERS一种基于领域知识的非功能需求建模辅助方法士/盐邵飞骂Y衍」(武汉大学软件工程国家重点实验室武汉430072) (武汉大学计算机学院武汉430072) 摘要随着信息化的普及,人们对软件系统质量要求越来越高,由于体现涉众对软件质量要求的非功能需求具有抽象、主观、不确定等特性,纯粹依赖人工方式对非功能需求建模是一项十分困难的任务.利用领域工程具有的内聚性和稳定性,提出一种基于领域知识的非功能需求建模辅助方法,通过挖掘隐含领域知识,层次化地组织领域知识,能够弥补个人知识的不足,更准确、完整地建模非功能需求.该方法包含两个部分:(1)基于不确定性理论的领域知识获取及分析模块;(2)基于NFR(Non-FunctionalReq山rer时nts)框架的非功能需求辅助建模模块.通过建立非功能属性分解树、设计基于三角模糊数的评价语言值量化机制和传递依赖关系计算方法,实现了对领域知识的准备;建立了非功能属性及非功能需求间依赖关系的形式化定义和推理规则,提出了基于RE-Tools的NFR扩展,实现了对领域知识的应用.案例研究表明,文中方法具有良好的可操作性,能够辅助建模需求关联,减轻需求工程师的工作负荷;同时,交叉实验结果表明,该方法可提升传统NFR框架方法的效率和准确度.关键词非功能需求;非功能属性;需求建模;传递依赖;领域知识中圈法分类号TP311DOI号 1016. A Non-Functional Requirements Modeling Aided Method Based on Domain Knowledge SHAO Fei PENG Rong (5tate Key Laboratory of 50ftware Engineering, Wuhan University, Wuhan 430072) (Com uter 5choo/, Wuhan University, Wuhan 430072) Abstract With the popularization of information technology, more and more attentions have been paid to the quality of software systems. The demands on the quality of a software system are named as NFRs (Non-Functional Requirements). Abstractness, subjectivity and uncertainty are the remarkable characteristics of NFRs, which brings huge obstacles to requirements engineers to model NFRs manually. Utilizing the cohesion and stability of domain engineering, a NFRs mod›eling aided method based on domain knowledge is proposed. It mainly contains two parts: (1) U ncertainty theory based domain knowledge acquisition and analysis module; and (2) the NFRs modeling aided module based on NFR framework. In the first part, the NF ADT (Non Functional Attributes Decomposition Tree) is constructed to guide the classification of NFRs; the fuzzy set theory is adopted to perform the transformation between qualitative evaluation and quantitative evaluation; and a transitive dependency calculation algorithm is proposed to discover the implicit relationships between NFAs (Non-Functional Attributes). In the second part, formal definitions and rationale rules of NF As and NFRs are proposed, and the implementation based on 收稿日期:2012-06-24;最终修改稿收~UFl期:2012-11-29.本课题得到国家"九七二"重点基础研究发展规划项目慕金(2007CB310801)、国家自然科学慕金(61170026,60940028,60703009,61100017)、湖北省杰出青年基金(2∞9CDA148)、武汉市科技局晨光计划(200950131189)、电子商务及供应链系统重庆市重点实验室专项基金(2012ECSC0210)及中央高校基本科研业务费专项基金(武汉大学)(2012211020203) 资助.邵飞,男,1986年生,博士研究生,主要研究方向为需求工程、软件.:1:程.E-mail: youfelix@.彭蓉(通信作者),女,1975年生,博:1::,教授,博士生导师,主要研究领域为需求工程、软件[程、可信计算与服务计算.E-mail: rongpeng@.
40 计算机学报2013年RE~ Tools is also presented. Case study shows that the above method is feasible and rational. It is suitable to aid the modeling of dependency relationships among NFRs. Through the cross~ validation, it is shown that the method can improve the efficiency and accuracy of traditional NFR Framework. At theend of the paper, the future research directions have been discussed. Keywords non~functional requirements; non~functional attributes; requirements modeling; transitive dependency; domain knowledge 人L1-2]提出,使用软目标表达非功能需求,并通过分解、依赖两类关联关系建模软目标之间关联.但是,1引由于软目标涉及到安全性、可信性、可靠性、可用性需求工程是近年来受到广泛关注且蓬勃发展的及性能等多种领域知识,单纯由需求建模人员独自研究领域之一.随着网络软件应用与人们的生产生建模软目标之间的关联关系存在较大难度.活关系日益紧密,构建能够在开放的互联网环境中另外,软件复用的研究和实践表明,特定领域的运行的白质量、高可信软件对需求工程提出了新的软件复用活动较容易取得成功l3-1j这里的领域是指挑战.一般将软件中涉及软件质量和可信性方面的一组具有相同或相近软件需求的应用系统.领域的需求统称为非功能需求.相对于内容明确、条理清晰内聚性和稳定性为软件复用活动提供了可供复用的的功能需求而言,非功能需求具有抽象、含糊,与功软件资产和潜在的经济利益.具体到需求建模、分析能需求密不可分等特点.因此,非功能需求的研究存过程中,利用领域知识辅助分析原始需求是其常用在以下闲难:的一种子段.这些领域知识包括构建系统必须满足(1)捕获困难.非功能需求的界限不明确.一些的法律法规、政策条例、行业规范、组织规则.除此之需求既可以看作功能需求,又可以看作非功能需求.外,还包括那些构建同类系统所累积的项目经验、需比如,关键数据保密性方面的需求,如果目标系统将求模型等.其中具有代表性的一种利用领域知识的部署在网上银行这类安全敏感性应用中,那么一般途径是将非功能需求映射到确定的非功能属应将它视作功能需求,因为它是网上银行系统必需性l叫,从而实现基于非功能属性的领域知识重用.具备的功能;若目标系统是一种单机软件,则可将其综上所述,本文试图提出一种面向领域的非功视为提高软件质量和可信性的非功能需求.能需求建模辅助方法.该方法利用领域专家建立基(2)分析困难.非功能需求分析阶段的主要活于语言值评估的非功能属性关联矩阵;并基于模糊动是将利益相关者的原始需求转变成准确的非功能集理论将语言值评估矩阵转换为模糊数评估矩阵,需求模型,分析其中可能存在的关联关系、不完整性从而为构造综合多个领域专家评估意见的总体评估和不一致性等.构建准确的非功能需求模型是降低矩阵提供支持;同时利用关联关系传递规则,发现评分析困难的最直接途径.然而,相对于功能性需求而估矩阵中缺失的潜在关联关系,完善评估矩阵,为辅言,非功能需求描述的抽象和模糊性,导致了确定它助需求建模提供支持.们之间关联关系成为一项困难的任务,这也是非功本文第2节对非功能需求界定和非功能需求建能需求建模面临的一个主要障碍.为此,我们提出一模方法的现状进行介绍;第3节从辅助建模准备阶段种辅助确定非功能需求之间关联关系的方法,并将和领域知识应用阶段两个方面详细阐述面向领域的它用于辅助建模非功能需求,进而降低需求分析的非功能需求建模辅助方法;第4节阐述案例研究与分困难性正是本文的研究动机之一.析;第5节对该方法的合理性及有效性进行探讨;最(3)决策和验证困难.非功能需求的满足具有后对全文进行总结,并对将来的研究方向进行展望.可伸缩性,如何进行决策以选择最佳方案、验证所构建的需求模型是否符合系统期望,都是目前需求工2 相关工作程研究的热点和难点.与本文具有相同研究对象的NFR框架是专门 非功能需求的界定用来建模和分析非功能需求的.该框架由Chung等在各式各样的软件需求中,除了功能需求之外,
1期邵飞等1一种基于领域知识的非功能需求建模辅助方法41 根据研究问题的侧重,存在可信性需求、质量需求、提高了对环境建模的能力.Burgess等人1I8J提出使安全需求等不同种类的非功能需求.事实上,对于软用IR(Interdependency R uleset)结构存储NFR目件的非功能需求至今还没有一致的定义,但存在几标之间的非标准关联关系(标准关联关系有AND、个比较经典的表述:OR两种),并基于此提出一种非功能需求模型自动(1) George等人[6J认为"功能需求是指一个系化分析和优化方案决策方法.该方法的前提假设是统的行为,该系统必须能够做什么,系统必须能够通IR中的内容已知,并且非功能需求模型的架构已经过它们来运行.非功能需求是指超出系统行为之外搭建起来,而本文的研究可以看作是提出一种确定的系统质量,描述系统会做得怎样,包括如精确性、IR中内容的方法,以及非功能需求模型框架的搭建性能、效率、可维护性、安全性等"方法.因此,本文中建模方法的输出将可以作为上述(2) Rosa等人L7 J认为"软件的功能需求定义了方法的输入.软件期望‘做什么而非功能需求则指定了关于软此外,为了实现功能需求及其关联关系的重用,件如何运行和功能如何展示的全局限制"即非功能朱卫星等人[19J提出了一种基于领域知识复用的功需求是相对于功能需求而言的.能需求建模方法,基于本体复用领域知识、建立目标(3) Franch等人L8J认为"非功能需求对应软件模型、表达用户需求,此类研究试图通过引人知识工的一种属性,是可以用来描述、评价软件的一种方程,以辅助功能需求建模.鉴于非功能需求的不确定式"这更像是在软件质量评价中的表述.性,如何获取和利用领域知识建模非功能需求还有此外,可信性需求是应近几年可信软件的兴起待研究.而发展出的新概念,北京大学金芝教授等认为可信Supakkul等人L20-叫通过建立4类结构化的性需求是各种可能的威胁所驱动、并涉及软件质量的NFR模式,即ObjectivePattern、ProblemPattern、需求,如可用性、可靠性、可靠安全性、保密性等LMO];Alternatives Pattern和SelectionPattern,提出了一刘春、王越等人L11-12J将软件可信性需求上层本体作种基于NFR模式收集、组织和重用非功能需求知为软件可信性需求的概念框架,并以此为基础,开发识的方法,并开发了可视化工具.Lopez等人[叫将了一个软件可信性需求知识库,帮助提取可信需求.非功能属性之间关系转换为NDR(NFRand Design 非功能需求关联关系建模方法Rationale)本体的形式,以支持属性关联关系的重在以往较长时间内,非功能需求都是使用自然用.以上提出的各种非功能需求的重用策略都能够降语言的方式描述的,具有很大的随意性.Chung等低需求建模难度,但在如何充分利用领域知识的内聚人LI-2J第一次就非功能需求的表示和描述方法进行性、挖掘领域知识内的隐含信息方面还有待加强.了较为深入而全面的探讨,提出了著名的NFR框综上所述,非功能需求的求精及它们之间的相架.在该框架中,使用软目标来表示非功能需求,例关性分析是非功能需求建模与分析中最重要的两个如"好的性能"就是一个软目标.在每个软目标上有方面.由于其涉及到性能、安全性、可靠性等方方面一个可满足断言,以表达此非功能需求是否会被满面,要求需求工程师全面掌握各领域的知识以完成足,并使用该断言进行相关需求满足性分析,之后又非功能需求获取与分析工作是困难的.因此,丰富和有研究对它进行量化扩展,并实现了需求满意度分完善非功能属性求精和非功能属性关联关系知识库析1I3-17J是需求工程研究中的一个重要方面.本文主要研究Chung等人还研究了软目标之间的关联关系,如何获取并建模非功能属性问相关关系,并以此辅并将同种类型软目标之间的关联关系称为显式关联助非功能需求建模的方法.(分解关系),例如父目标和子目标之间的关联;不同类型的软目标之间的关联称为隐式关联(依赖关3 一种辅助非功能需求建模的方法J系),又称为相关性[1-2•NFR框架包含一套自定义的完整的图形表达法SIG(Softgoals Independencies 3. 1 方法概述Graph) ,图9即为使用SIG描述的案例.其后,Wei该方法框架如图1所示.在准备阶段,首先,确等人[1川]提出一种基于NFR框架的自动推理机定非功能属性的内涵与分类,为将非功能需求准确制,以概率的方式对根节点软目标的满足性进行自地映射到非功能属性,实现原始非功能需求的映射动判断,并且区分了封闭世界假设和开放世界假设,和组织提供基础;其次,研究领域知识的定量化技
12 计算机学报2013年术,完成领域知识从定性描述到定量描述的转换,从表1IS025010:2011中的安全属性和cc比较而支持非功能属性关系间的领域知识聚合和传递依IS025010:2011 CC 赖的计算,获得辅助非功能需求建模所需的扩展领Authenticity, security audit, communication, cryptographic integrity, support, user data protection, identification 域知识.在应用阶段,利用准备阶段建立的非功能属confidentiality, and authentication, security management, non-repudiation, privacy, protection of the TSF, resource utili 性间的分解和依赖关系,建立原始非功能需求到非accountability zation, TOE access, trusted path/ channels 功能属性的映射,辅助建模非功能需求间关联关系,完善非功能需求模型.本文参考国际标准IS025010:2011①和CC(Common Criteria)③,构建了非功能属性分解树NFADT (Non-Functional Attributes Decomposition Tree). NFADT采纳的标准IS025010:2011包含了最新的软件质量属性及其解释说明,而cc标准针对安全属性进行了更为详细的界定和全面的分类,准备阶段并且明确给出了安全子属性间的依赖关系(见表1).-------一____L ----宁二三λ于一-l 提供基础应用阶段l 因此,融合IS025010:2011和cc标准,能够使某于领域知识的提供基础非功能需求建模辅助NFADT更好地支持安全属性间相关关系的界定;另一方面,由于所有的术语定义都有严格、详细的说明图I基于领域知识的非功能需求建模辅助方法设计框架以及案例,便于普通用户理解和区分,从而使基于 准备阶段NFADT的非功能需求分类具有更高的可用性和认准备阶段的主要任务是收集、分析、组织领域知可度.识.首先,建立非功能属性分解树,为非功能需求和构造出的NFADT如图3所示.它将非功能属非功能属性分类组织提供依据;其次,通过基于三角模糊数的定性定量数据转换方法,支持非功能属性问关联关系语言评估值的量化,进而支持对领域知ζ且且血且监坦且识的聚合,为领域知识分析做准备;然后,定义基于ι且主旦旦旦生出iC, 1: Robu:;tnc!’ S 矩阵交集运算的传递函数,通过调用该函数挖掘领C..: Timc bch二.!.Ql.芒丁E忑ourceu币izati域知识中的隐含信息,获得新的依赖关系,实现领域E可Approp亘古画e附r肘。阳lzahilit唱,C, 1,: Easc of usc 知识的扩充;最后,通过定量定性数据转换,方便领C;-;;:u四crrororotect\Oh f",:U附rinterfnce Ø!csthctic!’ E’< 11: Tcchnical Learnabilit 域知识的重用.【川l'cchnicalacιcssibili1 . 1 非功能需求的界定(, ,,: CommunicCltion fu恼,飞ryptographicSUPPO[t 非功能属性、非功能需求、软目标3个概念之间【吨I1": Uscr Data orotcction 〈飞'":Idcntification & Authcntication 的关系如图2所示,其中非功能需求与软目标一一「.~I: Securitv Manallcment (二刀:PriVHCv 对应,而非功能属性可以泛化出不同的非功能需求.(’.l!l: Protcction of tI、('TSF(与μTOEAcιe咽例如,非功能属性"保密性"可以泛化出"强的数据保C, 1": Trusted path/channds 密性"、"强的通信保密性"等非功能需求,而每个非功能需求都可以作为一个软目标.相关文献[2,7-8J给出了非功能属性的多种定义和分类形式,但还没有一种公认的非功能属性划分标准.C ,,; Adaptabilit 将带黠击11f!咱Economicιélma~erlSC111: Health and safety risk r, ,,: Environment risk 图3非功能属性分解树(http:// WWW. iso. org/iso/iso_catalogue/ catalogue_ tc/ cata logue_detail. htm? csnumber=35733 图2概念之间的关系(http://www. cornrnoncriteriaportal. orgl
1期邵飞等:一种基于领域知识的非功能需求建模辅助方法13 性NFAs(Non-Functional Attributes)按照抽象程评估标度.度的不同分为3层,第1层为根节点NFA,第2层考虑本文研究的是依赖关系评估,第2种方法称为一级非功能属性,第3层为二级子属性.这种分不能反映语言术语的模糊性和重叠性,我们采用层结构能够降低相关性分析的复杂度.第3种方法中的非均匀加型语言评估标度和第 非功能属性依赖关系收集和语言值定量化种的三角模糊数转换方法相结合的方法,首先将非功能属性关联关系包含分解和依赖两种类语言值转换为三角模糊数,然后根据其隶属度分型,其中NFADT给出了分解关系.接下来,为了支布产生非均匀量化值,从而更好地体现术语的内持非功能需求辅助建模,识别需求之间的依赖关系,聚性.需要建立面向领域的非功能属性依赖关系矩阵.由为了更好地理解本文中介绍的方法,首先给出于专家在评估非功能属性间的依赖关系时大多习惯如下定义.使用语言值,如何将基于语言值的评估信息定量化,定义1.语言值的三角模糊数.是对依赖关系进一步推导的关键.对于任何语言值y,定义其三角模糊数为基于已有文献[2-4J,本文将依赖关系分为3类:(n1 ,屿,n3).其中,模糊数区间为[n1,n3J,n2表示该(1)正相关依赖(促进关系"Coοperation"):表区间内对应语言值Y隶属度为1的数值.示正向影响,即一个非功能属性的满足会对另一非定义2.数值对于语言值的隶属度.功能属性的满足产生正面作用.数值Z对于语言值Y的隶属程度称为隶属度(2)不确定依赖(未知关系"Unknown"):非功μy(川,它的计算方法如式(1)所示:能属性间影响方向不确定,可能产生正面、反面或不0, 工<n1存在任何影响.工一-n1ηl三二I三二酌,n1手nznz一-n1(3)负相关依赖(抑制关系"Conflω"):负向影μy(工)=才(1) n3一-x响,即一个非功能属性的满足会对另一个非功能属nz<x三二屿,nz#n"n3 -nz 性的满足产生负面作用.0, x>n3 由于客观事物的复杂性和不确定性以及人类思维的模糊性,人们在对诸如系统的易用性、性能等非其中,川(ηn1,叫nz,叫n3)为语言值Y所对应的三角模糊数.功能属性满意程度进行评价时,一般喜欢直接用"优"飞、以i语吾言值促进关系"仇C00ρμe阳rαωtωzoω俨n"飞、未知关系"良"飞、"中"、"差"等语言值形式给出.本文中信息收集"Uη时走η削0'即[U川且Jn"和押制关系的主体是人,因此评估者以i语吾言值"仇C00如ρeration"、应的兰角模糊数定义如表2所示,则对于数值d而"Un时know且U川Jη"和"Co仰ηfρli旷ct"的形式给出评估{信言息,符合言,其对于语言值评估者的使用习惯,且可提高方法的易用性.表2语言值的三角模糊数定义非功能属性之间的依赖关系是单向的,且不具语言{自标iι:角校糊数(nj,n2 ,n:~) Coo户eratzοn"十"(a" ,b" ,b,,) 自反性.例如安全性往往影响性能,但性能并不一定Un走nown"0" (αz ,d,b) z影响安全性;同时安全性对其自身的影响不予考虑.Conflict (a[ ,a[ ,b[) 后面第4节给出一个包含一级非功能属性依赖关系的语言值评估矩阵示例.一般情况下,同一个数值元素Z隶属于不同语对语言评估信息进行测度时,一般需要事先确言值的隶属度是不同的,即定适当的语言评估标度,也就是将语言值进行量化μCooþeratÎfm (X)手μU时T/own(X)手μC(mILicl(X ) 或序列化的准则.目前存在多种量化方法lZ1J: Cl)定图4展示了表2中所述语言值的三角模糊数隶义一种语言术语下标均为非负整数且术语个数为奇属度分布图的样式.其中,既存在重叠区域即模糊区数的语言评估标度,并把它们转换成三角模糊数、梯域,如[a2, bJ和t向,bJ,也拥有各自的独立区间1 z 形模糊数或语言术语与数值组成的二元模型进行计[a1,a汀,[bj,a3J和[b,b:,].重叠区域的大小取决于2算;(2)给出一种语言下标以零为中心对称旦术语概念的模糊程度.如果两个语言值概念之间差异度个数为奇数的语言评估标度,并且直接利用语言变越大,则重叠区域越小或根本没有重叠区域;反之,量进行运算和分析;以及(3)非均匀积型和加型语言则重叠区域越大.
11 计算机学报2013年D'v叭(U:ηknown)=d; 隶属度I"(:r) D川1,CCoo eration) = (b:;-a:;) ___ __ _1 t,,+a:;. X\tI,t, , tn 2从而,评估者eval,将会拥有一个量化值组合D'v叭(Cooρeration)、D,val,(Unknown )和D'va',(Conflic忖.,!J)) 由于该算法在生成量化值的过程中,考虑了隶属度分布特性和评估者专业程度,体现出不同语言评估值的区别,而评估者从业时间使量化值根据评IJ, d b, 模糊数r图4表2对应的三角模糊数隶属度分布图估者个体专业程度的高低不同而产生差异,即通过量化值向元素岛的逼近距离大小来体现个体差异. 语言评估信息的定量化 聚合处理基于三角模糊数,可以将语言值去模糊化转换当n位评估专家根据NFADT给出n组语言值为量化值.但由于语言评估值很大程度上受到评估评估矩阵M叫al1,,…,Mt'l叫2且已经根据式(2)者认知水平和语言习惯差异的影响,还需根据其差将矩阵中语言值量化后,将得到η个量化值矩阵异设计校正过程对量化值进行处理.QMt’va11 ,QMf!va12 ,…,QMevaLlI(3)计o接下来,根据式假定某个语言值Y的三角模糊数可表示为算,可得到代表群体评估的聚合矩阵M:(nl ,n2’ n:])且存在n个评估者,其中评估者evali(i= 1, , n)配对语言值Y所对应的量化值用M= I:QM’Val, /n (3) D们叫(Y)表示,则η位评估者配对语言值Y的量化 传递依赖关系的计算值分别为D川1,CY) ,D 12 (Y),…,Del叫,(Y). 由于非功能属性众多、专家领域知识与精力有定义3.基于评估者从业时间的评估语言量限,单纯依靠人工建立非功能属性两两之间的依艘化值.关系十分困难.如何利用已知的非功能属性间的依本文将评估者evali的从业时间t,作为校正参赖关系计算推导,以获得尽可能多且准确的其他依数,D"'"',(Y)的计算公式如式(2)所示:赖关系,是本节的重点.D"’"I, (Y) = 如图5所示,其中A、B、C、D、E分别表示不同i 类型非功能属性,依赖符号"一"表示负相关,"十"表Cn2-n:;)--, t十叭,Y=Cοηflictlmax\tl ,t, , tn、2示正相关,箭头的起点表示被依赖属性,终点表示依Y=Unknοwη n2 , 赖属性,虚线表示新增的传递依赖.当判断传递依赖Cn z一η1).~-,t,l十η1, Y = Coo eration 时,图5(a)所示的情形可以采用定性的逻辑推理,max\tl ,t, ,t; 2ll 即由图5(a)直接推出图5(b)中非功能属性C正相(2) 关依赖于A,即非功能属性A的满足能够促进对C此处是通过D'川U川ι"叫o………;如o汇'ζ〉的逼近距离大小来体现出评估者认知水平的差异.若A B C (a) 从业时间较长,则对于"Conflict"和"Coo eration" --、+判断的模糊性会减小,语言评估值的确定性增加,因而U叫(凹的值会更逼近n2;反之则D'叫CY)的值o二……丁………,ζ〉…………1……..~OA B C 会距离n2较远;对于"U:时nown"而言,由于每个评估r 9 者给出评估值Y= "Unknown"时,均表示其不确定该依赖关系,此处D",a',(Y) (i = 1,…,η)值都等。二.....0丁……2GA\、\B卢_.~C 于η2.山\也C三'//D /飞例如,依照图4中三角模糊数的划分方式,评估.0/ 者eval,对应的赋值函数为E D,va’; (Conflict) = (h-al) ___ ___1 t,,+al; l 图5产生传递依赖的两种情形(川和(c)x\ tl ,t2 ,’"
1期邵飞等:一种基于领域知识的非功能需求建模辅助方法15 的满足.而在图5(C)所示的情形中,由于出现了正以表2所对应的语言值三角模糊数定义为例,其相关依赖与负相关依赖的多路复合情况,采用定性对应的隶属度曲线如图4所示,不妨设"Conflict"的逻辑推理方法已经不能分析A与C之间的依赖与"Unknown"的隶属度曲线交叉点处的横坐标值关系,此时通过将依赖方向和程度使用数值的形式为c],它满足片叫/;,-,(c] )μUnk1/(Jwn (Cl ) ,同理,表示,使得依赖程度在传递过程中可以进行叠加和"Unknm四"和"(主呻eration"交点横坐标C2满足乘积处理,最终得到一个综合值再根据定义好的规μUnknown (C2 ) =μC叫f'ruti01/(C2 ) ,那么,量化值q转换为语则进行判断即可.言值的计算公式如式(5)所示.定义4.属性依赖关系传递函数rC onflict, qε[a] ,c]) M~r"n'Já[aJ[cJ = Lang(q) =斗Uηknown,qE [c] ,C2J (5) lCο。ρeratioηqξ(cz,bJ3f(2(M[][b]经过处理后,增量值矩阵M~ransJer转换为语言值、(4)矩阵M~ran.\Jer'同样,对聚合矩阵M进行定性化处理M[b] J[bJ . . M[bmJ[cJ)) ,α芋c2 后,所产生的语言值矩阵M'内包含着原始依颇关系0, a c 的聚合评估值.最后,通过合并M~ansJt'r和M',获得其中,Mγmler表示传递深度为是时的传递依赖关系语言值领域知识扩展矩阵不仅包含评估值矩阵;元素M~ra1/sII旷[aJ[cJ表示传递深度为走时由者给出的原始依赖关系,还包括通过传递规则计算依赖传递所计算得到的非功能属性G与c之间的依得到的隐含依赖关系.赖关系增量值,称为传递依颇关系值仇,仇,…, 应用阶段是连接非功能属性G到C的传递链路的中间m个应用阶段的主要任务是调用非功能属性分解树η非功能属性,m三豆二ι且链路必必、须满足约束条件NFADT和已建立的领域知识扩展矩阵EM,用来Cωo凡nl削S‘5巾、m分类原始需求或初始需求模型中的非功能需求,识不存在环路;传递可信度rEε三〔ω0,叮1J,川r表示传递深别、完善非功能需求之间的关联关系.度为m的传递依赖关系值增量对整体关系值影响图6为非功能需求建模辅助方法的数据流图.缩减r'"倍,从而反映"传递所产生信息的准确度随首先根据原始需求建立初始需求模型;然后,依照着传递深度的增加而下降"这一{信言息传递的规律.NFADT及相应启发式关联规则在原始需求的基础3. 2. 6 定性化处理上进行归纳整理或发现新的非功能需求,并结合领为了便于重用领域知识建模非功能需求,需要将量化矩阵M~阳叫rr转化为语言值矩阵.由于Mγ11S炉域知识生成扩展的需求模型.该模型主要包含的是非功能属性和软目标之间的映射关系,非功能属性中量化值是基于语言值所对应的模糊数计算而产生间、软日标间的分解、依赖关联关系(见表3).在非的,因此可以基于不同语言值隶属度分布进行判断,功能建模辅助模块使用过程中积累的反馈信息,包模糊数区间中不重叠区域的数值元素可以直接映射括新的启发式规则和对非功能属性间依赖关系的补为对应的语言值,而重叠区域的元素取其相应隶属度较大者所对应的语言值.充与修订,将进-步完善启发式规则和领域知识.表3非功能属性、软目标关系描述知识所属层次:知识类理描述语言语义解释()领域知识:非功能属性分解树Contains(NFA,{NFA] ,NFA"….NFAm})非功能属性NFA包含子属性NFA],NFA,....,NFA; m(1. 2)领域知识:11,功能属性依赖+(NFA],NFA,) 非功能属性NFA]的满足度正相关依赖于作功能属性NFAz;关系矩阵一(NFA].NFA,)非功能属性NFA]的满足度负相关依赖于非功能属性NFA,;() fj标系统z软目标间的分解AND(5G.{SG】,…,缸n})软fI标SG能够满足,升且仅严1G].…,Gn中所有软目标都满足;关系OR(SG.{5G], .5G}) 软IJ标5G能够满足,只要G].…,Gn中存在一个满足的软日标;n软日标5G,的满足会促进软目标SG]的满足;() fI标系统:软目标之间依赖+(5G].反马)关系(SG].5G,) 软n标SG,的满足会仰制软[:J标SG]的满足;软目标SG的满足能提高非功能属性NFA的满足度;()目标系统:软u标、非功能属+()性问约束关系+(NFA,5G) 软目标5G的满足会降低11,功能属性NFA的满足度;
16 计算机学报2013年规则5a.如果5Gz的满足将促进5G的满足1J\且5G1的满足将促进或抑制叩A的达成,则5G2的i反馈满足也将会促进或拥制NFA的达成.土(NFA,5G)八十(5G,5()112士(NFA,5G)z规则5b.如果5G2的满足将拥制5G的满足1且5G1的满足将促进或在IJ制NFA的达成,则5Gz的满足将会抑制或促进NFA的达成.土(NFA,5G)八CSG,5() 112平(NFA,5() 2规则ô功能属性与软目标之间约束关系图6非功能需求建模辅助方法的数据流图导致的软目标问冲突关系推广规则:为了利用非功能属性分解树及其依赖关系矩阵十(NFA,SG)八一(NFA,5G)1z完善目标系统的非功能需求建模,发现潜在的软目←(5Cλ,5G)八一(5G,5G) 2 21 标与非功能属性间的约束关系以及软目标之间的约根据规则1至5推寻获得的非功能属性与软目束关系,在按照表3中对非功能属性、软目标关系描标之间的依赖关系,均可用于进行规则6的推导,即述的基础上定义如下规则:识别潜在的软日标间的冲突关系.例如:规则1.非功能属性间的分解关系导致的软一卡(NFA,5G)八(十(NFA,NFA)八(NFA,5G)) 122 2日标与非功能属性间约束关系推广规则.斗十(NFA,5G)^-(NFA,Sι) (运用规则2b)1ContainsCNFA,{NFAI'…,NFAn})八:1::(NFA; ,5G) =>-(5G,5G)^ -(5G,5()运用规则6)1 22 1士CNFA,5G)规则7.软目标分解关系导致的软目标间约其中,i=l,…,η.束关系推广规则:规则2.非功能属性间的约束关系导致的软AND(5G, {5G,5G, ,SG,,}) , 1 2十(SG,5G) , 1 = 1 ,…,η, 目标与非功能属性间约束关系推广规则2a和2b:i 规则2a.如果5G的满足将促进NFA2的满OR(5G, {5G,5G, ,5G,,}) , 1 z 十(5G, 5G, ) , 1 = 1 足且NFA的满足将促进或抑制NFAz1的达成,则规则8.由软目标之间依赖关系导致的软目5G的满足也将促进或抑制NFA1的达成.标间约束关系推广规则h和协:士CNFAl,NFAz)八十CNFA,5G) z士CNFA,5G)1规则8a.软目标5G的促进、冲突依赖关系1规则2b.如果5G的满足将拥制NFA的满z所导致的软目标间冲突关系推广规则:足,且NFA的满足将促进或拥制NFA21的达成,则十(5G,5G)八一(5G,5G) 1211(5G,5G,)八(SG,,5G) 2 25G的满足将抑制或促进NFA1的达成.规则8b.软目标间约束关系传递所导致的软目士CNFA,NFA)八一(NFA,5G) 12z干(NFA,5G)1标间冲突关系推广规则:规则3.软目标间AND分解关系与非功能属十(5G,5G)八士(5G,5G) 122l士(5G,5G) 1,性间约束关系导致的软目标与非功能属性问约束关1 221系推广规则:(5G,5G) ^士C5G,5G) 干(5G,5G,) 1士(NFA,5G)^ AND(5G, {5G,5G,’" ,5G,,}) 1 z根据上述规则编制算法,即可有效利用建立的土(NFA,5G),士(NFA,5G),…,土(NFA,5G,,). 1z领域知识库完善目标系统的非功能需求建模,发现规则4.非功能属性与软目标间约束关系及潜在的软目标与非功能属性间的约束关系以及软目软目标间OR分解关系导致非功能属性与软目标间标之间的约束关系.但从上述推断过程不难推知:牛的约束关系推广规则:成的扩展依赖关系的准确程度依赖于领域知识和目±CNFA,5G)八ORC5G,{5G,5G, ,5G,,}) 1 2:1::CNFA,5G) ,士(NFA,5G), ,:1::(NFA,5G,,) 1z标系统己有知识的正确性.由于领域知识只是以往规则5.软目标间依赖关系导致的软目标与经验的总结,具有一定的时效性、抽象性和主观性,非功能属性问约束关系推广规则5a和5b:因此对于获得的扩展依赖关系还需要由需求r程师
1期邵飞等z一种基于领域知识的非功能需求建模辅助方法47 功能(其业务流程如图7虚线内所示)实现对NFR框根据特定目标系统的特征进行确认.架的扩展.利用表3中的关系描述语句结构化领域知 工具设计RE-Tools①是一个基于starUML工具的需求识库,使用RE-Tools中NFR框架建立初始需求模型建模开源软件包,它实现了对NFR框架、i骨以及后,建模辅助功能会根据面向领域的非功能属性知识KAOS等的支持.以此为基础,设计一种建模辅助库对初始非功能需求模型进行扩展和优化.。只时。十八市求I程师图7非功能需求建模辅助功能(虚线内)的业务流图图7展示了该工具的业务流程,该工具的用户 领域知识准备为评估者和需求工程师,其中评估者贡献领域知识,该案例中的评估团队,即领域知识提供者群体需求工程师与RE-Tools及辅助功能执行交互操由20人组成,其中包含高校教师、研究生、计算机从作,引导建模过程,辅助功能中领域知识的转换过程业人员及该领域相关涉众(买家、卖家)等组成,该网为:①→②→③→④→⑤.购交易软件系统属于B2C领域.步骤1.由评估者对该领域的非功能属性依赖关系进行评估,评估者评估一级非功能属性之间的4 案例研究和分析依赖关系.假设某评估者i给出了一个依赖关系评本节以开发一个在线商品交易系统为例,对上估(初始)矩阵MFM/t,如表4所示,其中的符号决定面提出的建模辅助方法如何使用进行示例.了行属性X与列属性Y间的依赖关系,比如"+"表eval表4依赖关系评估(初始)矩阵M6!属nx属性YFunctionality Reliability Performance Operability Security Compatib山tyMaintainability Portability Safety Functionality 。。十。。十。十Reliability 。。。十。。。。+ Performance 。。。。。。。。+ Operability 。。。。。。。。。Security 。。。。。。+ Compatibility 。十。。。。十。+ Maintainability 。十。。。。。。十Portability 。。。。。。。+ + 。Safety 。。。。。。+ + (http://www. utdallas. edu/~ supakkul/tools/RE-Tools/ index. html
且L18 计算机f二:J’1l 2013年示属性X正相关依赖于属性Y.由于认知差异和个表5语言值和对应的三角模糊数区间体主观性,20位评估者会给出20个不同的依赖关i封d值伪、ìè〈角模糊数cοoþeratlοn "十"( ) 系矩阵Mevalj,MevaLz , ,Mt’val20 Un走nοwn"0" (. O. ) 步骤2.图8(a)是20位评估者的从业时间分布;(丁οnflict(-10.-10.-]) 依照表5中对语言值三角模糊数的定义,可以得到图依据图8(b)中评估者量化值分布,分别将208(b)中20位评估者对应的评估语言值量化分布,其个矩阵从定性InJ定量化转换,生成依赖关系值失~~阵自L而下分别表示评估者配对的"Co。如ration"、QMf’vaL1 ,QMf’vaL2 , ,QMf’vaLZO "Unknowη"和"Conflict"量化值.10 10 口8 U LJ<Y崎6 cl \HR-E门ci 1 户。$II ~ 运-9酬~4~6 8 一1010 o 5 10 15 评估者编号,ì'l'仙吁吁编号1(a) (b) 图8评估者个体特征和配对娃化值分布表6聚合矩阵M'!函件X!冯'P!'yFunctionality Reliability Performance Operability Security Compatibility Maintainability Portability Safety Functionality 0 0 。0 。十o 。υnunvReliability 0 0 十0 0 0 才00000P盯formance0 0 十0 0 0 o Operability 0 0 。0 0 0 o Security 0 0 0 0 0 十AUnUAυ十Compatibility 0 0 0 0 十。000斗一Maintainability 0 十0 0 。十。() Portability 0 。0 0 。八USafety 十0 十0 。o 表7传递依赖关系(扩展)矩阵EM!禹nxh司'VI:y Functionality Reliability Performance ()perability Security Compatibility Maintainability Portability Safety () 十十Functionality 十十+十。AUnVAV Reliability 十0 0 十Performance 0 0 0 。0 。() ()pera bility 0 0 0 。0 。。十Security 0 十0 nununυAUAUOυ () Compatibility 0 十 Maintainability 0 十十卡八U十Portability 0 。+ Safety 0 。+ + 步骤3.对这20个传递依赖关系值矩阵定性的聚合矩阵M'如表6所示.QMf’1!(.d 1 ,QMf'7叫…,QMf'va/20进行聚合处理生成聚合步骤4.为了充分利用评估信息,获得尽量多的矩阵M.另外,将表5中兰组王角模糊数分别代入隶传递依酬,设置传递可信度r=,将最大传递深属度计算式(1)得到交点横坐标Cl=-2和C2=2,从度设置为企=5,接下来,调用传递函数,在依赖关系而可以将区间[-10,10J划分为3段,以此作为定性值聚合矩阵M的基础t计算传递依赖,得到传递依赖关系值矩阵M;mmjw.化转换判断条件,其中区间[-10,-2)内的值由"Conflict"替换,[-2,2J区间内的值替换为步骤5.对矩阵Mfnw进行定性化转换,同时保"的阳ou旷留聚合矩阵M'中原始依赖信息,获得一个依赖关系
1期邵飞等:一种基于领域知识的非功能需求建模辅助方法49 扩展矩阵EM,如表7所示.该短阵既包含评估者直性及其所对应的软日标之间的关系.利用推导接给出的领域知识,即原始的依赖关系,同时又包含规则l~规则8,可以逐步精华得到更加完善的非功了隐含传递依赖(阴影部分).至此,B2C领域知识的能需求模型9(b)、9(c)和9(d).准备阶段结束.需要注意的是,当领域知识有限或有多个子目 非功能需求辅助建模标可选时,需要人工进行交互式的选择和确认.例在应用阶段,首先构建如图9(a)所示的原始非如,按照己定义规则进行推导,可以得出可操作性软功能需求模型,内部的节点称为软目标,其中根节点目标‘nobackup'与‘highsecurity'以及另一软件周软目标‘highperformance'和非功能分解树中一级境系统安全性软目标‘highsafety'之间都存在冲突非功能属性"Performaηce"相对应,并可分解为若干关系,但通过需求工程师的确认,‘nobackup'与子软目标.‘nobackup'、‘tagsearch'、‘textcontent'、 high security'之间没有直接关联关系,这是因为 networked disks'为可操作性任务,用来实现其父 high security'关注的是数据的保密性,而‘high亲节点代表的软目标.‘nobackup'、‘tagsearch'分safty'更关注该软件对周境系统的安全性,即‘no别表示"不备份用户账户或操作信息"、"商品标签搜backup'与‘highsafety'之间确实存在冲突关系.通索功能"它们的实现可以为系统节省一定响应时过上面的示例可以看出,随着软目标不断精化,可能间;’text content'、‘networkeddisks'分别表示"商会遇到当前领域知识不能解决或存在多种选择的问品只有文本描述"和"使用网络硬盘保存系统数据",题,比如由图9(c)转换为图9(d)过程中,需要人工它们可以减少系统资源的负担.其它软目标也可以执行一定的辅助工作,以决定哪些子目标或任务可像‘highperformance'一样进行分解、精化,例如软以继承父节点的依赖关系.可以看出,当收集的领域目标‘highsecurity'表示系统需要具有强安全性,知识越是接近底层任务时,人工辅助工作量将会变得包括数据保密性、用户隐私、系统安全等等.本文中越小.由于领域知识只能起到辅助建模的目的,最终限于篇幅将不再一一介绍.方案的模型还是需要当事人进行决策.由图9(b)推建立初始需求模型之后,接下来根据表7中的出图9(d)是→个知识转换、关系推理以及人工决策领域知识和表3中的形式化方法建模一级非功能属的过程,下面给出了其中一部分关系的推导过程.o high三EMItyOMtp川High Maintainability high functionality一O O high performance high co;;{patibility high portability )<)( c C C high ~afetv last response few h~;dwares high operability >fX _1 \.... noE2川52rchd飞text content ....唱 、networked disks networked disks ,。( ) (a) O hιi…??7;尸俨?盯fr凶时ff(时十1ο产;飞nmO桂fE立t飞59Pr;:;;叮工5含P己氧ddi阳S业k如sS 22一】\Jtag search netwo-::kc’d disks (c) (d) 图9非功能需求建模辅助过程:(a)--(b)→(c) (d)
50 计算机学报2013年首先列出己知的领域知识以及目标系统的一些不同的量化值分别对应不同的评估者.因此对评估基本信息,并依照表3中定义的关系描述语言进行者认知水平的区分程度随着h]向10的逼近而不形式化表示:断降低.(1)软目标‘highperformance'的实现能提(2)定性化处理.以某个阔值作为判断条件,将升非功能属性的"Perfοr771GTICF"满足度,即数值形式的评估值转化为语言评估值"Coορeration"十("Performance", high performance’). 和"Conflict".该定性化判断条件为町、白,即(2)软目标‘highsec旧ity'的实现能提升非功"Unknowη"隶属曲线分别与"Confliιt"、"L'oo户eratioη"能属性的"Security"满足度,即十("Security", 隶属曲线的交点的横坐标.一般情况下,1ι]1= IC21. high security’). 这里设定评估语言值"Conflict"和"Cooρeration"对(3)非功能属性"Security"的满足会抑制非功能应的三角模糊数区间分别为[-10,-lJ、[1,10J,如属性"perf ormance"的满足度,即("Performance" , 图10所示,随着定性化判断条件q由小变大,原始"Security"). 聚合依赖的数量不断减少、传递依赖的数量在c2>1(4)软目标‘networkeddisks'会促进软目标飞igh后不断减少.当ι2=0时由于原始聚合依赖中被转performance'的满足,即十(‘highperformance’ , 换为"Conflict"和"Coο户eration"关系的最多,能够 networked disks’). 由其衍生的传递依赖相对较少;而当C2=2时,通过并依据相应的规则,利用以上知识进行关系推被转换为"Conflict"和"Cooþeration"的原始依赖,理的过程为能计算出的传递依赖比率达到峰值.+ (" Performaη时"‘highperformance')八80 + (" Securit y" , high security')八60 (" Perfοrmαηce" , "Security")八DlI 十(‘highperformance’ , networked disks’) 墨40垣二字20 一("Per formanc、e", ’high security')八(运用规则2a)。十("Performance", networked disks’)A (运用规则5a)ii!'i't化判断条件{自一(‘highperformance’ , high security’)A (运用规贝U6)因10判断条件值变化对依赖数目的影响( high security’ , high performance')八(运用规则6)传递可信度r的作用是度量依赖关系传递1次( networkeddisks’ , high security')八(运用规则8a)后的可信程度,范围为从O~l.依赖关系传递l次一(‘highsecurity’ ,气letworkeddisks’) (运用规则8a)与传递10次后信息的可信程度是不同的.由于每次传递都可能存在一定程度的误差.因此,传递η次后5讨论所得传递依赖关系的量化值q,需要基于传递可信度r校正为q* rf1.图11、图12分别为传递可信度按5. 1 方法的敏感性分析照不同步长从0~1、从O~,所生成传递依赖的本文所提出的非功能需求辅助建模方法中所包数目变化情况,传递可信度为0时,IW表示传递不可含的计算操作主要处在准备阶段,即领域知识的分信,不会产生任何传递依赖.而当传递可信度为逐步析和生成阶段.该计算过程中包含两个动态参数,分别是三角模糊数和传递可信度 其中,三角模糊数具有两个作用,分别是:60 (1)量化评估值.对于不同的评估者,按照评估白者从业时间对"Conflict"和"Co。如ration"进行量化墨40起草处理.假设产生的量化值所处区间分别为[a],h] J和20 [ω:1 ,bJ ,比如[-10, b] J、[a,,10].如果h]=一10,3 那么所有评估者对应的评估值"Cοn卢ict"将量化为。同一个数值1 0,如果h]=-1,那么"Conflict"的量化值将是区间[-10,一1J中的某个数值,且存在图11传递可信度在[O,lJ且步长为时对依赖数目的影响
1期邵飞等:→种基于领域知识的非功能需求建模辅助方法51 增长时,产生的传递依赖数目基本相等.实际上,通统计相关信息,包括参与人的完成工作所用时长、正过我们对数据的比较,发现其传递依赖的分布是不确率(正确的关联关系/20).同的.不过,仍可观察出,传递可信度为[,实验统计结果如表8和表9所示,相对于其它段内产生的依赖数目相对较多.研究方向的参与人员,本课题组成员更快更好地完80 成了建模工作.同时,使用辅助方法后,尽管需要掌握若干推理规则,但是,元论对于相同系统,还是不60 同系统的建模,依然减少了建模时间,且大幅度提高四恙。了建模正确率.主运20 表8有效性证明交叉实验数据1人员系统l的需求建模系统2的需求建模(使用辅助方法)。编号时长/min正确率/%时民/min正确率/%o 传递可信度Ml 16 65 14 80 此1239 70 20 85 图12传递可信度在[0,且步长为Gl 80 30 35 65 变化时对依赖数目的影响G2 72 25 41 75 因此,建议依据领域专家给出的非功能属性问表9有效性证明交叉实验数据Z依赖关系数量多少和质量高低调整三角模糊数和人员系统I的需求建模(使用辅助方法)系统2的窍求建模编号时长/min正确率/%时侯/minIE确率/%r,以更好地利用传递依赖扩展能力.M3 18 95 35 80 方法的有效性M4 24 85 26 70 G3 45 75 84 55 与原NFR框架相比,使用本文中辅助建模方G4 37 80 77 10 法建立的模型可以通过最小的工作量在最大程度上完善非功能需求依赖关系网,为后续需求分析和方 未来研究方向案决策提供更充分和有力的支持.(1)有效性验证.通过进一步与软件企业合作为了证明该辅助方法的有效性,首先在没有领开展真实案例对比验证,检验该方法的正确性和发域知识的情况下,统计使用NFR框架建立非功能现不足之处,将有利于得到对将来改进有帮助的反需求模型所花费的时间以及所建立非功能需求之间馈信息.关系的正确率,然后统计使用辅助方法建立模型所(2)领域知识获取方法.首先,以评估者直接评花费的时间及其中需求关系的正确率.估的方式收集领域知识,对评估者而言要求太高,且步骤1.选择两个系统作为建模对象,系统1为工作量太大,可能会因为各种主客观因素降低结果铁路售票系统,系统2为微博系统,分别归类为B2C准确度;其次,尽管大样本可以在一定程度上提高领和社交网络系统.在对这两个系统进行了简化的基域知识的可信度,但现实情况中多是中等甚至是小础上,实验负责人与需求工程、相关领域专业人士进样本,因此需要研究小样本信息来源的组成和构成行合作,事先已经分别建立了正确的非功能需求模比例,以保证领域知识的准确和全面性;再者,样本型Railway-Ticket NFR Model ( RTM )、Wei-Bo中可能有错误信息和噪声的存在,它们的引人会影NFR Model(WBM) (各包含20条关联关系)用来对响领域知识的正确性.鉴于此,我们下一步将会对知实验结果进行验证.识的重用机制、知识的质量评估方法、知识的抽取方步骤2.按照本文方法,分别建立B2C、社交网法和多元知识的融合方法以及知识的更新(生命周络系统的领域知识.期、演化)机制进行研究.另外基于从业时间、社会身步骤3.将RTM、WBM关联关系全部删掉,只份等多因素探讨专家权威度评价方法,从而帮助获保留节点(软目标、可操作化软目标),将节点和节点得更准确的领域知识.的简要说明分发给所有参与人,参与人为4名本课(3)对NFR框架的全面兼容.事实上,在RE题组学生(A11,A12,A13,A14)和4名其它课题组学Tools及NFR框架中,依赖关系存在多种类型,比生(Gl,G2 ,G3 ,G4). 如:Equal 、SatificingContrib.、Some+、MAKE、步骤4.依照表8和表9的工作安排,参与人独HELP 、Some一、BREAK、HURT.本文对此进行了立构建这些节点之间的关联关系,实验负责人收集、简化,只考虑其中的HELP与HURT关系.将来计
52 计算机学报2013年Springer-V erla宫.2009: 363-379 划按照同样的方法增加对其它类型依赖关系的领域[3J Frakes W B. Kang K. Software reuse research: status and 知识收集、组织和应用.future. IEEE Transactions on Software Engineerin且.2005. (4)领域知识扩展.目前论文主要是基于标准31(7): 529-536 中-级非功能属性进行了分析和建模,→级非功能[1J Lopez A Y. Niu N. Multiple criteria decision support for software reuse: A case study/ /Proceedings of the IEEE 属性总共有9个,二级中有38个属性.当前使用这lnternational Conference on lnformation Reuse and Integration. 9个一级属性既可以满足粗粒度分析的基本的需Las Vegas. USA. 2011: 200-205 要,又可以降低分析的复杂度,同时这种分析和建模[5J Reiff M S. Yu H. Tilly M. Service selection based on non functional properties/ /Service-Oriented Computing. Lec、ture方法可以递归的应用到二级属性或者是新扩展的属Notes in Computer Science 1907. Berlin. Heidelberg: 性上.但如何充分利用高抽象程度的领域知识,辅助Springer-Verlag. 2009: 128-138 获取更具体或者混合层次领域知识,如何根据非功[6J George J F et al. Object-Oriented Systems Analysis and 能属性抽象程度和分解关系,构造更充实的领域知Design. 2nd Edition. London. UK: Prentice-Hall. 2007 [7J Rosa N S. Justo G R. Cunha P R F. A framework for build 识网络都还值得进一步研究.ing non--functional software architectures/ /Proceedings of the (5)自动化.目前本文领域知识准备阶段和应ACM Symposium on Applied (丁 York. USA. 用阶段主要工作还没实现完全的可视化,还需要人2001: 111 117 工运行大量的命令作为辅助,自动化程度不高.因[8J Franch X. Botella P. Putting non-functional requiremcnts into software architecture/ /Proceedings of the International 此,为了提高用户友好性,我们下一步工作将会开发Workshop on Software Specification and Design. Ise-Shima. 基于starUML平台的可视化工具包.Japan. 1998: 60-67 [9J Li L X et al. Modeling and analyzing the reliability and cost of service composition in the 10T: A probabilistic approach/ / 6结论Proceedings of the IEEE International Conference on Web Services. Honolulu. USA. 2012: 581-591 提出了一种非功能需求建模时基于非功能属性[10J Chen X H, Liu J. Mallet F. Jin Z. Modeling timing require 的领域知识的组织和应用方法,并设计相应的建模ments in problem frames using CCSL/ /Proceedings of the Asia Pacific Software Engineering Conference. Ho Chi Minh. 辅助模块作为NFR框架的扩展,可以沿着非功能Vietnam. 2011: 381-388 需求自抽象到具体的分解方向重用领域知识.其中[I1J Liu Chun. Wang Y肘.Jin Zhi. Eliciting dependability 通过非功能属性的界定使得非功能需求的组织更规requirements: A knowledge-based approach. Acta Electronica 范,能更准确将非功能需求映射到非功能属性;提出Sinica. 2010. 38(S1): 188-193(in Chinese) (XiH宇,E越,余芝,某于知识的软件"f信件;需求获取I1!.T 了一种基于三角模糊数的评估信息定量定性转化技学报.(S]): 188-193) 术,为基于语言评估值的依赖关系聚合及传递依艘[12J Wang Yue, Liu Chun. Zhang W凹,Jin Zhi. Knowledge 关系计算提供了支持;通过对非功能属性及软目标guided software trustworthiness requirements elicitation. Chinese J ournal of Computers. 2011. 3H 11 ): 216 5-2175 ( in 间依赖关系的形式化建模及推理规则的定义,使得Chinese) 利用领域知识自动辅助建模非功能需求成为可能,( 1越.:XiJ存,张伟,金芝.知识']1导的软f'1"fffi性;后求的挺不仅降低了建模的难度,也提高了建模的准确性,从取计算机学报.2011. 31C门):21652175) 而为需求分析提供了有力的支持.[13J Liu Xiao-Li, Wu Guo-Qing. Jiang Min. Quantifying method for dealing with non-functional requirements. Computer 未来工作的重心是解决节中提到的若干问Engineering. 2006. 32(16): 36-37<in Chinese) 题,并将该方法移植到网络需求获取和分析平台( )(IJ小丽•!Jt 1司庆.i'r敏.一种通过电化分析实现作功能需求SKLSEWiki上,对其与需求获取及需求分析过程的的方法.汁算机1:秧.(16):36-37) [I1J Hill R. Wang J. Nahrstedt K. Quantifying non-functional 整合机制进行研究.requirements: A process oriented approach/ /Proceedings of the IEEE International Requirements Engineering Confer 参考文献ence. Kyoto. Japan. 2001: 352-353 [15J Wei B. Jin Z. Zowghi D. An automatic reasoning mechanism [IJ Mylopoulos J. Chung L. Nixon B A. Representing and using for NFR goal models/ /Proceedings of the International Sym non-functional requirements: A process-oriented approach posium on Theoretical Aspects of Software Engineering. IEEE Transaction on Software Engineering. 1992. 18 (6) : Xi’an. China. 2011: 52-59 183-197 [16J Wei B et al. rz: Automated reasoning tool for non-functional [2J Chung L. Leite J C P. On non-functional requirements in requirement goal models/ /Proceedings of the IEEE Interna software engineering/ / Alexander T et al eds. Conceptual tional Requirements Engineering (丁, ltalia, Modeling: Foundations and Applications. Berlin. Germany: 2011: 337-338
1期邵飞等z一种基于领域知识的非功能需求建模辅助方法53 [17J Wei B, Jin Z. Characterizing the implementation of software [21J Supakkul S et a1. Capturing, organizing, and reusing know1 non-functiona1 requirements from probabilistic perspective!! edge of NFRs: An NFR pattern approach!!Proceedings of Proceedings of the Annual Conference in Computer Software the International Workshop on Managing Requirements and App1ications. Beijing, China噜2011:608-609 Knowledge. At1anta, USA, 2009: 75-84 [l8J Burgess C, Krishna A, Li J. Towards optimizing non-func›[ZZJ Supakku1 S, Chung L. Visua1izing non-functiona1 require tiona1 requirements!!Proceedings of the International Confer ments patterns! /Proceedings of the International Workshop ence on Qua1ity Software. J eju, Korea, 2009: 269 on Requirements Engineering Visua1ization. Sydney, Austral阻,[19J Zhu Wei-Xing et a1. Requirements mode1ing based on domain 2010: 25-34 know1edge reusing. 1ourna1 of PLA University of Science and [23J Lopez C, Cysneiros L M, Astudillo H. NDR onto1ogy: Technology (Natural Science Edition), 2009, 10(1): 30-36 Sharing and reusing NFR and design rationa1e knowledge/ / 。nChinese) Proceedings of the Internationa1 Workshop on Managing (朱卫星等.基于领域知识复用的需求建模.解放军理工大Requirements Knowledge. Barcelona, Spain, 2008: 1-10 学学报(自然科学版),2009, 10( 1): 30-36) [24J Xu Ze-Shui. Linguistic Decision Making: Theory and [20J Supakkul S et al. An NFR pattern approach to dealing with Methods. Beijing: Science Press, 2008(in Chinese) NFRs/ /Proceedings of the IEEE Internationa1 Requirements徐泽水.慕于语言信息的决策理论与方法.北京.科学出版Engineering Conference. Washington以~,USA,2010: 179-188社,2008) SHAO Fei,. born in 1986, Ph. D. PENG Rong. born in 1975, Ph. D., professer, Ph. D. candidate. His current research interests supervisor. Her research interests include requirements engi focus on requirements engineering and neering, software engineering, trustworthiness computing knowledge engineering. and service computing. 8ackground As it is well known, Non-Functional Requirement reuse of NFRs. Bllt most reuse stratØgies focus on the organ (NFR)’ is a general term of variolls qllality reqllirements, ization and structure of NFRs. How to reuse domain knowl›such as secllrity reqllirements, performance reqllirements, edge to refine NFRs and discover implicit relationships and reliability reqllirements, etc. Due to its diversity, the between NFRs still need 10 be resolved. In this study, a consenslls of what NFRs are and how NFRs should be elici NFRs modeling aided method based on domain knowledge is ted, modeled and validated are still not reached. In order to proposed. The aided method is divided into two phases: elicit and model NFRs accurately and completely, Non Func preparation and application. In the phase of preparation, the tional Attriblltes (NFAs) must be defined firstly. To this NF ADT is created firstly; and then, the global extended in end, a NFA Decomposition Tree (NFADT) has been pro›terdependency relationship matrix between NF As is estab›posed. The NFADT is primarily established based on the lished by merging the domain experts’ evaluation matrix features covered by ISO/IEC 25010: 2011 and ISO/IEC based on the tran5formation between quality language values 15408. for ISO 25010:2011 defines an elaborate quality mod›and quantity fuzzy numbers. In the phase of application, after el of applications and ISO/IEC 15408 is a security evalllation eliciting the initial NFRs, the interdependency relationship ma›framework which is regarded as a good complement of ISO/ trix between NFA s is used to guide the refinement of NFRs IEC 25010: 2011. According to the definition of the NFADT, and the discovery of interdependency relationships among there are 9 2-1evel NFAs and 38 3-1evel NF As. Although NFRs. Generally speaking, the proposed method is an analy each NFA has an elaborate defjnition which can be found in sis and application mechanism of domain knowledge, which standards, it’s still very difficult for reqllirements engineers can be regarded as an extension of the NFR framework. to elicit and model NFRs manually because different NFA The research was supported by the National Natural Science often comes from a totally different field, and the same NF A Foundation of China under Grant (61170026, 60940028, may have different features in different domain which means 61100017, 60703009), the Outstanding Youth Foundation of it is context-oriented. Thus, a user.-friendly and intelligent Hubei Province under Grant (2009CDA148), the Youth Chen›NFRs modeling aided method is vital. It is well known that guang Science Project of Wuhan (200950431189), the the reuse of domain knowledge is an effective and efficient Chongqing Key Laboratory of Electronic Commerce &. Sllpply method for functional requirements modeling. But due to the Chain System Special Fund (2012ECSC0210), the Funda›abstractness, sllbjectivity and uncertainty of NFRs, it’s dif mental Research Funds for the Central Universities ficlllt to elicit and make llse of domain knowledge to model (2012211020203), and the National Basic Research Program NFRs. Many strategies have been proposed to facilitate the (973 Program) of China under Grant (2007CB310801).