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.
Audience
Architects.
Prerequisites
None.
Duration
2 days.
Outline
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
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
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
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
ARCHITECTURE CONCEPTS
§ Fundamental Architecture Concepts
§ Abstraction
§ Coupling
§ Cohesion
§ Decomposition & Modularization
§ Encapsulation & Information Hiding
§ Separation of Interface & Implementation
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
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
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
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
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
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
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
ARCHITECTURE DECISION DOCUMENTS
§ Architectural Decision-making
§ Architecture Decision Documents
§ Sample 1: Work Queues
§ Sample 1 Continued
§ Sample 2: Business Rules
§ Sample 2 Continued
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