CN43-1258/TP 计算机工程与科学2006年第28卷第A2期ISSN 1007-130X c。如1PUTERENGINEERING &.级::IENCEVol. 28,No. A2,2006 文章编号:1007-130X(2006)A2吨。139-03特征模型中非功能需求建模初探*Towards Modeling Non-Functional Requirements in Feature Models 孙连山,黄里,孙穗馨,陈;在撞,梅宏SUN Lian-shan,HUANG G部恕,SUNy:刽t-ehu眩.CHENHOI弯jie爪哇EIHong {北京大学信息科学与技术学嚣,北京1锦871)(Scb∞'. of EI仅tronicsEngineering and Computer Science, Pe汹ngUniversi纱.Beijing loo871,China) 摘要:在需求模型中准确、完整地规约与非功能需求(NFR)相关约语义是实现NFR的前提,也是需求建模的难点。本文探讨了特征模型中NFR的建模方法,该方法显式区分功能和非功能特征,根据耕化关系将处于不同拾象层次上的非功能特征组织成树状结构,支持对NFR的系统化处理。该方法扩展特征模型以显式描述特定于NFR的语义,还给出了基于知识库〈特别是中间件特征模型构成的知识痒〉识到并精化NFR的过程。该方法在奥运信息系统建模中得到了应用eAhstract: Specifying NFR-specific semantics accurately and completely is a prerequisite for implementing NFR and is a daunting task in requirem臼tengineering. This paper explores an appr,佣chto modeling NFR in feature models. The ap›proach distinguishes the functional feature (F-Fe在阳re)and the Non-functional feature (NF-Feature) explicitly. It organizes NF-Features at various abstract levels into a tree-structure via refinement relationships to enable the systematic treatment to NFR. In addition, it extends the feature model to capture NFR-specific semantics explicitly, and presents a pI'i时臼sto refine NFR on the basis of a knowledge base, especially the knowledge base of a middleware feature model. This approach is ap›plied into the project of Modeling Olympic Information System (OIS). 关键词:特征z中间伶p特征建模;等功能需求Keywo民主s:feature; middleware; feature modeling; NFR 中图分类号:TP3 11 文献棒识码:A述NFR(],但其对NFR相关语义的建模在3然不够完整,对NFR关注点的组织仍然比较混乱,从而影嘀了NFR的分析1 引言和精化,影响了领域体系结掏和应屠体系结梅的设计。本文软件系统除要实现功能性需求(FR)之外,还须满足可探讨了特征模型中NFR的建模方法,该方法允许开发者区靠性、易m性、效率、安全等多方理的约束,人们常把这些约分功能特征和非功能特征,并以功能特在为基础,利用知识束归类为质量属性需求或非功能需求(NFR户.Z]。虽然至库〈特别是中闰件特征模型构成的知识库)识到并精化今钙然没有准确的定义,组是NFR的重要性以及实现NFR.持在模型的拷状结梅记录了NFR的精住过程,支持NFR的困难已经为学术界和产业界所公认。实现NFR的NFR的交捷、协商和演化。此外,方法允许开发将NFR精困难在本质上来源于NFR所固有的相对性、主观性以及化为具体的实现挺能,这能够更明确地驱动软件开发活动。NFR之间的相互影响凶。国此,识到并精化抽象的NFR、明确NFR之间以及NFR与FR之间的关系对于实现满足2 背景和动机NFR的软件系统至关重要口.3]。面向特征的需求建模技术被广泛地应用于建立领域需 特在模型求模望或根据领域需求模型生成应用需求模型(]其中,从内撞来看,特征是紧密相关的单个软件需求的集合z特侄模望作为领域需求和应用需求的载体在理论上能够描从外廷来看,特征是黑户/客户可见的软件能力[爸.7J。特在告收稿日期:2006-07-19;修订日期:20邸-08-03基金项目:国家973计划资渤项目(2002C因12000);国家自然科学基金资助项目〈臼4030衍,60233010,前503028);画家863计划资助项目C2005AA112030);IBM大学合作项目通讯地址:1∞871北京市北京大学信息科学与技术学院;Tel:(010)6275767仇E-mail:hu扭扭ang@. ed臼.cn Address:Sch∞1 of Electronics Engineering and Computer Scien白, 100871,P. R China 139
模型包括特在E以及特缸闰的关系。特在模型将领域中多个在用的共性和变化性组织成树状结构,它允许开发者缺据领域特在模型定制应黑特在模型。型1是一个扩展的特篮模型的元模型,其中特篮和各种关系均扩展自UML元模型[8J国1的上半部分来自文献[巧,下半部分是本文针对特定于NFR的语义对特征模型的扩展。特征(Feature)具有名称、描述、可选性、绑定时间和绑因2注册';þIj证特征模型片段(扩展元模型之前〉定状态等属性。可选性表示特征在领域当中的变化性,却首先,当前特征模璧未区分功能特征和非功能特征,功在开发特定应用时可以被剪裁的特征。绑定是指使可选的能关注点和非功能关注点温杂在一起,造成了特征模型结领域特在E出现在应用特征模型当中的动作。绑定状态分为构上的需乱。例如,交互特征和安全特征都能精住得到数绑定、服除和未决。可选特征的绑定状态之间具有某种约字签名特缸和加密解密特征等,但糖化关系的语义不同。束关系。例如,对于A、B两个特缸,"A Require B"表示绑其次,特征模型未能显式地捕获NFR之间的相互影定A则必须绑定B;"A Exlude B"表示A和B不能被同时确。例如,安全和可靠性款及持久性都可能相互影响。绑定。涉及多个特征的约束称为ComplexConstrainto另此外,现有特征建模过程仅关注子发现领域中的共性外,精化关系(Refinement)可将父特征分解(Decomposi›和变化性,不区分FR和NFR.也不包含组织和精化NFRtion)为不商的组成特征、特化(Specializatíon)为包含更多的过程和活动,这就使得开发者对NFR的识别和精住通常细节的特征、细化(Detailization)为一些属性特征。是即兴的。目前的特征模型并未显式地标识NFR,也不特别关注N囚的识到精化和分析。但是,需求模型中的NFR信息3 方法概竟是选择体系结构进计方案的重要依据[]因此,有必要在特征模型中显式地捕获NFR,以满足设计各种体系结构的需要。扩晨特征模型奥运会注册信息子系统为了捕衰特定于NFR的语义,本文扩展特在模型如图1下半部分房示。图1区分NF-Feature和F-Feature的吕奥运信患系统(OIS)是奥运会成功举办的关键技术支的是允许开发者将票本散布在功能需求模型当中的NFR撑,为了保证奥运会的眼科运营,OIS必须满足一些NFR,关注点集中组织在一起,支持对NFR的系统化处理。NF历届奥运会的OISB经构成了一个领域。奥运信患系统Feature可表示NFR及其实现抗髓,F-F臼ture表示FR。建摸项岳的任务之一就是掏造OIS领域模型,并在此基础一个NF-Feature约束一个或多个F-F,臼t泣妃,而一个F上梅造北京2008奥运会的OIS需求模型。OIS中有许多Feature可能被任意个NF-Feature约束(臼nstrain仆。NFR需要特娟的关注。Constrain、Conflict以及Chor四graphy等关系是NF-Fea注册都证系统(ACR)是OIS牛的一个重要子系统它re参与的关系类型,分到表示不同的含义。冲突关系与OIS中的多个子系统交互.对奥运会的颇利运营十分关(ConflicÜ描述两个NF-Feature之间可能出现的冲突。编键。如围2所示,ACR的主要功能有z注册信患登记;个人排(Choreography)表示当多个NF-Feature病时约束一个权摄分ft(;;数据维护g生成认证卡事与其它部门或系统交互F-Feature时它们之前的关系。织i如,安全和可靠性同时作完成个人信息和权限前分罩、验证、确认和分发等oACR 用于注册制证数据的传输,但二者之间存在颗序关系,即先是一个分布式数据库系统,它需要满足安全性、传输可靠性对数据加密,然后进行数据复制或可靠传输。和数据持久性等 基于知识霹识到并精住NFR的过程 特征模型的局摄本文假设在开始识到和精铭NFR之前,描述领域或应菌2所示的特征模型在描述NFR时面临如下局限z。鸣曲alMetaM嗣,刻i 图1一个扩展的特征模型的元模型140
用的主要功能的特征模型已经存在。这是考虑到:(1)功能开发者还能指定加密强度(64位、128位〉。另外,信息登记需求相对容易处理,原有特征建模方法能较好地支持功能特特征需要将加密的数据持久化到数据库当中,这可能影响征的组织和精化;(2)功能需求是理解和精化NFR的基础。将来的子串查询[IlJ。由于允许子串查询使系统的易用性识别并精化NFR的过程如下:更佳,因此安全能影响易用性。另外,交互的数据应该先加(1)根据领域的特点或领域中应用的信息,识别领域或密,然后通过可靠的传输机制传输,即加密解密和可靠传输应用涉及的NFR的类型,如安全、持久性、可靠性等。之间存在顺序编排关系。(2)将知识库当中与某个NFR类型相关的实现机制组织成特征树,作为可选特征集成到功能特征模型当中。4 讨论(3)分析每个功能特征的特点,将其关联到适当的NFR及其实现机制。本节结合在实际项目中扩展特征模型描述NFR的经(4)分析约束同一个功能特征的NFR之间的关系。将所验讨论目前NFR的建模和实现中面临的一些挑战以及本有未关联到功能特征的NF-Feature从特征模型当中删除。文的方法对这些挑战的处理。其中,知识库非常关键,它蕴涵了与NFR相关的专家首先,尽管学术界和产业界强调NFR的重要性的声音知识,使经验不足的开发者也能较好地完成NFR建模和实甚嚣尘上,但软件工程领域仍然缺乏有效的方法和技术处现任务。不同的知识库影响NFR的精化策略和精化程度。理NFR。实际项目中描述NFR的媒介仍然主要是自然语首先,由质量属性度量构成的知识库鼓励开发者依据度量言,软件开发过程中对NFR的实现通常是即兴的。精化NFR。例如,"交互应该具有98%的可靠性"这种策略本文提出的方法是缓解目前这种现状的初步探索。虽然明确规定了NFR的度量,但对设计和实现NFR的意其次,已有的NFR建模方法大都使用不同的符号在不义不大。其次,由NFR实现策略构成的知识库则鼓励开发同的过程中处理FR和NFR,这可能给开发者造成某些者将抽象的NFR关联到具体的实现机制。例如,"ACR与NFR是次级目标的错觉,开发者可以绕过NFR建模,随意其它系统的交互必须至少成功一次"这种策略明确地指明地实现FR;另外,在被强制实现NFR的情况下,开发者仍了设计和实现NFR的任务。两种方式可以同时使用。特然面临着集成由不同语言描述的模型的负担阳。别地,中间件技术极大地简化了分布式系统的开发,中间件本文的方法使用统一的词汇"特征"描述FR和NFR,也实现了很多支持NFR的策略,如事务、访问控制等。因允许开发者在统一的过程中处理NFR和FR,从而在一定此,蕴涵丰富的NFR相关知识的中间件特征模型口。]可以程度上克服了NFR的建模符号与FR建模符号之间的差作为知识库。图3是本文方法使用的知识库的一部分。这异问题。种知识库鼓励开发者通过确定NFR的实现策略来确定再次,缺乏与NFR相关的专家知识、对NFR合理精化NFR的具体含义、发现NFR之间的潜在冲突、支持NFR程度的判断以及描述NFR的相关建模语言设施使得获取的系统化实现。并精化NFR停留在无序的层次上。本文通过扩展特征模型提供建模语言设施,将中间件 应用示例特征模型作为支持NFR开发的知识库尝试解决上述问题。图4是应用扩展的特征模型以及中间件特征模型(图最后,由于NFR固有的抽象性、复杂性以及贯穿性,在3)建立的ACR特征模型的一部分。图4表明功能特征和需求模型中集成NFR的信息使得需求模型变得更加复杂,非功能特征只能被精化为同类特征,二类特征之间存在约难以管理。这也是进行NFR建模所必须面对的一个问题。束关系,非功能特征之间存在冲突或编排关系。例如,安全本文利用特征模型的结构特性管理各种抽象层次上的特征可被精化为加密解密、数字签名和访问控制,必要时,中阅件酬咀附{请求图3中间件特征模型片段(支持NFR建模的知识库)国例口主豆函EI NF-Fl~llWf' I 精化口一t,)IllliCl ----4 trastmill ---气FqI?飞可伊图4部分注册制证特征模型(扩展元模型之后)(下转第145页)141
2000. 参考文献:[2J L M Cysne ros, et al. Non-Functional Requirement From E›licitation to岛nceptualModelDJ. lEEE Trans on Software [IJ A Raniwala, T Chiueh. Architecture and Algorithms for四Engineering, -350. IEEE 802. 11 Based Multi Channel Wir宅lessMesh Network [3J L Bass, P Clements, et al. Software Architecture in Prac›[AJ. Ir也com2∞5[. rice. se∞nd臼irion[白. [2J J Li, C Blake, D de Couto,et al. Capacity of Ad Hoc Wireless [4J K C Kar毡,S G Cohen, et al. Feature-Orienred Dornain A›Net附rks[ 2001[C工 (FODA) Feasibility Study[RJ. Technical Report [3J R Draves, J Padhye, B ZiII. Routing in Multi Radio, Multi CMU/SEI-90-TR-21 ,Sofrware Engineering Institute, Carne-Hop Wireless Mesh Networks [ A]. Mobicom 2004 [ C J. gie Mellon University, 1990. 2004. 臼JKwanw∞Lee. Kyo Chul Ka晤.J aejoon Lee.臼nceptsa时[4J Y Wa吨,WWa吨,X Li. Distributed Low-Cost Backbone Guidelines of Feature Modeling for Product Line Software Formation for Wireless Ad Hoc Networks [A]. Mobihoc Enginee岳暗[ 2002[C工[. [6J Wei Zhang. Hong Mei, Haiyan Zhao. A F回ture-Oriented[5J U Kozat, G Kondylis, B Ryu,et al. Virtual 1为namìcBack›Approach to Modeling Requirements [岳尧P严endencibone for岛lobileAd H口号Networks[A].Pl"倪。fIEEE 11α; 2005[CJ工.2∞005忌‘273岳-284生. 2001[C:工2001.[7J Wei Zha吨,Haiyan Zhao, Hong Mei. A Propositional 1吨ic[6J ] Tang, G Xue, W Zhang. lnterference Aware Topology Based Method for Verifi四tionof Feature Models [ A J. Control a时QOSRouting in Multi Channel Wireless Mesh ICFEM 2004[C工-130. Net附rks[A工比,bihoc2则由.2005.[8J Obj昭鸟也皿gementGroup. Unified Modeli喀l..a啤uage每 1. 5 [EB/OLJ. http://www. 0吨〈上接第141页〉org/ technology / documents, 2005-10. NFR,有助于管理摸堕胎复杂性。我们计划将来研究租开[9] K Lee, K Ka吨.et al. Feature-8ased Approach to Object-o›发CASE工具,以管理复杂模型的不同视蜀,进一步解决模riented岛19Ìneeringof Applications for ReuseDJ. Software›型复杂性的挑战.Practice and Experience,2002, 30(9) :1025-1046. [10J 黄豆.反射式软件中间件原理与技术研究:[博士学位论文][D].北京大学, 相关工作[ll] Gustav Bostrom. Databa配Eneryptionas an Aspeet[AJ. Workshop A部部ECat AOSD 2004闵.2004. NF盯王1]是Chung等提出剖面向目标的NFR握架e[12J J C Leite, A P Fran∞. A Strategy for Conceptual Model NFRF使用软吕挥(Softgo哇。描述NFR,将NFR描述在软Aequisition[AJ. Proc 1st IEEE Int’ 1 Symp Requirements 吕标菌当中。每一个软吕标包含一个类型(type)以及一个Engineeri吨[. 243-246. 或多个主题(topics),分到表示质量属性和功能需求。Cys[ 13 J M R Barbaeci, et al. Quality Attribute Workshops nerios详摆地诗论了将软目标图与周UML描述的功能模(QAWs). Third Edition[R工TeehniealReport CMU/SEI-型集成的方法和过程阳,它引人LEL作为集成功能关注点20臼 Engineering Institute. Carnegie 和非功能关注点的基础。LEL是一个领域词汇的集合tlE],Mellon U niversity, 2003. 这与特征模型类缸t.另外,Bass等采用场景技术描述匮量属性需求,造过指定位先级选择重要的场景进行分析和实现∞。ß重量属性场景是对通用的质量属性模板的特化,是参与贯量属性研讨会间的人员的经验的直接体现,芫外,文献[3J为每个最量属性提供了参考实现策略集合.这些策略比较抽象,强立于质量属性场景技术,可以作为知识库集成在本文的方法当中。6 结束语本文介绍了特在模型中NFR建模方法,分析了现有面向特缸建摸技术处理NFR关注点的不是,并通过扩展特征模型开发基于知识库劫NFR建摸过程来解决这些不足。此外,本文还讨论了方法的意义,并指出了将来的研究思路.参考文戴:[IJ L Chung, B N xon, E Yu, et al. Non-Functional Rεqui陀·ments in Soft明白Engineeri暗[ Academic, 145