Un diagrama de clases en ingeniería de software visualiza las relaciones entre clases, incluyendo herencia, asociación y contenimiento. Este diagrama consta de elementos como clases, atributos, métodos y diferentes tipos de visibilidad (public, private, protected). Las relaciones entre clases se pueden especificar mediante cardinalidades y se destacan conceptos como herencia y asociación, que describen cómo las clases interactúan entre sí.