1. ARCHITECTURE PRIMER
Architects
Architects and Architecture
Group Discussion
Enterprise Architecture Definitions (Wikipedia)
More Enterprise Architecture Definitions
A Rose By Any Other Name
Enterprise, Solution, and Technical Architectures
City Planners
City Planning and EA
Examples of Enterprise Architecture
Solution Architecture
Examples of Solution Architecture
Solution Architecture Example: SOA for Insurance
Technical Architecture
Examples of Technical Architecture
Technical Architecture Example
Architecture Is Not Only Design
2. SOLUTION ARCHITECTURE OVERVIEW
Understanding Solution Architecture
The Solution Architect
The Solution Architecture Context
Introducing Architecture Domains
Identifying the Architecture Domains
Diving into the Domains
Solution Architecture Realization Process
Requirements and Deliverables
Divide and Conquer
3. 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
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
4. 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
Monitoring Credit Bureau Example
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
5. SOLUTION ARCHITECTURE ADOPTION
Adopting Solution Architecture
Architecture Adoption Best Practices
Architecture Adoption – Phase 1
Identify your business drivers
Get Educated
Articulate a Value Proposition
Define one or more scenarios
Architecture Adoption – Phase 1
Architecture Adoption – Phase 2
Produce a Road Map
Gain Stakeholder Buy-in
Architectural Adoption – Phase 2
Architectural Adoption – Phase 3
Establish Governance
Invest in Infrastructure
Execute a Pilot Project
Scoping the Pilot Project
Scoping the Pilot Project (cont’d)
Roll Out to the Enterprise
6. THE SOFTWARE DEVELOPMENT PROCESS
Section A Software Development Methodologies
Waterfall Development Methodology
Iterative Development Methodology
Low Ceremony/High Ceremony
Comparison of Some Software Methodologies
The Spirit of the Rational Unified Process: Well-Defined Software Engineering
Two Dimensions of the RUP Process
Dynamic Dimension of RUP: Life-cycle Phases & Milestones
Static Dimension of RUP: Modeling Elements
Static Dimension of RUP: Disciplines
Spirit of RUP: Iterative & Risk-Driven Approach
The Life-cycle of Projects Using the Rational Unified Process: Inception Phase
Inception Phase (Cont…)
Elaboration Phase
Elaboration Phase (Cont…)
Develop Executable Architecture
Construction Phase
Construction Phase (Cont…) Typical tasks in the Construction Phase
Transition Phase
Transition Phase (Cont…)
The Open Unified Process
Four Core Principles of OpenUP
OpenUP Teams
OpenUP Basic Elements
The Eclipse Process Framework (EPF) Ecosystem
The EPF Composer
7. QUALITY OF SERVICE REQUIREMENTS
Qualities of Service and Design
Performance: Requirements
Performance: Response Time Pattern
Performance: Transaction Time Patterns
Performance: Throughput Pattern
Performance: Considerations
Scalability
Scalability: Capacity Patterns
Scalability: Considerations
Reliability & Availability
Mean Time Between Failures (MTBF)
Availability: Pattern
Availability: Considerations
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
8. REQUIREMENTS WORKFLOW
Requirements Workflow
What Is A Requirement?
Requirements Gathering
What Is Requirements Management?
Requirements Management
Timing of Requirements Workflow
The Cost Of Requirement Errors
The Game Plan Towards Building Quality Software
Problem Analysis and Understanding User Needs
Problem Analysis Steps
Business Models
Gather Requirements
Interviewing
Requirements Workshop
Brainstorming
Storyboarding
Use Cases
Prototyping
Recall: Inception Phase
Example of Use Cases
Recall: Elaboration Phase
Example of a Use Case Diagram
Delivery
9. ANALYSIS WORKFLOW
Analysis Workflow
Motivation
Analysis Deliverables
Good Analysis Characteristics
Analysis in the Rational Unified Process
Analysis Workflow Steps
Class Analysis
What is an Analysis Class?
Analysis Class Relationships
Use Case Analysis
Interaction Diagrams
Example Analysis Sequence Diagram
Example Analysis Collaboration Diagram
Architectural Analysis
Packages
Package Practicality
Example Package Diagram
Post Analysis
10. DESIGN WORKFLOW
Analysis and Design
Design Time
Design in RUP
Design vs. Analysis Model
One Model Or Two?
Design Workflow
Design Classes
Design Class Refinement
Design Class Refinement
Class Removal
Refining Relationships
Example Design Class Diagram
Use Case Design
Example Design Sequence Diagram
Construction
11. SOFTWARE ARCHITECTURAL STYLES
Client-Server Computing
Client-Server Pros/Cons
Case Study
Client-Server Example
Tiered Architectures
Single-tier Architecture
Single-tier Pros/Cons
Single-tier Example
Two-tier Architecture
Two-tier Pros/Cons
Two-tier Example
Three-tier Architecture
Three-tier Pros/Cons
Three-tier Example
N-Tier Architecture
N-Tier Pros/Cons
N-Tier Example