"Uses", where one class refers to another class for some of its operations.
“Depends on” means that class A uses another class B in its implementation (for example, as a parameter to a method). In this case, a change in class B may require a change in class A.
Note. I said a class, but it applies equally to interfaces.
There is a good Wikipedia article: http://en.wikipedia.org/wiki/Dependency_%28UML%29
So, for example, you might have a Uses connection between the class driver and the IVehicle interface, which provides a method called Drive (). Changes to the implementation of Drive do not require any changes to the driver, so you say that the driver uses IVehicle.
However, the Driver class has a dependency on the Hand class, since Driver has two properties: Hand LeftHand and Hand RightHand. If the implementation of these changes has changed, one would have to consider whether the driver needs to be updated accordingly.
Bonyt source share