3. QUE ES UML?
• UML es un lenguaje de modelado, es decir, es un lenguaje 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.
4. PARA QUE SIRVE?
Visualizar el sistema:
•Cada símbolo tiene una semántica bien definida
•Cualquier desarrollador puede interpretar un
modelo en UML sin ambigüedad
•UML facilita la comunicación
5. PARA QUE SIRVE?
Especificar el sistema:
• Permite construir modelos precisos no ambiguos y
completos
• UML permite documentar las especificaciones de
todas las decisiones de análisis, diseño e
implementación
6. PARA QUE SIRVE?
Construir aplicaciones:
• UML no es un lenguaje de programación visual, pero
sus modelos pueden conectarse de forma directa a
lenguajes de programación orientados a objetos
• Es posible establecer una correspondencia desde un
modelo UML y una implementación en un lenguaje de
programación como JAVA o C++, mediante generación
de código e ingeniería inversa
7. PARA QUE SIRVE?
Documentar sistemas:
• Requisitos
• Diseño
• Estructura estática
• Interacciones
• Implementaciones
12. Elementos Estructurales
Una clase es una descripción de
un conjunto de objetos que
comparten los mismos
atributos, operaciones,
relaciones y semántica.
Una interfaz es una colección de
operaciones que especifican un
servicio de una clase o un
componente. Describe el
comportamiento visible de ese
elemento. Dibujable
13. Elementos Estructurales
Un caso de uso es una
descripción de un conjunto de
secuencias de acciones de un
sistema y que produce un
resultado observable de interés
para un actor particular.
Una colaboración define una
interacción y es una sociedad de
roles y otros elementos que
colaboran para proporcionar un
comportamiento cooperativo
Realizar Pedido
Cadena de responsabilidad
14. Elementos Estructurales
Un componente es una
parte física y
reemplazable de un
sistema (COM+,
JavaBeans, dll, . . .)
Un nodo es un elemento
físico que existe en
tiempo de ejecución y
representa un recurso
computacional.
orderform.java
Servidor
16. Elementos de comportamiento
Una interacción es un
comportamiento que consiste
en un conjunto de mensajes
intercambiados entre un
conjunto de objetos para
alcanzar un propósito especifico
Un estado especifica unos valores
de las variables en el tiempo
para un objeto particular esperando
17. Elementos de agrupamiento
Un paquete es un
mecanismo de propósito
general para organizar
elementos en grupos.
GUI
18. Elementos de anotación
Una nota es un elemento
explicativo de los modelos
UML. Sirve para hacer
claridad sobre elementos
del modelo.
devuelve una copia
del objeto receptor
19. Elementos de relación
Una dependencia es una relación
semántica entre dos elementos, en
la cual un cambio a un elemento
(elemento independiente) puede
afectar la semántica del otro
elemento (elemento dependiente).
Una asociación es una relación
estructural que describe un
conjunto de enlaces, los cuales son
conexiones entre objetos. La
agregación es un tipo especial de
asociación, que representa una
relación estructural entre un todo y
sus partes.
20. Elementos de relación
Una generalización es una relación
en la cual los objetos del
elemento especializado (el hijo)
pueden sustituir a los objetos del
elemento general (el padre). De
esta forma, el hijo comparte la
estructura y el comportamiento
del padre
Una realización especifica que una
clase implementara un conjunto
de métodos especificados por
una interfaz .
21. DIAGRAMAS DE UML
Colaboración, interacción, rol de
colaboración, mensaje.
Diagramas de
Colaboración
Interacción, objeto, mensaje,
activación.
Diagramas de
Secuencia
Vista física
Estado, actividad, transición,
determinación, división, unión.
Diagramas de
Actividad
Estado, evento, transición, acción.
Diagramas de
Estados
Vista lógica
Dinámica
Nodo, componente, dependencia,
localización.
Diagramas de
Implementación
Componente, interfaz,
dependencia, realización.
Diagramas de
Componentes
Vista física
Caso de Uso, Actor, asociación,
extensión, generalización.
Diagramas de
Casos de Uso
Clase, asociación, generalización,
dependencia, realización, interfaz.
Diagrama de
Clases
Vista lógica
Estática
CONCEPTOS PRINCIPALESDIAGRAMASVISTAÁrea
22. DIAGRAMAS DE UML
• Diagramas de Clases para modelar la estructura estática de las clases en el
sistema.
• Diagramas de Casos de Uso para modelar los procesos 'business'.
• Diagramas de Secuencia para modelar el paso de mensajes entre objetos.
• Diagramas de Colaboración para modelar interacciones entre objetos.
• Diagramas de Estado para modelar el comportamiento de los objetos en el
sistema.
• Diagramas de Componentes para modelar componentes.
• Diagramas de Implementación para modelar la distribución del sistema.
• Diagramas de Actividad para modelar el comportamiento de los Casos de Uso,
objetos u operaciones.
• Diagramas de Objetos para modelar la estructura estática de los objetos en el
sistema.
23. CASO DE ESTUDIO
Se desea modelar un sistema de
reserva de tiquetes de avión
24. DIAGRAMA DE CASOS DE USO
El modelado de Casos de Uso es la técnica más efectiva y a la vez la más
simple para modelar los requisitos del sistema desde la perspectiva del
usuario.
Se utilizan para modelar cómo funciona realmente un sistema, o cómo los
usuarios desean que funcione. No es realmente una aproximación a la
orientación a objetos; es realmente una forma de modelar procesos.
27. DIAGRAMAS DE CLASES
Muestra un conjunto de clases, interfaces y
colaboraciones, así como sus relaciones
Los diagramas de clases cubren la vista de diseño
estática de un sistema
30. DIAGRAMAS DE OBJETOS
Muestra un conjunto de objetos, interfaces y colaboraciones, así como sus
relaciones.
Los diagramas de objetos muestran las relaciones entre un conjunto de objetos
determinados. Tiene una representación muy similar al diagrama de clases, pero
los atributos tienen valores establecidos correspondientes al objeto que
representan.
31. DIAGRAMA DE SECUENCIA
Un diagrama de secuencia se modela para cada caso de uso. Mientras que
el diagrama de caso de uso permite el modelado de la funcionalidad del
sistema, el diagrama de secuencia contiene detalles de implementación
del escenario (objetos y clases, mensajes)
33. DIAGRAMA DE COLABORACIONES
El Diagrama de Colaboración presenta una alternativa al diagrama de
secuencia para modelar interacciones entre objetos en el sistema.
Mientras que el diagrama de secuencia se centra en la secuencia
cronológica del escenario, el diagrama de colaboración se centra en
estudiar todos los efectos de un objeto dado durante un escenario.
37. DIAGRAMA DE COMPONENTES
El Diagrama de Componentes se usa para modelar la estructura del
software, incluyendo las dependencias entre los componentes de
software, los componentes de código binario, y los componentes
ejecutables.
39. DIAGRAMA DE IMPLEMENTACIÓN
Los Diagramas de Implementación se usan para modelar la configuración
de los elementos de procesamiento en tiempo de ejecución y de los
componentes, procesos y objetos de software que viven en ellos.
41. DIAGRAMA DE ACTIVIDAD
Los diagramas de actividad se pueden usar para
modelar un caso de uso, o una clase, o un método
complicado.
Son parecidos a un diagrama de flujo; la diferencia
clave es que los diagramas de actividad pueden
mostrar procesamiento paralelo
Es importante cuando se usan para modelar procesos
que pueden actuar en paralelo, y para modelar varios
hilos en los programas multihilo
43. ESTEREOTIPOS
Los estereotipos son un mecanismo de extensibilidad
incorporado de UML.
Un estereotipo representa una distinción de uso. Puede ser
aplicado a cualquier elemento de modelado, incluyendo
clases, paquetes, relaciones de herencia, etc.
Por ejemplo, una clase con estereotipo 'actor' es una clase
usada como un agente externo en el modelado del
sistema.