Component diagrams provide the modeling structures needed to visualize the physical nature of the system. A component diagram addresses the software organization of the system. It contains information about the software, executable and library components for the system. A component diagram shows the various components [1] and their dependencies.
A
component represents the physical module of code [Fowler, 2000a]. A component is often the same as a package. A dependency
shows how changes to one component may cause other components to change.
· Source code components (compile dependencies) show compilation dependencies among files.
· Run-time components (link time dependencies) show the mapping of classes to run-time libraries.
· Executable components (run-time dependencies) show the interfaces and calling dependencies among executables.
Finally, communication dependencies show which
components communicate with one another.
Figure 21 Component diagram notation
[1] A representation of a source file, a library, or an executable.