Get in Touch

Course Outline

Course Overview

  • System and Component Cohesion
  • System/Component Dependencies
  • Software Architecture
  • Technical Architecture
  • Enterprise Architecture
  • SOA and Microservices Architecture
  • Interconnections between these concepts
  • Logic Redundancy vs. Dependency
  • Data Redundancy vs. Dependency

Software Architecture

Fundamentals

  • Clarification of key terms: architecture, design, and modeling
  • Orthogonality
  • Conway's Law

Common Architectural Styles

  • Modular decomposition
  • Hierarchical architecture
  • Centralized architectures (Mediator Pattern)
  • Event-driven architecture
  • Interrupt-based architectures
  • OSI model
  • Client/Server models
  • Layered models

Principles of Object-Oriented Design

  • DRY (Don't Repeat Yourself), SRP (Single Responsibility Principle)
  • Encapsulation
  • Programming to an Interface
  • Liskov Substitution Principle
  • Law of Demeter

Design Patterns

  • Understanding Design Patterns
  • Creational Patterns
  • Structural Patterns
  • Behavioral Patterns
  • Model-View-Controller (MVC)

Design Tools

  • Domain-Specific Languages
  • Lexical Analysis
  • CRC Cards
  • Scenarios
  • Use Case Descriptions

UML Graphical Representations

  • Class Diagrams
  • Sequence Diagrams
  • Aggregation Diagrams
  • UML Tools

Non-UML Graphical Representations

  • ER Modeling
  • State Machines
  • Data Flow Diagrams
  • Architectural Models

Design and Maintenance

  • Lehman's Laws
  • Architectural Anti-patterns
  • Refactoring Strategies

SOA and Integration Patterns

  • Integration technologies and methodologies
  • Synchronous vs. Asynchronous communication
  • Direct communication patterns (detailed)
  • Direct and brokered communication
  • Message Queuing
  • Enterprise Service Bus (ESB)

Deployment Patterns

  • Code Deployment strategies
  • Immutable deployment
  • Patterns for Availability, Scalability, High Performance, and Fault Tolerance
  • Data and Message Replication and Clustering (CAP Theorem)
 21 Hours

Number of participants


Price per participant

Testimonials (7)

Upcoming Courses

Related Categories