Software Architecture: Principles and Practices

Although the term software architecture is used frequently in today's software industry, its meaning is not universally understood.

  • 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. Software architectures can

  • provide flexibility and adaptability in changing markets
  • allow for interoperability with other players in the marketplace
  • provide leverage of control in a marketplace
  • help developers focus on a niche in the marketplace
  • be used as a sales and marketing tool
  • help reduce maintenance costs and amortize development costs
  • assist in workforce organization and with project oversight and control
  • establish a common corporate vocabulary
  • shorten learning time

This two-day course emphasizes the importance of the business (or mission) context in which systems are designed and introduces participants to software architectures in a real-world setting. "Industrial-strength" case studies and course exercises illuminate the key technical and organizational issues regarding software architectures. This course is based on the book Software Architecture in Practice, 3rd Edition.

Who should attend?

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


Topics

  • definition and overview of software architecture
  • the architecture influence 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


Objectives

This course provides attendees with a thorough overview of software architectures. After attending this course, participants 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 six 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 and Architecture Tradeoff Analysis Method (ATAM) Evaluator Training courses. Attendees will also be better prepared for the SEI's Documenting Software Architectures and Software Product Lines courses. This course is the first course required in the SEI's Software Architecture Professional, SOA Architect Professional and ATAM Evaluator certificate programs.

Prerequisites

Before registering for this course, participants should have

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

Materials

Participants receive a copy of the lecture slides and the book Software Architecture in Practice, 3rd Edition.

Schedule

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)

Course Details

Course Fees [USD]

U.S. Industry: $1500

U.S. Government/Academic: $1200

International: $2250

Please select a course offering then click REGISTER.
 

Dates

September 16 - 17, 2014 (SEI, Pittsburgh, PA)
January 13 - 14, 2015 (SEI, Pittsburgh, PA)
March 2 - 3, 2015 (SEI Los Angeles, CA)
June 9 - 10, 2015 (SEI, Pittsburgh, PA)

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

For More Information

E-mail: course-info@sei.cmu.edu
Phone: 412-268-7622


Help us improve

Visitor feedback helps us continually improve our site.

Please tell us what you
think with this short
(< 5 minute) survey.