Component diagrams describe software components and their relationships within the implementation environment; they indicate the choices made at implementation time.