Course Outline

Overview

  • System and Component Cohesion
  • System/component Dependencies
  • Software Architecture
  • Technical Architecture
  • Enterprise Architecture
  • SOA and Micro services architecture
  • Relationships between above concepts
  • Logic redudancy vs dependency
  • Data reduancy  vs dependency

Software Architecture

Fundamentals

  • clarification of terms: architecture, design, modeling
  • orthogonality
  • conways Law

Common Architectures

  • modular decomposition
  • hierarchical architecture
  • centralised (Mediator Pattern)
  • event-based architecture
  • interrupt-based
  • OSI
  • client/server
  • layer model

Principles of OO Design

  • DRY, SRP
  • encapsulation
  • program against an interface
  • Liskovs principle
  • Law of Demeter

Design Patterns

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

Design Tools

  • Domain specific language
  • Lexical Analysis
  • CRC cards
  • scenarios
  • Use Case descriptions

UML Graphical Representations

  • Class Diagram
  • Sequence Diagram
  • aggregation diagram
  • UML tools

Non-UML Graphical Representations

  • ER-modeling
  • State Machine
  • data flow
  • architectural model

Design and Maintenance

  • Lehmanns Laws
  • Architectural Antipatterns
  • Refactoring Strategies

SOA and Integration Patterns

  • Integration technologies and methods
  • Synchronous/Asynchronous
  • More details direct communication patterns
  • Direct and brokered communication
  • Message Queuing
  • ESB

Deployment Patterns

  • Code Deployment
  • Immutable deployment
  • Availability, Scaleability, High Performance, Fault tolerance patterns
  • Data and messages replication and clustering (CAP theorem)

 

  21 Hours
 

Testimonials

Related Courses

Introduction to Domain Driven Design

  14 hours

Certyfikacja OCUP2 UML - Przygotowanie do egzaminu UML2 Intermediate

  14 hours

OCUP2 UML Certification - UML2 Advanced Exam Preparation

  14 hours

Embedded C Application Design Principles for Automotive Professionals

  14 hours

Embedded C Application Design Principles

  14 hours

Architecture and Design: Core + Advanced Training

  42 hours

Architecture for Developers

  7 hours

Systems Modelling with SysML

  21 hours

System Engineering using SysML and UML 2

  21 hours

UML for the IT Business Analyst

  21 hours

Practical aspects of UML

  21 hours

Mobile Architectures & Solutions

  21 hours

Design Thinking Workshop for Software Developers

  14 hours

Learning CMake

  14 hours

Design Sprint Workshop

  35 hours