Software Architecture

Live Online (VILT) & Classroom Corporate Training Course

Become a proficient software architect with our comprehensive 3-day Software Architecture Course. Learn architectural principles, patterns, and trade-offs to design robust and scalable software systems.
Software Logo

How can we help you?

  • CloudLabs
    CloudLabs
  • Projects
    Projects
  • Assignments
    Assignments
  • 24x7 Support
    24x7 Support
  • Lifetime Access
    Lifetime Access
Box

Overview

This comprehensive 3-day course is designed to provide a solid foundation in software architecture. Participants will gain a deep understanding of software architecture concepts, principles, and best practices. The course covers various aspects of software architecture, including its importance, the architecture process, alternative thoughts, and the different types of architecture.

Box

Objectives

By the end of the course, participants will:

  • Understand the definition and significance of software architecture
  • Gain insights into the architecture process and its evolution
  • Explore different types of software architecture and their applications
  • Learn to apply architectural principles in software development
  • Identify and select appropriate architectural patterns
  • Design various types of applications, including web, mobile, and service applications
  • Address cross-cutting concerns such as performance, security, reliability, and testability
  • Acquire knowledge of architecture refactoring and trade-off analysis
  • Develop test design and tactics for architectural validation
  • Enhance soft skills related to architecture, such as translating requirements into architecture and identifying architectural characteristics
Box

Prerequisites

This course is suitable for software professionals, architects, developers, and individuals involved in software development projects. Participants are expected to have a basic understanding of software development principles and terminology. Familiarity with software design patterns and software development methodologies, such as Agile, will be beneficial but not mandatory.

Box

Course Outline

  • Defining Software Architecture
  • What’s Architecture and what’s not
  • Architecture Process
  • Alternative Thoughts of Software Architecture
  • Why Software Architecture Matters
  • Creating an Architecture
  • Patterns and Architecture
  • Architecture Evolution and Migration
  • Features vs Capabilities
  • Different types of Architecture

  • Applying Architectural Principle to software
  • Acknowledging Requirements
  • Who’s the Architect?
  • Intentional and Accidental Architects
  • The Role of the Architect (Technology Leadership Role)
  • Architecture Approach in SAFe Agile
  • Architecture Review

  • Logical View and Process View for Dynamic design.
  • Optimization of Class Design taking Architectural principles into account.
  • Identifying Components of Data environment.
  • 4+1 Architectural Views and Stakeholder concerns.
  • Architectural Patterns: Role and need for Creational Patterns and other GOF Patterns

  • Finding and selecting correct patterns
  • Component Based Architectural Style
  • Domain Driven Design Architectural Style
  • Test Driven Development Model
  • Layered Architectural Style
  • Message-Bus Architectural Style
  • N or Multi-Tiered Architectural Style
  • Microservices architecture pattern
  • Service-oriented architecture pattern
  • Service-based architecture pattern
  • Comparing service-based architectures
  • Service architecture challenges
  • Team exercises: Pattern selection
  • Layered architecture pattern
  • Event-driven architecture pattern
  • Microkernel architecture pattern
  • Space-based architecture pattern

  • Choosing Different types of application
  • Choosing an Application Type
  • Designing Web Applications
  • Designing Rich Client Applications
  • Designing Rich Internet Applications
  • Designing Mobile Applications
  • Designing Service Applications
  • Designing Hosted and Cloud Services
  • Designing Office Business Applications
  • Designing LOB Applications

  • Functional vs Non-Functional Requirements
  • Differences between functional and non-functional requirements
  • Addressing [Assume, this topic deals with Quality attributes along with Design Tactics]
    • Performance
    • Security
    • Reliability
    • Testability
      • TDD
      • BDD
    • Extensibility
    • Reusability
    • Logging
    • Fault Tolerance
      • Technology Consideration
      • Secure Architecture Design

  • Architecture Trade-off Analysis
  • Test Design and Tactics
  • Soft Skills – A Slight Touch

  • Translating requirements into architecture
  • Identifying architecture characteristics
Box

Testimonials