Fundamentals of Architectural Thinking

This course is for architects of all types (EA, solution architecture, technical architecture, etc.). It covers core architecture concepts: Architecture Principles, Stakeholders, Views & Viewpoints, Quality Attributes, Nonfunctional requirements, Tactics, Patterns, and Techniques.

Course Outline

CHAPTER 1 - INTRODUCTION

  • Introductions

  • Course Outline

  • Handouts & Appendices

  • Practical Application

  • Practical Application: Filling Your Toolbox

  • Course Evaluation & Questions

  • Course Delivery Overview


CHAPTER 2 - ARCHITECTURE OVERVIEW

  • Architecture

  • Architects

  • Importance of Architecture

  • Communications Vehicle Among Stakeholders

  • The Project is Organized Around Architectural Elements

  • What is a System?

  • Why Focus on Structure?

  • Solution Architecture Context

  • Solution Architecture & Domains

  • SA Spans All Domains

  • Relationship to EA Architecture Development Process

  • Solution Architecture

  • Solution Architecture Stakeholders

  • Solution Architecture Deliverables

  • EA Involvement in SA

  • Architecturally Significant

  • Architecturally Significant Elements

  • Group Discussion: Architecture

  • Summary


CHAPTER 3 - CORE ARCHITECTURE METHODS

  • Shared Vision

  • Example Shared Vision

  • Draw the Boundary

  • Well-defined Interface

  • Example: Context Diagram

  • Identify the External Interfaces

  • Subsystems

  • Subsystem Context Diagram

  • Layers

  • Example: Subsystems with Layers

  • Components

  • Decomposing the System

  • Requirements Allocation

  • Group Discussion: Requirements Allocation

  • Summary


CHAPTER 4 - STAKEHOLDER MANAGEMENT

  • Stakeholders

  • Stakeholder Management

  • When to Focus on Stakeholder Management

  • Steps in the Stakeholder Management Process

  • Identifying Stakeholders

  • Points to Consider

  • Example Stakeholders & Concerns

  • Classifying Their Positions: The Stakeholder Matrix

  • Determining the Stakeholder Management Approach and Tailoring the Deliverables: The Stakeholder Map

  • Example: Stakeholder Map

  • Template: Stakeholder Map Matrix Template

  • Summary


CHAPTER 5 - VIEWS & VIEWPOINTS

  • Views and Viewpoints

  • Views

  • Example View: Claim Handling from a Process Viewpoint

  • Example View: Claim Handling from a Data Viewpoint

  • Example View: Claim Handling Project from a Financial Viewpoint

  • Contents of Views and Viewpoints

  • Example Formal Viewpoint: Security

  • Software Architecture Viewpoints: 4+1

  • Group Discussion: Viewpoints

  • Summary


CHAPTER 6 - ARCHITECTURE CONCEPTS

  • Fundamental Architecture Concepts

  • Abstraction

  • Coupling

  • Cohesion

  • Decomposition & Modularization

  • Encapsulation & Information Hiding

  • Separation of Interface & Implementation

  • Summary


CHAPTER 7 - ARCHITECTURE PRINCIPLES

  • Architecture Principles

  • Components of Principles

  • Qualities of a Good Set of Principles

  • EA Principles: Creation Process

  • Templates: Principle & Principle Catalog

  • Example: Architecture Principles

  • Sample: Architecture Principles

  • Group Discussion: Principles

  • Applying Architecture Principles

  • Summary


CHAPTER 8 - ARCHITECTURE REQUIREMENTS

  • Architecture Quality Attributes

  • Quality of Service Requirement Categories

  • Checklist: Quality Attribute (QA) Categories

  • Trade-off Analysis

  • Group Discussion: Trade-offs

  • Technique: Requirement Patterns

  • Tool: Non-Functional Requirement Patterns

  • Checklist: Requirement Statement Best Practices

  • Technique: Architecture Change Cases

  • Template: Elements of a Change Case

  • Example: Change Case

  • Eliciting Change Cases

  • Group Discussion: Change Case

  • Summary


CHAPTER 9 - ARCHITECTURE TACTICS

  • Tactics

  • Availability Tactics

  • Modifiability Tactics

  • Performance Tactics

  • Security Tactics

  • Testability Tactics

  • Usability Tactics

  • Approach for Describing Tactics

  • Group Discussion: Tactics

  • Pipes & Filters: Tactics

  • Service-Oriented Architecture (SOA): Tactics

  • Architectural Patterns and Corresponding Tactics for Modifiability

  • Summary


CHAPTER 10 - PATTERNS

  • What are Patterns?

  • Elements of a Pattern

  • Pattern Levels

  • Pattern Types

  • How to Start Using Patterns?

  • Common Architectural Patterns

  • Layers Pattern

  • Example: Retail Layered Architecture

  • Object-Oriented Design Patterns

  • OO Design Patterns

  • Structural Design Pattern: Facade Pattern Example

  • Enterprise Integration Patterns

  • Messaging Systems: Overview

  • Example Pattern: Pipes and Filters

  • Example: Monitoring Credit Bureau

  • EAA Patterns

  • Model-View-Controller (MVC) Pattern

  • SOA Patterns

  • Example: Saga Pattern

  • Business Process Patterns

  • Example: Synchronizing Merge Pattern

  • Configuration Management Patterns

  • New Patterns Continue to Emerge

  • Group Discussion: Patterns

  • Summary


CHAPTER 11 - PACKAGED SOFTWARE AND SAAS

  • Alternatives to Custom Development and Hosting

  • Open Source Software

  • Frameworks

  • Cloud Computing

  • Integration of Mixed Solutions

  • Implications for Architecture

  • Packaged Software Advantages & Disadvantages

  • SaaS Advantages and Disadvantages

  • Open Source Advantages and Disadvantages

  • Integration Strategies

  • The API Economy

  • COTS Implication: Accept Design Influence

  • COTS Implication: Plan for Stability

  • COTS Implication: Sustain Competency

  • COTS Implication: Vendor Lock-In

  • COTS Implication: Balance Business Needs & Architecture

  • COTS Inherent Risks

  • COTS Risk Management Strategy #1

  • COTS Risk Management Strategy #2

  • COTS Risk Management Strategy #3

  • Group Discussion: COTS

  • Typical COTS Architecture

  • Summary


CHAPTER 12 - ARCHITECTURE TECHNIQUES

  • Progressive Filtering

  • Rubric

  • Example: Service Design Rubric

  • Example: Architecture Rubric

  • Refactoring

  • Think About the Future, But Wait to Act

  • Feature Tree

  • Decision Tables

  • Decision Table Example

  • Flowcharts

  • Strength, Weakness, Opportunity, Threat (SWOT) Analysis

  • Example: SWOT Layout

  • SWOT Steps

  • Summary


CHAPTER 13 - ARCHITECTURE DELIVERABLES

  • Documentation Best Practices

  • Architecture Requirements Document

  • Template: Requirements Specification

  • IEEE Architectural Description Document

  • Template: Architectural Description Document

  • TOGAF Architecture Definition Document

  • Templates: Architectural Definition Document

  • Group Discussion: Architecture Definition Documents

  • Interface Specifications

  • Interface Specification Best Practices

  • Interface Design Document

  • Template: Interface Design Document

  • Database Design Document

  • Template: Database Design Document

  • Platform Design Document

  • Template: Platform Design Document

  • Architecture Decision Document

  • Template: Architecture Decision Document

  • ATAM: Scenario-based Architecture Review

  • Example: Utility Tree

  • Presentation Best Practices: ICEPAC

  • Verbal Supports: CREST

  • Group Discussion: Presentations

  • Summary


CHAPTER 14 - ARCHITECTURE DECISION DOCUMENTS

  • Architectural Decision-making

  • Architecture Decision Documents

  • Sample 1: Work Queues

  • Sample 1 Continued

  • Sample 2: Business Rules

  • Sample 2 Continued

  • Summary


CHAPTER 15 - THE ARCHITECTURE TOOLBOX

  • Improving Architecture Skills

  • Improving Architecture Skills: Spend Time @ the Library

  • Improving Architecture Skills: Use Cookbooks

  • Improving Architecture Skills: Practice with Mentors

  • Improving Architecture Skills: Look for Existing Stuff

  • Improving Architecture Skills: Build a Toolbox

  • What Goes in A Toolbox

  • Business Analysis Book of Knowledge (BABOK)

  • Resource: Business Architecture Body of Knowledge (BIZBOK™)

  • DAMA DMBOK

  • Software Engineering Institute (SEI)

  • Software Engineering Book of Knowledge (SWEBOK)

  • OpenUp

  • Microsoft Library

  • Financial Industry Organizations

  • Health Industry Organizations

  • Retail Industry Organizations

  • Technology Industry Organizations

  • Reference Library

  • Practitioner Toolbox Items

  • Group Discussion: Toolbox Items

  • Summary


HANDOUT 1 - SAMPLE PRINCIPLES

  • Business Principles

  • Data Principles

  • Application Principles

  • Technology Principles

  • Governance Principles

  • SOA Governance Principles


HANDOUT 2 - REQUIREMENT PATTERNS

HANDOUT 3 - RUBRIC WORKSHEET

APPENDIX A - REFERENCE LIBRARY

  • Overview

  • Industry Organizations

  • References & Further Reading


APPENDIX B - ARCHITECTURE GLOSSARY

APPENDIX C - PATTERN LIST

Audience

Architects.