Solution Architecture: SA Practitioner's Guide (Extended)

The course covers stakeholder identification, including identifying the stakeholder viewpoints. It covers the concept of architecturally significant that drives the architecture artifacts, including system process models, system use cases, change cases, and architecture requirements. The course material and techniques are based on industry best practices such as 4+1 architecture, business-driven architecture, and requirements-driven architecture. The course includes hands-on labs related to core architecture skills such as developing non-functional requirements, developing architecture views, using architecture patterns, and performing architecture reviews.

OBJECTIVES
By taking this training, the architect should be able to:

  • Work with business use cases and requirements to identify architecturally significant requirements

  • Define architecture to fulfill the requirements, ensuring that it is traceable, verifiable, and measurable

  • Communicate the architecture to technical teams for implementation, use and ongoing support

  • Demonstrate the value of the architecture to the business

  • Identify and apply appropriate techniques to build momentum in the rapid delivery of successful solutions

Course Outline

CHAPTER 1 - INTRODUCTION

  • Introductions

  • Course Outline

  • Handouts & Appendices

  • Practical Application: Building Skills

  • Practical Application: Filling Your Toolbox

  • Course Evaluation & Questions

  • Course Delivery Overview


CHAPTER 2 - SOLUTION ARCHITECTURE OVERVIEW

  • Why is Solution Architecture Important?

  • 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

  • Example: Solution Architecture Stakeholders

  • Solution Architecture Deliverables

  • EA Involvement in SA

  • Architecturally Significant

  • Group Discussion: Architecture

  • Resource: Software Engineering Institute (SEI)

  • Resource: SWEBOK

  • Resource: OpenUp

  • Resource: Microsoft Library

  • Group Discussion: Methodologies

  • Summary


CHAPTER 3 - CORE SOLUTION 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

  • Partitioning Patterns

  • Example Partitioning Based on Patterns

  • Example: Healthcare SOA Framework

  • Requirements Allocation

  • Group Discussion: Requirements Allocation

  • Configuration Management Implications

  • Release Management Implications

  • Testing Implications

  • Work Pattern & Skill Set Implications

  • Work & Build Dependencies

  • Increment/Sprint Planning

  • Sizing Implications

  • More Than Executable Architecture

  • Development Architecture

  • Operations Architecture

  • Group Discussion: Integrating Operations Architecture

  • Summary


CHAPTER 4 - REFERENCE ARCHITECTURE

  • Reference Architecture

  • Reference Architecture Components

  • Reference Architecture Summarized

  • Reference Architecture Context

  • Architecture Principles

  • Components of Principles

  • Qualities of a Good Set of Principles

  • Templates: Principle & Principle Catalog

  • Example: Architecture Principles

  • Sample: Architecture Principles

  • Group Discussion: Principles

  • Applying Architecture Principles

  • Policies

  • Template: Policy

  • Example: Governance Policies

  • Example: SOA Policy

  • Example: Policies

  • Reference Models

  • Example: Reference Model

  • Example: Architecture Use Cases

  • Example: SOA Reference Architecture

  • Practices: Standards & Guidelines

  • Example: Interoperability Standards

  • Resource: Financial Industry Organizations

  • Resource: Health Industry Organizations

  • Resource: Retail Industry Organizations

  • Resource: Technical Organizations

  • Industry Organizations

  • Insurance Industry Standards ROI

  • Requirements

  • Example: Mobile Security Reference Architecture

  • Example: MSRA Requirements

  • Architecture Building Blocks: Reusable Requirement Sets

  • Resource: NIST Security Requirements

  • Example: COTS Standard Requirements Set

  • Summary


CHAPTER 5 - 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 6 - 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 7 - QUALITY OF SERVICE (QOS) REQUIREMENTS

  • Qualities of Service and Design

  • Performance: Requirements

  • Performance: Response Time Pattern

  • Performance: Transaction Time Patterns

  • Performance: Throughput Pattern

  • Scalability

  • Scalability: Capacity Patterns

  • Reliability & Availability

  • Mean Time Between Failures (MTBF)

  • Availability: Pattern

  • Extensibility

  • Maintainability

  • Manageability

  • Security

  • Cultural Adaptability

  • Portability

  • Testability

  • Usability

  • Upgradeability

  • Recoverability

  • Recovery Time Objective (RTO)

  • Recovery Point Objective (RPO)

  • Prioritizing Quality of Service Requirements

  • Inspecting QoS Requirements for Trade-off Opportunities

  • Quality of Service Testing


CHAPTER 8 - 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 9 - 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 10 - SOLUTION ARCHITECTURE STYLES

  • Message Oriented Middleware (MOM)

  • MOM Messaging

  • MOM Qualities

  • Publish/Subscribe Messaging

  • Point-to-Point Messaging (P2P)

  • MOM Related Standards

  • MOM Example

  • Service Oriented Architecture (SOA)

  • Enterprise Model

  • SOA Interaction Model

  • SOA Characteristics

  • Enterprise Service Bus (ESB)

  • Web Services

  • SOA Standards Organizations

  • SOA Example

  • SOA Example: Illustrated

  • Summary


CHAPTER 11 - ARCHITECTURE REQUIREMENT TECHNIQUES

  • Requirements Management

  • Requirements Management Activities

  • Best Practices

  • Baselining Requirements

  • Desirable RM Repository Characteristics

  • Example: Behavior Driven Development

  • Why Traceability?

  • Identifying Candidate Tactics, Patterns and Styles

  • Requirements-Tactics-Patterns-Styles

  • Making Architectural Decisions

  • Architectural Measurement

  • Implementing Architectural Measurement

  • Example Metrics

  • Summary


CHAPTER 12 - 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 13 - ARCHITECTURE CONCEPTS

  • Fundamental Architecture Concepts

  • Abstraction

  • Coupling

  • Cohesion

  • Decomposition & Modularization

  • Encapsulation & Information Hiding

  • Separation of Interface & Implementation

  • Summary


CHAPTER 14 - 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 15 - BUSINESS ARCHITECTURE

  • Business Architecture Models & Diagrams

  • Business Process Concepts

  • Example: Medicaid Business Process Model

  • Example: Medicaid Business Process Definition

  • Business Function Concepts

  • Example: HL7 EHR Functional Model

  • Example: Process Flow Diagram

  • Resource: Business Analysis Book of Knowledge (BABOK)

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

  • Summary


CHAPTER 16 - DATA ARCHITECTURE

  • Data Modeling

  • Conceptual Data Model

  • Example: Conceptual Data Model

  • Example: Property & Casualty Conceptual Data Model

  • Example: Data Entities

  • Logical Data Model

  • Normalization

  • Abstraction

  • Example: Logical Data Model

  • Physical Data Model

  • Example: Physical Data Model

  • Data Modeling Notation

  • Entity Relationship Diagram (ERD)

  • Cardinality

  • Annotated Relationships

  • Subtype Relationship

  • Resource: DAMA DMBOK

  • Summary


CHAPTER 17 - APPLICATION ARCHITECTURE

  • The 4+1 Views Approach

  • Take a Multiple View Approach

  • UML: Unified Modeling Language

  • UML Notation Examples

  • Use Case View

  • Logical View

  • Process Views

  • Implementation View

  • Deployment View

  • Summary


CHAPTER 18 - TECHNICAL ARCHITECTURE

  • What is Technical Architecture?

  • Two Components of Technical Architecture

  • Software Architecture

  • What a Technical Architecture is Not

  • Architectural Views

  • Rational Unified Process (RUP) 4 + 1 Views

  • The Implementation View

  • The Deployment View

  • Technology Modeling

  • The Essential Project: Technology Modeling overview

  • Layers of the Enterprise Architecture

  • Relationship with Other Architectures

  • Relationship between Business Architecture and TA

  • Relationship between EA, SA and TA

  • SA vs TA

  • Technical Architecture's Scope

  • The Technical Architect's Areas of Expertise

  • The Technical Architect's Tasks

  • Target System Elements Identification

  • Technical Architecture Governance

  • System Capacity Planning

  • Summary


CHAPTER 19 - 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 20 - USE CASES

  • Use Cases

  • Architecture Use Cases

  • Use Case Diagram Notation

  • Example: Use Case Diagram

  • Template: Use Case

  • Use Case Patterns:Team Composition

  • Use an Iterative Approach

  • When Is A Use Case Done?

  • Use Case Patterns: Use Case Set

  • The Single-minded Use Case

  • Use Case Patterns: Scenarios & Steps

  • Use Case Patterns: Relationships

  • Summary


CHAPTER 21 - 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 22 - SDLC SUPPORT

  • Architecture is Only as Good as the Implementation

  • Solution Architect and Project Manager

  • Project vs Product Lifecycle

  • Collaboration Important

  • Quality Requirements

  • Requirements Traceability

  • Testing

  • Test Cycles

  • Group Discussion: Test Types

  • Summary


CHAPTER 23 - THE ARCHITECTURE TOOLBOX

  • The Architecture Toolbox

  • The Toolbox

  • What Goes in A Toolbox

  • Solution Architecture Practitioner Toolbox Items

  • Reference Library

  • Group Discussion: Toolbox Items

  • Summary


CHAPTER 24 - LESSONS LEARNED

  • Process Recommendations Summary

  • Structural Recommendations Summary

  • Anti-Patterns

  • Anti-Pattern: Bleeding Edge

  • Anti-Pattern: Goldplatting

  • Anti-Pattern: Strive for Perfection

  • Anti-Pattern: Stuck in the Weeds

  • Anti-Pattern: Technology Above All

  • Group Discussion

  • Summary


HANDOUT 1 - SAMPLE PRINCIPLES

  • Business Principles

  • Data Principles

  • Application Principles

  • Technology Principles

  • Governance Principles

  • SOA Governance Principles


HANDOUT 2 - REQUIREMENT STATEMENT CHECKLIST

  • Introduction

  • Requirement Statement Review Checklist


HANDOUT 3 - REQUIREMENT PATTERNS

HANDOUT 4 - QUALITY ATTRIBUTE (QA)/QUALITY OF SERVICE (QOS) CATEGORIES

  • Introduction

  • Quality Attributes


HANDOUT 5 - BUSINESS USE CASE RUBRIC

HANDOUT 6 - MOBILE APPLICATION ARCHITECTURE

  • The Model View Controller (MVC) Pattern

  • Advantages of MVC

  • The Model Layer

  • Controller Responsibilities

  • Controller in Android

  • View Layer in Android

  • Model Layer Issues in Mobile Applications

  • Controller Layer Issues

  • View Layer Issues

  • Cross Cutting Issues

  • Mobile Architecture and Pattern Resources

  • Summary


APPENDIX A - REFERENCE LIBRARY

  • Overview

  • Industry Organizations

  • References & Further Reading


APPENDIX B - ARCHITECTURE GLOSSARY

  • ABC

  • DEF

  • GHI

  • MNO

  • PQR

  • STU

  • VWXYZ


APPENDIX C - PATTERN LIST

APPENDIX D - SOLUTION ARCHITECTURE STYLES

  • Web 2.0

  • The WOA Difference

  • Web 2.0 Technologies

  • REST: Constraints

  • REST: Uniform Interface

  • REST Example

  • Plain-Old-XML (POX) Example

  • JavaScript Object Notation (JSON)

  • Really Simple Syndication (RSS) & Atom

  • Syndication Example

  • Business Process Management

  • Further Qualifying BPM

  • BPM Architecture

  • BPM Architecture Model

  • BPM Standards

  • Master Data Management (MDM)

  • Understanding Master Data

  • Qualities of Master Data

  • MDM Implementation Styles

  • MDM Example

  • Summary


APPENDIX E - BUSINESS PROCESS MODELING

  • BPMN Event Symbols and Definitions

  • Activities, Gateways, and Objects

  • Flow Connectors


APPENDIX F - UML REFERENCE

  • UML Class

  • UML Interface

  • UML Associations

  • UML Association Class

  • UML Aggregation & Composition

  • UML Generalization


APPENDIX G - CLASS DIAGRAMS

  • Package Diagram

  • Package Diagram Illustrated

  • Class Diagram

  • Example: Annotated Class Diagram

  • Example: Application Framework Class Diagram

  • Example: Architectural Solution Diagram

  • Class Diagram Notation

  • Multiplicity

  • Aggregation

  • Composition

  • Summary


APPENDIX H - INTERACTION DIAGRAMS

  • Subsystem Interaction Diagrams

  • Pattern Interaction Diagrams

  • Interaction Diagrams

  • Sequence Diagram Illustrated

  • Sequence Diagram

  • Sequence Diagram Notation

  • Annotated Sequence Diagram

  • Message Notation

  • Annotated Message Notation

  • Example: Sequence Diagram

  • Summary


APPENDIX I - DEPLOYMENT DIAGRAMS

  • Deployment Diagram

  • Notation: Nodes

  • Stereotypes

  • Associations

  • Example: Deployment Diagram

  • Summary


APPENDIX J - DEVELOP CLASS DIAGRAM

APPENDIX K - THE SOLUTION ARCHITECTURE TOOLBOX SUMMARY

  • What Goes in A Toolbox

  • Practitioner Toolbox Items

Audience

Solution Architects new to SA.