9+ Hours of Video Instruction
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.
What You Will Learn
Who Should Take This Course
Lesson 1: What is Software Architecture?
In this lesson you will learn how to define software architecture: what it is (and what it is not) and the implications of this definition. You will also learn the 13 ways in which software architecture is important and the rudiments of documenting an architecture in terms of architectural views. Finally, you will learn about the importance of architectural patterns and tactics, and some rules of thumb on how to distinguish a good architecture.
Lesson 2: Architecture Requirements: Quality Attributes
In this lesson you will learn to distinguish functionality from quality attributes, to unambiguously specify quality attribute requirements, and to recognize other important requirements that drive an architecture.
Lesson 3: Gathering Architectural Requirements
In this lesson you will learn about 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 4: Architectural Patterns and Tactics
In this lesson you will be given an introduction to architectural patterns and architectural tactics–the building blocks of design. In addition you will learn how tactics interact with patterns.
Lesson 5: Creating the Architecture Tactics
In this lesson you will learn about a method that aids in designing an architecture: the Attribute-Driven Design (ADD) method. You will be shown a model design problem that walks you through the ADD method.
Lesson 6: Architecture Evaluation
In this lesson you will learn about the forms of architecture evaluation and a specific architecture evaluation method: the Architecture Tradeoff Analysis Method (ATAM). You will learn how to follow the steps of the ATAM and be introduced to a lightweight ATAM variant.
Lesson 7: Architectures in Agile Projects
In this lesson you will learn about the concepts of Agile and the relationship between agility and architecture. You will also learn some guidelines for Agile architects.
Lesson 8: Epilogue
This lesson provides some final conclusions and you will learn about the value of architecture and how to sell it within an organization.
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.