Software architecture and design

courses icon

8 courses

Domain Driven Design

This course provides a foundational understanding of Domain Driven Design (DDD), guiding trainees on applying DDD to build complex enterprise systems. The course covers both Strategic (e.g., Bounded Contexts) and Tactical tools (e.g., Aggregates), with a focus on real-world examples, architecture types, and code samples to aid comprehension.

  • duration 24 hours

Enterprise Application Design Patterns

The course is devoted to corporate application development. The course contains detailed descriptions of specific typical solutions. The participants will get acquainted with basic approaches to organizing business logic, will learn how to divide enterprise applications into layers, how to use MVC framework for data presentation in Web environments, and will obtain other knowledge and skills required for design of enterprise applications.

  • duration 24 hours

Designing High-Performance Applications

This course covers key differences between high-performance, high-load, and high-availability systems, providing fundamental concepts and principles for designing high-performance applications. Suitable for architects, project managers, and senior developers.

  • duration 24 hours

Enterprise Integration

This course covers the essential techniques for enterprise-level integration between software systems. Trainees learn methods for data exchange, integration patterns, and best practices for asynchronous messaging. Tools include message queues (IBM MQ, ActiveMQ, Kafka) and integration buses (IBM AppConnect, Mule ESB, Apache Camel), along with standards like SOAP, REST, and message formats

  • duration 24 hours

Cloud Applications Architecture

This course provides an introductory overview of cloud application design, covering core principles, building blocks, and tools offered by IaaS, PaaS, and SaaS providers. Through practical design exercises, participants will learn to create virtual networks, define application structures, and ensure quality attributes like scalability and security.

  • duration 25 hours

Analysis patterns

This course provides an introduction to pattern-based techniques for conceptual model design, focusing on reusability of object-oriented analysis results. It covers essential basic and analytical patterns for addressing typical problems, with practical guidance on developing UML representations and transitioning to design. Suitable for lead developers, architects, and analysts utilizing UML.

  • duration 24 hours

Microservice Architecture

This course introduces the key concepts of Microservice Architecture (MSA), discussing its advantages, patterns, and deployment approaches. Students will explore the main MSA challenges, including decomposition, data consistency, performance, and scalability, with hands-on exercises in designing MSA solutions.

  • duration 24 hours

Software Architecture Methodology

This course establishes the foundations of software architecture, examines the role of a software architect, and delves into key practices related to design, documentation, and analysis. Sessions feature in-depth discussions, Q&A, and collaborative group work, where participants progress from understanding a problem’s context to conceptualizing a system design, ending with group presentations and peer review.