Software Architecture in Practice

Online Courses

Software Architecture in Practice LiveLessons provides aspiring architects an overview to a broad range of methods, processes, and tools that are essential to managing the complexity of large-scale software.  These LiveLessons will provide you with practical, road-tested techniques and advice to help you become a software architect.


In this video training, we begin with an overview of software architecture-what it is, what it isn´t, what it is good for, and how you should represent it. We then look at the requirements (quality attributes) that drive architecture-things like performance, modifiability, security, and so forth. We learn how to elicit, prioritize, and characterize these quality attributes precisely and unambiguously. Then we will talk about the building-blocks of architecture: patterns and tactics. Using this knowledge we will go over a method for architecture design called ADD (Attribute Driven Design). Having designed (or inherited) an architecture, you may want to analyze it, to understand its strengths and weaknesses. To achieve this we present a method called the ATAM (Architecture Tradeoff Analysis Method). Finally we finish up with some practical advice for practicing architects such as: how to blend architect activities with agile methodologies, and how to be an agent for change in an organization.

Skill Level

  • Intermediate
  • Advanced

What You Will Learn

  • What is Software Architecture
  • Architectural Requirements: Quality Attributes
  • Architectural Patterns and Tactics
  • Architecture Design
  • Architecture Analysis
  • Architecture in Agile Projects

Who Should Take This Course

  • Developers looking "go to the next level" in their organization and become architects and leaders.

Course Requirements

  • Basic understanding of programming and development
  • Basic understanding of the software engineering lifecycle and project activities

Table of Contents

Lesson 1: Course Intro/What is Software Architecture

1.1 Define software architecture 
1.2 Explain why software architecture is important
1.3 Document an architecture
1.4 Understand the importance of architectural patterns and reference architectures
1.5 Distinguish a good architecture

Lesson 2: Architecture Requirements: Quality Attributes

2.1 Distinguish functionality from Quality Attributes (QAs)
2.2 Specify quality attribute requirements
2.3 Recognize other requirements that drive an architecture

Lesson 3: Gathering Architectural Requirements

3.1 Identify problems in eliciting actionable architectural requirements
3.2 Use the Quality Attribute Workshop (QAW)
3.3 Use the Quality Attribute Utility Tree

Lesson 4: Architectural Patterns and Tactics

4.1 Use architectural patterns
4.2 Use architectural tactics
4.3 Understand how tactics interact with patterns

Lesson 5: Creating the Architecture Tactics

5.1 Design an architecture
5.2 Understand a model design problem
5.3 Follow the steps of ADD

Lesson 6: Architecture Evaluation

6.1 Understand the forms of arcitecture evaluation
6.2 Follow the steps of the ATAM
6.3 Use thelLightweight ATAM

Lesson 7: Architectures in Agile Projects

7.1 Understand the concepts of Agile 
7.2 See the relationship between agility and architecture
7.3 Follow guidelines for Agile architects

Lesson 8: Epilogue

8.1 The Value of Architecture

Course Detail
Classes Start

Query Form

Ducat: 70-70-90-50-90

Noida - Ghaziabad - SOUTH EX. - PITAMPURA - Faridabad - Gurugram

Events Gallery


Ducat provides the best available programs which helps in enhancing the technical skills which seems to be beneficial for all the applicants.

© Copyright 1999-2019 Ducat Creative, All rights reserved.