Get in Touch

Course Outline

Overview

  • Cohesion in systems and components
  • Dependencies between systems and components
  • Software Architecture
  • Technical Architecture
  • Enterprise Architecture
  • SOA and Microservices architecture
  • Interrelationships among these concepts
  • Logic redundancy versus dependency
  • Data redundancy versus dependency

Software Architecture

Fundamentals

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

Common Architectural Styles

  • Modular decomposition
  • Hierarchical architecture
  • Centralised architectures (Mediator Pattern)
  • Event-based architecture
  • Interrupt-based systems
  • OSI model
  • Client/server architecture
  • Layer model

Principles of Object-Oriented Design

  • DRY, SRP
  • Encapsulation
  • Programming against interfaces
  • Liskov Substitution Principle
  • Law of Demeter

Design Patterns

  • Introduction to Design Patterns
  • Creational Patterns
  • Structural Patterns
  • Behavioral Patterns
  • Model-Controller-View (MCV)

Design Tools

  • Domain-Specific Languages
  • Lexical Analysis
  • CRC cards
  • Scenarios
  • Use Case descriptions

UML Graphical Representations

  • Class Diagrams
  • Sequence Diagrams
  • Aggregation diagrams
  • UML tooling

Non-UML Graphical Representations

  • ER-modeling
  • State Machines
  • Data flow diagrams
  • Architectural models

Design and Maintenance

  • Lehmann's Laws
  • Architectural Antipatterns
  • Refactoring Strategies

SOA and Integration Patterns

  • Integration technologies and methodologies
  • Synchronous versus Asynchronous communication
  • In-depth exploration of direct communication patterns
  • Direct and brokered communication
  • Message Queuing
  • ESB (Enterprise Service Bus)

Deployment Patterns

  • Code Deployment
  • Immutable deployment
  • Patterns for Availability, Scalability, High Performance, and Fault Tolerance
  • Data and message replication and clustering (CAP theorem)
 21 Hours

Testimonials (7)

Upcoming Courses

Related Categories