11.01.2017 Views

A Technical History of the SEI

ihQTwP

ihQTwP

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Architecture Trade<strong>of</strong>f Analysis Method<br />

The Challenge: Determining <strong>the</strong> Best Architectural Design for Defense<br />

Systems<br />

Most complex s<strong>of</strong>tware systems are required to be modifiable and have good performance. They<br />

may also need to be secure, interoperable, portable, and reliable. But for any particular system,<br />

what precisely do <strong>the</strong>se quality attributes mean—modifiability, security, performance, reliability?<br />

The achievement <strong>of</strong> quality attributes such as <strong>the</strong>se in a s<strong>of</strong>tware system depends more on <strong>the</strong><br />

s<strong>of</strong>tware architecture than on code-related issues: language choice, fine-grained design, algorithms,<br />

data structures, testing, and so forth. S<strong>of</strong>tware architectures are complex and involve many<br />

design trade<strong>of</strong>fs. Without undertaking a formal analysis process, an organization developing a<br />

system cannot ensure that <strong>the</strong> architectural decisions made—particularly those that affect <strong>the</strong><br />

achievement <strong>of</strong> particular quality attributes—are advisable ones that appropriately mitigate risks.<br />

In <strong>the</strong> early 1990s, <strong>the</strong>re was not a structured and repeatable way <strong>of</strong> analyzing trade<strong>of</strong>fs among<br />

quality attributes. Analysis <strong>of</strong> trade<strong>of</strong>fs in quality attributes was ad hoc and intuitive, and <strong>the</strong>re<br />

was not a way for architects to explain to o<strong>the</strong>r stakeholders in <strong>the</strong>ir organizations why <strong>the</strong>y<br />

thought <strong>the</strong>ir proposed architectures were appropriate or superior to o<strong>the</strong>r possible architectures.<br />

A Solution: The Architecture Trade<strong>of</strong>f Analysis Method<br />

In an earlier effort, <strong>the</strong> <strong>SEI</strong> developed <strong>the</strong> S<strong>of</strong>tware Architecture Analysis Method (SAAM) as a<br />

way <strong>of</strong> looking at modifiability [Kazman 1994, 1996]. In considering modifiability, <strong>SEI</strong> researchers<br />

realized that <strong>the</strong>re were o<strong>the</strong>r quality attributes that were important, and that <strong>the</strong>re are trade<strong>of</strong>fs<br />

among <strong>the</strong>m. The Architecture Trade<strong>of</strong>f Analysis Method (ATAM) emerged from <strong>the</strong> SAAM as a<br />

way <strong>of</strong> analyzing <strong>the</strong>se o<strong>the</strong>r quality attributes [Kazman 2000].<br />

The purpose <strong>of</strong> <strong>the</strong> ATAM is to assess <strong>the</strong> consequences <strong>of</strong> architectural decisions in light <strong>of</strong> quality<br />

attribute requirements and business goals. An ATAM is an early lifecycle analysis method that<br />

is designed to discover risks in decisions that might create future problems in some quality attribute<br />

and to discover trade<strong>of</strong>fs in decisions affecting more than one quality attribute. Discovered<br />

risks can <strong>the</strong>n be made <strong>the</strong> focus <strong>of</strong> mitigation activities (fur<strong>the</strong>r design, fur<strong>the</strong>r analysis, or prototyping),<br />

and surfaced trade<strong>of</strong>fs can be explicitly identified and documented.<br />

An evaluation using <strong>the</strong> ATAM typically takes three to four days and ga<strong>the</strong>rs toge<strong>the</strong>r a trained<br />

evaluation team, architects, and representatives <strong>of</strong> <strong>the</strong> architecture’s various stakeholders. The<br />

ATAM consists <strong>of</strong> nine steps, which include a discussion <strong>of</strong> business drivers and architecture, and<br />

architectural approaches, among o<strong>the</strong>r topics. The output <strong>of</strong> an ATAM is a presentation and/or a<br />

written report that includes <strong>the</strong> major findings <strong>of</strong> <strong>the</strong> evaluation. These are typically a set <strong>of</strong> architectural<br />

approaches identified; a “utility tree”—a hierarchic model <strong>of</strong> <strong>the</strong> driving architectural requirements;<br />

<strong>the</strong> set <strong>of</strong> scenarios generated and <strong>the</strong> subset that were mapped onto <strong>the</strong> architecture;<br />

quality-attribute-specific questions that were applied to <strong>the</strong> architecture and <strong>the</strong> responses to <strong>the</strong>se<br />

questions; a set <strong>of</strong> identified risks; a set <strong>of</strong> identified non-risks; and syn<strong>the</strong>sis <strong>of</strong> <strong>the</strong> risks into risk<br />

<strong>the</strong>mes that threaten to undermine <strong>the</strong> business goals for <strong>the</strong> system. The most important results<br />

are improved architectures.<br />

CMU/<strong>SEI</strong>-2016-SR-027 | SOFTWARE ENGINEERING INSTITUTE | CARNEGIE MELLON UNIVERSITY 258<br />

Distribution Statement A: Approved for Public Release; Distribution is Unlimited.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!