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
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
Introduction
Software Architecture in Practice LiveLessons: Introduction
Lesson 1: Course Intro/What is Software Architecture
Learning Objectives
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
Learning Objectives
2.1 Distinguish functionality from quality attributes
2.2 Specify quality attribute requirements
2.3 Recognize other requirements that drive an architecture
Lesson 3: Gathering Architectural Requirements
Learning Objectives
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
Learning Objectives
4.1 Use architectural patterns
4.2 Use architectural tactics
4.3 Understand how tactics interact with patterns
Lesson 5: Creating the Architecture Tactics
Learning Objectives
5.1 Design an architecture
5.2 Understand a model design problem
5.3 Follow the steps of the ADD
Lesson 6: Architecture Evaluation
Learning Objectives
6.1 Understand the forms of architecture evaluation
6.2 Follow the steps of the ATAM: part 1
6.2 Follow the steps of the ATAM: part 2
6.3 Use the lightweight ATAM
Lesson 7: Architectures in Agile Projects
Learning Objectives
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
Software Architecture in Practice LiveLessons: Summary