tema 5: el lenguaje unificado de modelado - inicio | … · diagrama de clases, pero desde...
Embed Size (px)
TRANSCRIPT

Tema 5: El Lenguaje Unificado de Modelado
Departamento de Lenguajes y Sistemas Informáticos II
www.kybele.urjc.es

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Contenidos
Introducción
Diagramas de UML
Modelado de la parte estática
Modelado de la parte dinámica
Las “4+1 Vistas”
2

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Introducción
3
wikipedia

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Lenguaje Unificado (UML)
Es un Lenguaje de Modelado Unificado
Booch
Rumbaugh
Jacobson
Estándar de OMG
Es un lenguaje, o una familia de lenguajes
No es una metodología, ni un proceso
4

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Introducción
Simplificación de la realidad
UML:
Construir modelos a partir de bloques básicos (clases, asociaciones, interfaces, componentes…)
Diagramas: medio para mostrar los bloques
Representación gráfica de un conjunto de elementos, que la mayoría de las veces se dibuja como un grafo conexo de nodos y arcos.
Se utilizan para visualizar un sistema desde diferentes perspectivas
Vistas del software5

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Introducción
Vistas del software:Casos de Uso, Lógica, Procesos, Implementación, Despliegue
Cada una: Modelado Estructural
Modelado de Comportamiento
Juntas, capturan las decisiones más importantes sobre el sistema
UML define diferentes tipos de diagramas, que se pueden mezclar para ver cada vista Ej: Aspectos estáticos de la vista de implementación:
diagramas de componentes
6

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Introducción
Sistema
Colección de elementos organizados para lograr un propósito, descrito por un conjunto de modelos, posiblemente desde diferentes puntos de vista
Organizados en subsistemas
Modelo
Abstracción semánticamente cerrada de un sistema
Simplificación completa y autoconsistente de la realidad, creado para comprender mejor el sistema
7

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Introducción
VistaProyección de la organización y estructura de un modelo del sistema, centrada en un aspecto del sistema
DiagramaRepresentación gráfica de un conjunto de elementos, mostrado normalmente como un grafo conexo de nodos y arcos (elementos y relaciones)
En resumen:Un sistema representa la cosa que se está desarrollando, vista desde diferentes perspectivas mediante diferentes modelos, y con esas vistas presentadas en forma de diagramas
8

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Terminología
Paradigmas Conjunto de conceptos y la filosofía que éstos definen
Lenguage vs. Modelo vs. Esquema Formas de describir un sistema en un paradigma
Herramienta vs. Técnica Modos de usar modelos en el contexto de un método
Proceso de Desarrollo Una secuencia de pasos para construir un sistema
Método Conjunción de técnicas en un proceso
Metodología Definición de todos los factores relativos a un método
9

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Metamodelos
“Meta” significa “más allá”, etimológicamentePero se entiende habitualmente como “sobre sí mismo”Metalenguaje = Un lenguaje que define a otro lenguajeMetaprograma = Un programa que programa a otro programa
En general, “metasistema” es un sistema que controla a otro sistema (sistema base)
Cuando el sistema base es él mismo, se dice que es reflexivo
Metamodelo = un modelo que describe a un modeloDado que modelo = lenguaje, un metamodelo es la definición de un lenguaje (de modelado) Es decir, un modelo que describa sus conceptos
Metamodelo de UML = conceptos de UML descritos en UML
11

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Un fragmento del Metamodelo de UML
12

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Diagramas de UML
Modelado de la parte estática (estructurales):Diagramas de clases
Diagramas de objetos
Diagramas de componentes
Diagramas de despliegue
Modelado de la parte dinámica (comportamiento)Diagramas de casos de uso
Diagramas de secuencia
Diagramas de colaboración
Diagramas de estados
Diagramas de actividades
13

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Diagramas de UML
Modelado de la parte estática (estructurales):
Diagramas de clases
Diagramas más comunes en el modelado de sistemas OO
Describir vista lógica y de procesos, estática
Diagramas de objetos
Diagramas de componentes
Diagramas de despliegue
14

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Diagrama de Clases (II)
DVD VHS Videojuego
Alquilable<<abstract>>
Recibo Alquiler
1..*1
Cliente
Pantalla Chequeo
1
0..1
1
Asociación
Simple
Clase
Clase
Abstracta
Agregación
Simple
Generalización
Composición
(Dependencia)
Multiplicidad
15

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Partes de Una Clase
Pueden tener cuatro partes
Nombre
Atributos (Propiedades)
Operaciones (Métodos)
Responsabilidades
Permiten mostrar la visibilidad y los tipos de ellas
Excepto el nombre, todas las partes son opcionales
NombreMiClase
+AtributoPublico : UnTipo
-AtributoPrivado : UnTipo
#AtributoProtegido : UnTipo
+MetodoClaseUno()
+MetodoClaseDos()
Responsabilidades
-- pueden describirse aquí (opcional)
16

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Estereotipos, Valores Etiquetados y Restricciones
Todos ellos se definenpara extender UML
Los estereotipos se marcanusando <<>>
Los valores etiquetados y Restricciones se marcanusando { }
Texto libre, OCL
17
ContratoAlquiler
<<persistent>>
{version=1.1}
ListaCosasAlquiladas
Cliente {ordenadapor título}
Restricción
Valor Etiquetado
Estereotipo

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Estereotipos, Valores Etiquetados y Restricciones
18

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Diagramas de UML
Modelado de la parte estática (estructurales):
Diagramas de clases
Diagramas de objetos
Objetos y sus relaciones
Describen estructuras de datos, instantáneas de las instancias de los elementos encontrados en los diagramas de clases
Cubren vista lógica o de procesos, estática, como el diagrama de clases, pero desde perspectiva de casos reales
Diagramas de componentes
Diagramas de despliegue
19

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Diagrama de Objetos
Un Objeto es una instancia de una clase
Los nombres de objeto están subrayados
Los diagramas de Objetos se parecen mucho a los diagramas de clase
Usan prácticamente la misma notación (y significado)
Los diagramas de objetos capturan instancias de las clases, y permiten mostrar las relaciones dinámicas
20
EsteObjeto : NombreMiClase
+AtributoPublico : UnTipo
-AtributoPrivado : UnTipo
#AtributoProtegido : UnTipo
+MetodoClaseUno()
+MetodoClaseDos()

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Diagrama de Clase y de Objeto
0..1
0..n
Cliente Alquilable
Alquila
+nombre:string
+id:integer
+publicado:date
+id:integer
Pepe: Cliente Casablanca: DVD
+nombre=Pepe Pérez
+id=1667
+publicado=1942
+id=22340
Diagrama de Clases
Diagrama de Objetos
Nombre de Clase
Nombre de Objeto
Atributos
Nombre de Asociación
21

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Diagrama de Clase y de Objeto
22

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Diagramas de UML
Modelado de la parte estática (estructurales):
Diagramas de clases
Diagramas de objetos
Diagramas de componentes
Conjunto de componentes y sus relaciones:• Librerías, código fuente, bases de datos, ejecutables…
• Estereotipos
Describen la vista de implementación, estática
Normalmente un componente se corresponde con una o más clases, interfaces o colaboraciones
Diagramas de despliegue
23

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Diagrama de Componentes
Dependencia
«application»
Video
Workstation
(vstation.exe)
«library»
DB Server
Interface
(dbsvr.dll)
Suministrada
por Microsoft
«library»
Application
Framework
(appfr.dll)
Nota
Componente
Interfaz
24

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Diagramas de UML
Modelado de la parte estática (estructurales):
Diagramas de clases
Diagramas de objetos
Diagramas de componentes
Diagramas de despliegue
Conjunto de nodos y sus relaciones
Describir vista de despliegue, estática
Normalmente cada nodo incluye uno o más componentes
25

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Nodo
Asociación de
Comunicación
Diagrama de Despliegue
Terminal Mostrador
:Cliente Cajero
Terminal Telefónica
:Cliente Cajero
:Servidor de Datos
Server
DB
Server
Applic. «TCP/IP»
«TCP/IP»
26

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Diagramas de UML
Modelado de la parte dinámica (comportamiento)
Diagramas de casos de uso
Representa casos de uso y actores y sus relaciones
Describir vista de casos de uso
Diagramas de secuencia
Diagramas de colaboración
Diagramas de estados
Diagramas de actividades
27

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Casos de Uso
Describen interacciones entre usuarios y sistemas informáticos (ambos denominados actores)
Capturan las funciones visibles por el usuario
Obtienen objetivos discretos y mensurables
Pueden serA pequeña escala (“Poner en negrita texto resaltado”)
A gran escala (“Generar el índice del documento”)
Se usan típicamente durante el análisis, pero también durante el diseño
De hecho, dirigen el proceso unificado
28

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Diagrama de Casos de Uso
Cliente Por Teléfono
ClienteEn Tienda
Cajero
Identificar Película
Abrir Cuenta
Devolver Película
Cliente
RevisarEstado de Cuenta
Actor
Caso de Uso
29

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Tipos de relaciones

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Relaciones de Inclusión y Extensión
Extends
IncludesEncontrar
Por Título
Encontrar
Por Actor
Buscar en
BD de Películas
«includes»
«includes»Customer
Dependencia
«extends»
Estereotipo
Cobrar
películaCobrar
recargoCajero
31
{Si hay retraso}

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Más ejemplos
Hacer
pedido
Seguir
pedido
Validar Usuario«includes»
«includes»
«extends»
Comprobar
clave
Examinar
retina
32
Hacer
pedido
urgente

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Diagramas de UML
Modelado de la parte dinámica (comportamiento)
Diagramas de casos de uso
Diagramas de secuencia
Diagrama de interacción
Resalta ordenación temporal de mensajes entre objetos
Modelar vista dinámica
Diagramas de colaboración
Diagramas de estados
Diagramas de actividades
33

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Diagramas de Secuencia
Correspondencia con diagramas de colaboraciónDiagramas de interacción
Resultan complementarios
Describen interacciones entre objetos ordenadas según la secuencia temporal
Se asocian con los casos de usoCada diagrama de secuencia describe un escenario
Se centran en los objetos y clases implicados en el escenario y la secuencia de mensajes intercambiados
Se usan en la etapa de Análisis y se refinan en la de DiseñoSon especialmente populares en Diseño
Aunque algunos también los usan masivamente en Análisis
34

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Diagrama de Secuencia – Alquilar Película
1: find customer()2: search (string)
4: search (string)
6: add(Cust, item)
3: enter movie()
5: rent (movie)
7: printInvoice() 8: generateRentalTotal()
Objeto
Línea de Vida
ActivaciónMensaje
:GestorPrest. :InventarioClien:Cliente :ItemsAlquiler:Empleado
35

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Diagrama de Secuencia
36

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Diagrama de Secuencia
37

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Diagramas de UML
Modelado de la parte dinámica (comportamiento)
Diagramas de casos de uso
Diagramas de secuencia
Diagramas de colaboración
Diagrama de interacción
Resalta organización estructural de los objetos que envían y reciben mensajes
Objetos y mensajes entre ellos
Vista dinámica del sistema
Diagramas de estados
Diagramas de actividades
38

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Diagramas de Colaboración
Los diagramas de Colaboración describen interacciones de objetos sobre estos objetos y sus enlaces intermedios
Se centran especialmente en el intercambio de mensajes entre objetos a través de sus asociaciones
Aparecen en la fase de Análisis…
… pero se refinan en la fase de Diseño
39

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Diagrama de Colaboración –Alquilar Película
:Gestor del
Préstamos
:Cliente
:Inventario
1: introducir_cliente ()
3: introducir_peliculas()
5: añadir(cliente, películas)
7: imprimir recibo() 2: EsClienteValido(Cliente)
4:PelículaPorCódigoBarras()
:Cajero
Objeto
Mensaje
:Items Alquiler
8: GenerarTotalAlquiler()
40

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Diagramas de UML
Modelado de la parte dinámica (comportamiento)
Diagramas de casos de uso
Diagramas de secuencia
Diagramas de colaboración
Diagramas de estados Máquina de estados
Estados, transiciones, eventos y actividades
Vista dinámica del sistema
Para modelar el comportamiento
Diagramas de actividades
41

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Diagrama de Estados
Estado
Transición
Actividad
Guarda
Acción
Evento
Validar
do/comprobar
cuenta
aparece cliente
Registrar
do/registrar
video
[cuenta válida]
/coger primero
[hay más vídeos]
/coger siguiente
Registro
Completo
[no hay más vídeos]
[cuenta no
válida]
42

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Diagramas de UML
Modelado de la parte dinámica (comportamiento)
Diagramas de casos de uso
Diagramas de secuencia
Diagramas de colaboración
Diagramas de estados
Diagramas de actividades Flujo de actividades de un sistema
Flujo secuencial o ramificado de actividades, objetos que actúan o sobre los que se actúa
Vista dinámica del sistema
43

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Identificar
Llamador
Crear
Cuenta
Obtener
Nombre Abrir Cuenta?
Cliente
Conocido? [no] [no]
[sí]
[sí]
Estado con Acción
Estado Inicial
Decisión
Estado Final
Diagrama de Actividad
44

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Identifica
Película
Hace
Pedido
Procesa
Pedido
Rellena
Pedido
Paga
Entrega
Película
Recoge
Película
Cliente Gestor Cajero
Punto Fork
Punto Join
Recoge
Dinero
Calles y Puntos de Fork/Join
45

El Lenguaje Unificado de Modelado www.kybele.urjc.es
“Diagrama” de Paquetes
Paquete
Interfaz Cliente Cajero
«facade»
Cliente
Sistema
Negocio
(hacia el sistema
de negocio)Datos Cliente
Pantalla AlquilerClase
46

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Uso de Diagramas de UML
47
Fase de Desarrollo
Diagramas UML
Análisis Casos de Uso, Diagramas de Clase, de Actividad, de Colaboración y de Secuencia
Diseño Diagramas de Clase, de Colaboración, de Secuencia, de Estados, de Componentes y de Despliegue
Implementación Diagramas de Secuencia, de Colaboración, de Clase, de Estados, de Componentes y de Despliegue
Explotación Diagramas de Despliegue

El Lenguaje Unificado de Modelado www.kybele.urjc.es
El Modelo de 4+1 Vistas
Philippe Kruchten (1995)
Vista
Lógica
Vista
de Despliegue
Vista de
Implementación
Vista
de Proceso
Vista de
Casos de Uso
48

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Vistas en UML
Inspiradas en el Modelo 4+1 de Kruchten
Vista de Casos de Uso:
Describe la funcionalidad que el sistema debería proporcionar, tal como sería percibida por actores externos. La usan clientes, diseñadores, desarrolladores y probadores. Diagramas de Casos de Uso
Diagramas de Clases
Diagramas de Actividad, Colaboración, Secuencia, Estados
Vista Lógica
Vista de Implementación
Vista de Despliegue
Vista de Procesos49

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Vistas en UML
Inspiradas en el Modelo 4+1 de Kruchten
Vista de Casos de Uso:
Vista Lógica
Cómo el sistema proporciona la funcionalidad. Para diseñadores y desarrolladores. Mira dentro del sistema. Diagramas de Clases y Objetos
Diagramas de Actividad, Colaboración, Secuencia, Estados
Vista de Implementación
Vista de Despliegue
Vista de Procesos
50

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Vistas en UML
Inspiradas en el Modelo 4+1 de Kruchten
Vista de Casos de Uso:
Vista Lógica
Vista de Implementación
Descripción y organización del código, módulos, dependencias. Desarrolladores. Diagramas de Componentes
También de Actividad, Colaboración, Secuencia
Vista de Despliegue
Vista de Procesos
51

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Vistas en UML
Inspiradas en el Modelo 4+1 de Kruchten
Vista de Casos de Uso:
Vista Lógica
Vista de Implementación
Vista de Despliegue
Despliegue físico del sistema en una arquitectura física con ordenadores y otros dispositivos (nodos) Diagramas de Despliegue
También de Actividad, Colaboración, Secuencia
Vista de Procesos
52

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Vistas en UML
Inspiradas en el Modelo 4+1 de Kruchten
Vista de Casos de Uso:
Vista Lógica
Vista de Implementación
Vista de Despliegue
Vista de Procesos
División en procesos y procesadores. Propiedad no funcional del sistema, paralelismo Básicamente dinámicos: Actividad, Colaboración, Secuencia
53

El Lenguaje Unificado de Modelado www.kybele.urjc.es
Bibliografía
Documentos:P. Kruchten “Architectural Blueprints – The 4+1 View of Software Architecture”, IEEE Software (» web)
Libros:G. Booch, J. Rumbaugh, I. Jacobson. El Lenguaje Unificado de Modelado. (1º ed) 1999 (2º ed.) 2005. Addison-Wesley.
I. Sommerville. Ingeniería del Software (6º ed.). 2002, Addison-Wesley.
S. R. Schach. Ingeniería de Software Clásica y Orientada a Objetos (6º ed). 2002. McGraw-Hill
54