training banner.gif (18009 bytes)

Software Architecture and Components

Registration

Register online or download forms

Workshop Schedule

- only available in-house

 

Brochures

Component Class in Bloomington (.pdf, 44kb)

 

 

Software Component Design   component.gif (2296 bytes)
Course Description

Key Benefits

You will learn how to:

  • Graphically model components (using UML) to understand/communicate their structure and behavior
  • Design components and their interfaces
  • Document components
  • Describe dependencies among components
  • Differentiate COM, CORBA and JavaBeans

Background

Components are the latest rage in software development technology, with good reason. Component-based systems are easier to understand, build, debug and maintain than monolithic systems. The middleware technologies associated with components (CORBA, COM, JavaBeans, etc.) provide standardized, off-the-shelf component interconnection solutions, moving software closer to plug-and-play systems and better supporting reuse across product families. Also, each offers a component model that explicitly addresses the problem of system evolution. As a result, components are being embraced in a growing number of projects.

Class Overview

This class covers the essential concepts necessary for a discourse on components, and then deals with component and interface design and specification. Building up to a template for component specification, the course identifies issues that need to be dealt with in designing components, principles for system partitioning and interface design, and graphical modeling of the structure and behavior of components.

The class addresses such questions as:

  • What is a component? (There are multiple definitions out there.)
  • Do I have to use an object-oriented programming language like C++ or Java?
  • What have others learned about designing and using components?
  • What should I be thinking about when I design my component’s interfaces?
  • How should I document my component?
  • What techniques and tools are there for component design?
  • How do I use UML to model components?
  • How do we overcome the DLL versioning problem with components?

This class is taught seminar-style, with a fast flow of concepts and principles, and descriptions of techniques.

Why This Class?

This class will help you quickly cover the essential concepts related to component design. There are courses that focus on particular component technologies (e.g., Microsoft’s COM), and once you have selected your middleware technology (a.k.a., component infrastructure), you will want to take a class focused on that technology. However, the technology courses assume that what you want to learn is how to implement an already designed component using the technology in question. This class fills a critical gap in what is available elsewhere.

Audience

Software developers, architects and managers of component projects.

Instructor's Background

The instructor, Ruth Malan, has over 15 years experience in software engineering, architecture and consulting, including 6 years with Hewlett-Packard. Together with Dana Bredemeyer, she pioneered the internal architecture training and consulting program at HP. She has provided architecture consulting and training to architects, architecture teams and their management, and has helped teams develop component architectures. Ruth has published extensively in the areas of object-oriented development, reuse, and architecture, and is an author and editor of the book Object-Oriented Development at Work: Fusion in the Real World. Ruth is currently co-authoring a book on software architecture with Dana Bredemeyer, for Prentice-Hall.

Class Outline

This 1-day class covers the following topics:

Introduction to Component Concepts and Technologies

  • Components
    • Definitions
    • Motivation
    • Mainstream component models (CORBA, COM, JavaBeans)
  • Interfaces and the component contract
    • IDL and MIDL for specifying APIs
    • Interface semantics and rules
  • Component Interconnection
    • different connection mechanisms, such as procedure call and remote procedure calls (RPC)
    • middleware solutions, including CORBA, COM, and JavaBeans, and pros and cons of each

Principles of Component Design

  • What makes a good component and interface
  • Issues in component design
  • Principles of componentization
  • Principles of component design for reuse/product families, extensibility, etc.
  • Lessons learned on real-world projects

Tools for Component Design uml_logo.gif (3904 bytes)

  • Modeling in UML

Component Documentation

  • Component documentation concerns
  • Component document template
  • Interface specification template
  • Component examples

Venue

We do not have any more open enrollment classes scheduled this summer. Our next open enrollment class will likely be in November. Join our mailing list if you would like to receive schedule updates.

Pricing

The cost for the 1-day class is $500 per student.  We offer a 10% discount for registrations received at least 4 full weeks in advance of the class. Note: We only accept a maximum of 20 participants, so register early to avoid disappointment.

Continental breakfasts, lunches and snacks will be provided, but workshop participants are responsible for dinners and their own accommodations.

Cancellation Policy

We will refund the registration fee less a $50 processing fee if cancellations are made more than 21 days in advance of the workshop start date. Cancellations made 21 days or less from the workshop start date are not refundable. However, student substitutions may be made any time prior to the start of the workshop.

ABOUT BREDEMEYER CONSULTING|

Bredemeyer Consulting specializes in training and mentoring software architects. We typically work with architecture teams, providing training and mentoring to accelerate their creation or migration of an architecture. However, we do offer a limited number of Software Architecture Workshops for open enrollment.

UML is a trademark or registered trademark of the Object Management Group, Inc. in the US and other countries.

Copyright © 2000 by  Bredemeyer Consulting
URL: http://www.bredemeyer.com
Last Modified: April 19, 2000