O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Software Architecture in Practice LiveLessons (Video Training)

Video Description

Overview

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.

Description

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

Summary

 

About LiveLessons Video Training
LiveLessons Video Training series publishes hundreds of hands-on, expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. This professional and personal technology video series features world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, IBM Press, Pearson IT Certification, Prentice Hall, Sams, and Que. Topics include IT Certification, Programming, Web Development, Mobile Development, Home and Office Technologies, Business and Management, and more. View all LiveLessons on InformIT at  http://www.informit.com/livelessons.

Table of Contents

  1. Introduction
    1. Software Architecture in Practice LiveLessons: Introduction 00:01:41
  2. Lesson 1: Course Intro/What is Software Architecture
    1. Learning Objectives 00:01:51
    2. 1.1 Define software architecture 00:45:01
    3. 1.2 Explain why software architecture is important 00:42:11
    4. 1.3 Document an architecture 00:44:14
    5. 1.4 Understand the importance of architectural patterns and reference architectures 00:15:00
    6. 1.5 Distinguish a good architecture 00:14:39
  3. Lesson 2: Architecture Requirements: Quality Attributes
    1. Learning Objectives 00:02:01
    2. 2.1 Distinguish functionality from quality attributes 00:10:46
    3. 2.2 Specify quality attribute requirements 00:28:17
    4. 2.3 Recognize other requirements that drive an architecture 00:11:33
  4. Lesson 3: Gathering Architectural Requirements
    1. Learning Objectives 00:02:02
    2. 3.1 Identify problems in eliciting actionable architectural requirements 00:06:47
    3. 3.2 Use the Quality Attribute Workshop (QAW) 00:30:05
    4. 3.3 Use the Quality Attribute Utility Tree 00:15:44
  5. Lesson 4: Architectural Patterns and Tactics
    1. Learning Objectives 00:03:03
    2. 4.1 Use architectural patterns 00:18:51
    3. 4.2 Use architectural tactics 00:47:01
    4. 4.3 Understand how tactics interact with patterns 00:12:00
  6. Lesson 5: Creating the Architecture Tactics
    1. Learning Objectives 00:00:52
    2. 5.1 Design an architecture 00:06:03
    3. 5.2 Understand a model design problem 00:21:12
    4. 5.3 Follow the steps of the ADD 00:39:15
  7. Lesson 6: Architecture Evaluation
    1. Learning Objectives 00:01:10
    2. 6.1 Understand the forms of architecture evaluation 00:33:43
    3. 6.2 Follow the steps of the ATAM: part 1 00:34:41
    4. 6.2 Follow the steps of the ATAM: part 2 00:38:37
    5. 6.3 Use the lightweight ATAM 00:13:46
  8. Lesson 7: Architectures in Agile Projects
    1. Learning Objectives 00:01:38
    2. 7.1 Understand the concepts of Agile 00:07:18
    3. 7.2 See the relationship between agility and architecture 00:16:34
    4. 7.3 Follow guidelines for Agile architects 00:04:49
  9. Lesson 8: Epilogue
    1. 8.1 The Value of Architecture 00:09:23
  10. Summary
    1. Software Architecture in Practice LiveLessons: Summary 00:02:09