Get in Touch

Course Outline

Overview

  • System and Component Cohesion
  • System/Component Dependencies
  • Software Architecture
  • Technical Architecture
  • Enterprise Architecture
  • SOA and Microservices Architecture
  • Relationships Between These Concepts
  • Logic Redundancy Versus Dependency
  • Data Redundancy Versus Dependency

Software Architecture

Fundamentals

  • Clarification of Terms: Architecture, Design, Modelling
  • Orthogonality
  • Conway's Law

Common Architectures

  • Modular Decomposition
  • Hierarchical Architecture
  • Centralised Architecture (Mediator Pattern)
  • Event-Based Architecture
  • Interrupt-Based Architecture
  • OSI Model
  • Client/Server Model
  • Layered Model

Principles of OO Design

  • DRY, SRP
  • Encapsulation
  • Programming to an Interface
  • Liskov Substitution Principle
  • Law of Demeter

Design Patterns

  • Understanding Design Patterns
  • Creational Patterns
  • Structural Patterns
  • Behavioural Patterns
  • Model-Controller-View (MCV)

Design Tools

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

UML Graphical Representations

  • Class Diagram
  • Sequence Diagram
  • Aggregation Diagram
  • UML Tools

Non-UML Graphical Representations

  • ER Modelling
  • State Machine Diagrams
  • Data Flow Diagrams
  • Architectural Models

Design and Maintenance

  • Lehman's Laws
  • Architectural Antipatterns
  • Refactoring Strategies

SOA and Integration Patterns

  • Integration Technologies and Methods
  • Synchronous/Asynchronous Communication
  • Direct Communication Patterns
  • 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

Testimonials (7)

Upcoming Courses

Related Categories