A UML component diagram is used to model the structure of the software, including dependencies among software components, binary code components, and executable components.
The component diagram is drawn as a graph of components, sometimes grouped in package, and the dependencies that exist between components (and packages of components).