Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Language UML
Ph.D. Cristhian Figueroa
Ph.D. Mario Solarte
Diapositivas cortesía: Msc. Alexandra Ruiz Gaona
Ambientes de desarrollo
Contenido
• Introducción
• Conceptos básicos
• Historia y aportes
• Que es UML?
• Ventajas e inconvenientes
• Conceptos
• Vistas arquitecturales
• Diagramas
Contenido
• Introducción
• Conceptos básicos
• Historia y aportes
• Que es UML?
• Ventajas e inconvenientes
• Conceptos
• Vistas arquitecturales
• Diagramas
Modelo
•Un modelo es una abstracción de un
sistema o entidad del mundo real.
Plano arquitectónico
• Hidráulico
• Eléctrico
• Estructural
Modelo
No es ambigua ni confusa
- semántica de elementos
Fácil y rápida de
interpretar
Contenido
• Introducción
• Conceptos básicos
• Historia y aportes
• Que es UML?
• Ventajas e inconvenientes
• Conceptos
• Vistas arquitecturales
• Diagramas
Contenido
• Introducción
• Conceptos básicos
• Historia y aportes
• Que es UML?
• Ventajas e inconvenientes
• Conceptos
• Vistas arquitecturales
• Diagramas
Unified Modeling Language - UML
Fuente:
Wikimedia.org
UML
Artefactos
Visualizar Especificar Construir Documetar
SW
Visualizar
Símbolo en UML -> semántica
Especificar
Facilita el mantenimiento
Ventajas UML
• Es estándar => Facilita la comunicación
• Se basa en una notación gráfica concisa y fácil de
aprender y utilizar
• Se puede utilizar para modelar sistemas software
en diversos dominios:
Sistemas de información empresariales, Sistemas
WEB, sistemas críticos y de tiempo real, etc. Incluso
en sistemas que no son software
• Es fácilmente extensible
Limitaciones de UML
• No es una metodología. Además de UML, hace
falta una metodología OO
• No cubre todas las necesidades de especificación
de un proyecto software
• No define los documentos textuales o el diseño
de interfaces de usuario
• Faltan ejemplos elaborados en la documentación
• Puede resultar complejo alcanzar un
conocimiento completo del lenguaje
• Sin embargo => Regla del 80 - 20
Conceptos
Sistema: Colección de elementos, posiblemente
divididos en subsistemas, organizados para lograr un
propósito. Está descrito por un conjunto de modelos.
Conceptos
• Un modelo captura las propiedades estructurales (estática)
y de comportamiento (dinámicas) de un sistema.
• El modelo describe completamente aquellos aspectos del
sistema que son relevantes al propósito del modelo, y a un
apropiado nivel de detalle.
• El código fuente del sistema es el modelo más detallado del
sistema (y además, es ejecutable).
• Cada modelo es completo desde un punto de vista del
sistema.
Conceptos
• Diagrama: Representación gráfica de un conjunto de
elementos del modelo y sus relaciones. En UML
generalmente corresponde a un grafo conexo de
nodos (elementos) y arcos (relaciones).
Conceptos
• Vista (Arquitectural): Proyección de la organización y
estructura de un modelo de un sistema, centrada en un
aspecto. Incluye un subconjunto de los elementos
incluidos en el modelo
Contenido
• Introducción
• Conceptos básicos
• Historia y aportes
• Que es UML?
• Ventajas e inconvenientes
• Conceptos
• Vistas arquitecturales
• Diagramas
• Conclusiones
Contenido
• Introducción
• Conceptos básicos
• Historia y aportes
• Que es UML?
• Ventajas e inconvenientes
• Conceptos
• Vistas arquitectonicas
• Diagramas
• Conclusiones
Vistas arquitecturales UML
• Durante el desarrollo de un sistema software se requiere que éste sea
visto desde varias perspectivas.
• Los actores miran el sistema de formas diferentes en distintos
momentos.
• La arquitectura del sistema es clave para poder manejar estos puntos
de vista diferentes:
• Se organiza mejor a través de vistas arquitecturales interrelacionadas.
• Proyecciones del modelo del sistema centradas en un aspecto particular.
Vistas arquitecturales UML
(“Vista 4+1” de Philippe Kruchten)
Vistas arquitecturales UML
(“Vista 4+1” de Philippe Kruchten)
Clases Componentes
Objetos
Casos de Uso
Secuencia
Colaboración Despliegue
Estado
Actividad
Contenido
• Introducción
• Conceptos básicos
• Historia y aportes
• Que es UML?
• Ventajas e inconvenientes
• Conceptos
• Vistas arquitecturales
• Diagramas
Contenido
• Introducción
• Conceptos básicos
• Historia y aportes
• Que es UML?
• Ventajas e inconvenientes
• Conceptos
• Vistas arquitecturales
• Diagramas
Diagramas UML
Fuente: visual-paradigm
Diagramas UML
State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue
Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia
Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Diagramas UML
State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue
Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia
Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Casos de uso: Definición
Un Diagrama de Casos de Uso representa lo que
hace el sistema y como se relaciona con su
entorno.
State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue
Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia
Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Diagramas UML
State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue
Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia
Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Clases: definición
Un Diagrama de Clases muestra Clases (Representa
características y comportamientos de un grupo de
objetos que tienen las mismas) y sus relaciones.
State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue
Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia
Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Diagramas UML
State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue
Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia
Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Objetos: definición
Un Diagrama de Objetos muestra una instancia
prototípica de un Diagrama de Clases con el fin
de ilustrar los objetos reales participantes en un
determinado momento.
State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue
Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia
Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Diagramas UML
State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue
Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia
Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Secuencia: definición
Un Diagrama de Secuencia muestra la interacción de un conjunto
de objetos, poniendo énfasis en el orden cronológico del envío de
mensajes entre objetos.
• Mensajes
Son las invocaciones que envía un objeto a
otro para que realice una tarea.
Secuencia: tipos de mensajes
• Mensaje Simple:
Se usa cuando no se conocen detalles del tipo de
comunicación o cuando no resulta relevante en el
diagrama.
• Mensaje Síncrono:
El objeto que envía el mensaje espera a que el
objeto que lo recibe le termine la operación. El
mensaje síncrono más común es la llamada a
procedimientos.
• Mensaje Asíncrono:
Cuando el objeto que envía el mensaje sigue con su
trabajo sin esperar respuesta del objeto receptor
del mensaje.
Secuencia: ejemplo
Un usuario desea imprimir un archivo para ello envía la orden a la computadora, quien a
su vez se la envía al servidor de impresión siendo este el encargado de dirigirlo a la
impresora. En caso de que la impresora este ocupada el archivo a imprimir se dirige hacia
la cola de impresión, la cual en su momento le indicará al servidor de impresión que
tiene el archivo pendiente por imprimir.
Diagramas UML
State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue
Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia
Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Diagramas UML
State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue
Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia
Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Colaboración: definición
Un Diagrama de Colaboración muestra la interacción de un
conjunto de objetos, poniendo énfasis en la estructura
organizacional de los objetos que envían y reciben mensajes.
Un diagrama de colaboración esta compuesto por:
Colaboración: definición
Diagrama de Secuencia reserva una dimensión para el tiempo haciendo más fácil
observar el orden de ejecución de los mensajes, mientras que el Diagrama de
Colaboración los enumera. Ambos diagramas representan lo mismo y puede
transformarse de uno a otro sin perdida de información.
Diagramas UML
State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue
Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia
Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Diagramas UML
State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue
Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia
Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Estados: definición
• Describe el comportamiento de un elemento del modelo,
mostrando la posible secuencia de estados en los que puede
entrar el objeto y como cambia al reaccionar ante un evento
durante su ciclo de vida.
Un Diagrama de Estados esta compuesto por:
Colaboración: elementos
• Estado: Identifica un periodo de tiempo del objeto (no
instantáneo) en el cual el objeto esta esperando alguna
condición, operación u evento, tiene cierto estado
característico o puede recibir cierto tipo de estímulos.
State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue
Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia
Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Diagramas UML
State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue
Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia
Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Actividad: definición
Muestra las operaciones que se realizan para conseguir
un objetivo. Es un caso especial de un diagrama de
estados donde todos los estados ejecutan una tarea.
State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue
Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia
Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Diagramas UML
State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue
Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia
Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Componentes: definición
Un diagrama de componentes muestra las
dependencias lógicas entre componentes software,
tales como archivos de código fuente, binarios,
ejecutables, tablas, etc.
Un Diagrama de Componentes esta compuesto por:
• Componentes
• Interfaces
• Relaciones de realización y dependencia
Componentes: elementos
Componentes: Son cada una de las partes físicas y
reemplazable de un sistema.
Se dice que es parte física en el sentido en que viven en el
mundo de bits y no son sólo esquemas conceptuales.
Se dice que es reemplazable pues puede ser reemplazado
por un nuevo componente que mejore la funcionalidad o
añada alguna sin que afecte a otros componentes.
State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue
Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia
Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Diagramas UML
State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue
Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia
Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Despliegue: definición
Muestra el hardware en donde será desplegado los
componentes del sistema. Esto significa que muestra
las relaciones físicas entre el software y el hardware.