For example let’s say we have a class called “Secretary” and another class called “Utils”
Utils has some functions that do general stuff, for example finding the maximum of 3 integers.
“Secretary” needs to call some of these functions and in this class these functions are called using the following notation:
Utils.function()
now my question is, what kind of association, if there is any, exists between these two classes?
Most likely Dependency. Associations are normally used to capture some relationship that has meaningful semantics in a domain. So, for example, Secretary ‘works for’ Manager. Your example is different: you’re not capturing meaningful relationships among instances. Therefore Dependency is probably most appropriate.
More importantly though: what are you trying to illustrate? Remember to use UML like any other tool – make it work for you. So, for example, it’s fine to show a binary association if (a) it helps you and/or (b) it helps you communicate with other team members. The fact that it doesn’t comply with the intended UML usage doesn’t matter – as long as you find it useful.
hth.