architect enterprise components and frameworks

TriReme director Dr Alan Wills is author of best selling book on frameworks ('Objects, Components, and Frameworks with UML. The Catalysis™ Approach'). His ideas have been successfully used by many companies. They can also show how to refactor your existing systems to make use of this powerful technology.

Duration: 5 days

target audience

The course is suitable for software architects or designer familiar with UML.

Requirements and component specification

This section deals with the specification of requirements of a software component, application, or complete system.

  • system context models
  • high-level operation specs
  • state charts for system models
  • meaning of 'model'
  • how to start abstract and get more detailed
  • event charts: horizontal and vertical expansion
  • elaborating models
  • relating the levels of detail
  • building a system spec
  • system context
  • defining system use-case goals
  • modelling patterns

Component design

This section covers the key design stages: assign responsibilities and collaborations, decouple roles and components.

  • separating core from GUI, persistence, and other layers
  • selection of control objects
  • designing system operations with messages
  • decoupling, extensibility, reusability
  • dependencies and visibilities
  • the class dictionary
  • translation to code)

Design patterns

In this section, the usefulness of design patterns as a way of thinking about and describing designs is investigated. Several patterns are discussed, and then a problem is presented which participants model and then sketch a solution for, using the patterns.

  • Two-way Link
  • Observer
  • Recursive Composite
  • State Delegation
  • Interface Decoupling)

Domain coupling

The linkage of the 'core(s)' to presentation, persistence, and other layers.

  • GUI
  • MVC and reification of use-cases in UI objects
  • persistence: proxy and building atop object and relational DBs
  • networks: layering)

Frameworks

Partial models (views) as reusable artefacts.

  • generalization of two example static models
  • collaborations: generic designs for interactions
  • roles
  • synthesis of collaborations)

Reuse and adaptability

Reuse does not come automatically, and requires not only appropriate technology, but also management and motivation at the corporate level.

  • management and economics of reuse
  • component repositories
  • what's in the repository
  • components, frameworks, patterns, and plans)

Component technology

  • pluggable code and connector protocols
  • component kits and building tools
  • component architecture
  • common models
  • common couplings
  • wrapping existing assets
  • product vs component building)

Enterprise components

  • architectures

Please note, when taught at your site, this course is customizable; modules can be adapted, removed, added from other courses, or even created.

timetable

Day 1

  • tequirements and component specification
  • component design
  • design patterns
  • domain coupling

Day 2

  • frameworks
  • reuse and adaptability
  • component technology
  • enterprise components

course instructor

The course is presented by one of our senior consultants, each of whom has at least ten years' experience in software development, and at least three years' experience as a trainer and consultant in a diverse range of application areas.

print     printer-friendly version