Component
Definition
- A component "is a [binary] unit of composition with contractually specified interfaces and explicit context dependencies only" (Component Software, p. 34).
- A component "can be deployed independently and is subject to composition by third parties" (Component Software, p. 34).
- A component "has no persistent state" (Component Software, p. 34).
- A component contains a single class blueprint, information regarding registration of the component, and certain code relating to object instantiation and server implementation.
Notation
The symbol for a component is the same as specified in UML, namely a rectangle with two smaller rectangles attached along the left edge. The name of the component is entered at the top left. Interfaces should be attached along the top or right edge (see Interfaces section). A component symbol may contain classes and objects as well as miscellaneous other symbols representing registry information and certain component implementation details.
In most cases, registry information and implementation details may be assumed and thus omitted from any diagram: