Vol. 29 No. 10 第29卷第10期计算机应用研究Oct. 2012年10月Application Research of Computers 2012 基于设计结构矩阵的可信软件非功能需求评估模型串文杏梓,罗新星(中南大学商学院,长沙410083)摘要:可信软件非功能需求的量化许估是可信软件研究的一个重要领域。依据构件中非功能需求之间的相互关系,结合设计结构矩阵及矩阵变换、运算的方法,提出了非功能需求贡献值的概念,建立了构件和非功能需求关系的相关阵列及具有统一标准和评判尺度的可信软件非功能需求度量模型,并结合该模型构建了一种用来判断软件非功能需求是否符合软件开发者和用户预期的评估决策方法。最后通过一个实例来说明本模型的合理性和有效性。关键词:非功能需求;可信软件;设计结构矩阵;评估模型中图分类号:T凹93文献标志码A文章编号1001-3695(2012)10-3787-04doi: 10. 3969/j. issn. 1001-3695. 2012. 10. 047 Evaluation model for non-functional requirements in trustworthy software based on design structure matrix WEN Xing-zi, LUO Xin-xing (Business School, Central South Univers町,Chαngshα410083, China) Abstract: It is an important field to evaluate non-functional requirements (NFRs) quantitatively in trustworthy software ( TS). ased on the interdependent relations of NFRs inside the components, according to the design structure matrix, matrix shift and calculation, this paper presented the relative quantity of NFRs inside components, which helped to build the relation›al matrix between components and NFRs and to bring a calculation model of NFRs that had unified standard and estimated measure. And based on the model, it produced a decision method which could judge whether the NFRs accord with the antici›pation of the software developers and user. At last, this paper demonstrated the rationality and validity of this model through a real case. Key words: non-functional requirements ( NFRs); trustworthy software ( TS ); design structure matrix ( D5M); evaluation model 可信模型[6J等,这些模型或方法往往将可信属性完全等同于0冒|言非功能需求进行评价,而忽视了两者之间的相互关系;同时,评价中众多定性指标的定量化问题也依赖于各种主观判断。即五联网的普及和网络技术的迅温发展,软件系统逐步走向使有研究者从非功能需求的角度出发考虑指标之间的相互关动态开放、复杂多变的环境中。人们对软件的可信性产生了迫系,如Voas[7J采用线性的方法提出软件非功能需求的具体度切的要求,并对可信软件开展了大量的研究。美国《国家软件量方法、Zhu等人[8J提出FQQ51G模型来评价可信软件非功能发展战略(2∞6年-2015年n将开发高可信软件放在首位,提出了下一代软件工程的构想。2008年初,我国"可信软件基需求及非功能需求之间的冲突均衡关系,他们的研究也不能在础研究"重大研究计划正式启动,它是国家自然科学基金委员一个统一的框架内处理非功能需求的定性和定量问题,且忽略会"十一五"期间启动的重大研究计划之一。了将非功能需求作为横切关注点的构件在软件体系结构中的可信软件非功能需求的评价和决策问题是可信软件领域应用。这些都导致了他们的模型或方法普适性差,只能适应于中的一个重要问题,它涉及软件非功能需求一系列定性和定量特定的情境中。指标。现今,研究者往往借助于大量可识别的质量指标对可信鉴于此,本文借助于设计结构矩阵,依据非功能需求之间属性特征化,将其转换为一个多属性决策问题,并采用不同的的相互关系,构建了一个可信软件非功能需求的度量模型,该方法和模型研究,如1509126软件质量模型[、模糊理论模模型解决了统一框架内的众多定性非功能需求的定量问题。型[3J、可信程度计算模型[4J、可信度量模型[町、开放资源构件基于软件的质量与给定的需求有关[町,本文根据软件开发者收稿日期2012-02-22;修回日期:2012-04-12 基金项目:国家自然科学基金资助项目(90818014);国家自科基金委创新群体项目(70921001/GOI04) 作者简介:文杏梓(1980-) ,女,湖南湘潭人,博士研究生,主要研究方向为管理信息系统,需求工程(wenxingziI980@yahoo. com. cn) ;罗新星(1956-) ,男,湖南邵阳人,教授,博导,主要研究方向为管理信息系统、可信软件.
.3788 . 计算机应用研究第29卷和软件用户对非功能需求视角不同,结合构件在软件体系结构件的非功能需求关系图中有向边的弧头,列对应有向边的弧中的不同应用,建立相应方法来判断评估软件非功能需求,并尾,nf()表示非功能需求时直接影响非功能需求时,并用根据结果作出相应决策。"."来表示。利用定义1,图1中构件C[的非功能需求设计结构矩阵如表1所示。可信软件非功能需求度量模型表1构件C[的非功能需求设计结构矩阵,矿l的的功的价价听1. 1 基于非功能需求相互关系的设计结构矩阵,矶的的叭叭叭价码A 在基于构件的软件开发方法下,构件作为软件系统的构成A 要素和结构单元,任何功能需求的实现最终都表现为一个或多A 个构件及其捐合。非功能需求是能够详述系统运行的评价标A 准,从非功能需求的属性来看,是依附于构件来实现并构成对A 具体软件功能需求的整体约束。借鉴面向方面的核心思想,非A 功能需求是构件设计与实现的横切关注点,它们嵌到软件系统A 的体系结构中。A 为了获得软件系统的可信性,满足用户需求的非功能需求 可信软件非功能需求度量模型的构建客观评价,非功能需求应该是具体的、可分析的[8J。依据在可信软件非功能需求直接或间接相互关系的基础上,建Chung等人[IOJ的定义,非功能需求一般包括可靠性、可用性、立可信软件非功能需求度量模型,具体步骤如下:安全性、性能、容错性、可检测性、可持续性和保密性八个属性,a)确定构件中非功能需求的可达矩阵。给非功能需求设其形式化表示为时(i= 1 ,2,…,8)。它们之间的相互关系表计结构矩阵中的矩阵元素填充具有一定语义的数值后,形成的现为积极关系、消极关系和无关系三种[I1J。例如,当一个软件矩阵称为非功能需求邻接矩阵。定义构件中非功能需求邻接系统旨在最大化可用性时,可用性可能会对安全性、可维护性矩阵来表达构件中非功能需求之间的相互关系;定义构件中非产生消极关系;但当软件系统旨在最大化可靠性时,可靠性可功能需求可达矩阵来确定非功能需求之间的直接或间接相互能对可检测性产生积极影响。而软件系统中,可用性和数据精关系,即某些非功能需求的变化所影响的同一构件中其他非功确性之间可能是没有关系的。将非功能需求之间的这种关系能需求变化情况。称为相互性,即一气个非功能需求可能有利于另一个非功能需求定义2非功能需求邻接矩阵。设软件非功能需求集合或对其有反作用或是没有任何作用[8,IOJ。也就是说,一个非功为NF=l1l,/;,叭,…,,其中nJ.表示第i个非功能需求,矩能需求的变化可能直接或间接引起其他非功能需求的变化。阵MG=mci(j,k)表示构件C中非功能需求nJ;与nfk之间是ii图1为表示基于构件的软件系统中,各构件中非功能需求之间否存在直接影响关系(其中iJ,k为正整数),且有的相互关系。rl 当nfk直接影响nJ;时( ) l MC,=阳ι(j,k)= ~ 。当听不直接影响时时称矩阵MG为构件C的非功能需求邻接矩阵。ii定义3非功能需求可达矩阵。设软件非功能需求集合为NF=1时,叭,…,玩1,非功能需求邻接矩阵MG对应关系i22P为RÇNF,关系R的传递闭包为R+=RURU…UR,则对应的矩阵(2) MCiR+ =MC,RV M,C,R2 V ". V M旷=11MM坠也H亚jl~MGiR’ =M C,Rk-[ v MC,R(i =2,3,"',p),称矩阵MCiR+为构图1基于构件的非功能需求关系件C的非功能需求可达矩阵,简称可达矩阵。i这种相互关系,可以通过设计结构矩阵(designstructure 通过定义2和3,确立构件中非功能需求的可达矩阵,也matrix, DSM)来表达,设计结构矩阵是系统建模的一种常用工就确定了它们之间直接或者间接的影响关系。具,它以一种紧凑、可视、便于分析的形式体现系统构成元素之的确定各个构件中非功能需求的贡献值。设系统构件集间的相互关系。合为C= I C[, C, , C1 , CiNF = [时,叭,…,nfnJ(i=l,2p 定义l非功能需求设计结构矩阵。设某构件中非功能2,…,p)是一个一维数组,数组CiNF中任一元素nfk= 需求用集合NF={圳,叭,…,nfn}来表示,nh表示第i个非功(l M构件矶的横切关注点令能需求,它们之间的相互关系用一个nXn维设计结构矩阵来。听不是构件C的横切关注点表示。其行和列分别表示该软件系统中所有非功能需求,矩阵i的维数n表示非功能需求的个数,主对角线元素标志着该非功MCiNF =[ cι呐,Ci叭,…,Ci叫f]=CiNF*MC,R+ (3) n能需求本身,用"Â"来表示;其他元素表示非功能需求之间的其中:C‘时表示构件Cι中非功能需求时直接或间接影响其他相互关系,其方向性由矩阵的行和列分别表示,行对应基于构非功能需求的个数,称之为贡献值。非功能需求的贡献值越
第10期文杏梓,等:基于设计结构矩阵的可信软件非功能需求评估模型.3789. 大,则该非功能需求对其他非功能需求的影响就越大,该非功行。具体结构如图1所示。能需求就越重要。3. 1 认证系统非功能需求度量模型c)确定非功能需求度量模型O令1)确定认证系统构件的非功能需求可达矩阵MCNF= [MCNF,MCNF, ,MCpNF] T (4) 12以图1中构件C为例,确定构件C中非功能需求设计结11则矩阵MCNF的第E行表示构件C中各个非功能需求的贡献构矩阵,如表l所示。利用定义2、3,其非功能需求邻接矩阵值,第j列表示非功能需求时在各个构件中的贡献值。求矩和可达矩阵分别为阵MCNF各行和各列的贡献值之和,分别用'in!,和'iC表io 0 0 0 0 0 0 0 示,得到构件与非功能需求贡献值阵列,该阵列表示构件中各1 0 000 000 个非功能需求的总贡献值和各个非功能需求在整个系统中的o 1 0 0 0 0 0 0 总贡献值,即构件及系统中非功能需求的、具有同一尺度和统o 0 1 000 1 0 MC= 1 一标准的客观评价值o 0 0 0 0 0 0 0 Oo 0 000 000 2 需求差异视角的非功能需求评估000 101 0 0 1 0 1 000 1 0 在可信软件非功能需求度量中,不同的群体对软件非功能o 0 0 0 0 000 需求评判的视角和要求不同,具体体现在确定软件非功能需求1 0 000 000 的重要性方面。软件开发者可能更看重软件中基于构件的复1 1 0 000 0 0 用、多层体系结构等问题,他们认为组成系统的各个构件的重1 1 1 1 0 1 1 0 MC1R+ =1 要性不同,导致不同构件中非功能需求的重要性也相应不同。o 0 0 0 0 0 0 0 而软件用户并不需要知道软件的构件组成,他们更看重软件非o 0 0 0 0 0 0 0 功能需求能否达到他们的预期,即非功能需求对整个系统的贡1 1 1 101 1 0 献情况。111 101 1 0 若某一软件系统,软件开发者根据各个构件对整个系统的同理,可得其他构件的非功能需求邻接矩阵MC和可达i重要性不同,分别赋予各个构件的权重值(叫,屿,…,αp), 矩阵MCiW(i =2,3,4,5,6,7)。由可达矩阵MC1W可知,矩阵第一列元素MC1R户,主αι=1 (0运币1),构件中非功能需求的权重值也相应变化,MCIR3~IMCIR4+.IMCIR7~IMCIR8~1均为1,则非功能需求听到非则基于软件开发者需求的软件非功能需求度量值为功能需求nf2、,、nh、税、nfs可达,表明非功能需求nfl直接或A = (αl'饨,…dp)×〈EM|乌)T(j=1,2,...,p)(5) 者间接影响非功能需求码、听、叭、听、听C其他列推理相软件用户在综合考虑该软件系统非功能需求重要性的情同;可达矩阵MC1R+第一、五、六行均为零,表明非功能需求圳、nfs、nf6均不受其他非功能需求影响。况下,给出各个非功能需求的权重值(βl'β2, AL Eβι=1 2)确定认证系统各构件中非功能需求贡献值(0:0:::;βi :0:::; 1) ,则基于软件用户需求的该软件非功能需求的度量由式(3)构件C中非功能需求的贡献值1值为T 1 rO 0 0 0 0 0 0 0 B= (βlι,ßn) x <扛|以)T(归1,2,'",n) (6) 1 0 0 0 0 0 0 0 A 可1 1 0 0 0 000 IA -B I 111 101 1 0 7=1---.一一(7) MC,NF= C,NFxMC, R+ =1 1 x B 101100000000 其中:1'为评估值,即通过不同群体、不同需求的度量,软件非o 0 0 0 0 000 功能需求的设计、实现在多大程度上与之在实践中软件用户的1 1 1 101 1 0 评价相吻合,即对软件非功能需求的评估值。软件开发者和用111 101 1 0 户可以共同确定T值的范围,以便确定该软件非功能需求的质[5 4 3 3 0 3 3 0] 量水平和风险程度。各个非功能需求对构件C的贡献值按大小分别为:时〉叭〉1r民主主n/.,;::'nf6;::'听〉叭;::.nfs。同理可得其他构件中非功能需3 应用实例求的贡献值。3)确定认证系统非功能需求度量值企业员工在册认证系统(以下简称认证系统)是企业信息由式(4),MCNF = [MC1NF, MCNF, , MCNF] T。系统的一个主要功能模块,它是一个复合构件,主要完成个人27矩阵MCNF表明非功能需求在各个构件中及整个系统中权限分配、注册信息登记和数据维护、与其他部门或系统的交互三大功能。其构件集合表示为COM= 1 C,马,C1,设构件46的贡献情况,计算矩阵MCNF各行各列之和,记做主以及C是由构件Cs1、C构成的复合构件,构件马由构件C组合23ECι,则矩阵转变成基于构件与非功能需求贡献值阵列表,而成。该系统满足节提及的非功能需求使得系统顺利运
.3790. 计算机应用研究第29卷如表2所示。确、合理的可信软件非功能需求评估。表2构件与非功能需求贡献值阵列表4 结束语E n!1 矿i的n/4 的,的n!6 n!s ZIFEL C5 4 3 。3 。21 1 本文的研究以基于构件的可信软件体系结构为基础,利用C。5 3 。。3 15 2 非功能需求之间的相互关系,间接度量了非功能需求,建立了C。。3 。。3 3 。9 3 一个统一框架内的软件非功能需求度量模型,从根本上解决了C4 。。4 。。。4 12 4 软件非功能需求评价的主观性、标准的不一致性,也便于可信C4 2 。4 3 。15 s 软件非功能需求之间的相互比较。同时结合软件开发者和使C。。。5 5 。14 6 用者在度量非功能需求时的不同需求,建立了一种用来评判软C7 6 6 4 4 4 4 6 41 7 7 件非功能需求是否符合软件用户预期的方法,为可信软件非功20 18 19 13 4 19 21 13 127 三1Cz能需求的评价、选择提供了客观依据。下一步将研究当用户对由表2可知,构件C中各个非功能需求总贡献值为21,1可信软件质量偏好变化导致非功能需求遵循预定规则、并按照21 一定目标形态变动时,可信软件非功能需求是否稳定、值得信占整个软件系统总贡献率的一;;-x 100% = 16. 54% ,其他各行127 任等问题。推理相同。各构件中非功能需求对整个系统的贡献值情况为参考文献:C>C>乌二~C2>C>ι>C7 1 6 30非功能需求r吗4叫E扩叭/瓦对于整个系l[ 1 ZA YA RAZ GTHAMBIDURAI PMADHU 5. 50ftware quality as›J , , 川〈统总贡献值为矶占所有非功能需求贡献值的surance through 岔35ιxC05MIC FFP [ ACM 8igsoft 80仕wareEngi›J J. fneering Notes 2005 30( 5) 1-5. ,,: 1臼5.乃75%毛;其他各列推理相同。各个非功能需求对整个系统的[2J KA55AB MORMANDJIEVA 0DANEVA M. Non-functional re›, , 贡献值情况为瑞〉时>n!3;去听〉叭>n!4~叭〉码。quirements: size measurement and testing时thC05MIC-FFP [ C/ ]I 需求差异视角的非功能需求评估Proc of Intemational Conference on 50ftware Process and Product 若软件开发者确定各个构件的权重值为(. 10Measurement. Berlin: 5pringer2008: 168-182. , , , [3 5H1 H LMA ZOUF Y. 50ftware dependahility evaluation model JO. 10 0. 120. 180. ) ,利用式(5),则软件开发者认为, , , J ,,,,based on fuzzy theory [ C / /Proc of Intemational Conference on Com J 软件非功能需求的度量值为A= 19. 99;若软件用户赋予各个puter 5cience and Information Technology. 2008 102-106. : 非功能需求的权重值为(. 15O. 10O. 05 O. 10O. 15, , , , , , [ 4 MA Y FZHANG M. A computation model of trustworthy degree , J ) ,利用式(6),则软件用户确定的非功能需求度量,[ C / /Proc of Intemational 5ymposium on InteJligent Information J 值为B=。利用式(7)有r=0. 8511。Technology Application Workshops. 2008 :523-526. 为了便于软件用户和专家的判定,结合该类软件的开发经[5 ZHANG YFANG BXU C Y. Trustworthy metrics models for inter›J , , 验和实际应用环境,将该软件非功能需求分成A、B,CE、D、五netware [ Wuhan University Journal of Natural 8ciencesJ J. , 个等级,各个等级对应的评价结果范围为:E级(r<)、D级200813(5) :547-552. ,(运r<)、C级(罢王r<)B级(运r<)A、、PALVIAINEN [6J IMMONEN AM. Trustwortbiness evaluation and tes›, 级(::;;r),r值越大,评估级别越高,说明用户对软件非功能ting of open source components [ C / /Proc of tbe 7th Intemational J Conference on Quality :316-321. 需求的满意程度越高,软件质量越好,应用风险越低,用户直接[7 VOA5Trusted software’ 1. s holy grail[ 80ftware Quality Jour›JJ. J 使用的可能性越大,并假设用户对软件非功能需求的最低要求nal2oo311 :9-17. ,, (I) 为级别D。已得r=0. 8511,属于B级,即评估认为该认证系统[8 ZHU Ming-xunLUO Xin-x, 吨,CHEN Xiao-honget al. A non›, J 非功能需求能较好地满足用户需求,应用风险小,可以直接被functional requirements tradeoff model in trustworthy software[ In›JJ. 用户使用。formation 8ciences2012 191 :61-75. ,,[13]为了进行比较研究,采用证据推理[川、改进证据推理[9 GB/T 16260-1996信息技术、软件产品评价、质量描述及其使用J 两种方法对认证系统非功能需求进行评估,主要是因为这两种指南[.方法解决了在统一框架内定性指标的定量化问题。令。=UNG LN[lOCHIXON B AYU Eetα1. No川imctionalrequirements , , , J 1hpp = ,…,51为系统非功能需求统一识别框架,各等级的效in software nonfunctional requirements: three experimental studies of a I ,用为1J process-oriented approach [ M 1s t ed. Canada: K1uwer Academic J. = 10. ;5 h,,,.,叭,则以上两种方法在0上的Publisher毡,2000:58-62 可信度分别为m (hO. 798l= (儿,ω4 )1 ) I和mI , , s 2= [ 11 CEYDA G 5BARAC H. Fuzzy quality function deployment based , J (儿,)),软件非功能需求评估值分别为I ,(儿,1methodology for acquiring enterprise software selection requirements =η=叫,,对应本文定义的评估等级均为B级。Expert 8ystem with Applications 2010 37 (4) 3415-3426. [1]. ,,: 比较研究结果表明:a)1J>1问>r,主要原因是证据推理法[ 12 GUO MinYANG Jian-boCHIN K 5et al. The evidential reason›J , , , 没有考虑非功能需求之间的相互关系和实现各种非功能需求ing approach for multi-attribute decision analysis under both fuzzy and 的构件在软件中的不同地位及作用,没有将这两部分信息从实interval uncertainty [ Advances in uterJ 80ft Comp2008 46 J. , : , 验结果中去除;b)1J>r2,改进证据推理方法虽然考虑了评估信129-140. 息源相关性,但没有考虑构件在软件体系结构中的不同作用,[13 杨善林,丁帅,付超.考虑信息源相关的软件可信性评估模型J导致结果偏离事实。由此可知,采用本模型可以获得更为准[JJ.中国管理科学,200912(6),:163-169.