The component diagram
  
The component diagram illustrates the software components that will be used to build the system.  These may be built up from the class model and written from scratch for the new system, or may  be brought in from other projects and 3rd party vendors.
Components are high-level aggregations of smaller software pieces, and provide a 'black box'  building block approach to software construction. A component can always be considered an  autonomous unit within a system or subsystem. It has one or more provided and required  interfaces (potentially exposed via ports), and its internals are hidden and inaccessible other than  as provided by its interfaces. Although it may be dependent on other elements in terms of  interfaces that are required, a component is encapsulated and its dependencies are designed such  that it can be treated as independently as possible. As a result, components and subsystems can be  flexibly reused and replaced by connecting (“wiring”) them together via their provided and required  interfaces.
The component diagram shows the relationship between software components, their dependencies,  communication, location and other conditions. Component diagrams are used to structure  components in software systems. They examine and manage dependencies between components  or interfaces of components. A component represents a modular, deployable, and replaceable part  of a system.
One or more classifiers that reside on the component typically specify a component. Subsets of  these classifiers explicitly define the component's external interfaces. A component conforms to the  interfaces that it exposes, where the interfaces represent services provided by elements that reside  on the component. 
Example:
graphic
Google
 
Web xpdian.com