Purpose of Utility tree in ATAM
Asked Answered
W

2

13

What is an utility tree and what is it's purpose in case of Architecture tradeoff analysis method(ATAM)?

Thanks

Whitehall answered 14/4, 2012 at 7:57 Comment(0)
R
26

Software architecture is a type of design. While "regular" design is mainly about functional requirements - architecture is mainly about "non-functional" or "-illities" or the better name "quality attributes".

If you'd go to stakeholders and ask them about quality attributes they'd say they want performance, availability, scalability etc. but that's not really helpful. ATAM (and other methods) promote expressing quality attributes as scenarios in context. e.g.

Availability -> Time to repair -> Under normal conditions, the system will detect a failure in a component in less than 5 sec.

Adaptability -> add/remove feature -> Once in production, a change in an interface will be compatible at least one version back

Utility trees are a way to organize these quality attributes. In regard to ATAM they serve as a way to prioritize quality attributes and later to evaluate the suitability of a candidate architecture vs. the requirements. I also like to use them as reference requirements and stories (or themes depending on size) as part of a backlog in agile development.

You can read a little more on quality attributes and utility tress in a couple of posts I wrote a while back: Quality attributes introduction and Utility trees - hatching quality attributes. If you want to read about them in the context of ATAM you should read Evaluating Software Architectures: Methods and Case Studies Paul Clements, Rick Kazman & Mark Klein (and there's an old presentation I made on the subject).

Edit: Added a blog post expanding on the explanation above.

Rm answered 14/4, 2012 at 17:55 Comment(2)
Hi I understand what are scenarios, types, what its consist of, but still I am not able to understand how they are extracted, is it from requirements? Like "user must be able to generate expense report by selecting a month", do we extract scenarios from such requirements.Heavyfooted
@PHPAvenger: Yes, the Scenarios are typically extracted from the requirements. In case there is doubt, you should try to get Agreement from all relevant stakeholders, e.g. in a Quality Attribute Workshop (see e.g. sei.cmu.edu/architecture/tools/establish/qaw.cfm )Notorious
P
1

Basically the utility tree is a tree about the utility measures in the ATAM coordinates. It says whether the appropriate non-functional requirements are held via the proposed architectural options. With each lave there is an associated level of confidence.

Presidency answered 24/4, 2013 at 16:20 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.