Component diagrams are essentially class diagrams that focus on a system’s components that often used to model the static implementation view of a system. In Unified Modeling Language (UML), a component diagram depicts how components are wired together to form larger components or software systems. In other words, component diagrams are used to visualize the organization and relationships among components in a system.
A component diagram breaks down the actual system under development into various high levels of functionality. Each component is responsible for one clear aim within the entire system and only interacts with other essential elements on a need-to-know basis. It does not describe the functionality of the system but it describes the components used to make those functionalities. Thus from that point of view, component diagrams are used to visualize the physical components in a system. These components are libraries, packages, files, etc.