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. Component diagrams can be combined with deployment diagrams to unify all nodes with their respective components.
Figure uml.09 an example of a UML Component Diagram.
Modeling a component diagram is best described through an example. Figure 7 shows four components: Reporting Tool, Billboard Service, Servlet 2.2 API, and JDBC API. The arrowed lines from the Reporting Tool component to the Billboard Service, Servlet 2.2 API, and JDBC API components mean that the Reporting Tool is dependent on those three components.
If a component has a required interface, then it needs another class or component in the system to provide it. To show that a component with a required interface depends on another component that provides it, draw a dependency arrow from the dependent component's socket symbol to the providing component's ball symbol, like below figure :
Components are similar in practice to package diagrams as the define boundaries and are used to group elements into logical structures. The difference between Package Diagrams and Component diagrams is that Component Diagrams offer a more semantically rich grouping mechanism. With Component Diagrams all of the model elements are private whereas Package diagrams only display public items.
Related Posts :
UML Intro
UML State Machine
UML Class Diagram
UML Use Case Diagram
UML Activity Diagram
UML Deployment Diagram
UML Intro
UML State Machine
UML Class Diagram
UML Use Case Diagram
UML Activity Diagram
UML Deployment Diagram