ATAM中实用树的目的

9 architecture software-design

什么是实用树,以及在架构权衡分析方法(ATAM)的情况下它的用途是什么?

谢谢

Arn*_*-Oz 19

软件架构是一种设计.虽然"常规"设计主要是关于功能要求 - 但架构主要是关于"非功能性"或"性能"或更好的名称"质量属性".

如果你去利益相关者并询问他们质量属性,他们会说他们想要性能,可用性,可扩展性等,但这并不是真的有用.ATAM(和其他方法)促进将质量属性表达为上下文中的场景.例如

可用性 - >修复时间 - >在正常情况下,系统将在不到5秒的时间内检测到组件中的故障.

适应性 - >添加/删除功能 - >一旦投入生产,界面中的更改将至少与一个版本兼容

实用树是组织这些质量属性的一种方法.关于ATAM,它们可以作为优先考虑质量属性的方法,然后评估候选架构与要求的适用性.我也喜欢将它们作为参考要求和故事(或主题取决于大小)作为敏捷开发积压的一部分.

你可以在我写的一些帖子中阅读更多关于质量属性和实用性发辫的内容: 质量属性介绍实用树 - 孵化质量属性.如果你想在ATAM的背景下阅读它们,你应该阅读评估软件架构:方法和案例研究 Paul Clements,Rick Kazman和Mark Klein(我在这个主题做了一个旧的演讲).

编辑:添加了一篇博文,扩展了上面的解释.