11

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

谢谢

4

2 回答 2

23

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

如果你去找利益相关者并询问他们关于质量属性的问题,他们会说他们想要性能、可用​​性、可伸缩性等,但这并没有真正的帮助。ATAM(和其他方法)促进将质量属性表达为上下文中的场景。例如

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

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

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

您可以在我不久前写的几篇文章中阅读更多关于质量属性和实用树的内容: 质量属性介绍实用树 - 孵化质量属性。如果您想在 ATAM 的上下文中了解它们,您应该阅读评估软件架构:方法和案例研究Paul Clements、Rick Kazman 和 Mark Klein(还有我就该主题所做的旧演示)。

编辑:添加了一篇扩展上述解释的博客文章。

于 2012-04-14T17:55:00.327 回答
1

基本上,效用树是关于 ATAM 坐标中效用度量的树。它说明了适当的非功能性需求是否通过提议的架构选项来满足。对于每一个 lave,都有一个相关的信心水平。

于 2013-04-24T16:20:24.210 回答