Wherever possible component dependency should be shown by required and provided interfaces i.e. sockect and bubble notation. That makes a component isolated, replaceable and independent. I think <<uses>> notation is just a work around when we do not have clarity on specific interfaces within a component.
Just my opinion.
a fool thinks himself to be wise, but a wise man knows himself to be a fool - shakespeare. foolish tiny ad: