1、CBAM构架评估方法提纲提纲 CBAM评估方法概述评估方法概述 ATAM与与CBAM评估方法的关系评估方法的关系 CBAM评估方法的基础评估方法的基础 CBAM评估方法的步骤评估方法的步骤 CBAM评估方法示例评估方法示例1.CBAM构架评估方法概述构架评估方法概述 对于任何一个大型的项目而言,我们不仅对于任何一个大型的项目而言,我们不仅要关心系统满足质量属性的要求,也要关要关心系统满足质量属性的要求,也要关心系统给组织带来的经济效益心系统给组织带来的经济效益 CBAM(Cost Benefit Analysis Method)成)成本收益分析方法本收益分析方法是对软件系统进行经济建是对软件系
2、统进行经济建模的方法,它提供了对技术与经济问题以模的方法,它提供了对技术与经济问题以及构架决策的评估及构架决策的评估1.1 经济评估的例子经济评估的例子对同一个系统而言采用不同的构架策略、不对同一个系统而言采用不同的构架策略、不同的加工工艺其成本和效益是完全不同的同的加工工艺其成本和效益是完全不同的2 ATAM与与CBAM的关系的关系一一.ATAM与与CBAM之间的区别之间的区别1.目的不同目的不同ATAM关心产品本生,而关心产品本生,而CBAM关心产品的经关心产品的经济效益济效益2.阶段不同阶段不同CBAM在在ATAM基础之上进行构建,用来对构基础之上进行构建,用来对构架设计决策的成本与收益
3、进行建模,架设计决策的成本与收益进行建模,CBAM在在ATAM结束时开始,它实际上使用了结束时开始,它实际上使用了ATAM评估评估的结果的结果2.1 ATAM与与CBAM的联系的联系二二.ATAM与与CBAM之间的联系之间的联系1.ATAM揭露了在系统中制定的构架决策,揭露了在系统中制定的构架决策,并将他们与商业目标和质量属性响应度量并将他们与商业目标和质量属性响应度量联系起来;联系起来;CBAM通过获取通过获取ATAM决策相决策相关的成本和收益,从而为从经济层面考虑关的成本和收益,从而为从经济层面考虑决策提供依据决策提供依据2.这两种方法都使用场景来作为评估的基础这两种方法都使用场景来作为评
4、估的基础3.CBAM评估方法的基础评估方法的基础 CBAM的基本思想:的基本思想:构架策略影响系统的质量属性,反过来构架策略影响系统的质量属性,反过来这些质量属性又会为系统的涉众带来一定这些质量属性又会为系统的涉众带来一定的收益,我们称该收益为的收益,我们称该收益为效用效用。每个构架每个构架策略都为涉众提供了一特定级别的效用,策略都为涉众提供了一特定级别的效用,同时,每个策略对应一个成本,我们将收同时,每个策略对应一个成本,我们将收益和成本的比值叫做益和成本的比值叫做ROI(Return on Investment)投资回报)投资回报,CBAM方法就是计方法就是计算各种构架策略的算各种构架策略
5、的ROI,然后协助涉众选,然后协助涉众选择构架策略择构架策略3.1 效用效用-响应曲线响应曲线 CBAM使用场景来表达具体的质量属性(场使用场景来表达具体的质量属性(场景包括刺激、环境和响应),但是它不是使景包括刺激、环境和响应),但是它不是使用一个单独的场景,而是通过改变响应值对用一个单独的场景,而是通过改变响应值对某一质量属性生成一组场景,每个场景对应某一质量属性生成一组场景,每个场景对应一个效用,那么一组响应值就对应一组效用一个效用,那么一组响应值就对应一组效用,这样就形成了,这样就形成了效用效用-响应曲线响应曲线 例如,对于可用性而言,使用硬件冗余得到例如,对于可用性而言,使用硬件冗余
6、得到一个效用,使用软件冗余将得到另一个效用一个效用,使用软件冗余将得到另一个效用,两组场景的效用和成本都是不同的,两组场景的效用和成本都是不同的3.1.1 几种不同的效用几种不同的效用-响应曲线响应曲线3.1.2 效用效用-响应曲线上的特殊点响应曲线上的特殊点通过以下几个值就可以描绘出效用通过以下几个值就可以描绘出效用-响应响应曲线:曲线:1.最坏情况质量属性级别,效用为最坏情况质量属性级别,效用为02.最好情况质量属性级别,效用为最好情况质量属性级别,效用为1003.当前效用级别,效用为当前效用级别,效用为504.所期望的效用级别,效用为所期望的效用级别,效用为905.对不同质量属性不同的响
7、应生成不同的效对不同质量属性不同的响应生成不同的效用,这是一个根据响应得到的效用变化值用,这是一个根据响应得到的效用变化值3.2 场景的优先级场景的优先级 涉众通过投票决定需要评估场景的优先级涉众通过投票决定需要评估场景的优先级,并且为这些场景分配一个权值,得票最,并且为这些场景分配一个权值,得票最多的权值为多的权值为1,其余场景的权值为一个小于,其余场景的权值为一个小于1的数的数3.3 确定构架策略确定构架策略 由设计师或设计小组的负责人确定从当前由设计师或设计小组的负责人确定从当前的质量属性响应级别移到所期望的级别的的质量属性响应级别移到所期望的级别的一组构架策略,对每个构架策略而言,我一
8、组构架策略,对每个构架策略而言,我们可以得到们可以得到 每个场景中所期望的响应值每个场景中所期望的响应值 构架策略对所感兴趣的其它质量属性的影构架策略对所感兴趣的其它质量属性的影响响 对实现该构架策略的成本估计对实现该构架策略的成本估计3.4 计算构架策略的效用计算构架策略的效用 我们首先计算每个场景相关的效用,然后我们首先计算每个场景相关的效用,然后计算某个构架策略在各个场景中的总效用计算某个构架策略在各个场景中的总效用。我们假设某个构架策略的总效用为我们假设某个构架策略的总效用为Bi,bi,j 则是策略则是策略i对场景对场景j的影响所产生的收益,的影响所产生的收益,Wj是场景是场景j的权值
9、,那么的权值,那么Bi=(bi,j Wj)bi,j=Uexpected-Ucurrent3.5 计算计算ROI 对于每个构架策略而言,不仅有收益对于每个构架策略而言,不仅有收益Bi,而,而且也有一个总成本且也有一个总成本Ci,每个构架策略的,每个构架策略的ROI为为RiRi=Bi/Ci 实际上,实际上,Ci是涉众估计的成本值,这个值是涉众估计的成本值,这个值并不一定准确,特别是对人力资源耗费的并不一定准确,特别是对人力资源耗费的估计,正是因为这个原因,估计,正是因为这个原因,CBAM方法虽方法虽然提供了一种对构架进行经济评估的方法然提供了一种对构架进行经济评估的方法,但是还不成熟也不易推广,但
10、是还不成熟也不易推广4.CBAM评估评估方法的步骤方法的步骤 CBAM共共有有9个个步骤步骤:4.1 CBAM评估方法步骤解释(评估方法步骤解释(1)1.整理场景:确定场景的优先级,然后选择整理场景:确定场景的优先级,然后选择优先级最高的优先级最高的1/3场景场景2.对场景进行求精:确定该场景的最好情况对场景进行求精:确定该场景的最好情况、最坏情况、当前情况和期望情况的质量、最坏情况、当前情况和期望情况的质量属性响应级别属性响应级别3.再次确定场景的优先级,只保留一半场景再次确定场景的优先级,只保留一半场景4.为每个场景的当前级别和期望级别分配效为每个场景的当前级别和期望级别分配效用用4.2
11、CBAM评估方法步骤解释(评估方法步骤解释(2)5.为每个场景开发构架策略,并确定质量响为每个场景开发构架策略,并确定质量响应级别应级别6.使用内插法确定所期望的构架策略效用值使用内插法确定所期望的构架策略效用值7.计算某个构架策略的总收益计算某个构架策略的总收益8.计算计算ROI,根据,根据ROI选择构架策略选择构架策略9.运用直觉来确认所得到的结果运用直觉来确认所得到的结果5 CBAM评估方法示例评估方法示例 NASA ECS(Earth Observing Core System)项目是)项目是EOSDIS(Earth Observing System Data Information
12、System)项目的)项目的核心核心 目的是从各种卫星下行基站中收集数据并目的是从各种卫星下行基站中收集数据并处理为更高级形式的信息,供科学家查询处理为更高级形式的信息,供科学家查询使用使用 其质量属性包括可用性和性能其质量属性包括可用性和性能5.1 整理质量属性场景整理质量属性场景场景场景场景描述场景描述1减少导致分配请求挂起的数据分配故障减少导致分配请求挂起的数据分配故障2减少会导致丢失分配请求的数据分配故障减少会导致丢失分配请求的数据分配故障3减少在定单提交过程中失败的定单数量减少在定单提交过程中失败的定单数量4减少会导致丢失定单的定单故障减少会导致丢失定单的定单故障5用户需要更多关于其
13、数据定单失败的原因用户需要更多关于其数据定单失败的原因 的的信息信息表表1 ECS系统数据访问工作组收集的部分场景系统数据访问工作组收集的部分场景5.2 对场景进行求精对场景进行求精表表2 所求精的质量属性场景的响应目标所求精的质量属性场景的响应目标场景场景最坏最坏当前当前期望期望最好最好110%挂起5%挂起1%挂起0%挂起25%丢失1%丢失0%丢失0%丢失310%失败5%失败1%失败0%失败410%丢失1%丢失0%丢失0%丢失510%获得50%获得 100%获得 100%获得5.3 投票确定场景的优先级表表3 已投票求精后的场景已投票求精后的场景场景场景场景描述场景描述得票得票1减少导致分配
14、请求挂起的数据分配故障减少导致分配请求挂起的数据分配故障102减少会导致丢失分配请求的数据分配故障减少会导致丢失分配请求的数据分配故障 153减少在定单提交过程中失败的定单数量减少在定单提交过程中失败的定单数量154减少会导致丢失定单的定单故障减少会导致丢失定单的定单故障155用户需要更多关于其数据定单失败的原因用户需要更多关于其数据定单失败的原因 的信息的信息55.4 分配效用表表4 给出了得票数和效用得分的场景给出了得票数和效用得分的场景场景场景得票得票最坏最坏当前当前期望期望最好最好11010809510021507010010031525701001004150701001005510
15、701001005.5 为场景开发构架策略为场景开发构架策略策略策略 名称名称影响影响场景场景当前响应当前响应期望响应期望响应1订单提交订单提交的持续性的持续性 35%失败失败(70)2%失败失败(92.5)41%丢失丢失(70)不丢失不丢失(100)2定单的重定单的重新分配新分配15%挂起挂起(80)2%挂起挂起(92)3被迫的定被迫的定单完成单完成15%挂起挂起(80)3%挂起挂起(88)表表5 构架策略和所解决的场景构架策略和所解决的场景5.5.1 期望质量属性响应效用计算期望质量属性响应效用计算 对于场景对于场景3 5%失败为失败为70的效用,的效用,1%失败为失败为100的效用的效用
16、 则则5%1%之间增加的效用是之间增加的效用是30(100-70),),则减少则减少1%的失败,增加效用的失败,增加效用7.5%期望是期望是2%失败,则与失败,则与5%相差相差3,效用效用=(5-2)x7.5+70=92.55.6 计算从某个构架策略中得到的总收益计算从某个构架策略中得到的总收益策略策略场景场景权值权值收益收益标准化收益标准化收益总收益总收益13152233078041530450211012120120311088080表表6 构架策略的总收益构架策略的总收益5.7 根据根据ROI选择构架策略选择构架策略策略策略成本成本总收益总收益策略的策略的ROI策略的排序策略的排序1100078078%1240012030%332008040%2表表7 构架策略的投资回报率(构架策略的投资回报率(ROI)5.8 总结总结 CBAM是一种叠代式获取过程,它与决策是一种叠代式获取过程,它与决策分析框架结合在一起,采用场景来表示各分析框架结合在一起,采用场景来表示各种质量属性种质量属性 使用使用CBAM的经验告诉我们,从理论上解的经验告诉我们,从理论上解决一个问题并将其应用到实践中是很困难决一个问题并将其应用到实践中是很困难的的
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。