Software Architecture in Practice, 2nd Edition [Video]

Posted By: hill0
Sneak Peek
The Sneak Peek program provides early access to Pearson video products and is exclusively available to Safari subscribers. Content for titles in this program is made available throughout the development cycle, so products may not be complete, edited, or finalized, including video post-production editing.
10 Hours of Video Instruction
Now thoroughly updated, Software Architecture in Practice LiveLessons introduces students to the most important aspects of software architecture: what it is and what it is not, why it is important, how it affects project success, and how it can be managed in a professional way.
Overview
The basic principle of software architecture is that every software system is constructed to satisfy an organization’s business goals, and the architecture of a system is a bridge between the (often abstract) business goals and the final (concrete) resulting system. The path from abstract goals to concrete systems is often complex. In this video training, Rick Kazman shows how software architectures can be designed, analyzed, and documented with techniques that support the achievement of these business goals.
The course covers requirements (quality attributes) that drive architecture, and how to elicit, prioritize, and characterize them precisely and unambiguously. It covers patterns and tactics (the building-blocks of architecture) and a method of architecture design called Attribute Driven Design (ADD). It also presents the Architecture Tradeoff Analysis Method (ATAM), which is used to analyze and understand strengths and weaknesses of designed (or inherited) architectures. The course wraps up with practical advice on how to blend architecture activities with agile methodologies and how to be an agent for change in an organization.
Updates to this video include a deep dive into the distinct quality attributes of Availability, Modifiability, Performance, and Deployability, as well as expanded discussions on the intersection of agile and software architecture, and new discussions on DevOps and technical debt. Lessons 1, 2, and 7-9 are thoroughly updated; Lessons 3-6 and 10 are new to the second edition.
Learn How To
Understand and communicate the importance of architecture
Elicit and validate architectural requirements, particularly quality attribute requirements
Design architectural structures to meet quality attribute requirements
Analyze an architecture
Who Should Take This Course
Senior software developers who might aspire to be architects
Designers and developers looking to enhance their skills and take on challenges of greater scope and impact
Project managers who want to understand the importance of architecture and how it can be managed
Course Requirements
Basic understanding of programming and development
Basic understanding of the software engineering lifecycle and project activities
Lesson descriptions
Lesson 1: Defining Software Architecture: This lesson defines what software architecture is and is not, and explores the implications thereof. It covers the ways in which software architecture is important and the basics of documenting an architecture in terms of architectural views. Finally, it discusses the importance of patterns and tactics, and gives tips for how to distinguish a good architecture.

Lesson 2: Architecture Requirements: Quality Attributes: This lesson shows how to distinguish functionality from quality attributes, to unambiguously specify quality attribute requirements, and to recognize other important requirements that drive an architecture.
Lesson 3: Availability: This lesson teaches how to think about availability, specify availability requirements, understand availability tactics, and design patterns that you can use to achieve high levels of availability.
Lesson 4: Modifiability: This lesson shows how to clearly state what modifiability is from an architectural perspective, how to specify modifiable requirements in a precise testable fashion, and teaches design tactics and patterns to achieve modifiability.
Lesson 5: Performance: This lesson covers how to create architectures that are fast and predictable. It teaches how to think about performance, specify performance requirements, and use design tactics and patterns to achieve the best performance as an architect.
Lesson 6: Deployability: This lesson focuses on systems for which just-in-time feature releases are significant competitive advantages and just-in-time bug fixes are essential for the safety and security of continuous operation. It covers deployability scenarios, and design tactics and patterns to achieve deployability.
Lesson 7: Gathering Architectural Requirements: This lesson covers problems in eliciting actionable architectural requirements and how to remedy this problem via the Quality Attribute Workshop (QAW) and the Quality Attribute Utility Tree.
Lesson 8: Creating the Architecture: This lesson presents the Attribute-Driven Design (ADD) method, which aids in designing an architecture, and walks through the steps of the ADD method.
Lesson 9: Architecture Analysis: This lesson describes forms of architecture evaluation, and looks closely at a specific architecture evaluation method called the Architecture Tradeoff Analysis Method (ATAM). It teaches the steps of ATAM and introduces a lightweight variant. It also introduces using tactics-based questionnaires as a form of analysis.
Lesson 10: Architectures, Agility, and Technical Debt: This lesson covers the concepts of Agile and the relationship between agility and architecture. It provides guidelines for Agile architects and shows how to detect and fix architectural/design debt.


Buy Premium In Link Below To Support
My Blog Thanks & Enjoy!