UML – Lenguaje
Unificado de
Modelado
Docente: Ing. Maria Cecilia Ortiz
1
Surgimiento UML
Los lenguajes de modelado orientados a objetos
aparecieron entre la mitad de los años 70 y finales de
los 80, por el uso de los lenguajes de programación
O.O.
Entre fines de los 80 y mediados de los 90 surgen
muchos nuevos métodos O.O. Autores mas destacados:
Booch, Jacobson (OOSE), Rumbaugh (OMT).
En los 90 Booch (Rational Software Corporation),
Jacobson (Objectory), Rumbaugh (General Electric)
comienzan a unificar sus ideas.
En 1997 se presenta la versión 1.0 de UML a OMG
(Object Management Group), que se fue perfeccionando
hasta la 1.3.
Actualmente versión 2.0 de UML.
2
Qué es un Modelo?
Un modelo es una simplificación
de la realidad
Es una representación a bajo
costo de la realidad.
Construimos modelos para poder comprender
mejor el sistema que estamos desarrollando...
3
El Modelado visual
Había una vez un Proyecto...
…lo que solicitó el cliente
…lo que se presupuestó …lo que entendió el analista …lo que se diseñó
…lo que construyó el desarrollador …cómo quedó finalmente LO QUE REALMENTE
SE NECESITABA
4
UML
Unified Modeling Language
Lenguaje de Modelado Unificado
5
¿Por qué UML?
UML es un lenguaje estándar para escribir “planos” de
software.
UML es un Lenguaje independiente del proceso de desarrollo aunque para
que sea utilizado óptimamente se debe utilizar un proceso que sea dirigido por
casos de uso, centrado en la arquitectura, iterativo e incremental.
Lenguaje Método Proceso
Lenguaje Notación + Reglas
Proceso Pasos a seguir
Método Qué + Cómo + Porqué
6
Qué NO es UML?
Un lenguaje de programación visual.
La especificación de una herramienta o
un repositorio.
UNA METODOLOGÍA, MÉTODO O
PROCESO.
7
Por qué UML es un Lenguaje?
Provee un vocabulario y reglas para
combinar los elementos del
vocabulario con el propósito de
comunicar.
En un lenguaje de modelado esos
vocabularios y reglas se focalizan en
representaciones conceptuales y
físicas de un sistema.
8
UML se utiliza para …
Visualizar: UML es un lenguajes gráfico y es algo más que un
conjunto de símbolos gráficos. Detrás de cada símbolo en la
notación UML hay una semántica bien definida.
Especificar: tiene que ver con la construcción de modelos precisos,
no ambiguos y completos. UML cubre la especificación de todas las
decisiones de análisis, diseño e implementación que deben
realizarse al desarrollar y desplegar un sistema con gran cantidad
de software.
Construir: UML no es un lenguaje de programación visual, pero
sus modelos pueden conectarse de forma directa a una gran
variedad de lenguajes de programación, esto permite realizar
ingeniería directa, es decir, la generación de código a partir de los
modelos.
Documentar: UML permite generar una serie de artefactos además
del código fuente.
9
Modelo Conceptual de UML
Bloques de Construcción de UML
- Elementos
- Relaciones
- Diagramas
Reglas de UML
- Reglas Semánticas
- Para la Construcción de Modelos
Mecanismos Comunes de UML
10
Bloques de Construcción:
Elementos
Estructurales
De Comportamiento
De Agrupación
De Notación
11
Elementos: Estructurales
Cli ente
Clase
Interfaz ICuenta
Corriente
Colaboración Cadena de
Responsabilida
d
Caso de Uso
Registrar Pedido
Clase Activa
Componente
form.java
Nodo
12
Elementos: de Comportamiento
Interacción mostrarDescripción()
Máquina de Pendiente Cancelado
Estados Fabricado
Entregado
13
Elementos de Agrupación y Notación
Paquetes Ventas
texto simple
De Comportamiento
Notas Cont rol ar es te
c om ponente luego de
la s igui ente revis ión de
De Agrupación dis eño
De Anotación
URL embebida
V er
http://www.rational.c om
para información adic ional
s obre UML
Ver algo r1 .doc p ara
obte ner de talles s ob re
es te pro ces o
link a un documento
14
Bloques de Construcción:
Relaciones
Dependencia
Asociación
Agregación
Composición
Contención
Generalización
Realización
15
Bloques de Construcción:
Diagramas Clases
Estructura Compuesta
Objetos
Componentes Diagramas de
Despliegue Estructura
Paquete
Interacción
Comunicación
Secuencia Diagramas
Visión Interacción De
De Tiempo Comportamie
Casos de Uso nto
Estados
Actividades
16
Reglas de UML: Semánticas
Nombres: Cómo llamar a los elementos,
relaciones y diagramas.
Alcance: El contexto que da un
significado específico a un nombre.
Visibilidad: Cómo se pueden ver y utilizar
esos nombres por otros.
Integridad: Cómo se relacionan
apropiada y consistentemente unos
elementos con otros.
Ejecución: Qué significa ejecutar o
simular un modelo dinámico.
17
Reglas de UML: Construcción
de Modelos
Abreviados: Ciertos
elementos se ocultan para
simplificar la vista.
Incompletos: Pueden estar
ausentes algunos elementos,
por lo menos en los tramos
iniciales del desarrollo.
Inconsistentes: En estos
casos no se garantiza la
integridad del modelo.
18
Mecanismos Comunes
Especificaciones
UML es más que un lenguaje gráfico. Detrás de cada
elemento de notación gráfica hay una especificación que
proporciona una explicación textual de la sintaxis y
semántica de ese bloque de construcción
Adornos Persona La letra en cursiva es un
Nombre adorno que se usa para
Domicilio indicar que es una clase
Adornos Teléfono
abstracta.
Situación IVA
CUIT
Divisiones Comunes
Al modelar sistemas orientados a objetos las cosas
pueden dividirse al menos en un par de formas
Reglas de UML
Mecanismos de extensibilidad
Estereotipos, Valores etiquetados, Restricciones
M. Comunes
19
Vistas de un Sistema con UML
Vista de
Vista de diseño implementación
Vista de Definen la
Casos de Uso Arquitectura
del Sistema
Vista de procesos Vista de despliegue
20
Diagramas UML 2.0
Casos de
Actividad Uso Paquetes Clases
Máquina Colaboración
de
Estados
Objetos
Secuencia Modelos
Component
es
Comunicación
Estructura
Descripción Timing Compuesta
De Interacción Despliegue
21
Principales Cambios en la
versión 2.0
22
Diagrama de Estructura Compuesta(nvo)
Las arquitecturas pueden tener colaboraciones específicas entre sus
elementos, con partes y conectores que no se conocen necesariamente
en el momento de su diseño. Un diagrama de clase típico (así como otros
diagramas estáticos) no sería suficiente para representar claramente los
roles, las responsabilidades, las relaciones y las reglas que se aplican a
esos elementos.
Para solucionar estos problemas, UML 2.0 ha añadido el diagrama de
estructura compuesta. Representa la estructura interna de una clase
estructurada (por ejemplo, un componente o una clase), incluidos los
puntos de interacción de la clase estructurada con otras partes del
sistema. Muestra la configuración de las partes que realizan
conjuntamente el comportamiento de la clase estructurada que contiene.
Diagrama de Estructura Compuesta(nvo)
Permite visualizar de manera gráfica las partes que
definen la estructura interna de un clasificador (clase,
componente, caso de uso).
Diagrama General de Interacción (nvo)
Son una combinación de Diagramas de
Secuencia con Diagramas de Actividad
Se los puede considerar como:
un diagrama de actividad en donde las
actividades son reemplazadas por diagramas
o fragmentos de diagramas de secuencia
un diagrama de secuencia dividido utilizando
notaciones de diagramas de actividad usados
para mostrar flujos de control.
Diagrama General de Interacción (nvo)
Diagrama de Tiempos
Componen otra forma de Diagrama de Interacción, en
donde el foco se encuentra en las restricciones de
tiempo en un único objeto o más útilmente en más de
un objeto.
Cambios en el resto de los Diagramas
Diagrama de Clase: introduce una notación
que permite mostrar las interfaces
requeridas y las interfaces implementadas.
Diagrama de Despliegue: Se le agregan
elementos: artefactos (manifestación física
del software) y especificaciones de
despliegue (colección de propiedades que
indican cómo un objeto será desplegado)
Diagrama de Componentes: cambia la
notación de los componentes.
Cambios en el resto de los Diagramas
Diagrama de Actividad: UML 2.0 rompe el vínculo
existente entre estos diagramas y las máquinas de
estados. Es por ello que aparecen nuevas notaciones y
se modifican algunas reglas. Agrega nuevos elementos
(entradas, parámetros, regiones interrumpibles)
Diagrama de Comunicación: es el anteriormente
llamado Diagramas de Colaboración .
Diagrama de Secuencia: permite el manejo de
bloques repetitivos, opcionales, alternativos, etc