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.
Audience
- practicing software architects
- designers and developers of software-reliant systems
Objectives
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
Topics
- 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
Materials
Participants will receive a copy of lecture slides, exercise materials, and the book Designing Software Architectures: A Practical Approach.
Prerequisites
Before registering for this course, participants must
- complete the Software Architecture: Principles and Practices course, which is available as instructor-led classroom training and as eLearning
Course Fees in USD
- Govt/Academic $1,200
- Industry $1,500
- International $2,250
Schedule
The live-online 4-day course schedule is as follows: Days 1-4, 12:00 p.m. - 5:00 p.m. Eastern Time
The live in-person classroom delivery course schedule is as follows: Days 1-2, 8:30 a.m. - 5:00 p.m. Eastern Time
This course may be offered by special arrangement at customer sites. For details, please email course-info@sei.cmu.edu or telephone at +1 412-268-1817.
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: Principles and Practices - eLearning
ONLINE • Software Architecture, Cyber Workforce Development
This eLearning 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 MoreDocumenting Software Architectures
Software Architecture, Cyber Workforce Development
This 4-day course covers effective software architecture documentation practices for all stakeholders, incorporating models like Rational Unified Process (RUP), Siemens Four Views, ISO/IEC 42010 standard, and Unified Modeling Language (UML).
Learn MoreSoftware 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 MoreTraining 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.