首页 如何评估架构

如何评估架构

举报
开通vip

如何评估架构关注软件架构的系列主题-如何评估架构Overview20一、引言二、ATAM三、CBAM提纲四、架构编档与评估为什么要评估软件架构为什么要评估软件架构?我们需要了解软件架构设计的原因,因为很多事情都依赖于架构,并且我们能够对架构进行评估。在每个基于架构的开发方法中都应该进行架构评估。软件架构评估的重要因素时间在软件的生命期内近可能早的评估软件架构几乎总是经济高效的。可以在系统生命周期的许多个点上进行架构评估。参与者项目负责人、架构师有经验的评估团队其他涉众软件架构评估的重要因素经济性在8年的时间内对架构进行评估的经...

如何评估架构
关注软件架构的系列主题-如何评估架构Overview20一、引言二、ATAM三、CBAM提纲四、架构编档与评估为什么要评估软件架构为什么要评估软件架构?我们需要了解软件架构 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 的原因,因为很多事情都依赖于架构,并且我们能够对架构进行评估。在每个基于架构的开发方法中都应该进行架构评估。软件架构评估的重要因素时间在软件的生命期内近可能早的评估软件架构几乎总是经济高效的。可以在系统生命周期的许多个点上进行架构评估。参与者项目负责人、架构师有经验的评估团队其他涉众软件架构评估的重要因素经济性在8年的时间内对架构进行评估的经验表明,进行全面的架构评估平均可以节约10%的成本促进编档向被评审人员说明架构评估的重点并要求他们在评估前表述构架,意味着被评审人员必须对架构进行编档了解原理架构评估通常侧重于需要回答的一些具体问题的某几个特定的方面,回答这些问题通常需要解释设计选择及其基本原理验证需求讨论和检查架构满足其需求的情况可以展开对需求的讨论,结果是能更清楚的理解需求,通常还能够知道需求的优先级架构改进架构评估不仅在评估后得到了更好的架构,随着时间的推移,组织就培养了一种提倡优秀的架构设计的文化软件架构评估的重要因素提问技巧ATAM和CBAM方法就是“提问技巧”的示例,在假定的架构上就可以很好的应用它,并且可以在生命期的早期应用。度量技巧提问技巧的补充是度量技巧,它依赖于对某些类似的定量度量,使用度量技巧时,必须有已经存在的、可以被度量的工作产品。软件架构评估的重要因素前置条件表述清晰的架构目标与需求,只有需求明确,才能评估一个架构是好还是坏;可控制的范围,列出几个明确的目标,数量最少应该有3-5个;经济高效,ATAM与CBAM方法适用于大中型项目,对于小项目可能就不是经济高效的了;关键人员参与,务必确保能够系统、清晰表述架构的人能参与;称职的评估团队,在理想状态下,评估团队应该是公司内的一个独立实体,它们必须公正、客观并受人尊重。软件架构评估的重要因素结果(应该包含,但不限于)一个简洁清晰的架构表述一个简洁清晰的业务目标表述代表质量需求的场景集合架构决策到质量需求的映射确定的敏感点和权衡点集合有风险决策和无风险决策风险主题的集合根据ROI(投资回报率)对架构策略的排序(仅限于CBAM)一、引言二、ATAM三、CBAM提纲四、架构编档与评估ATAM概念ATAM,架构权衡分析法,是评估软件架构的一种综合全面的方法,它不仅可以揭示出架构满足特定质量目标的情况,而且可以使我们更清楚的认识到质量目标之间的联系-即如何权衡诸多质量目标。评估小组,由3-5个有经验的架构师组成项目决策者,项目经理、开发经理等对项目决策负责的人架构涉众,高级主管,开发人员、测试人员、运维人员等分析阶段ATAM分析阶段(1-3)第1阶段与第2阶段合起来又称为ATAM的分析阶段,一共有9步组成,其中第1~6步在第1阶段执行,第7~9步在第2阶段执行。第三步,架构描述方法描述驱动架构形成的需求,以及现在已采用的标准/模型/方法(2~3张幻灯片)重要的架构信息(4~8张幻灯片)上下文图:系统将存在的上下文,该系统将与之交互的人或其他系统;模块或分层视图:描述系统功能分解的模块(可以是子系统或层),以及作为其具体内容;组件-连接器视图:进程、线程及其同步关系、数据流及将其连接起来的事件;部署视图:CPU、存储器、外设/传感器以及连接它们的网络和通信设备;还显示了在各个处理器上执行的进程。架构方法、模式或所采用的战术,包括它们实现了什么质量属性以及这些方法如何实现这些属性的描述(6~8张幻灯片)商业产品的使用及其选择/集成(1~2张幻灯片);对1~3个最重要的用例场景的介绍。如果有可能的话,包括对每个场景的运行时资源使用情况的介绍(1~3张幻灯片);对1~3个最重要的变更场景的介绍。如果有可能的话,根据所变更的模块或接口来描述变更的影响,即预计的变更的规模/难度(1~3张幻灯片);与实现促使形成该架构的需求相关的架构问题/风险(2~3张幻灯片)术语表(1张幻灯片)第三步需要项目架构师介绍项目的架构,下面这个20页PPT的提纲是很好的参考。ATAM分析阶段(4-6)第五步,质量属性效用树质量属性属性求精场景性能交易响应时间在系统处于峰期负载时,为对地址变更通知作出响应,用户更新病人的账户,交易要在0.75秒内完成(H,M)吞吐量在峰期负载下,系统每秒能够完成150次范式化的事务可配置性医院提高某项服务的费用。配置小组在一个工作日内完成该改变,不需要改变原代码(H,M)易用性熟练度培训让有2年及以上行业经验的员工能在1周内掌握该系统的核心功能(M,L)质量属性:不必过分追求质量属性的命名,按照涉众能够接受的名字即可,其含义主要还是取决于场景。场景:一个场景中不能包含过多的质量属性,并且每个场景都应该有自己的优先级和难易度的定义(例如H、M和L分别对应了高、中、低)。第六步,架构分析有敏感点架构A有风险场景A分析记录架构A为有风险决策有敏感点架构B有风险场景B分析有敏感点架构A有风险场景C分析记录架构B为有风险决策记录架构A为权衡点有敏感点架构D无风险场景D分析记录架构D为无风险决策分析阶段1-6总结第一阶段结束后,评估小组将得到一份关于架构的记录与分析文档,其中包括质量属性效用树、敏感点、有风险决策、无风险决策以及权衡点,这些内容将作为第二阶段的输入物。在第二阶段启动之前,评估小组应该拿出1-2周的时间来与项目组成员进行一些非常正式的沟通,使得了解能够更加的彻底,当涉众被召集到一起后,第二阶段就开始了,在其正式步骤开始之前,评估小组还需要向涉众介绍一遍ATAM的评估方法。ATAM分析阶段(7-9)第七步,如何让涉众确定场景优先级让他们通过投票表决来确定哪些场景是最重要的。在分配选票时,每个涉众都会拿到相当于总场景数的30%的选票,并且此数值只入不舍。在投票时,涉众可以随意使用这些选票:可以把这6张选票都投给1个场景,也可以给1个场景投1张选票,或者是介于以上两者之间的其他方式。最终,我们可以选择“在某得票数之上”的场景,例如,评估小组可能只考虑得票数最多的前5个场景。ATAM主要步骤及对结果提供的信息结果步骤质量属性需求的优先级划分所有架构方法的编目针对方法或质量属性的分析问题架构方法与质量属性的对应有风险决策和无风险决策敏感点和权衡点(1)ATAM方法表述(2)商业动机的表述**(3)架构的表述****(4)确定架构方法******(5)生成质量属性效用树**(6)分析架构方法*********(7)集体讨论并确定场景优先级**(8)分析架构方法*********(9)结果的表述*表示该步骤是该结果的次要提供者**表示该步骤是该结果的主要提供者第七步,如何让涉众确定场景优先级总体来说,ATAM是一个重量级的架构健壮性评估方法,它通过对场景的分析,挖掘出架构设计中的问题及风险点,以便项目组进行改进。一、引言二、ATAM三、CBAM提纲四、架构编档与评估CBAM概念ATAM遗漏了一个重要的考虑事项:在大型复杂系统中最大的权衡通常必须考虑经济性。我们需要一个考虑成本、收益、风险和进度的软件的“经济”模型。CBAM,成本收益分析方法,它构建在ATAM之上,提供了对技术的经济问题以及构架决策的评估。Ri=Bi/Ci1000效用质量属性响应abBi=∑(bi,j×Wj)j确定效用-响应曲线规划效用-响应曲线通常可以采用以下四步来实现。1000效用质量属性响应ab结果示例根据最坏、当前、期望、最好四个基本点,构造整个效用-响应曲线响应目标场景描述票数最坏当前期望最好1减少手工干预导致的分配请求挂起的数据分配故障1010%挂起5%挂起1%挂起0%挂起3减少在订单提交过程中失败的订单数量1510%失败5%失败1%失败0%失败5减少会导致丢失订单的订单故障1510%丢失1%以下丢失0%丢失0%丢失效用得分场景描述票数最坏当前期望最好1减少手工干预导致的分配请求挂起的数据分配故障101080951003减少在订单提交过程中失败的订单数量152570951005减少会导致丢失订单的订单故障15070100100对应场景设计架构策略每一个架构策略都有可能对应一到多个场景,每一个场景也有可能对应一道多个架构策略。为了能够计算架构策略的收益,因此必须给出每个场景在采用了架构之后能够达到的新响应情况,如下表所示。策略名称描述影响的场景当前的响应架构达到的响应1订单提交的持续性订单一到达系统就存储该订单35%失败2%失败51%以下丢失0%丢失5订单的重新分配允许操作人员重新分配订单15%挂起2%挂起7被迫的完成订单允许操作人员跳过由于数据质量限制导致的系统不可用15%挂起3%挂起计算每个策略产生的收益根据效用-响应曲线,代入架构达到的响应,计算出架构达到的响应效用。根据每个场景架构达到的效用与其当前的效用的差值,我们可以得出效用提升的大小,再乘以票数(暨权重)就可以得到这个场景的收益。一个架构策略对应的所有场景的收益和就是这个架构策略的总收益。架构策略1总收益:300+450=750架构策略5总收益:100架构策略7总收益:50策略名称影响的场景票数当前的效用架构达到的效用收益1订单提交的持续性315709015*20=3005157010015*30=4505订单的重新分配110809010*10=1007被迫的完成订单110808510*5=50根据策略成本计算ROI估算成本的方式通常以人·天为单位,因此如果我们要估算一个架构策略的成本就应该考察实现它所需要的人·天数,一般来说这由提出它的架构师给出,如果最终这个架构策略被采纳,那么项目组就应该将其视为一个任务,并按照其估算监督它的执行。由于每个场景在计算其收益时已经考虑该场景的重要性(暨权重),因此每个架构策略也就具有了横向可比性,通过最终的ROI可以得出架构策略应该被执行的先后顺序,CBAM的作用就是告诉我们架构设计时应该考虑的经济性,最终项目组在资源有限的情况下应该优先执行那些ROI更高的架构策略,推迟甚至是放弃执行那些ROI极低的架构策略,虽然它们可能对系统也有帮助。策略名称总收益成本ROI排名1订单提交的持续性7501000人·天0.7515订单的重新分配100200人·天0.537被迫的完成订单5080人·天0.6252谢谢!“Strategicdesignrequiresminimalismandhumility“ByEricEvans联系方式手机ningyang@epri.sgcc.com.cn13810386481
本文档为【如何评估架构】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
xxj7584
暂无简介~
格式:ppt
大小:252KB
软件:PowerPoint
页数:0
分类:建造师考试
上传时间:2020-03-24
浏览量:0