software quality metrics

Utility trees and quality attributes

Posted on April 27th, by Arnon Rotem-Gal-Oz in Blog, SAF. No Comments

I recently answered this question in Stackoverflow :


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

 I did answer the question there but here’s a better explanation with lots of examples base on the initial version for chapter 1 of SOA Patterns (which didn’t make it into the final version of the book).

There are two types of requirements for  software projects: functional and non-functional requirements. Functional requirements are the requirements for what the solution must do (which  are usually expressed as use cases or stories). The functional requirements are what the users (or systems) that interact with the system do with the system (fill in an order, update customer details, authorize a loan etc.).

Non-Functional requirements are attributes the system is expected to have or manifest. These usually include requirements in areas such as performance, … Read More »