iv máster en ingeniería web y tecnologías ria
TRANSCRIPT
![Page 1: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/1.jpg)
IV Máster en Ingeniería Web y Tecnologías RIA
Ingeniería Web. Modelado
Antonio [email protected]
Nathalie [email protected]
Loli Burgueñ[email protected]
![Page 2: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/2.jpg)
2 Módulo 4. Ingeniería Web. Modelado
Análisis de Requisitos
Diseño
Implementación
Pruebas
Despliegue
Mantenimiento
![Page 3: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/3.jpg)
Ideas, relaciones, decisiones Abstracción, grandes rasgos, postergar
detalles Forma unívoca de comunicación Diferentes modelos para diferentes vistas
3 Módulo 4. Ingeniería Web. Modelado
![Page 4: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/4.jpg)
Un modelo de sistema se crea con diferentes niveles de abstracción• Comenzando en los niveles superiores y añadiendo
más niveles con más detalle
La abstracción tiene que ver con• Mostrar sólo la información que sea relevante en
cada momento• Ocultar detalles para no confundir la visión global
4 Módulo 4. Ingeniería Web. Modelado
![Page 5: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/5.jpg)
UML (Unified Modeling Language) es un lenguaje de modelado de software
• Proporciona un vocabulario y reglas para crear modelos software
• Suficientemente expresivo para cubrir distintas vistas de la arquitectura del software a lo largo del ciclo de vida
• Mayor nivel de abstracción que un lenguaje de programación
5 Módulo 4. Ingeniería Web. Modelado
![Page 6: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/6.jpg)
UML es un lenguaje para visualizar los elementos de un gran sistema software, facilitando
• La comunicación entre los participantes (incluidas herramientas) en el desarrollo
• La comprensión de las soluciones (notación gráfica)
• El mantenimiento de las soluciones conceptuales a lo largo del tiempo (documentación)
6 Módulo 4. Ingeniería Web. Modelado
![Page 7: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/7.jpg)
UML es un lenguaje para especificar software
• Se pueden construir modelos precisos, no ambiguos y completos
• Cubre las decisiones de análisis, diseño e implementación
7 Módulo 4. Ingeniería Web. Modelado
![Page 8: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/8.jpg)
UML es un lenguaje para construir software• No es un lenguaje de programación visual, pero sus
modelos se pueden conectar de forma directa a una gran variedad de ellos
• Correspondencias entre UML y lenguajes: Java, C++,...
• Ingeniería directa: generación de código
• Ingeniería inversa: reconstrucción de modelos
UML es un lenguaje para documentar• requisitos, arquitectura, diseño, código fuente,
pruebas
8 Módulo 4. Ingeniería Web. Modelado
![Page 9: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/9.jpg)
Los modelos UML se basan en diagramas Los diagramas UML contienen conceptos y
relaciones entre ellos Diferentes diagramas para diferentes vistas
9 Módulo 4. Ingeniería Web. Modelado
![Page 10: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/10.jpg)
Diagramas estructurales y de comportamiento
10 Módulo 4. Ingeniería Web. Modelado
12 4
5
3
![Page 11: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/11.jpg)
Usar todos (y únicamente) los diagramas y características necesarios
Tener en cuenta los destinatarios Tener en cuenta el objetivo, qué se quiere
modelar
11 Módulo 4. Ingeniería Web. Modelado
![Page 12: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/12.jpg)
Crear componentes Separar lo que hace un componente de cómo
lo hace Proporcionar un mecanismo común de
comunicación Permitir la presencia de componentes en el
entorno y las relaciones entre ellos
12 Módulo 4. Ingeniería Web. Modelado
![Page 13: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/13.jpg)
UML es una notación, no una metodología Hay múltiples metodologías con actividades
comunes como:• Toma de requisitos• Análisis• Diseño• Implementación• Pruebas
Diferentes familias de metodologías• En cascada• En espiral• Iterativos• Ágiles
13 Módulo 4. Ingeniería Web. Modelado
![Page 14: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/14.jpg)
IV Máster en Ingeniería Web y Tecnologías RIA
Ingeniería Web. Modelado
Antonio [email protected]
Nathalie [email protected]
Loli Burgueñ[email protected]
![Page 15: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/15.jpg)
UML : Casos de Uso (Diagrama de Comportamiento)
2 Módulo 4. Ingeniería Web. Modelado
![Page 16: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/16.jpg)
Los casos de uso describen el comportamiento de un sistema desde el punto de vista del usuario según acciones y reacciones
Permiten definir los límites del sistema y las relaciones entre el sistema y el entorno
Son descripciones de la funcionalidad del sistema independientes de la implementación• Describen qué hace el sistema, no cómo lo hace
Particionan el conjunto de necesidades atendiendo a la categoría de usuario que participan en el mismo
Está basado en el lenguaje natural
3 Módulo 4. Ingeniería Web. Modelado
![Page 17: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/17.jpg)
Un diagrama de casos de uso es un grafo constituido por• Actores
• Casos de uso
• Relaciones entre elementos
4 Módulo 4. Ingeniería Web. Modelado
![Page 18: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/18.jpg)
5 Módulo 4. Ingeniería Web. Modelado
![Page 19: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/19.jpg)
La misma persona física puede interpretar varios papeles como actores distintos
6 Módulo 4. Ingeniería Web. Modelado
![Page 20: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/20.jpg)
Un diagrama de casos de uso es un grafo constituido por
• Actores
• Casos de uso
• Relaciones entre elementos
7 Módulo 4. Ingeniería Web. Modelado
![Page 21: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/21.jpg)
Definición Un caso de uso describe una interacción
coherente y con un objetivo de un actor con un sistema
al comienzo del cuál hay un disparador del dominio (trigger),
y al final del cual hay un resultado definido con un valor de dominio
Se representa con una elipse
8 Módulo 4. Ingeniería Web. Modelado
![Page 22: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/22.jpg)
9 Módulo 4. Ingeniería Web. Modelado
![Page 23: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/23.jpg)
10 Módulo 4. Ingeniería Web. Modelado
![Page 24: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/24.jpg)
11 Módulo 4. Ingeniería Web. Modelado
![Page 25: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/25.jpg)
Un diagrama de casos de uso es un grafo constituido por
• Actores
• Casos de uso
• Relaciones entre elementos
12 Módulo 4. Ingeniería Web. Modelado
![Page 26: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/26.jpg)
Relaciones de comunicación entre actores y casos de uso
Relaciones de Generalización/Especialización entre actores
Relaciones entre casos de uso• Generalización/Especialización• Inclusión• Extensión
13 Módulo 4. Ingeniería Web. Modelado
![Page 27: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/27.jpg)
Es una relación de comunicación
Representa comunicación en uno o dos sentidos
Se representa gráficamente mediante una línea continua
14 Módulo 4. Ingeniería Web. Modelado
![Page 28: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/28.jpg)
Relación de generalización: se pueden definir categorías generales de actores y especializarlos
Esta relación se representa gráficamente mediante una flecha con la cabeza hueca dirigida al actor más general
15 Módulo 4. Ingeniería Web. Modelado
![Page 29: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/29.jpg)
Un caso de uso (hijo) hereda el comportamiento y significado de otro caso de uso (padre)
El caso de uso hijo pude añadir comportamiento o bien redefinir el del padre. Puede colocarse donde aparezca el padre• Ejemplo: un caso de uso Validar usuario puede tener como
hijos los casos de uso Comprobar Clave y Comprobar firma
Se representa gráficamente con una flecha hueca dirigida al caso de uso padre
16 Módulo 4. Ingeniería Web. Modelado
![Page 30: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/30.jpg)
Una relación de inclusión (include) denota que un caso de uso está incluido en otro• Se da cuando un caso de uso se utiliza por sí mismo y, además,
otros casos de uso incluyen siempre esa funcionalidad• También aparecen cuando dos o más casos de uso comparten una
funcionalidad• Denota que un caso de uso SIEMPRE está incluido en otro caso de
uso
Gráficamente se representa mediante una flecha etiquetada con el estereotipo <<usa>> (o <<include>>) que parte del caso de uso base
17 Módulo 4. Ingeniería Web. Modelado
![Page 31: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/31.jpg)
Una relación de extensión representa un comportamiento OPCIONAL de un caso de uso• Se puede indicar mediante un “punto de extensión” (condición)
cuando se amplia el caso de uso• El caso de uso base, por tanto, bajo ciertas condiciones incorpora
el comportamiento de otro caso de uso en un punto concreto de su especificación denominado punto de extensión
Se representa gráficamente mediante una flecha etiquetada con el estereotipo <<extiende>> (o <<extend>>) que llega al caso de uso base
Un caso de uso base puede tener varias relaciones de extensión y, en consecuencia, varios puntos de extensión
18 Módulo 4. Ingeniería Web. Modelado
![Page 32: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/32.jpg)
Ejemplo• Consideremos el caso de uso base “Hacer pedido”
con una relación de extensión con otro caso de uso “Hacer pedido urgente”
• La especificación de un escenario normal sería: El cliente solicita hacer un pedido El usuario proporciona los datos del pedido (establecer
prioridad) Procesar el pedido
19 Módulo 4. Ingeniería Web. Modelado
![Page 33: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/33.jpg)
20 Módulo 4. Ingeniería Web. Modelado
![Page 34: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/34.jpg)
21 Módulo 4. Ingeniería Web. Modelado
![Page 35: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/35.jpg)
Tras registrarse en el cajero, un Cliente puede:• Sacar dinero• Transferir dinero a otras cuentas• Depositar dinero en su cuenta
Si el Cliente, además es un Administrador, puede:• Configurar las opciones del cajero
El Banco también participa, y puede:• Depositar dinero en cuentas
22 Módulo 4. Ingeniería Web. Modelado
![Page 36: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/36.jpg)
23 Módulo 4. Ingeniería Web. Modelado
![Page 37: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/37.jpg)
24 Módulo 4. Ingeniería Web. Modelado
![Page 38: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/38.jpg)
Un prestatario, que puede ser un profesor, estudiante o estudiante de posgrado, puede pedir prestado libros y devolverlos.• Cuando se devuelve un libro no hay que hacer nada
más• Cuando se pide prestado un libro, el prestatario
tiene además que identificarse, bien con DNI o con el Carné de Estudiante.
• Además de pedir prestado el libro, el prestatario puede alquilarlo por tres meses Para alquilar un libro por tres meses hay que pagarlo,
bien en efectivo o con tarjeta de crédito.
25 Módulo 4. Ingeniería Web. Modelado
![Page 39: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/39.jpg)
IV Máster en Ingeniería Web y Tecnologías RIA
Ingeniería Web. Modelado
Antonio [email protected]
Nathalie [email protected]
Loli Burgueñ[email protected]
![Page 40: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/40.jpg)
UML : Diagramas de Actividades
2 Módulo 4. Ingeniería Web. Modelado
![Page 41: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/41.jpg)
Un diagrama de actividades muestra el flujo de control general de un sistema, modelando su lógica• Modela una secuencia de acciones y condiciones
tomadas dentro de un proceso
Se puede utilizar uno para cada operación o caso de uso
3 Módulo 4. Ingeniería Web. Modelado
![Page 42: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/42.jpg)
4 Módulo 4. Ingeniería Web. Modelado
![Page 43: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/43.jpg)
Cuando usarlos:• Para modelar negocios o flujos de trabajo
(workflows) inter/intra-sistemas• Para modelar el flujo de eventos de un caso de uso• Para modelar la implementación de operaciones
complejas de una clase Para describir un algoritmo complejo
Cuando NO usarlos:• Para ver cómo se comunican los objetos Usar Diagramas de secuencia o Comunicación
• Para ver cómo se comporta un objeto Usar Diagramas de máquinas de estado
5 Módulo 4. Ingeniería Web. Modelado
![Page 44: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/44.jpg)
Actividades Acciones
• Acciones de eventos de aceptación
Flujos de control Inicio y final de actividad Nodos objeto
• Nodos de parámetro de actividad
Flujos de objetos• Pines de entrada y salida
Precondición y postcondición Nodos de control
• Nodos de decisión/mezcla• Nodos fork/join
Excepciones Nodos final de flujo Calles (swimlanes)
6 Módulo 4. Ingeniería Web. Modelado
![Page 45: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/45.jpg)
Una actividad es un trabajo manual o informatizado que se realiza para producir un resultado• Proporcionar datos, validar datos, autorizar acceso,
enviar informe, … La transición de una actividad a otra se realiza
cuando finaliza la actividad origen Cada diagrama de actividad representa una
actividad
7 Módulo 4. Ingeniería Web. Modelado
Actividad
![Page 46: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/46.jpg)
El nodo inicial muestra el comienzo de la colaboración
Solo puede tener transiciones de salida Habrá un único nodo inicial
8 Módulo 4. Ingeniería Web. Modelado
![Page 47: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/47.jpg)
El nodo final de flujo representa el final de un flujo o secuencia lógica dentro de un diagrama de actividad• Permite que los demás flujos continúen su actividad
El nodo final indica la finalización del diagrama de actividad• Interrumpe todos los flujos
9 Módulo 4. Ingeniería Web. Modelado
![Page 48: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/48.jpg)
Ejemplo:
10 Módulo 4. Ingeniería Web. Modelado
![Page 49: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/49.jpg)
Ejemplo:
11 Módulo 4. Ingeniería Web. Modelado
![Page 50: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/50.jpg)
Las acciones representan un paso dentro de una actividad• Se denotan como un rectángulo redondeado• Puede tener un conjunto de acciones de entrada y
salida que especifican el flujo de control y de datos desde y hacia otros nodos
Los flujos de control se representan por la unión entre actividades• Una actividad empieza cuando la otra termina
12 Módulo 4. Ingeniería Web. Modelado
![Page 51: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/51.jpg)
Una acción puede mostrar la lógica interna mediante pseudocódigo
13 Módulo 4. Ingeniería Web. Modelado
![Page 52: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/52.jpg)
Evento de aceptación: Son acciones que esperan la ocurrencia de un evento• El evento que se espera es el texto de la actividad
Señal de evento: Envían eventos
14 Módulo 4. Ingeniería Web. Modelado
![Page 53: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/53.jpg)
Nodo que indica que una instancia de una clase puede estar disponible en un punto concreto de la actividad
El flujo de objetos se utiliza para unir una acción con un nodo objeto y viceversa
15 Módulo 4. Ingeniería Web. Modelado
![Page 54: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/54.jpg)
Los pines de entrada y salida de una acción son una abreviatura gráfica para los nodos objetos• Hay uno de entrada y uno de salida
Los nodos de acción con pines de entrada/salida también se enlazan con flujos de objetos
16 Módulo 4. Ingeniería Web. Modelado
![Page 55: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/55.jpg)
17 Módulo 4. Ingeniería Web. Modelado
Precondición y postcondición de una actividad
![Page 56: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/56.jpg)
Precondición y postcondición locales de una acción
18 Módulo 4. Ingeniería Web. Modelado
![Page 57: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/57.jpg)
Representan los parámetros de entrada de una actividad y los resultados que produce
19 Módulo 4. Ingeniería Web. Modelado
![Page 58: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/58.jpg)
Permiten definir decisiones, concurrencia o sincronización• Nodos decision/merge• Nodos fork/join
20 Módulo 4. Ingeniería Web. Modelado
![Page 59: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/59.jpg)
Un nodo de decisión utiliza un rombo para mostrar donde divergen dos (o más) transiciones alternativas
Los rombos también se usan para unir de nuevo rutas alternativas
Permiten escoger entre diferentes flujos en base aguardas (condiciones lógicas)• Se sigue uno de los dos caminos
21 Módulo 4. Ingeniería Web. Modelado
![Page 60: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/60.jpg)
Otra forma de expresar lo mismo
22 Módulo 4. Ingeniería Web. Modelado
![Page 61: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/61.jpg)
Unen en un solo flujo varios flujos alternativos
Sólo es necesario que se ejecute una de las dos acciones para que el flujo continúe
23 Módulo 4. Ingeniería Web. Modelado
![Page 62: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/62.jpg)
Crea varios flujos concurrentes a partir de uno solo
24 Módulo 4. Ingeniería Web. Modelado
![Page 63: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/63.jpg)
Sincroniza varios flujos concurrentes y los une en un solo flujo
Cada rama fluye concurrentemente con las demás hasta que llegan al nodo join. La actividad espera a que todas las ramas hayan llegado al nodo join para ejecutar la actividad “Servir Comida”
25 Módulo 4. Ingeniería Web. Modelado
![Page 64: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/64.jpg)
Se pueden especificar condiciones para la sincronización de los diferentes flujos concurrentes
El nodo join no permitirá la ejecución de “Servir Comida” hasta que no hayan llegado todos os comensales
26 Módulo 4. Ingeniería Web. Modelado
![Page 65: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/65.jpg)
Nodos de unión/división modelan actividades que pueden ocurrir simultáneamente o en cualquier orden
27 Módulo 4. Ingeniería Web. Modelado
División (Fork)
Unión (Join)
![Page 66: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/66.jpg)
Representan la ocurrencia de un error durante la ejecución de una actividad
28 Módulo 4. Ingeniería Web. Modelado
![Page 67: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/67.jpg)
Las calles permiten agrupar las actividades según un criterio
Asignan la responsabilidad de un comportamiento a usuarios, sistemas, objetos o capas dentro de una arquitectura
29 Módulo 4. Ingeniería Web. Modelado
![Page 68: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/68.jpg)
Ejemplo:
30 Módulo 4. Ingeniería Web. Modelado
![Page 69: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/69.jpg)
31 Módulo 4. Ingeniería Web. Modelado
![Page 70: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/70.jpg)
En una planta de montaje se generan simultáneamente cabezas y mangos de martillos tras encender la corriente de la fábrica• Cuando se tiene una cabeza y un mango, se
ensamblan ambas partes para generar un martillo• El martillo es luego pulido y termina el flujo
32 Módulo 4. Ingeniería Web. Modelado
![Page 71: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/71.jpg)
En una aplicación online para realizar pedidos la actividad se inicia cuando se recibe una petición de un pedido desde el exterior• Una vez recibida la orden, el sistema confirma la
recepción de dicha orden• Hay dos tipos de pedidos: normal y especial El pedido puede ser de uno de estos dos tipos o de
otro diferente Si el pedido es normal, se confirma, se envía y se finaliza
la actividad. Si no es normal: Si el pedido es especial, se confirma, se envía y se finaliza la
actividad Si el pedido no es especial, se cancela el pedido
33 Módulo 4. Ingeniería Web. Modelado
![Page 72: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/72.jpg)
Vamos a modelar el préstamo y devolución de artículos en una misma actividad
En nuestra biblioteca se pueden solicitar préstamos de artículos• Si se está fuera del periodo de préstamos, éste se
deniega• Si no, se presta el artículo Luego, hay que devolver el artículo Si está dentro del plazo de devolución, no pasa nada, se
coloca el artículo en su sitio Si está fuera de plazo, se sanciona al prestatario Si la suma de sus sanciones es mayor que 500, se suspende al
prestatario y se coloca el artículo en su sitio Si la suma es menor que 500, no se suspende al prestatario y
se coloca el artículo en su sitio
34 Módulo 4. Ingeniería Web. Modelado
![Page 73: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/73.jpg)
IV Máster en Ingeniería Web y Tecnologías RIA
Ingeniería Web. Modelado
Antonio [email protected]
Nathalie [email protected]
Loli Burgueñ[email protected]
![Page 74: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/74.jpg)
UML : Diagramas de Clase (Diagrama de Estructura)
2 Módulo 4. Ingeniería Web. Modelado
![Page 75: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/75.jpg)
Clases Objetos Atributos Operaciones Tipos Enumerados Clases abstractas Relaciones Ejemplos
3 Módulo 4. Ingeniería Web. Modelado
![Page 76: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/76.jpg)
Modelo de tipos de objetos y los atributos y relaciones permitidas
4 Módulo 4. Ingeniería Web. Modelado
![Page 77: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/77.jpg)
Describe la estructura y el comportamiento de objetos que tienen las mismas características y semánticas
La estructura se describe mediante sus atributos
El comportamiento mediante sus operaciones
5 Módulo 4. Ingeniería Web. Modelado
![Page 78: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/78.jpg)
Modelo de objetos: Valores de atributos reales y relaciones entre ellos
6 Módulo 4. Ingeniería Web. Modelado
![Page 79: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/79.jpg)
Un objeto es una instancia de una clase Un objetos puede ser cualquier elemento útil
con identidad, estado y funcionamiento propios
En UML se permiten objetos anónimos
7 Módulo 4. Ingeniería Web. Modelado
![Page 80: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/80.jpg)
Representan la información almacenada en una clase
Tipos simples o relaciones con otros objetos Representados como atributos integrados o
por relación Su nombre empieza con minúscula
8 Módulo 4. Ingeniería Web. Modelado
![Page 81: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/81.jpg)
Un atributo define una propiedad estructural de una clase
La descripción se compone de:• Visibilidad• Nombre• Tipo• Multiplicidad
9 Módulo 4. Ingeniería Web. Modelado
![Page 82: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/82.jpg)
Ejemplo de un atributo por relación
10 Módulo 4. Ingeniería Web. Modelado
Vamos a preferir esta
representación
![Page 83: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/83.jpg)
Atributos derivados• Son aquellos cuyo valor se puede calcular a partir
del de otros atributos.
• Se puede saber si un coche necesita repostar de acuerdo a la cantidad de combustible que tenga
11 Módulo 4. Ingeniería Web. Modelado
Atributo derivado
![Page 84: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/84.jpg)
Multiplicidad en los atributos
12 Módulo 4. Ingeniería Web. Modelado
Hay que especificar 5 valores
Se especifican tantos valores como se
quiera
![Page 85: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/85.jpg)
Ejemplo de atributo como conjunto ordenado
13 Módulo 4. Ingeniería Web. Modelado
Diferentes órdenes significan diferentes
cosas
![Page 86: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/86.jpg)
Especifican las acciones que las instancias de una clase pueden realizar• Su nombre comienza con minúscula• Pueden devolver algo (función), o simplemente
realizar cambios en el objeto (procedimiento)
14 Módulo 4. Ingeniería Web. Modelado
![Page 87: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/87.jpg)
Las operaciones también pueden especificar restricciones• Características que la implementación de la
operación debe cumplir (contrato)• Precondiciones y postcondiciones• Se pueden describir junto a la operación (entre {}) o
mediante una nota• Operaciones de consulta (query operation)
15 Módulo 4. Ingeniería Web. Modelado
![Page 88: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/88.jpg)
Hemos visto que los tipos de los atributos pueden ser: • Tipos simples: boolean, int, String …• Otras clases definidas en nuestro diagrama de
clases
También existen los tipos enumerados• Los atributos de dichos tipos sólo pueden adquirir
los valores determinados en el tipo enumerado
16 Módulo 4. Ingeniería Web. Modelado
![Page 89: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/89.jpg)
17 Módulo 4. Ingeniería Web. Modelado
![Page 90: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/90.jpg)
Las clases abstractas se utilizan como súperclases de otras clases no abstractas
Se representan con letra cursiva Las subclases adquieren todos los atributos y
operaciones de la súperclase• Además, pueden redefinir nuevos: especialización
No puede haber instancias de las clases abstractas
18 Módulo 4. Ingeniería Web. Modelado
![Page 91: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/91.jpg)
19 Módulo 4. Ingeniería Web. Modelado
![Page 92: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/92.jpg)
20 Módulo 4. Ingeniería Web. Modelado
![Page 93: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/93.jpg)
Son los mecanismos básicos de comunicación entre clases
Tipos:• Asociación• Agregación• Composición• Especialización
21 Módulo 4. Ingeniería Web. Modelado
![Page 94: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/94.jpg)
De asociación• Relación de uso persistente• Se puede leer como “un objeto está asociado a otro”
• En nuestro caso: “un coche está asociado a un concesionario”
22 Módulo 4. Ingeniería Web. Modelado
![Page 95: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/95.jpg)
• Asociación: Relación estructural entre dos clases• Permite a los objetos de una clase contactar los
objetos de otra clase para acceder a sus datos y su comportamiento
• Bidireccionales o unidireccionales
• Se caracterizan por: Nombre Roles Multiplicidad (ej.: 0..1, 1, 2..4, 0..*, 1..*)
23 Módulo 4. Ingeniería Web. Modelado
![Page 96: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/96.jpg)
Composición• Relación fuerte• Se representa con un rombo con relleno• Modela la relación entre un todo y las partes• Se puede leer como “… es parte de …”• El tiempo de vida del objeto incluido está condicionado
por el tiempo del vida del que lo incluye• El objeto incluido no tiene sentido sin el que lo incluye
• En el ejemplo, los objetos de tipo RevisiónITV son parte de un objeto de tipo Coche No puede haber RevisiónITV si no hay Coche
24 Módulo 4. Ingeniería Web. Modelado
![Page 97: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/97.jpg)
Agregación• Relación más débil que la anterior• Se representa con un rombo sin relleno• Se puede leer como “… posee un … “• El tiempo de vida del objeto incluido no está
condicionado por el tiempo del vida del que lo incluye• El objeto incluido sí tiene sentido sin el que lo incluye
• En el ejemplo, los objetos de tipo Baca están relacionados con un objeto de tipo Coche por una relación de agregación Si el Coche desaparece, la Baca no desaparece La Baca tiene sentido, como objeto, sin el Coche
25 Módulo 4. Ingeniería Web. Modelado
![Page 98: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/98.jpg)
Tres tipos de relación
26 Módulo 4. Ingeniería Web. Modelado
![Page 99: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/99.jpg)
Clases de asociación• Sirven para modelar relaciones con características
complejas• Suelen codificarse como tres clases Dos de ellas son las clases a relacionar La tercera describe la relación entre las dos anteriores
27 Módulo 4. Ingeniería Web. Modelado
![Page 100: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/100.jpg)
28 Módulo 4. Ingeniería Web. Modelado
Multiplicidad Significado0..1 El valor es opcional
1 Exactamente uno (por defecto)2..4 Al menos 2 y como máximo 40..* Numero arbitrario de valores
* Otra forma del anterior
![Page 101: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/101.jpg)
Navegabilidad en las relaciones• Se refiere a la posibilidad de acceso de un extremo
a otro de la relación. Se indica con flechas
29 Módulo 4. Ingeniería Web. Modelado
Navegabilidad en un solo
sentido
Navegabilidad en ambos sentidos
![Page 102: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/102.jpg)
30 Módulo 4. Ingeniería Web. Modelado
Claseatributos
métodos
Claseatributos
métodos
asociaciónrol rol
![Page 103: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/103.jpg)
31 Módulo 4. Ingeniería Web. Modelado
Puntox: double = 0y: double = 0
trasladar(a:double, b:double)distancia(p:Punto):double
Segmento
trasladar(a:double, b:double)longitud():double
extremos2
Tenemos un objeto de tipo Segmento cuyo identificador es seg
Al escribir seg.extremos, obtenemos una colección con dos objetosde tipo Punto
Si no se pone nombre en el rol, entonces éste es el nombre de laclase (comenzando por minúscula): seg.punto
![Page 104: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/104.jpg)
32 Módulo 4. Ingeniería Web. Modelado
Empresanombre: stringCIF: string
Personanombre: stringNIF: string
*plantilla0..1
empleadopatrón
Si tenemos un objeto de tipo Empresa con identificador emp, al escribir emp.empleado obtenemos una colección, que puede ser vacía, de Personas.
Si tenemos un objeto de tipo Persona con identificador p, al escribir p.patrón obtendremos, o no, un objeto de tipo Empresa
![Page 105: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/105.jpg)
Una interfaz es una colección de operaciones que se usa para especificar un servicio de una clase o componente
Se puede ver como equivalente a una clase abstracta
Las operaciones no se definen en la interfaz, sino en cada una de las clases que implementan la interfaz
33 Módulo 4. Ingeniería Web. Modelado
![Page 106: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/106.jpg)
34 Módulo 4. Ingeniería Web. Modelado
![Page 107: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/107.jpg)
35 Módulo 4. Ingeniería Web. Modelado
![Page 108: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/108.jpg)
Una cadena de montaje se va a componer de elementos (máquinas y bandejas) que tienen una posición concreta dentro de la misma (coordenadas x,y)• Las máquinas tendrán un tiempo de procesado
determinado y, a su vez, son de tres tipos: Generadores de piezas. Tienen un contador y, a su vez,
son de dos tipos Generadores de mangos Generadores de cabezas
Ensambladores de martillos Pulidoras de martillos
36 Módulo 4. Ingeniería Web. Modelado
![Page 109: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/109.jpg)
• Las bandejas tienen una capacidad determinada y pueden contener piezas con un orden determinado Las piezas son de tres tipos: Cabezales de martillo Mangos de martillo Martillos, los cuales pueden estar pulidos o no.
Relaciones entre máquinas y bandejas:• Las máquinas pueden tener o no bandejas como
entrada y siempre van a tener una bandeja como salida
• Las bandejas pueden desembocar o no en máquinas y siempre tendrán una o más máquinas como entrada
37 Módulo 4. Ingeniería Web. Modelado
![Page 110: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/110.jpg)
Tenemos una red compuesta por componentes y paquetes. Los primeros constan de un identificador y pueden procesar un paquete a la vez, y de los segundos se tiene información de si están siendo procesados y tienen también un sello de tiempo• Los componentes pueden tener otros componentes por
vecinos y, a su vez, se componen de paquetes• Hay tres tipos de componentes: Usuarios, que llevan la cuenta del nº de paquetes enviados Servidores, que llevan la cuenta del nº de paquetes recibidos Nodos (inf en siguiente transparencia)
38 Módulo 4. Ingeniería Web. Modelado
![Page 111: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/111.jpg)
Los nodos llevan la cuenta del número de paquetes procesados Hay un tipo especial de nodos que son los nodos de apoyo
cuya misión es activarse cuando la red está sobrecargada. Estos nodos sólo están activos a veces, por lo que tienen información de si están activos o no y también llevan la cuenta de los paquetes que han procesado. Además, tienen información de los nodos que apoyan.
39 Módulo 4. Ingeniería Web. Modelado
![Page 112: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/112.jpg)
La biblioteca se compone de un bibliotecario (un bibliotecario sólo trabaja en una biblioteca) y de prestatarios (pueden ser prestatarios de varias bibliotecas) que pueden pedir prestados artículos. Los prestatarios pueden ser profesores, estudiantes o estudiantes de postgrado. Los artículos, que sólo están en una biblioteca, pueden ser libros o revistas.
La biblioteca tiene periodos de préstamos y tiene usuarios suspendidos por no haber respetado los plazos de entrega
40 Módulo 4. Ingeniería Web. Modelado
![Page 113: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/113.jpg)
Datos sobre los atributos• La biblioteca tiene información sobre su dirección,
periodos de préstamos, número máximo de préstamos y los usuarios suspendidos.
• De los prestatarios se indica su nombre, dirección, número de artículos prestados, sanciones y su estado (que puede ser suspendido o liberado) De un profesor se indica la facultad y departamento De un estudiante de postgrado se indica su departamento y
tutor De un estudiante se indica su tutor y facultad
• De los artículos se tiene información de su ubicación, estado (prestado o disponible) y título Los libros indican además su autor, ISBN y año de publicación Las revistas contienen información sobre su fecha de
publicación, ISSN y número.
41 Módulo 4. Ingeniería Web. Modelado
![Page 114: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/114.jpg)
Datos sobre las operaciones• El bibliotecario puede prestar un artículo a un
prestatario, devolverlo y cobrar sanciones de cierta cantidad a un prestatario
• Los prestatarios pueden solicitar el préstamo de un artículo y devolver el artículo
Datos sobre las relaciones• En un préstamo entre un prestatario y un artículo,
se tiene información sobre la fecha en que se realiza el préstamo y la que se debe devolver.
• Permitir navegabilidad en todas direcciones
42 Módulo 4. Ingeniería Web. Modelado
![Page 115: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/115.jpg)
IV Máster en Ingeniería Web y Tecnologías RIA
Ingeniería Web. Modelado
Antonio [email protected]
Nathalie [email protected]
Loli Burgueñ[email protected]
![Page 116: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/116.jpg)
UML : Diagramas de Estructuras Compuestas
(Diagrama de Estructura)
2 Módulo 4. Ingeniería Web. Modelado
![Page 117: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/117.jpg)
Como se vio en los diagramas de clase, unos objetos pueden estar compuestos por otros• UML nos permite modelar esta información por
medio de relaciones de composición entre objetos contenedores y sus partes
• Se muestra con un diamante en el contenedor, en una relación entre el contenedor y la parte
3 Módulo 4. Ingeniería Web. Modelado
![Page 118: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/118.jpg)
Modelar composiciones en UML se vuelve complejo en ciertas situaciones
Ejemplo• Tenemos coches y barcos ambos compuestos por
un motor El motor del coche mueve las ruedas delanteras del
vehículo El motor del barco mueve el propulsor del barco
4 Módulo 4. Ingeniería Web. Modelado
![Page 119: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/119.jpg)
Habría que realizar un modelo complejo para aclarar (a quien pudiera leer el diagrama), que hay una diferencia entre el motor del coche y el del barco.
5 Módulo 4. Ingeniería Web. Modelado
![Page 120: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/120.jpg)
El diagrama de clases mostrado tiene deficiencias:• Con la relación de multiplicidad entre Coche y Motor
y Barco y Motor se modela que el Motor sólo puede estar en uno de los dos, aunque no se consigue del todo. Además: Parece que una instancia del motor de un coche puede
mover tanto un propulsor como las ruedas y lo mismo con el del barco
Tampoco aclara que las dos ruedas que mueve en el caso del coche son las traseras y no las delanteras
6 Módulo 4. Ingeniería Web. Modelado
![Page 121: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/121.jpg)
Para modelarlo correctamente en un diagrama de clases tendríamos que elaborar toda una jerarquía de herencia entre clases para distinguir entre los motores de barcos y coches, y entre las ruedas delanteras y traseras de un coche, o marcando dependencias entre las relaciones.
7 Módulo 4. Ingeniería Web. Modelado
![Page 122: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/122.jpg)
Permiten contextualizar las partes que componen una clase
Se puede definir un diagrama donde se aclara que el coche tiene un motor que mueve las dos ruedas traseras
Se tendrá otro diagrama donde se especifica que el barco tiene un motor que exclusivamente mueve su propulsor
8 Módulo 4. Ingeniería Web. Modelado
![Page 123: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/123.jpg)
El contexto lo define la clase contenedora• En este caso son el coche o el barco
Dentro de la clase contenedora aparecen los objetos que la componen
9 Módulo 4. Ingeniería Web. Modelado
![Page 124: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/124.jpg)
Estructura. Conjunto de elementos conectadosque proporcionan una funcionalidad colectiva.
Sirven para representar el funcionamientointerno de elementos complejos, comosubsistemas o componentes
10 Módulo 4. Ingeniería Web. Modelado
![Page 125: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/125.jpg)
Clase: elemento del cual se ilustra su composición interna. También se les llama clasificadores estructurados
Parte: objetos que conforman al elemento principal, se muestra con un rectángulo
Conector: relación entre los elementos internos de la clase
Puertos: indican la entrada o salida de una parte hacia otra parte y también con el mundo exterior
11 Módulo 4. Ingeniería Web. Modelado
![Page 126: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/126.jpg)
Puerto: Mecanismo de comunicación de una estructura compuesta con el exterior
Ofrece una de las funcionalidades de la estructura compuesta
Oculta el mecanismo interno (abstrae) que lleva a cabo dicha funcionalidad
Puede ser usado por otros elementos que respondan a la especificación del puerto
12 Módulo 4. Ingeniería Web. Modelado
![Page 127: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/127.jpg)
Los puertos se asocian a interfaces (requeridos u ofrecidos)• La clase implementa las operaciones de las
interfaces ofrecidas (representadas con círculo)• La clase necesita las operaciones de las interfaces
requeridas (representadas con semicírculo)
13 Módulo 4. Ingeniería Web. Modelado
![Page 128: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/128.jpg)
Los puertos se relacionan con las partes internas que realizan/usan su funcionalidad• La realizan en el caso de las interfaces
proporcionadas• La usan en el caso de las interfaces requeridas
14 Módulo 4. Ingeniería Web. Modelado
![Page 129: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/129.jpg)
Los puertos pueden tener multiplicidad La estructura compuesta es capaz de
distinguir entre los diferentes puertos
15 Módulo 4. Ingeniería Web. Modelado
![Page 130: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/130.jpg)
16 Módulo 4. Ingeniería Web. Modelado
![Page 131: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/131.jpg)
17 Módulo 4. Ingeniería Web. Modelado
![Page 132: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/132.jpg)
IV Máster en Ingeniería Web y Tecnologías RIA
Ingeniería Web. Modelado
Antonio [email protected]
Nathalie [email protected]
Loli Burgueñ[email protected]
![Page 133: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/133.jpg)
UML : Diagramas de Secuencia
(Diagrama de Comportamiento)
2 Módulo 4. Ingeniería Web. Modelado
![Page 134: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/134.jpg)
Son diagramas de instancias en los que se muestra la interacción entre distintos objetos del sistema
Diferentes tipos de diagramas de interacción:• Diagramas de secuencia• Diagramas de colaboración• Diagramas temporales• Diagramas de vista general de interacción
3 Módulo 4. Ingeniería Web. Modelado
![Page 135: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/135.jpg)
Muestran la interacción de un conjunto de objetos enfatizando el orden en el tiempo de los mensajes
En la fase de requisitos, los analistas suelen refinar los casos de usos en uno o mas diagramas de secuencia• Contiene detalles de implementación del escenario Objetos y clases usados para la implementación Mensajes intercambiados entre los objetos
No están pensados para mostrar lógicas de procedimientos complejos
4 Módulo 4. Ingeniería Web. Modelado
![Page 136: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/136.jpg)
5 Módulo 4. Ingeniería Web. Modelado
![Page 137: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/137.jpg)
Los participantes son instancias de clases, es decir, objetos• Pueden tener nombre o ser anónimos• El siguiente diagrama tiene dos participantes, uno
llamado GuyWhoNeedsToSaveSomething y el otro sin nombre
6 Módulo 4. Ingeniería Web. Modelado
![Page 138: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/138.jpg)
Los participantes (instancias) se pueden crear y destruir de forma dinámica durante la ejecución
7 Módulo 4. Ingeniería Web. Modelado
![Page 139: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/139.jpg)
8 Módulo 4. Ingeniería Web. Modelado
![Page 140: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/140.jpg)
El objeto que envía el mensaje queda bloqueado hasta que recibe la respuesta • Los mensajes se representan con flechas con la cabeza llena• Los mensajes de respuesta se dibujan con línea discontinua
9 Módulo 4. Ingeniería Web. Modelado
![Page 141: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/141.jpg)
Los mensajes asíncronos terminan inmediatamente• Crean un nuevo hilo de ejecución dentro de la secuencia• Se representan con flechas con la cabeza abierta
10 Módulo 4. Ingeniería Web. Modelado
![Page 142: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/142.jpg)
Son aquellos cuyo origen no importa
11 Módulo 4. Ingeniería Web. Modelado
![Page 143: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/143.jpg)
Son aquellos que no llegan a ningún participante
12 Módulo 4. Ingeniería Web. Modelado
![Page 144: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/144.jpg)
Permiten definir una interacción compleja mediante componentes más simples• Alternativa• Bucles• Opción• Break• Paralelo• Región crítica• …
13 Módulo 4. Ingeniería Web. Modelado
![Page 145: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/145.jpg)
14 Módulo 4. Ingeniería Web. Modelado
… o realiza esto
Realiza esto …
![Page 146: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/146.jpg)
15 Módulo 4. Ingeniería Web. Modelado
![Page 147: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/147.jpg)
Ciertas acciones se ejecutan sólo si se cumple la condición
16 Módulo 4. Ingeniería Web. Modelado
![Page 148: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/148.jpg)
Como la opción, pero lo que sigue no se ejecuta si entra en el break
17 Módulo 4. Ingeniería Web. Modelado
![Page 149: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/149.jpg)
18 Módulo 4. Ingeniería Web. Modelado
Especifica que varias acciones serealizan a la vez, cada una en un hilo de ejecución
![Page 150: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/150.jpg)
El fragmento crítico sólo puede tener un hilo de ejecución y debe ejecutarse de una vez
19 Módulo 4. Ingeniería Web. Modelado
![Page 151: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/151.jpg)
Una referencia a otro diagrama de secuencia
Puede tener parámetros
20 Módulo 4. Ingeniería Web. Modelado
![Page 152: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/152.jpg)
21 Módulo 4. Ingeniería Web. Modelado
![Page 153: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/153.jpg)
22 Módulo 4. Ingeniería Web. Modelado
![Page 154: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/154.jpg)
El siguiente proceso se repite mientras que el número de martillos recolectados por el Usuario sea menor que un máximo:• El Generador de mangos y el Generador de cabezas
depositan un mango y una cabeza, respectivamente, en el Ensamblador. Ambas máquinas trabajan en paralelo.
• A continuación, el Ensamblador deposita un martillo en la Bandeja, y hace saber a ambos Generadores que tiene espacio disponible
• La Bandeja le hace saber al Usuario que hay un martillo disponible, y el Usuario lo recoge. La Bandeja le hace saber al Ensamblador que tiene espacio disponible
23 Módulo 4. Ingeniería Web. Modelado
![Page 155: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/155.jpg)
Préstamo de artículo• El Prestatario solicita un préstamo al Bibliotecario El Bibliotecario consulta con la Biblioteca si el usuario
está identificado Si no lo está, el Bibliotecario le dice al Prestatario que no
está identificado y se acaba el proceso Si está identificado, el Bibliotecario consulta a la Biblioteca
si se está dentro de plazo para préstamos Si se está dentro de plazo, el Bibliotecario presta el libro al
Prestatario Si se está fuera de plazo, no le presta el libro
24 Módulo 4. Ingeniería Web. Modelado
![Page 156: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/156.jpg)
Devolución de artículo• El Prestatario solicita al Bibliotecario la devolución
de un artículo El Bibliotecario comprueba la fecha límite de
devolución del artículo con la Biblioteca Si la fecha es posterior al día de hoy, el Bibliotecario acepta
la devolución del artículo Si no, le Bibliotecario le pregunta a la Biblioteca la cuantía
de la sanción al Prestatario Si la sanción es mayor que 500, el Bibliotecario suspende y
sanciona al Prestatario Si es menor, sólo le sanciona
25 Módulo 4. Ingeniería Web. Modelado
![Page 157: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/157.jpg)
IV Máster en Ingeniería Web y Tecnologías RIA
Ingeniería Web. Modelado
Antonio [email protected]
Nathalie [email protected]
Loli Burgueñ[email protected]
![Page 158: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/158.jpg)
Perfiles UML
2 Módulo 4. Ingeniería Web. Modelado
![Page 159: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/159.jpg)
Introducción Mecanismos de extensión de UML Perfiles UML
3 Módulo 4. Ingeniería Web. Modelado
![Page 160: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/160.jpg)
Queremos realizar un modelado de datos con UML
Modelado de datos: es el proceso de crear un modelo de datos para un sistema de información aplicando técnicas formales de modelado de datos• Desarrollo de software para gestión de un gimnasio• Nos centramos en el modelado de las estructuras de
datos involucradas en la aplicación• Posibles modelos: Modelo conceptual, Modelo lógico, Modelo físico
4 Módulo 4. Ingeniería Web. Modelado
![Page 161: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/161.jpg)
En nuestro ejemplo nos vamos a fijar en dos modelos• Modelo del dominio (esquema conceptual) Describe la semántica del dominio, es decir, el ámbito
del modelo Define lo que se puede hacer en el dominio en un
“lenguaje artificial” Es el primer paso al organizar los requisitos de datos Similar a un diagrama de clases
• Modelo físico Describe los medios físicos usados para almacenar los
datos
5 Módulo 4. Ingeniería Web. Modelado
![Page 162: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/162.jpg)
Imagen tomada de http://www.agiledata.org/essays/agileDataModeling.html
6 Módulo 4. Ingeniería Web. Modelado
![Page 163: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/163.jpg)
7 Módulo 4. Ingeniería Web. Modelado
Imagen tomada de http://www.agiledata.org/essays/agileDataModeling.html
![Page 164: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/164.jpg)
Necesitamos distinguir varios aspectos:• Un diagrama representa el modelo del dominio y
otro el modelo físico. El modelo del dominio se puede especificar
prácticamente con un diagrama de clases En el modelo físico, algunos atributos representan
claves primarias y otros representan claves externas UML estándar no dispone de elementos para distinguir
dichos aspectos Necesitamos elementos extras en UML
8 Módulo 4. Ingeniería Web. Modelado
![Page 165: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/165.jpg)
Introducción Mecanismos de extensión de UML Perfiles UML
9 Módulo 4. Ingeniería Web. Modelado
![Page 166: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/166.jpg)
“El hecho de que UML sea un lenguaje de propósito general proporciona una gran flexibilidad y expresividad a la hora de modelar sistemas.
Sin embargo, hay numerosas ocasiones en las que es mejor contar con algún lenguaje más específico para modelar y representar los conceptos de ciertos dominios particulares.
Esto sucede, por ejemplo, cuando la sintaxis o la semántica de UML no permiten expresar los conceptos específicos del dominio,
o cuando se desea restringir y especializar los constructores propios de UML, que suelen ser demasiado genéricos y numerosos.”
Una Introducción a los Perfiles UML. Lidia Fuentes y Antonio Vallecillo
10 Módulo 4. Ingeniería Web. Modelado
![Page 167: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/167.jpg)
Creación de un nuevo lenguaje a partir de MOF• MOF es un lenguaje simple para definir lenguajes como
UML• Ejemplo: CWM CWM es una especificación para describir objetos y relaciones
en el contexto de los almacenes de datos Incoveniente: no es compatible con UML
Ampliación de UML creando nuevas clases en el metamodelo usando MOF• Inconveniente: UML cada vez es más grande con
elementos pocos usados Creación de perfiles: adaptación de elementos de
UML con nuevas propiedades
11 Módulo 4. Ingeniería Web. Modelado
![Page 168: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/168.jpg)
12 Módulo 4. Ingeniería Web. Modelado
![Page 169: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/169.jpg)
13 Módulo 4. Ingeniería Web. Modelado
![Page 170: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/170.jpg)
14 Módulo 4. Ingeniería Web. Modelado
![Page 171: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/171.jpg)
15 Módulo 4. Ingeniería Web. Modelado
![Page 172: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/172.jpg)
Introducción Mecanismos de extensión de UML Perfiles UML
16 Módulo 4. Ingeniería Web. Modelado
![Page 173: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/173.jpg)
Razones por las que un diseñador puede querer extender y adaptar un metamodeloexistente:
Disponer de una terminología y vocabulario propio de un dominio de aplicación o de una plataforma de implementación concreta (por ejemplo, poder manejar dentro del modelo del sistema terminología propia de EJB como “Home Interface”, “archive”, etc) Los EJB, Enterprise JavaBeans, son una de las API que forman parte del estándar de construcción de aplicaciones
empresariales J2EE de Oracle Corporation
Definir una sintaxis para construcciones que no cuentan con una notación propia (como sucede con las acciones)
Definir una nueva notación para símbolos ya existentes, más acorde con el dominio de la aplicación objetivo (poder usar, por ejemplo, una figura con un ordenador en lugar del símbolo para representar un nodo que por defecto ofrece UML para representar ordenadores en una red)
Añadir cierta semántica que no aparece de forma precisa en el metamodelo (por ejemplo, la incorporación de prioridades en la recepción de señales en una máquina de estados de UML)
Añadir cierta semántica que no existe en el metamodelo (por ejemplo, relojes, tiempo continuo, etc)
Añadir restricciones a las existentes en el metamodelo, restringiendo su forma de utilización (por ejemplo, impidiendo que ciertas acciones se ejecuten en paralelo dentro de una transición, o forzando la existencia de ciertas asociaciones entre las clases del modelo
Una Introducción a los Perfiles UML. Lidia Fuentes y Antonio Vallecillo
17 Módulo 4. Ingeniería Web. Modelado
![Page 174: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/174.jpg)
UML Profile for Enterprise Distributed Object Computing (EDOC)
UML Profile for Modeling QoS and Fault Tolerance Characteristics and Mechanisms, UML Profile for
Schedulability, Performance and Time Service oriented architecture Modeling Language
(SoaML) UML Profile for Systems Engineering (SysML) UML Testing Profile UML Profile for Modeling and Analysis of Real-time
and Embedded Systems (MARTE)
http://www.omg.org/technology/documents/profile_catalog.htm
18 Módulo 4. Ingeniería Web. Modelado
![Page 175: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/175.jpg)
Ejemplo de un extracto de MARTE
19 Módulo 4. Ingeniería Web. Modelado
![Page 176: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/176.jpg)
Un perfil UML se compone de tres mecanismos de extensión• Estereotipos• Definiciones de etiqueta• Restricciones
20 Módulo 4. Ingeniería Web. Modelado
![Page 177: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/177.jpg)
La forma de generar un elemento nuevo con nuevas propiedades es aplicar un estereotipoa un elemento de UML ya existente• Un estereotipo tiene nombre• Sólo se puede aplicar a un conjunto definido de
elementos de UML, que se indican en la definición del estereotipo
• La forma de representarlo es marcar la nueva clase con el símbolo <<stereotype>>
21 Módulo 4. Ingeniería Web. Modelado
![Page 178: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/178.jpg)
En el nivel de metamodelado (M2), el estereotipo se asocia a los elementos del metamodelo que puede extender• Es un tipo especial de relación llamada extensión
La clase estereotipada se etiqueta con el estereotipo estándar <<metaclass>> y el nuevo elemento, el estereotipo, se etiqueta con el estereotipo estándar <<stereotype>>
22 Módulo 4. Ingeniería Web. Modelado
![Page 179: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/179.jpg)
Pequeño ejemplo de perfil UML, que va a definir dos nuevos elementos que pueden ser añadidos a cualquier modelo UML: colores y pesos.
23 Módulo 4. Ingeniería Web. Modelado
![Page 180: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/180.jpg)
24 Módulo 4. Ingeniería Web. Modelado
![Page 181: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/181.jpg)
El perfil define dos estereotipos, Coloured y Weighed, que proporcionan color y peso a un elemento UML• En el ejemplo, sólo las clases y asociaciones de UML
pueden colorearse, y solo las asociaciones pueden tener un peso
25 Módulo 4. Ingeniería Web. Modelado
![Page 182: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/182.jpg)
Define un atributo adicional que se asocia a una metaclase del metamodelo extendido por un perfil
Ha de contar con un nombre y un tipo, y se define dentro de un determinado estereotipo
26 Módulo 4. Ingeniería Web. Modelado
![Page 183: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/183.jpg)
A los estereotipos es posible asociarles restricciones, que imponen condiciones sobre los elementos del metamodelo que han sido estereotipados• Por ejemplo, si dos o más clases están unidas por
una asociación coloreada, el color de las clases debe coincidir con el de la asociación
• Puede expresarse en lenguaje natural o en OCL (Objcect Constrain Languaje), un lenguaje funcional asociado a UML
context Coloured inv sameColour:self.base_Association.memberEnd->
forAll(c | c.extension_Coloured->notEmpty()) impliesc.extension_Coloured.colour=self.colour
27 Módulo 4. Ingeniería Web. Modelado
![Page 184: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/184.jpg)
28 Módulo 4. Ingeniería Web. Modelado
![Page 185: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/185.jpg)
Ejemplo de uso del perfil UML con colores y pesos
Las definiciones de etiqueta aparecen de diferentes formas
29 Módulo 4. Ingeniería Web. Modelado
![Page 186: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/186.jpg)
IV Máster en Ingeniería Web y Tecnologías RIA
Ingeniería Web. Modelado
Antonio [email protected]
Nathalie [email protected]
Loli Burgueñ[email protected]
![Page 187: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/187.jpg)
BLOQUE I: Introducción• Necesidad de una Ingeniería Web• Estrategias de desarrollo de aplicaciones Web• Introducción a los Lenguajes de Modelado
BLOQUE II: Lenguajes de modelado• Lenguajes de modelado de propósito general UML y Perfiles UML
• Lenguajes de modelado de propósito específico (DSL) Definición de un DSL DSLs basados en UML: UWE DSLs basados en notaciones propias: WebML
Módulo 4. Ingeniería Web. Modelado
![Page 188: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/188.jpg)
Buenas, mi nombre es Karmele. Mire, estoy montando un negocio
y quiero saber si ustedes hacen
¡¡páginas web!!
Efectivamente, sí señorita. Mi nombre es
Juan, soy diseñador gráfico y experto en
desarrollo web. Y este es mi compañero Alex.
Trabajamos juntos.
¡¡Encantado de conocerla!!
Yo soy programador web, un “pica-pica”, el
mejor “pica-pica”. Java, php. C++, .NET,..tengo para todos los males,
como en botica
Módulo 4. Ingeniería Web. Modelado
![Page 189: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/189.jpg)
¿Un pica qué? Qué tipo más curiosillo… Hum….
Da igual, mire usted, yo lo que quiero es algo sencillito y muy bonito y además .... que
me lo hagan ¡¡¡rápido!!! Le cuento…………
Ahhhh!!!Usted lo que necesita es un microsite, que sea escalable,
contratar un dominio con hosting, ….., bla,bla ,..
Bien posicionado en SEO, ..….Con una homepage que redirija
a …. Bla, bla, bla….Y una estructura genérica
tipo…
Módulo 4. Ingeniería Web. Modelado
![Page 190: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/190.jpg)
Sí podríamos utilizar Flex y
estructuras concurrentes para el tema de… Tampoco
estaría mal añadirle algunos widgets,..bla, bla..
Sí, sí y las imágenes
vectorizadas y parametrizadaspara que…….
Dice que me va a poner en el SELVO con un ¿pidget? Qué allí pague por ¿tosting? Y que me haga con un dominio. ¿Qué me
haga con un dominio en el SELVO? Y el Flex no recuerdo
para qué necesitaba yo un colchón….
¡¡no entiendo nada!!
Módulo 4. Ingeniería Web. Modelado
![Page 191: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/191.jpg)
Bueno Karmele, ¿qué le parece la
idea?
¿¿¿Qué me parece??? Pues…..que quiero algo sencillito y muy bonito y que ustedes me hablen en
¡¡CRISTIANO!!
Módulo 4. Ingeniería Web. Modelado
![Page 192: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/192.jpg)
EN CRISTIANO…SON 600 EUROS
600 eurossssssss!!
Módulo 4. Ingeniería Web. Modelado
![Page 193: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/193.jpg)
Buscar lenguaje que mejor se adapte al dominio WEB
Definir un (DSL)Utilizar un Lenguaje de Propósito General
(UML)
Adaptar un Lenguaje de Propósito General
(PROFILE UML)
Modelar el Sistema
[NO EXISTE][EXISTE]
Módulo 4. Ingeniería Web. Modelado
![Page 194: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/194.jpg)
Buscar lenguaje que mejor se adapte al dominio WEB
Definir un (DSL)Utilizar un Lenguaje de Propósito General
(UML)
Adaptar un Lenguaje de Propósito General
(PROFILE UML)
Modelar el Sistema
[NO EXISTE][EXISTE]
WebML UWE
Módulo 4. Ingeniería Web. Modelado
![Page 195: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/195.jpg)
Instalar el plugin de MagicUWE• Con permisos de administración, ejecutar consola• Java –jar MagicUWEv1.3.2.Installer.jar
Instalar el profile de UWE • Descomprimir el fichero UWE_Profile_v1.8.zip en el
directorio profiles de MagicDraw Desde MagicDraw
• File > New Project > Project from template >UWE• File > Use Module >UWE_Profile
Módulo 4. Ingeniería Web. Modelado
![Page 196: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/196.jpg)
Módulo 4. Ingeniería Web. Modelado
![Page 197: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/197.jpg)
La propuesta de UWE incluye:• Un lenguaje de modelado: representar los modelos de las
aplicaciones Web El lenguaje se define como una extensión de UML (profile)
• Un proceso de desarrollo: guiar al usuario en el desarrollo de una aplicación Web Dirigido por la información (“content first”) Dirigido por la funcionalidad (“business process first”) Dirigido por la interfaz
• Herramientas de modelado y generación semi-automática de código. Modelado => MagicUWE Generación de código =>UWE4JSF
Módulo 4. Ingeniería Web. Modelado
![Page 198: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/198.jpg)
CONTENIDO
NAVEGACIÓN
PRESENTACIÓN
IMPLEMENTACIÓNDISEÑOANÁLISIS
COMPORTAMIENTO
ESTRUCTURA
NIVELES
ASPECTOS
FASES
ADAPTACIÓN
Módulo 4. Ingeniería Web. Modelado
![Page 199: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/199.jpg)
En la fase de Análisis Los requisitos funcionales son especificados utilizando:
1.- Casos de Uso: Diagramas de casos de uso UML estereotipadosWorkflows: Diagramas de actividad UML
Los requisitos de datos son especificados utilizando:Modelos de Dominio: Diagramas de clases UML
Módulo 4. Ingeniería Web. Modelado
![Page 200: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/200.jpg)
En la fase de Diseño Aspectos de información
2.- Modelo de contenido: Diagramas de clases UML Estructura de navegación
3.- Modelo de navegación: Diagrama de clases UML estereotipados Funcionalidad
4.- Modelo de procesos4.1.- Modelo de clases de procesos: Diagramas de clases UML estereotipados4.2.- Modelo de flujo de procesos :Diagramas de actividad UML estereotipados
Aspectos relativos a la presentación5.- Modelo de presentación: Diagramas de estructuras compuestas
UML estereotipados
Módulo 4. Ingeniería Web. Modelado
![Page 201: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/201.jpg)
En la fase de Adaptación6.- Modelo de adaptación: Paquetes UML estereotipados
En la fase de Implementación Se genera el código de la aplicación Actualmente en la plataforma JSF
Módulo 4. Ingeniería Web. Modelado
![Page 202: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/202.jpg)
Proceso de desarrollo con UWE
Módulo 4. Ingeniería Web. Modelado
![Page 203: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/203.jpg)
Proceso iterativo e incremental
Módulo 4. Ingeniería Web. Modelado
![Page 204: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/204.jpg)
Modelos y Elementos de Modelado
Módulo 4. Ingeniería Web. Modelado
![Page 205: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/205.jpg)
Site• Contiene información sobre álbumes, canciones y artistas• Esta información es de libre disposición para todos los
usuarios◦ Sólo los usuarios
registrados pueden bajarse un álbum
◦ Para poder bajárselo es necesario tener una cuenta de crédito de prepago (ej. Paypal)
◦ Las cuentas pueden recargarse
Módulo 4. Ingeniería Web. Modelado
![Page 206: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/206.jpg)
Objetivo Visualizar gráficamente los
requisitos del proyecto. Funcionales Navegacionales De adaptación
Elementos de modelado Analizar los casos de uso y
determinar cuáles refieren a:a) Aspectos relativos a
procesamiento <<webProcess>>
b) Aspectos de la navegación <<navigation>>
c) Requieren adaptación <<personalized>>
Módulo 4. Ingeniería Web. Modelado
![Page 207: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/207.jpg)
Objetivo Representar el dominio de la
información persistente. Información necesaria para el
procesamiento de la lógica del negocio
Elementos de modelado Diagrama de clases UML
plano, sin semántica adicional. Clases Asociaciones Agregaciones/Composición Jerarquías …
Ejemplo
Módulo 4. Ingeniería Web. Modelado
![Page 208: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/208.jpg)
Objetivo Representar los nodos y enlaces de la estructura de
hipertexto. Nodo: Clase visitada por el usuario/sistema utilizando el
navegador. Enlace: Estructura usada para acceder desde un nodo
fuente a un nodo destino. Diseñar los caminos navegacionales
Elementos de modelado Estructura de hipertexto:
Nodos: <<navigationClass>> Enlaces: <<navigationLink>> Primitivas de acceso: <<index>>
<<menu>><<guidedTour>><<query>>
Módulo 4. Ingeniería Web. Modelado
![Page 209: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/209.jpg)
Permite seleccionar una instancia de una de las clases del modelo de contenido
Agrupa en un nodo un conjunto items• Cada item es un objeto con un nombre y un enlace a una
instancia de una clase navegacional• Todos los enlaces apuntan a la misma clase navegacional
Partiendo de esa lista de enlaces, el usuario puede seleccionar un elemento en particular para continuar la navegación
El conjunto de instancias de ente las cuales se permite al usuario realizar su elección viene determinado por el enlace entrante y su predecesor:• Query• Clase navegacional necesario especificar el atributo del que proviene en el enlace e.g. albums
• Menu
Módulo 4. Ingeniería Web. Modelado
![Page 210: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/210.jpg)
Agrupa en un nodo un conjunto de enlaces de salida a distintas clases navegacionalesheterogéneas (índices, visitas guiadas, consultas, otros menús,…)
Estas clases navegacionales destino son disjuntas entre sí
Nota: un menú en el modelo de navegación no siempre se corresponde con un menú en la interfaz de usuario
Módulo 4. Ingeniería Web. Modelado
![Page 211: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/211.jpg)
Primitiva <<guidedTour>>• Recibe como entrada un conjunto de instancias• Permite el acceso secuencial a las instancias
(navegar hacia adelante y hacia atrás) El orden es especificado usando una FilterExpression
• La instancia seleccionada en un momento determinado es la entrada a una clase navigacional
Primitiva <<Query>>• Establece la posibilidad de buscar instancias de un
nodo destino, las cuales satisfacen una condición o filtro establecido en la propiedad FilterExpression
Módulo 4. Ingeniería Web. Modelado
![Page 212: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/212.jpg)
{isHome} indica el nodo inicial de la aplicación• Dicho nodo no puede contener
enlaces de entrada {isLandmark} indica que el
nodo es alcanzable desde cualquier lugar de la aplicación (desde cualquier otro nodo del diagrama de navegación)
Módulo 4. Ingeniería Web. Modelado
![Page 213: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/213.jpg)
Módulo 4. Ingeniería Web. Modelado
![Page 214: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/214.jpg)
Para un mismo modelo de contenido se pueden considerar varias vistas del modelo navigacional(que se reflejan en varios diagramas, uno por vista):
• Si el número de nodos de navegación es grande =>construir vistas parciales
• Si la aplicación va a ser utilizada por diferentes usuarioscon distintos privilegios sobre ella =>construir una vista por cada usuario
• Si la aplicación va a ser ejecutada en diferentes entornos=> construir una vista por cada entorno
Módulo 4. Ingeniería Web. Modelado
![Page 215: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/215.jpg)
Objetivo Representar los aspectos dinámicos de una aplicación Web. Especificar la funcionalidad: transacciones, flujos de trabajo
Elementos de modelado Diagrama con las clases de procesos Diagrama de clases UML => Se definen las “clases procesos”
así como sus relaciones Se parte del diagrama de casos de uso Se identifican los casos de uso no navegacionales
(<<webProcess>> ) Se define un diagrama de clases UML representando las
clases proceso. Diagrama de integración: Se integran las “clases procesos”
en el modelo de navegación Diagramas de actividad UML: Se define el comportamiento a
través de flujos de procesos.
Módulo 4. Ingeniería Web. Modelado
![Page 216: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/216.jpg)
Diagrama de clases procesos• <<process class>> representa una actividad
ejecutada por el usuario o sistema dentro de la aplicación Web.
• <<process link>> indica un punto de entrada o salida a un proceso dentro de la estructura de navegación.
Módulo 4. Ingeniería Web. Modelado
![Page 217: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/217.jpg)
Módulo 4. Ingeniería Web. Modelado
![Page 218: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/218.jpg)
Los modelos de flujo de procesos describen el comportamiento de una aplicación Web• Representados mediante diagramas de actividad• Resultado de un refinamiento de los diagramas de
actividad definidos en la fase de análisis de requisitos.
Incluyen:• Un cjto de acciones• Un cjto de elementos de decisión o nodos de control• Un cjto de instancias de clases que representan el
flujo de información que se genera y consumen los nodos de actividad
Módulo 4. Ingeniería Web. Modelado
![Page 219: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/219.jpg)
Elementos de modelado:• <<userAction>>• <<systemAction>>
Módulo 4. Ingeniería Web. Modelado
![Page 220: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/220.jpg)
Objetivo Representar de forma abstracta los requisitos de
presentación que subyacen bajo el modelo de navegación. Características físicas como: “color” “posición” “número de columnas de la tabla” características específicas de una plataforma de
implementación …NO son tratadas en este modelo.
Elementos de modelado Estructura del modelo de presentación: Diagrama de
estructuras compuestas de UML Comportamiento del modelo de presentación: Diagramas de
interacción (diagramas de secuencia)
Módulo 4. Ingeniería Web. Modelado
![Page 221: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/221.jpg)
La estructura del modelo de presentación se lleva a cabo con el diagrama de estructuras compuestas.• <<presentationGroup>> agrupa un
conjunto de elementos de la interfaz de usuario que representan una unidad lógica de procesamiento.
• <<page>> conjunto de elementos que serán presentados simultáneamente al usuario en respuesta a una petición del mismo.
Elementos de la interfaz de usuario• <<anchor>> • <<text>>• <<image>>• <<textInput>>• <<choice>>• …
Módulo 4. Ingeniería Web. Modelado
![Page 222: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/222.jpg)
Definir características físicas y concretas de los elementos modelados implica:• Decidir la plataforma de
implementación que vamos a utilizar HTML: list, combo box, radio
buttons, etc. DHTML Flash applet
• Establecer la correspondencia entre los elementos abstractos y la implementación concreta
Módulo 4. Ingeniería Web. Modelado
![Page 223: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/223.jpg)
Desde un diseño abstracto a una implementación concreta• Definir el modelo de la librería de
componentes y la relación entre sus elementos
• Establecer las correspondencias
Módulo 4. Ingeniería Web. Modelado
![Page 224: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/224.jpg)
Fase de Modelado• UWE Profile (adaptado), • Common JSF component libraries
Incluir en la carpeta profiles de MagicDraw File -> Use Module ->…
Módulo 4. Ingeniería Web. Modelado
![Page 225: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/225.jpg)
UWE usa, para el modelado de aplicaciones Web adaptativas, una técnica basada en el modelado de aspectos.
Aplicaciones Web Adaptativas Características del usuario: intereses, preferencias,
conocimiento,… Propiedades del contexto: localización (lugar y tiempo)
y plataforma (HW, SW, red,..)
Módulo 4. Ingeniería Web. Modelado
![Page 226: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/226.jpg)
Adaptación del modelo de contenido Determinar qué aspectos de la persistencia pueden
variar Insertar/Eliminar contenidos
Adaptación del modelo de navegación Ordenación de los enlaces Generación/Ocultación de enlaces navegacionales Anotación de enlaces.
Adaptación del modelo de presentación. Selección del lenguaje Modificación de características (tamaño de fuentes,
imágenes, cambios en el color de los elementos,…)
Módulo 4. Ingeniería Web. Modelado
![Page 227: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/227.jpg)
Elementos de modelado Representado como un
diagrama de clases UML al que se incorpora el estereotipo (según corresponda) <<visitClass>> => Objeto
representando la sesión del usuario.
Objetivo Representación de la Sesión en curso del usuario y de
información específica para el mismo.
Módulo 4. Ingeniería Web. Modelado
![Page 228: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/228.jpg)
Se identifican y definen:• Puntos de Corte:
localizaciones en un modelo/programa donde se incorporarán aspectos adicionales a dicho modelo/programa
• Avisos: Características que deben ser añadidas o ejecutadas en un punto de unión
Módulo 4. Ingeniería Web. Modelado
![Page 229: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/229.jpg)
Metamodelos UWE
Módulo 4. Ingeniería Web. Modelado
![Page 230: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/230.jpg)
39
Definido como una extensión conservativa de UML
Compatible con la arquitectura propuesta por OMG y sus estándares: OCL, XMI, MOF,…
Módulo 4. Ingeniería Web. Modelado
![Page 231: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/231.jpg)
Módulo 4. Ingeniería Web. Modelado
![Page 232: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/232.jpg)
Módulo 4. Ingeniería Web. Modelado
![Page 233: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/233.jpg)
Profile UWE
Módulo 4. Ingeniería Web. Modelado
![Page 234: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/234.jpg)
Cada estereotipo extiende de una metaclase de UML
Módulo 4. Ingeniería Web. Modelado
![Page 235: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/235.jpg)
UWE4JSF:Herramienta para la generación de código
Módulo 4. Ingeniería Web. Modelado
![Page 236: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/236.jpg)
Generación automática de aplicaciones RIA a partir de modelos UWE.
http://uwe.pst.ifi.lmu.de/toolUWE4JSF.html
Módulo 4. Ingeniería Web. Modelado
![Page 237: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/237.jpg)
Módulo 4. Ingeniería Web. Modelado
Práctica Evaluable 1. UWE, MagicUWE
Se quiere tener una página web en la que se pueda administrar información sobre jugadores de fútbol, almacenados en un Registro. Las características de la página web que contendrá el registro de jugadores son las siguientes:
• La página principal del registro de jugadores debe tener un texto introductorio. El registro contendrá un conjunto de jugadores.
• Cada jugador debe tener información sobre su nombre y nacionalidad, ambos definidos como cadenas de caracteres. También tendrán información sobre su equipo actual (sólo uno), el último equipo en el que jugó (sólo uno), su coche principal (sólo uno), su coche especial (sólo uno) y su foto (sólo una).
• El equipo de los jugadores es especificado por su nombre, ciudad y país, todos ellos especificados por cadenas de caracteres. Como se ha detallado antes, cada jugador tendrá información relativa a su equipo actual y su último equipo.
• Los coches de los jugadores se especifican con su modelo, marca y color, los tres especificados con cadenas de caracteres. Cada jugador tiene un coche principal, al cual le da un uso diario, y un coche que reserva para ocasiones especiales.
• La foto de los jugadores debe tener información sobre su altura y anchura, especificada con enteros.
En cuanto a las acciones que el usuario podrá realizar sobre el registro de jugadores, son las siguientes:
• Buscar jugadores. • Eliminar jugadores. • Crear jugadores. • Actualizar jugadores. • Los cambios realizados sobre el registro podrán ser guardados o cancelados.
Se pide: Modelar el registro web de jugadores utilizando MagicUWE. Para ello, se pide definir lo siguiente:
• Diagrama de Casos de Uso. Hay que crear además los estereotipos que se asignan a cada actividad, pues la herramienta MagicUWE no los ofrece.
• Diagrama de Contenido. • Modelo de Navegación. • Modelo de Presentación.
![Page 238: IV Máster en Ingeniería Web y Tecnologías RIA](https://reader036.vdocumento.com/reader036/viewer/2022071601/62d070b687f82a731d53ab79/html5/thumbnails/238.jpg)
• Diagrama de Procesos, y al menos un Diagrama de Actividad para cada Proceso. • Integración de Procesos en la Navegación.
Nota: Esta práctica se debe hacer por grupos. Debe haber dos grupos de 4 personas y otro de 5. Se debe entregar un fichero PDF por cada grupo, donde aparecerán las oportunas capturas de pantalla de los distintos modelos, así como el texto aclaratorio que se desee añadir. Cada grupo se puede repartir el trabajo como quiera, pero la nota será la misma para todos los componentes del grupo. En el documento debe quedar explicitado el autor de cada uno de los modelos.