Software Architecture 2 Training Course

Duration: 3 days
Course code: SS-ARC-002

Audience

The Software Architecture training course is built for IT Architects and other software professionals aspiring to become IT architects

  • Developers
  • Designers
  • Architects
  • Consultants
Prerequisites

The Software Architecture course requires fundamental understanding of software development.

Description

The Software Architecture 2 training course teaches IT architects the mindset required to build robust, scalable and maintainable architectures. The course teaches a methodology and a set of techniques that show how to ensure that all aspects of a technical architecture are covered and documented.
The Software Architecture training course also teaches a set of architectural structures and patterns essential in building enterprise architectures. This course covers advanced aspects of object technology. The course teaches a variety of approaches to advanced issues important in real world applications. Particular attention is given to topics that improve the precision and quality of developed systems.

Objectives

Upon completion, students will be able to:

  • 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 IT architecture
  • Understand how to analyze architectural assets
  • Apply an effective methodology for evolving architectures

Outline for Software Architecture 2 Training Course

Introduction

  • What is IT Architecture?
  • Architectural categories
  • What makes a good architecture?
  • Coupling
  • Cohesion
  • Achieving architectural goals
  • Software processes and the architecture business cycle
  • Where do architectures come from?

The Architectural Development Process

  • A reference process
  • How to validate?
  • How to evolve?
  • How to start?
  • Rational Unified Process (RUP)
  • TOGAF Lifecycle

Architectural Views

  • The Stakeholders
  • What are views and viewpoints?
  • The Zachman Framework
  • IEEE 1471-2000
  • How to select views

Commonly used Viewpoints

  • Business Viewpoint
  • Business Domain Viewpoint
  • Design Viewpoint
  • Integration Viewpoint
  • Reuse Viewpoint

A Notation for Describing Software 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
  • The impact of non-functional requirements

Quality Attributes

  • What are Quality Attributes?
  • Example Taxonomies
  • Achieving Quality Attributes
  • Scenarios
  • Evaluating Software Architectures

Architectural Assets

  • What is an Asset?
  • Asset management
  • Reuse perspective

Architectural Patterns

  • Categories of patterns
  • Object-Oriented Frameworks
  • Layered / Multi-tier architectures
  • Model-View-Controller Family: MVC, MVP, MVVM
  • Broker
  • Blackboard and Event-Driven Reactive Systems
  • Publish subscribe
  • Service Oriented Architectures
  • Web Services and REST

New Architectures

  • Scalable systems
  • Scaling out
  • Big Data
  • MapReduce and Hadoop
  • Event Processing and Streams
  • NoSQL and its impact
  • Events and Stream processing
  • Lambda Architecture

Comments are closed.