UML relationships can be described using associations. An association describes a relationship between two or more classes. There are weak associations called dependencies that occur when a class references another class as a parameter or return type. Strong associations exist when a class holds a reference to another class. Aggregation represents a part-whole relationship where the whole class contains part classes. Composition is a strong life cycle association where if one class is deleted, associated classes are also deleted.