icon-carat-right menu search cmu-wordmark

Software Architecture: Principles and Practices - eLearning

Although the term software architecture is used frequently in today's software industry, its meaning is not universally understood. In this course we answer these questions.

  • What is software architecture?
  • How do you use software architectures in practice?
  • What does a software architect do for an organization?
  • What value does software architecture provide?

This course introduces the essential concepts of software architecture. A software architecture is an abstract view of a software system distinct from the details of implementation, algorithms, and data representation. Architecture is, increasingly, a crucial part of a software organization's business strategy. Properly designed software architectures can

  • support engineering control over critical system quality attributes
  • provide flexibility and adaptability in changing markets
  • enhance interoperability with other systems in a software ecosystem
  • help developers focus on a niche in the marketplace
  • help reduce lifetime maintenance costs and amortize development costs
  • assist in coherent and efficient workforce organization
  • enhance project planning, oversight and control
  • establish a common corporate vocabulary
  • shorten learning time
  • be used as a sales and marketing tool

This online course emphasizes the importance of the business (or mission) context in which systems are designed and introduces participants to software architectures, and methods to create and analyze them, in real-world settings. "Industrial-strength" case studies illuminate the key technical and organizational issues regarding software architectures. This course is based on the book Software Architecture in Practice, 4th Edition.

Learners will have six months to complete the course. Upon completing all course elements, the learner is awarded an electronic certificate of course completion and 2 Continuing Education Units (CEUs).

Audience

This course is targeted at those professionals who design, develop, or manage the construction of software-reliant systems. This online course is designed for independent learners to quickly gain insight, at their convenience, into the latest concepts of what software architecture is and how to use it successfully.

Objectives

This online course provides attendees with a thorough overview of software architectures. After completing this course in entirety, learners will have a better understanding of

  • what is a software architecture
  • why a software architecture is important
  • the architecture influence cycle
  • the relationships between system qualities and software architectures
  • software architectural patterns and tactics, and their relationship to system qualities
  • attribute-driven design
  • software architecture documentation
  • software architecture evaluation
  • architectural reuse via software product lines
  • architectures in Agile projects

This course is the most fundamental of the five courses in the SEI Software Architecture Curriculum. At the conclusion of the course, attendees will be eligible to take the SEI's Software Architecture Design and Analysis course. Attendees will also be better prepared for the SEI's Documenting Software Architectures course.

It is also the first course required in the SEI's Software Architecture Professional and SEI Service-Based Architecture Professional certificate programs.

The SEI also offers this course as an instructor-led classroom training.

Topics

  • definition and overview of software architecture
  • the architecture business cycle: what influences software architects and software architecture
  • understanding and achieving quality attributes
  • architecture design using patterns and tactics
  • documenting software architecture
  • evaluating software architecture
  • architecture reuse via product lines
  • architecture in Agile projects

Software Architecture: Principles and Practices eLearning will require a minimum of 18 hours of study time. Once registered, learners will be granted 24-hour-a-day access to the course material for six months.

Learners can proceed through the course at their convenience and can review and repeat individual sections as often as needed.

Materials

  • Recorded instruction presented by SEI instructors
  • 16 hours of video training and exercise sessions with transcripts
  • Student Workbook containing exercises with solution guidance
  • Case studies for analysis and recommendation
  • Self-assessments following each module

This course is presented in the form of video-recorded training sessions, taught by SEI instructors.

Exercises and case studies included with the course explore and reinforce the concepts taught and how they can be successfully applied. Exercise solution guidance supports this independent learning experience.

Self-assessments following each module assist in the learner's thorough comprehension of specific subject matter.

Prerequisites

Before registering for this course, participants should have

  • experience in the development of software-reliant systems
  • familiarity with modern software engineering concepts

Before beginning this course, the learner must acquire a copy of the text book: Software Architecture in Practice, 4th Edition. The textbook can be purchased in both printed and electronic forms from many commercial booksellers.

To access the SEI Learning Portal, your computer must have the following:

  • For optimum viewing, we recommend using the following browsers: Microsoft Edge, Mozilla Firefox, Google Chrome, Safari
  • These browsers are supported on the following operating systems: Microsoft Windows 8 (or higher), OSX (Last two major releases), Most Linux Distributions
  • Mobile Operating Systems: iOS 9, Android 6.0
  • Microsoft Edge, Firefox, Chrome and Safari follow a continuous release policy that makes difficult to fix a minimum version. For this reason, following the market recommendation we will support the last 2 major version of each of these browsers. Please note that as of January 2018, we do not support Safari on Windows.

 

IMPORTANT NOTICE:

Carnegie Mellon University/Software Engineering Institute offices will be closed for winter break, December 21, 2024-January 1, 2025. SEI course registrations received during this period will be confirmed and enrollment completed upon our return on January 2, 2025.

Course Questions?

Email: course-info@sei.cmu.edu
Phone: 412-268-7388

Related Courses

Software Architecture Design and Analysis

Software Architecture, Cyber Workforce Development

This two-day course, based on the books Designing Software Architectures: A Practical Approach and Software Architecture in Practice, 3rd edition, provides in-depth coverage of the concepts needed to design and analyze a software architecture effectively.

Learn More

Software Architecture: Principles and Practices

Software Architecture, Cyber Workforce Development

This 4-day course introduces participants to essential software architecture concepts in a real-world setting using case studies, examines the technical and organizational issues regarding software architectures, and emphasizes the importance of the business context in which systems are designed.

Learn More

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. For more information about SEI training courses, see Registration Terms and Conditions and Confidentiality of Course Records.