Chapter 12. Managing and Reusing Your System’s Parts: Component Diagrams

When designing a software system, it’s rare to jump directly from requirements to defining the classes in your system. With all but the most trivial systems, it’s helpful to plan out the high-level pieces of your system to establish the architecture and manage complexity and dependencies among the parts. Components are used to organize a system into manageable, reusable, and swappable pieces of software.

UML component diagrams model the components in your system and as such form part of the development view , as shown in Figure 12-1. The development view describes how your system’s parts are organized into modules and components and is great at helping you manage layers within your system’s architecture.

The Development View of your model describes how your system’s parts are organized into modules and components
Figure 12-1. The Development View of your model describes how your system’s parts are organized into modules and components

What Is a Component?

A component is an encapsulated, reusable, and replaceable part of your software. You can think of components as building blocks: you combine them to fit together (possibly building successively larger components) to form your software. Because of this, components can range in size from relatively small, about the size of a class, up to a large subsystem.

Good candidates for components are items that perform a key functionality and will be used frequently throughout your system. ...

Get Learning UML 2.0 now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.