Architectural Thinking

Duration (in days): 

5

Description:

When programmers are promoted to architects, organizations often loose a great programmer and gain a terrible architect. In this course, we aim at teaching a software engineer how to become an architect. It is also a great course for architects to learn about the latest architectural patterns and processes.

Objectives:

  • Recognize and understand the various aspects of IT architectures

  • Be able to recognize, understand and use the most common architectural patterns

  • Effectively document IT architectures

  • Be able to identify the various customers of an IT architecture

  • Understand how to analyze architectural assets

  • Apply an effective methodology for evolving architectures

Prerequisites:

When programmers are promoted to architects, organizations often loose a great programmer and gain a terrible architect. In this course, we aim at teaching a software engineer how to become an architect. It is also a great course for architects to learn about the latest architectural patterns and processes.

Audience

Architects and software developers.

Outline

Introduction

  • What is an IT Architecture?

  • Architectural categories

  • What makes a good architecture?

  • Software processes and the architecture business cycle

  • Where do architectures come from?

  • Typical architectural goals

The Architectural Development Process

  • Reference process

  • How to validate?

  • How to evolve?

  • How to start?

  • Rational Unified Process (RUP)

  • TOGAF Lifecycle

  • Agile development

  • Agile and architecture

Architectural views

  • The Stakeholders

  • What are views?

  • The Zachman Framework

  • IEEE 1471-2000

  • How to select views?

  • Commonly used views

Documenting architecture

  • Why notation?

  • UML 2.0 and architectural descriptions

  • Is UML enough?

  • Other notations

  • A documentation template

Requirements and Architecture

  • The requirements view

  • Ensuring continuity in architecture

  • Documentation of requirements

  • Validation of architecture against functional requirements

Commonly used Viewpoints

  • Business Viewpoint

  • Business Domain Viewpoint

  • Design Viewpoint

  • Integration Viewpoint

  • Reuse Viewpoint

  • Scalability Viewpoint

  • Security Viewpoint

  • Risk Viewpoint

  • Maintainability Viewpoint

Architectural Patterns

  • Service Oriented Architectures

  • Microservices

  • Lambda Architecture

  • Event-Sourcing

  • Categories of patterns

  • Object-Oriented Frameworks

  • Patterns versus idioms

  • Broker

  • Blackboard

  • Publish Subscribe

  • Model View Controller

  • Layers

Architectural assets

  • What is an Asset?

  • Asset management

  • Reuse perspective

© 2020 Northscaler