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

Software Architecture Courses

Based on decades of experience architecting software-reliant systems and supported by four widely acclaimed books, the Software Architecture training equips software professionals with state-of-the-art practices, so they can efficiently design software-reliant systems that meet their intended business and quality goals.

Software Architecture: Principles and Practices

This two-day foundational course is your introduction to the essential concepts of software architecture. It emphasizes the importance of the business (or mission) context in which your system is designed and introduces software architectures in a real-world setting. "Industrial strength" case studies illuminate the key technical and organizational issues. This course is based on the book Software Architecture in Practices, 3rd Edition.

Software Architecture: Principles and Practices - eLearning

The foundational Software Architecture: Principles and Practices course is now available online through SEI eLearning, putting you in control of what to learn and when to learn it.

Big Data: Architectures and Technologies

This one-day architecture course is designed for architects and technical stakeholders such as product managers, development managers, and systems engineers involved in the development of big data applications. It focuses on the relationship among application software, data models, and deployment architectures, and how specific technology selection relates to all of these. While we touch briefly on data analytics, the course focuses on the distributed data storage and access infrastructure, and the architecture tradeoffs needed to achieve scalability, consistency, availability, and performance. We illustrate these architecture principles with examples from selected NoSQL product implementations.

Big Data: Architectures and Technologies - eLearning

This online software architecture course is presented to you by the Software Engineering Institute's research scientists Ian Gorton and John Klein. Through the use of video instruction, exercises, and knowledge checks, the course focuses on the relationships among big data application software, data models, and deployment architectures and how specific technology selection relates to all of these.

Documenting Software Architectures

This two-day course provides in-depth coverage of effective software architecture documentation practices that meet the needs of the entire architecture stakeholder community. This course presents the information in the context of prevailing prescriptive models and is based on the book Documenting Software Architectures: Views and Beyond.

Documenting Software Architectures - eLearning

The Documenting Software Architectures course is available online through SEI eLearning and provides in-depth coverage of effective software architecture documentation practices.

Software Architecture Design and Analysis

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 SEI methods. Through multiple exercises, participants get a chance to apply these methods to sample problems.

Advanced Software Architecture Workshop

You can now directly put into practice your knowledge of successful architecture principles through the Advanced Software Architecture Workshop. In this workshop, you will apply what you've learned in other architecture courses offered by the Software Engineering Institute (SEI) to a concrete architecture problem.

ATAM Evaluator Training

The SEI Architecture Tradeoff Analysis Method (ATAM) is a proven, highly effective method for systematically evaluating software architectures for fitness of purpose. Through lectures and highly interactive exercises, this two-day course prepares software architects to conduct a software architecture evaluation using the ATAM.

ATAM Leader Training

This two-day course covers the social and leadership skills needed to lead an architecture evaluation using the ATAM, facilitation requirements, challenges, and consulting principles.

Managing Technical Debt of Software

Technical debt occurs when a design or construction approach is taken that is expedient in the short term, but increases complexity and cost in the long term. In the course Managing Technical Debt of Software, the concept of technical debt is examined from multiple perspectives, including how it manifests, accumulates, and impacts the enterprise. This course presents approaches to assess the technical debt landscape and teaches mechanisms by which it can be measured and intentionally managed. The instructors examine technical debt management of software using an easy to understand analogy with investment strategy to encourage active management of technical debt, and foster dialogue between business and technical decision makers.

Modeling System Architectures Using the Architecture Analysis and Design Language (AADL)

This course focuses on fundamental model-based engineering concepts for engineering real-time, embedded software systems. Practices are presented for defining and documenting software and system architecture and validating system quality attributes (also commonly referred to as dependability properties and non-functional behavior).

Examination of Software Architecture: Principles and Practices

To ensure continued excellence in software architecture practices, the SEI objectively validates a student's understanding of software architecture before students are eligible to receive professional certificates in software architecture, become certified to teach SEI software architecture courses, or become certified to lead SEI Authorized ATAM evaluations.

Designing Modern SOA Systems

Course attendees will acquire a clear understanding of the main types of design elements and technologies that can be employed in SOA, including REST services, SOAP services, platform-specific services, messaging infrastructure, service interceptors, and orchestration servers.

Design Guidelines and Patterns for Modern SOA

This two-day course will give you the essential knowledge to see the SOA landscape with clarity. It will cover seven guidelines for SOA designs.