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), the SEI Architecture Tradeoff Analysis Method (ATAM), and several lightweight evaluation techniques. Through multiple exercises, participants get a chance to apply these methods to sample problems.

This course is based on the books Designing Software Architectures: A Practical Approach and Software Architecture in Practice, 3rd edition.

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
  • lightweight architecture evaluation methods
  • the architecture design process in the organization


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, exercise materials, and the book Designing Software Architectures: A Practical Approach.


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)

Training courses provided by the SEI are not academic courses for academic credit toward a degree. Any certificates provided are evidence of the completion of the courses and are not official academic credentials.

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