Software Engineering Institute | Carnegie Mellon University
Software Engineering Institute | Carnegie Mellon University

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.

The prerequisite for this course is the Software Architecture: Principles and Practices course, which is available as instructor-led classroom training and as eLearning.

Who should attend?

  • practicing software architects
  • designers and developers of software-reliant systems


  • life-cycle view of architecture design and analysis methods
  • 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


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

  • the essential considerations in any architectural design process
  • the QAW for eliciting critical quality attributes
  • the ADD method for designing an architecture
  • the role of architecture evaluation
  • using the methods within a software development life cycle


Before registering for this course, participants must


Participants will receive a copy of lecture slides and exercises.


This 2-day course meets at the following times:
Days 1-2, 8:30 a.m. - 5:00 p.m. (U.S. locations)
Days 1-2, 9:00 a.m. - 5:30 p.m. (non-U.S. locations)

New eLearning - Big Data: Architectures and Technologies - A course for architects and technical stakeholders - Learn more >

Course Details

Course Fees [USD]

U.S. Industry: $1500

U.S. Government/Academic: $1200

International: $2250

Please select a course offering then click REGISTER.


This course may be offered by special arrangement at customer sites.

For More Information

Phone: 412-268-7622