Uml
Lenguaje Unificado de Modelo
Son una serie de normas y estandares graficos respecto a como se deben representar los esquemas relativos al software.
Asociación
Es una relación de estructura entre clases, es decir una entidad se construye a partir de otra. La multiplicidad es de uno a uno. El tiempo de vida de un objeto no depende del otro.

Esto significa que la clase A tendrá como atributo un objeto o instancia de la clase B. La clase A podrá acceder a funcionalidades o atributos de su componente usando sus métodos.
Ej.

Agregación
Es muy similar a la relación de asociación solo que varia la multiplicidad ya que en lugar de ser uno a uno, es de uno a muchos.

La clase A agrega varios elementos de la clase B.
Ej.

Composición
Es una relación mas fuerte que la agregación, ya que es una relación de vida, es decir el tiempo de vida de un objeto esta condicionado por el tiempo de vida del objeto que lo incluye.

Ej.

La clase A agrupa varios elementos de la clase B y el tiempo de vida de los objetos de tipo clase B estan condicionados por el tiempo de vida del objeto tipo clase A.
Los componentes (clase B) no pueden ser compartidos por varios objetos.
Clase de Asociación
Es una clase que surge de la multplicidad de muchos a muchos, se sacan los atributos de las clases involucradas y se les incorpora en una clase a parte.
Realización *
Es una relación de contrato con otra clase, se utiliza para implementar una interfaz.
Generalización
Es una relación de herencia, se puede decir es un tipo de.
Dependencia *
Es una relación de uso, es decir que una clase utiliza a otra, y si esta ultima se altera la anterior se puede ver afectada. En código se suele traducir como las clases donde se hace la instaciación de un objeto.
Tipos de Diagramas
Casos de Uso
Clases
Secuencia
Colaboracion
Estados