Object Discovery Corporation

Course Outline for UML Systems Architecture Training (SysArch)

Course Chapters

Detailed Course Outline

Chapters & Strategies Topics

Understanding Systems Architecture integrates all the requirements into one working system

  • Definition: Architecture as an integration of
    • domain concepts
    • functional services
    • interaction with users and other systems
    • physical and environmental constraints
    • real-time behavior and performance
    • components design

  • Goal: Designing all the components to build a whole that fulfills all the requirements
    • breaking down into layers, components, packages, frameworks, objects
    • following the OO design principles
    • supporting iterative development

  • Spirit: Architecture looks at a system as an autonomous body, it...
    • grows a system like a body, with its own anatomy and physiology
    • fulfills all requirements but allows for evolution
    • builds the system as a whole, but incrementally
    • addresses the highest risks first
    • models for the system to sustain the test of time


The Conceptual Dimension
Delineating the knowledge, behavior, and mission of a system

If you were to compare a system with a human physiology, you could say the Conceptual Dimension is what the system's brain contains: memories, knowledge, skills, purpose. This chapter shows how to model those as business concepts, knowledge, rules, policies, and algorithms, and model where they physically resides. Furthermore, you will learn how to break large Domain Models down to smaller, manageable conceptual blocks with UML Packages and their relationships. That way, any Domain Model, however large and complex, can be properly broken down, distributed, and located.

  • The Theoretical Model
    • Business Concept Model (BCM)
    • BCM Example and lab with the Autonomous Mission Tracking System (AMTS)
    • Handling large Domains with UML Package Modeling

  • Package Communication and Interface
    • Educational packages
    • Light or dense packages
    • Large and heavy Packages
    • Package communication architecture

  • Interface for Architectural Packages
    • Interface conceptual designation
    • Interface simple and expanded notations
    • Interface functional abstraction
    • Contracts and seams


The Organizational Dimension
Organizing any systems architecture with universal UML Packages and Components

Learn how to quickly identify the main parts of your system, physical or not, and efficiently model them using UML packages. At a later time, you may refine your architecture model and transform some areas into Layers or Components. You'll get the opportunity to exercise that crucial skill on the concrete and sophisticated Autonomous Reconnaissance Drone case study.

  • Recognizing the architectural parts
    • Drone elements and their packaging
    • Layers and nested packages
    • Package communication
    • Package interfaces

  • Modeling some architectural parts as UML Components
    • Component definition and examples
    • Features and behavior of a Component
    • Powerful advantages and cost of Components
    • When and how to use Components
    • Component examples
    • Components versus Packages, and their various combinations
    • Component interfaces
    • Component ports
    • Component modeling for completion of the Reconnaissance Drone case study

  • Components collaboration
    • Interface direction versus dependency and realization
    • Collaboration and sequences
    • Sequence diagrams
    • Missions Drone case study

3, 4

The Design Dimension
High-level usage of Design Patterns to solve advanced problems

A good developer uses Design Patterns to quickly solve typical problems. A good systems architect combines them to solve much greater problems. This advanced chapter shows how to select, customize, and combine Design Patterns to solve challenging problems. To make it concrete, we research the Automated Mission Tracking System and devise strategies to design three types of architecture that control many assets dedicated to specific missions: centralized, distributed, and swarm-like.

  • Design Patterns review
    • The seven categories of Design Pattern motivations
    • Review of a few, key Design Patterns
    • Design Patterns selection process

  • Design Pattern high-level UML notation
    • Explicit UML representation
    • Implicit UML representation
    • Example on the Composite Pattern
    • Nested patterns
    • Patterns combination notation
    • Patterns collaboration
    • Patterns dependencies

  • Distributed backup system for the AMTS
    • Automated Mission Tracking System (AMTS) lab
    • AMTS backup requirements
    • Distributed, dynamic backup system
    • Design Patterns selection
    • Design Patterns combination
    • Review of each group's solution
    • Proposed solution

4, 5

The Physical Dimension
Breaking the Components boundaries to design the architecture of large systems

Real-life systems rarely are single, isolated machines. They are a combination and composite of multiple systems. We treat each one as a UML component and design how they work and interact together. This workshops—the most advanced one—considers the Automated Mission Tracking System (AMTS) and designs and architecture so that all the assets of a same mission not only work together, but also work as a "swarm". That way, it will continue even while some assets "go dark", overtaken by the hostile environment in which they operate. We take all the layers into account (Domain, Control, etc.) and all the components of that "macro" system, and make it work as one, unified whole. Many issues are raised and challenges overtaken and students now realize what it really means to be a Systems Architect.

  • Case Study Problem domain
    • Functional requirements
    • Timing constraints
    • Physical deterioration

  • Case Study Architectural Alternatives
    • Redundancy versus lightweight design
    • Centralized versus distributed solutions
    • Standard distributed versus swarm-like behaviors
    • Corresponding architectural solutions

  • Student Solution Validation
    • Presentation to instructor
    • Presentations to class
    • Challenging and defending proposed solutions

  • Architectural Solutions
    • Distributed solution
    • Swarm-based solution
    • Assumptions, features, and limitations

Putting it all together

Now is the time to appreciate all that has been learned, and review the responsibilities, process, techniques, and strategies of UML Systems Architecture

  • Systems Architecture's Dimensions:
    • Conceptual
    • Organizational
    • Design
    • Physical

  • Making it work in real life:
    • The Architect's responsibilities and attitude
    • The System's Architecture process
    • Organizing to keep projects agile
    • Typical challenges and solutions
    • Avoiding typical mistakes and the architectural anti-patterns
    • Further readings and activities

Course Schedule and Location

  • UML Systems Architecture On-site training - We come to your company to train your employees.
  • UML Systems Architecture Public classes - You attend one of our courses offered in different cities.
  • UML Systems Architecture Distance Learning - Learn straight from our instructors without leaving your office or home.

Back to Top

2008–2019 Object Discovery Corporation home | site map | our company | careers | legal