UML
Lenguaje
Unificado de
Modelado.

Es un lenguaje de modelado, cuyo
vocabulario y reglas se centran en la
representación conceptual y física de un
sistema. Prescribe un conjunto de
notaciones y diagramas estándar para
modelar sistemas mediante orientación a
objetos, y describe la semántica esencial de
lo que estos diagramas y símbolos
significan.

Uso

Visualizar el sistema:

los símbolo cuentan con semántica definida.

facilita la comunicación

Especificar el sistema:

Permite construir modelos precisos

Permite construir modelos precisos

Construir aplicaciones:

no es un lenguaje de programación visual

establecer una correspondencia

Documentar Sistemas:

Requisitos, Diseño, Estructura estática, Interacciones, Implementaciones.

Estructura

Estática

Dinámica

Diagramas de Casos de Uso

Se utilizan para modelar cómo funciona realmente un sistema, o cómo los usuarios desean que funcione.

Elementos

Sistema

Actores

Caso de uso

Relación o Asociación

Asociación

Generalización o Herencia

Inclusión

Extensión

Realización

Diagramas de Clases

Se usa cuando se desarrolla un modelo de sistema orientado a objetos para mostrar las clases en un sistema y las asociaciones entre dichas clases.

Elementos

Nombre de la clase

Atributos

visibilidad nombre_atributo : tipo = valor-inicial {
propiedades }

Métodos(Funciones)

visibilidad nombre_funcion { parámetros } : tipo-devuelto {
propiedades }

Visibilidad

(+) Pública

se puede acceder al atributo

(-) Privada

función únicamente desde la misma clase

(#) Protegida

puede ser accedida únicamente desde la misma clase o
desde las clases que hereden

Multiplicidad

número de elementos de una clase que participan
en una relación

Tipo

Uno a uno 1 - 1

Uno a muchos 1 - 1..*

Uno a muchos o ninguno 1 – 0..*

Tipo de relación

Asociación

representa dependencia semántica

Agregación

representación jerárquica que indica a un objeto y las
partes que componen ese objeto

Composición

es similar a la agregación, pero de una forma más fuerte

Generalización (Herencia)

permiten que una clase reciba los atributos y métodos de otra clase