"Usos" es cuando una Clase se refiere a otra Clase para algunas de sus operaciones.
"Depende de" es cuando una Clase A usa otra Clase B dentro de su implementación (por ejemplo, como un parámetro para un método). En este caso, cambiar la Clase B puede requerir un cambio a la clase A.
Nota He dicho Clase, pero se aplica igualmente a las Interfaces.
Wikipedia tiene un buen artículo sobre esto: http://en.wikipedia.org/wiki/Dependency_%28UML%29
Así, por ejemplo, usted podría tener una relación entre Utiliza un controlador de clase y un IVehicle interfaz que expone un método llamado Drive(). Los cambios en la implementación de Drive no requieren ningún cambio en Driver, por lo que usted dice que Driver usa IVehicle.
Sin embargo, Class Driver tiene una Dependencia en Class Hand, ya que Driver tiene dos propiedades: Hand LeftHand y Hand RightHand. Si la implementación de estos cambios, uno tendría que considerar si el controlador necesitaba actualizarse en consecuencia.
"Cuando lo leí," uso "es una" dependencia "menos estricta". No, son bastante diferentes. – BonyT
@BonyT, ¿me puede dar su opinión? –
Si usa otro objeto, sus cambios internos no le interesan. Pero si "Dependes de" otro objeto, entonces lo hacen. Eso es lo que define los dos términos. – BonyT