SEI Training

Software Architecture Design and Analysis

A system's software architecture is widely regarded as one of the most important software artifacts. Software professionals routinely make decisions that impact that architecture, yet many times that impact is not fully considered or well understood.

Which design decisions will lead to a software architecture that successfully addresses the desired system qualities?

How do you know if a given software architecture is deficient or at risk relative to its target system qualities?

This two-day course provides in-depth coverage of the concepts needed to effectively design and analyze a software architecture. The essential considerations for defining any architecture are carefully examined and then illustrated through application of the SEI Attribute-Driven Design (ADD) software architecture design method. This course also explores architecture analysis in-depth and introduces the SEI Quality Attribute Workshop (QAW) and the SEI Architecture Tradeoff Analysis Method (ATAM). Through multiple exercises, participants study an application of these methods and get a chance to apply them to sample problems.

This course is based on the books Software Architecture in Practice, 2nd Edition and Evaluating Software Architectures: Methods and Case Studies.

Who should attend?

Topics

the QAW, a method for eliciting critical quality attributes, such as availability, performance, security, interoperability, and modifiability

the ADD method, a method for designing a software architecture

the ATAM, a method for evaluating a software architecture based on a set of attribute-specific measures of the system such as performance, availability, modifiability, and security

Objectives

This course provides attendees with in-depth coverage of the concepts needed to effectively design and analyze a software architecture. After attending this course, participants will have a better understanding of