SlideShare una empresa de Scribd logo
1 de 54
METODOLOGÍAS DE
INGENIERÍA WEB DIRIGIDA
POR MODELOS

José Ramón Hilera
Universidad de Alcalá, España
Noviembre, 2013

Presentación disponible como video con narración en:
http://youtu.be/BVxr4EfozMU
Contenido
1. Ingeniería web
2. Ingeniería web dirigida por modelos: Model-Driven Web
Engineering (MDWE)
–

Model-Driven Architecture (MDA)

3. Metodologías MDWE
4. Comparación de metodologías MDWE
–
–
–
–
–
–

Soporte MDA
Complejidad de los metamodelos
Tipos de modelos
Transformaciones de modelos
Compatibilidad.
Herramientas

5. Ejemplo: metodología OOWS
6. Conclusiones
2
1. Ingeniería web

Nº especial
de la revista
IEEE Multimedia,
Marzo, 2001

3
1. Ingeniería web
Origen del término

Nº especial
de la revista
IEEE Multimedia,
Marzo, 2001

4
1. Ingeniería web
Tema de discusión
Discusión: Ingeniería web vs Ingeniería del software

Nº especial
de la revista
IEEE Multimedia,
Marzo, 2001
5
1. Ingeniería web
¿es una nueva disciplina?

Nº especial
de la revista
IEEE Multimedia,
Marzo, 2001

6
1. Ingeniería web
¿Ingeniería documental?
Discusión: Ingeniería documental vs Ingeniería
hiperemedia (Revista Novática, 2001)

7
1. Ingeniería web
¿Ingeniería documental?
Discusión: Ingeniería documental vs Ingeniería hiperemedia (Revista Novática, 2001)

8
•

1. Ingeniería web
Relación con otras ingenierías
Cuatro tipos de ingeniería

Ingeniería
documental

Ingeniería
hipermedia

Ingeniería
del software

Ingeniería
web
9
1. Ingeniería web
Relación con otras ingenierías
Suele aceptarse que es parte de la Ingeniería del software,… pero añadiendo
conocimientos y tecnologías de otras ingenierías.

Ingeniería
hipermedia

Ingeniería
documental

Ingeniería
web

Ingeniería
del software
10
1. Ingeniería web
Artículo de referencia
El resto de la presentación es un resumen de este
artículo:

11
1. Ingeniería web
Metodologías de Ingeniería web

12
1. Ingeniería web
Panorama
• Demasiados enfoques y vocabularios
diferentes
• Diferentes métodos y ténicas propuestas
para las diferentes fases de desarollo

• Pocas herramientas CASE que soporten
las propuestas

13
1. Ingeniería web
Tendencias
• Tienen en común que en todas las metodologías
se usa modelado
• Es comúnmente aceptado el diferenciar, al
menos, tres tipos de modelos de un sistema web
– Modelo conceptual de información (Ej. Diagrama de
clases UML)
– Modelo navegacional (Ej. Propuesta original de J.
Conallen, en forma de perfil UML, pero no está
estandarizado, hay muchas propuestas de modelos
navegacional como perfiles UML)
– Modelo de presentación (Ej. Nuevo estándar
IFML, disponible como perfil UML, año 2013)

• La tendencia es converger hacia el desarrollo web
dirigido por modelos
14
2. Ingeniería web dirigida por modelos:
Model-Driven Web Engineering (MDWE)
•

•

•
•

MDWE propone la representación de conceptos
mediante metamodelos que son independientes de la
plataforma.
El proceso de desarrollo se apoya en un conjunto de
transformaciones y de las relaciones entre los
conceptos de los modelos que permite el desarrollo
ágil y asegura la coherencia entre los modelos.
Los frameworks como Struts, Django, Ruby on
Rails, etc. también se basan en MDE.
MDE también se utiliza en las pruebas del
software, en el ámbito del desarrollo dirigido por
pruebas (TDD (Testing-Driven
Development), mediante la definición de
metamodelos para representar aspectos de prueba y
el uso de transformaciones para derivar casos de
prueba.

15
2. MDWE
Metamodelos
• MDWE se refiere al uso del paradigma basado en
modelos en metodologías de desarrollo Web.
• Ayuda a obtener modelos en un punto específico del
proceso de desarrollo, mediante el uso de los
conocimientos adquiridos en las etapas
anteriores, con los modelos previamente
desarrollados.
• Los metamodelos proporcionan una solución para la
multiplicidad de vocabularios y enfoques.
• Un metamodelo es una representación abstracta de
los conceptos o artefactos que se permitirán usar en
los modelos que se basen en ese metamodelo.
• No se centra en la terminología o forma (símbolos o
código) en la que se expresarán los conceptos en los
futuros modelos, sino en los conceptos y la relación

16
2. MDWE
Ejemplo de metamodelo
•

Ejemplo de
metamodelo sobre los
conceptos que se usan
en un sitio web

•

Existen varias
notaciones para definir
metamodelos: MOF y
UML Profile (ambas de
OMG), o Ecore y
Emfatic (ambas de
Eclipse Modeling
Framework)

17
2. MDWE
Modelos que cumplen el metamodelo
Página
de inicio
Sitio web de la UAH
url: www.uah.es
Página
de
historia

Sitio web de la UAH
url: www.uah.es
Página de inicio

Página de historia

18
2. MDWE
Compatibilidad de enfoques
•

Las metodologías de desarrollo web puede llegar a ser
compatibles, y las diferencias en el vocabulario y la falta de
conexión entre los diferentes enfoques se puede resolver con
diferentes metamodelos.

•

Un equipo de desarrollo puede utilizar lo mejor de cada enfoque
y, a través de transformaciones, obtener ventajas de otros
enfoques.

19
2. MDWE
Herramientas CASE
• La calidad tanto del metamodelo y
transformaciones es fundamental en la obtención
de resultados adecuados.
• Es esencial el uso de herramientas CASE para
crear metamodelos, modelos y definir
transformaciones que se ejecuten de forma
automática.
• Hay herramientas independientes de la
metodología, pues se basan en estándares de
modelado, especialmente en:
– UML Profiles para los metamodelos
– QVT (Query View Transformation) para las
transformaciones
20
2. MDWE
Model-Driven Architecture (MDA)
•

MDA es el estándar Model-Driven Architecture definido por
el Object Management Group (OMG) in 2001 para MDE.

•

En MDA se proponen cuatro niveles de modelado:
–

CIM (Computer-Independent Model): Este nivel define
conceptos que captan la lógica del sistema. Por ejemplo, los
modelos de negocio y los requisitos se incluyen en este nivel.

–

PIM (Platform-Independent Model): Este nivel agrupa
conceptos que definen el sistema de software sin ninguna
referencia a la plataforma de desarrollo específica. Por
ejemplo, los artefactos de análisis, como el diagrama de clases
del dominio del problema, se incluyen en este nivel.

–

PSM (Platform-Specific Model): En este nivel, se definen los
modelos, con detalles que dependen de la plataforma de
desarrollo específico. Por ejemplo, una versión del diagrama
de clases para Java, C# (.NET) o PHP.

–

Code: Representa el código fuente de la aplicación. Por
ejemplo código en Java, C# o PHP.
21
2. MDWE
Niveles MDA
• En MDA, se pueden
definir
transformaciones
entre los niveles.
• MDA se puede
utilizar como marco
básico de referencia
para comparar
diferentes enfoques
MDWE.
• La mayoría de las
metodologías
MDWE definen sus
metamodelos y
transformaciones
basadas en el
estándar MDA,
aunque cada uno de
ellos se centran en
diferentes niveles de
MDA.

22
2. MDWE
Transformaciones MDA

Fuente:
Enterprise
Architect
23
2. MDWE
Transformaciones MDA: ejemplo PIM

Fuente:
Enterprise
Architect
24
2. MDWE
Transformaciones MDA: ejemplo PSM Java

Fuente:
Enterprise
Architect
25
3. Metodologías MDWE
• OOHDMDA: Basada en la metodología de
OOHDM (1995), que separaba el diseño de un
sistema web en 3 modelos:
conceptual, navegacional y de interface abstracta.
• WebML development process. Hay varias
propuestas de metamodelos y transformaciones
– WebML1: Establece 4 metamodelos:
CommonElements, DataView, HypertextView and
PresentationView
– WebML2: Establece 5 metamodelos: Hypertext
Organization, Access Control, Hypertext, Content
Management and Content.
– Herramienta CASE: WebRatio.
26
3. Metodologías MDWE
• W2000: Establece 4 metamodelos:
Information, Navigation, Presentation, Dynam
ic Behavior.
• UWE. Establece 5 metamodelos:
Requirements, Content, Navigation, Presenta
tion, Process. Y un conjunto de
transformaciones para derivar unos modelos
de otros. Herramienta CASE: MagicUWE.
• NDT: Incluye 2 metamodelos para el nivel
PIM: Content, Navigational. Define un
conjunto de transformaciones basadas en
QVT, pars obtener PIM a partir de CIM.
Herramienta CASE: NDT-Suite.
27
3. Metodologías MDWE
OOWS
•

OOWS:Es una extensión para sistemas web, de la metodología OO-Method.
– 5 Metamodelos PIM: Estructural (Objetos), Dinámico, Funcional, Navegacional y de
Presentación.

28
3. Metodologías MDWE
OOWS-Suite

• Herramienta CASE:
• OOWS-Suite
(Integranova)

29
4. Comparación de metodologías MDWE
MDA Framework
• La mayoría de las metodologías MDWE se centran en el nivel
de PIM, que es equivalente al modelado de análisis y diseño
de alto nivel

• Ninguna de las metodologías cubre MDA por completo.

30
4. Comparación de metodologías MDWE
Complejidad de los metamodelos
• Los metamodelos rara vez incluyen métodos, ya que normalmente
expresan conceptos y sus relaciones y no incluyen información
sobre la funcionalidad.
• Los conceptos en los metamodelos suelen definirse como una
extension formal del concepto “clase” de UML class (mediante UML
Profiles).

31
4. Comparación de metodologías MDWE
Tipos de modelos
• Hay un conjunto de tipos de modelos que aparecen en
la mayoría de las metodoologías MDWE

32
4. Comparación de metodologías MDWE
Modelos comunes específicos web
• Para representar aspectos estáticos de un sitio
web, se utiliza un modelo de contenido u objetos
(habitualmente Diagrama de Clases UML).
• Para representar aspectos sobre las posibilidades
de navegación en un sitio web, se utiliza un
modelo de navegación (habitualmente basado en
un perfil UML).
• Para representar aspectos sobre la presentación
del sitio web al usuario, se utilizan modelos de
presentación de inferfaces abstractas
(habitualmente basados en perfiles UML).
33
4. Comparación de metodologías MDWE
Transformaciones de modelos
• Las transformaciones automáticas ayudan a
mantener la trazabilidad entre los modelos

34
4. Comparación de metodologías MDWE
Compatibilidad
• Una de las ventajas más importantes del
paradigma MDWE es la posibilidad de hacer
compatibles diversas metodologías.
• Si se define un metamodelo o algunas
transformaciones utilizando un lenguaje común, la
conexión entre las metodologías podría ser
sencilla.
• Para este fin, el uso de perfiles UML ofrece
resultados muy interesantes.
• Un UML Profile es un mecanismo de extensión
que ofrece UML para extender los conceptos
básicos de un enfoque MDWE.
35
4. Comparación de metodologías MDWE
Herramientas
• Con la definición del perfil, las herramientas CASE basadas en UML
pueden proporcionar una solución adecuada para cualquier
metodología MDWE y reduce el costo de la curva de
aprendizaje, ya que son conocidas por los equipos de desarrollo, lo
que hace más fácil la aplicación de estos métodos en el entorno
empresarial
• WebML, y, principalmente, su herramienta, WebRatio, también se
han aplicado con buenos resultados en las empresas reales.
• Es necesario disponer de herramienta que puede representar
metamodelos y transformaciones escritas, por ejemplo, en QVT.
• En este sentido, el entorno EMF (Eclipse Modeling Framework) y su
lenguaje de transformación ATL ofrecen resultados prometedores.
• Algunos herramientas como Moment o SmartQVT, o la inclusión de
MDA, y de lenguajes de transformación en herramientas
basadas ​en UML, como el caso de Enterprise Architect, ofrecen
soluciones prometedoras.
36
5. Ejemplo metodología OOWS
Fase de especificación del sistema

37
5. Ejemplo metodología OOWS
Modelo de requisitos (CIM)
CIM: Modelo de requisitos (Casos de uso)
• Las compras que se realicen se deberán ir incluyendo, simbólicamente, en una
cesta de la compra; el usuario podrá consultar en cualquier momento el contenido
de su cesta y realizar modificaciones sobre su contenido.
• Esta cesta de la compra se creará en el momento en el que se reciba la petición de
entrada en el sistema y pertenecerá al usuario que está navegando en ese
momento.

• Todas las operaciones que el usuario realice sobre el sistema se harán de forma
anónima, de modo que el usuario no deberá identificarse (registrarse) hasta que no
vaya a confirmar su compra.
• Para comprar un álbum se deberá llegar a él a través del autor o de la categoría a la
que pertenece.
• Desde la página de inicio podremos acceder a un listado de autores o a un listado
de categorías y desde ahí al listado delos álbumes del autor o de la categoría que
hayamos seleccionado.
• Cuando seleccionemos un álbum de la lista, se mostrarán todos los datos de ese
álbum y se podrá comprar. Esto hará que el álbum sea incluido en la cesta de la
compra de ese usuario y que se muestre su contenido actual.
• Mientras veamos el contenido de la cesta, podremos cambiar el número de
unidades que se desea adquirir de cada álbum de los comprados hasta el momento
o eliminar alguna de las compras de la cesta.

• Cuando se decida confirmar la compra se realizarán dos acciones: la primera
consistirá en crear una factura (para lo que el comprador debe haberse identificado)
y la segunda será reducir el stock de los álbumes comprados; cuando se haya
confirmado una compra, ya no se podrá modificar el contenido de la cesta.

Fuente:
http://cic.puj.edu.co/wiki/lib/exe/fetch.php?
media=materias:oows.pdf

38
5. Ejemplo metodología OOWS
Modelo de estructural o de objetos (PIM)

39
5. Ejemplo metodología OOWS
Modelo dinámico (PIM)
Modelo dinámico de la clase “Cesta”

40
5. Ejemplo metodología OOWS
Modelo funcional (PIM)
• El Modelo Funcional captura la semántica asociada a los
cambios de estado de los objetos.

• El valor de cada atributo es modificado dependiendo de la
acción que activó el cambio de estado, de los argumentos de
dicho evento y del estado actual del objeto.
• Ejemplo de parte del modelo funcional para la clase “Linea”:

41
5. Ejemplo metodología OOWS
Modelo de navegación (PIM) 1/2
• Representa los contextos de navegación
que han sido identificados en las
primeras fases de especificación del
sistema.
• También aparecen sobre el modelo los
servicios que son ejecutados al iniciar y
finalizar una sesión.
– Cuando el servidor Web recibe una
petición de un internauta, ejecuta el
servicio crear del Usuario Navegante
asociándole además una Cesta.
– Cuando el Usuario Navegante
abandona el sistema se ejecuta el
servicio destruir, eliminando
además, si no ha sido confirmada, su
Cesta asociada.

• Se aprecia que el Usuario Navegante
siempre tendrá disponibles los contextos
(marcados como contextos de
exploración) Autores, Categorías, Cesta
y Registrarse.
• A partir de estos, y siguiendo diferentes
caminos navegacionales, podrá
alcanzar los demás
(Detalles_Autor, Detalles_Categoría, Alb
umes y Facturas).
42
5. Ejemplo metodología OOWS
Modelo de navegación (PIM) 2/2
• En la figura se describe con detalle
el contexto Autores.
• Donde se recupera la información
sobre un autor (su nombre), los
álbumes que están disponibles de
este autor (título, año y precio) y el
nombre de la categoría del álbum.
• Seleccionando el título de un álbum
podremos navegar al contexto
Álbumes, donde se proporcionará
información adicional del álbum y
podremos comprarlo.
• Además, se ha definido una
estructura de acceso índice de tipo
atributo, que permitirá acceder a
los autores por su letra_inicial
(atributo derivado definido en la
clase Autor).
• También se ha definido un filtro de
tipo aproximado para facilitar la
búsqueda de autores por su
nombre.

43
5. Ejemplo metodología OOWS
Modelo de presentación (PIM)
• En este modelo se captan los requisitos de
presentación de información para cada
contexto del mapa de navegación.
• En la figura se muestra como ejemplo la
plantilla de presentación asociada al
contexto Autores.
• En ella se especifica que los objetos de la
clase directora se presentarán en modo
tabular y el contexto (objetos de la clase
directora) estará paginado con una
• cardinalidad estática de 1 elemento, con
posibilidad de acceso secuencial y circular.

• El patrón de presentación asociado a la
relación de contexto definida entre un Autor
y sus Albumes será maestro-detalle, con el
detalle en modo tabular y con una
paginación de cardinalidad estática de 5
elementos, con acceso secuencial, circular.
• Se ha definido una ordenación de los
elementos de la clase Album por el año de
modo ascendente y la relación de contexto
definida entre la clase Album con la clase
Categoría se presentará en modo tabular
(relación “1 a 1”).
44
5. Ejemplo metodología OOWS
Fase de desarrollo de la solución

45
5. Ejemplo metodología OOWS
Modelo de presentación (PIM)
• En una estrategia de compilación de modelos, se obtiene el
prototipo software completo de manera automática, siguiendo
la especificación realizada del sistema.
• En la figura aparece una posible interfaz de usuario que
representa correctamente los requisitos, tanto navegacionales
como de interfaz, especificados para el actor Usuario
Navegante.
• Se puede apreciar que existe un enlace desde esta página (en
realidad desde cualquier página, ya que se el frame izquierdo
es común a todas las páginas) a cada uno de los contextosde
exploración especificados (Autores, Categorías, Cesta y
Registrarse).
• Esta página proporciona información sobre un autor y sus
álbumes disponibles, mostrando su título, año, precio y
categoría.

• Además, aparece el índice que se había especificado, usando
el atributo letra_inicial de la clase Autor y también el
mecanismo de búsqueda de de autores por su atributo
nombre.
• Respecto a presentación de información, la paginación del
contexto (objetos de la clase directora Autor) se realiza
elemento en elemento (cardinalidad 1).
• Es por esto que sólo aparece información sobre un autor o
grupo (Queen) y se proporcionan mecanismos para avanzar o
retroceder secuencialmente.
• La información complementaria sobre los álbumes para este
grupo aparece en modo maestro-detalle (con el detalle en
modo tabular) y además paginado de 5 en 5 elementos, como
había sido explicitado.

46
6. Conclusiones
• Dos ventajas importantes que ofrece el paradigma MDWE
son
– la reducción del tiempo de desarrollo mediante el uso de
transformaciones automáticas
– y la concordancia entre los modelos en diferentes fases.

• No es necesario definir una herramienta CASE específica
para cada metodología.
– Con sólo la definición del perfil, cualquier herramienta CASE
basada en UML se puede utilizar para la aplicación de la
metodología.

• Estas herramientan soportan perfiles UML para defininr
metamodelos, pero no transformaciones basadas en el
estándar SVQ..
– Algunas herramientas, como Enterprise Architect o Eclipse
Modeling Framework (EMF), definen su propio lenguaje de
transformación (por ejemplo, ATL en EMF).
47
Actividades recomendadas
Lectura de libro de 2013
• Metamodelado:
– Cap. 3. Una introducción al
metamodelado

– Cap. 4. El lenguaje OCL
– Cap. 5. Perfiles UML

• Transformación de modelos
– Cap. 10. Transformaciones de modelos
– Cap 12. El lenguaje QVT

• Creación de lenguajes gráficos de
modelado
– Cap. 6. Eclipse Graphical Modeling
Framework
– Cap. 8. Microsoft DSL Tools
48
Actividades recomendadas
Revisión de estándares MDA de OMG
• Metamodelado:
– MDA
– Lenguaje MOF
– Lenguaje OCL
– Perfiles UML

• Transformación de modelos
– Lenguaje QVT

• Lenguajes de modelado específico
– BPMN: Business Process Model and
Notation
– IFML: Interaction Flow Modeling
Language
– SYSML: Systems Modeling Language
49
Actividades recomendadas
Probar herramientas CASE MDA
• Enterprise Architect
• Eclipse
• Otras . . .

50
Actividades recomendadas
Probar herramientas: Enterprise Architect (1)

51
Actividades recomendadas
Probar herramientas: Enterprise Architect (2)

52
Actividades recomendadas
Probar herramientas CASE: Eclipse (1)
• Plugins

53
Actividades recomendadas
Probar herramientas CASE: Eclipse (2)
• Plugins

54

Más contenido relacionado

La actualidad más candente

Casos de Uso ejercicios
Casos de Uso ejerciciosCasos de Uso ejercicios
Casos de Uso ejercicios
Walter Chacon
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentes
martin
 
Tabla comparativa- metodologías de desarrollo
Tabla comparativa-  metodologías de desarrolloTabla comparativa-  metodologías de desarrollo
Tabla comparativa- metodologías de desarrollo
itsarellano
 
Diagramas de clases y actividades
Diagramas de clases y actividadesDiagramas de clases y actividades
Diagramas de clases y actividades
TerryJoss
 
Planificacion del procesador
Planificacion del procesadorPlanificacion del procesador
Planificacion del procesador
Manuel Ceron
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
Chuyito Alvarado
 
Sesion 3 2 modelo de analisis
Sesion 3 2 modelo de analisisSesion 3 2 modelo de analisis
Sesion 3 2 modelo de analisis
Julio Pari
 

La actualidad más candente (20)

Del Modelo Entidad-Relación al Modelo relacional
Del Modelo Entidad-Relación al Modelo relacionalDel Modelo Entidad-Relación al Modelo relacional
Del Modelo Entidad-Relación al Modelo relacional
 
Caracteristicas rup
Caracteristicas rupCaracteristicas rup
Caracteristicas rup
 
Orquestación de Servicios y SOA
Orquestación de Servicios y SOAOrquestación de Servicios y SOA
Orquestación de Servicios y SOA
 
Casos de Uso ejercicios
Casos de Uso ejerciciosCasos de Uso ejercicios
Casos de Uso ejercicios
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentes
 
Las diez principales amenazas para las bases de datos
Las diez principales amenazas para las bases de datosLas diez principales amenazas para las bases de datos
Las diez principales amenazas para las bases de datos
 
Tabla comparativa- metodologías de desarrollo
Tabla comparativa-  metodologías de desarrolloTabla comparativa-  metodologías de desarrollo
Tabla comparativa- metodologías de desarrollo
 
OOSE
OOSEOOSE
OOSE
 
2. El proceso del software
2. El proceso del software2. El proceso del software
2. El proceso del software
 
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING) METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
 
Ejemplo pruebas de software
Ejemplo pruebas de softwareEjemplo pruebas de software
Ejemplo pruebas de software
 
Rational rose
Rational roseRational rose
Rational rose
 
Unidad 2 modelado de negocios
Unidad 2 modelado de negociosUnidad 2 modelado de negocios
Unidad 2 modelado de negocios
 
Diagramas de clases y actividades
Diagramas de clases y actividadesDiagramas de clases y actividades
Diagramas de clases y actividades
 
Ejemplo rup
Ejemplo rupEjemplo rup
Ejemplo rup
 
Planificacion del procesador
Planificacion del procesadorPlanificacion del procesador
Planificacion del procesador
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
 
Sesion 3 2 modelo de analisis
Sesion 3 2 modelo de analisisSesion 3 2 modelo de analisis
Sesion 3 2 modelo de analisis
 
PROYECTO FINAL ANÀLISIS Y DISEÑO ll
PROYECTO FINAL ANÀLISIS Y DISEÑO llPROYECTO FINAL ANÀLISIS Y DISEÑO ll
PROYECTO FINAL ANÀLISIS Y DISEÑO ll
 

Destacado

Qué es la ingeniería web
Qué es la ingeniería webQué es la ingeniería web
Qué es la ingeniería web
Victor Barraza
 
Ingenieria web
Ingenieria webIngenieria web
Ingenieria web
Mirsha01
 
Metodología para el análisis de diseño del sistema
Metodología para el análisis de diseño del sistemaMetodología para el análisis de diseño del sistema
Metodología para el análisis de diseño del sistema
Freddy Ramos
 
1 ingeniería web
1 ingeniería web1 ingeniería web
1 ingeniería web
UVM
 
Unidad uno metodologia
Unidad uno metodologia Unidad uno metodologia
Unidad uno metodologia
guestc86431
 

Destacado (20)

Metodología IWeb
Metodología IWebMetodología IWeb
Metodología IWeb
 
OOWS
OOWSOOWS
OOWS
 
Ingenieria web
Ingenieria webIngenieria web
Ingenieria web
 
Qué es la ingeniería web
Qué es la ingeniería webQué es la ingeniería web
Qué es la ingeniería web
 
Ingenieria web
Ingenieria webIngenieria web
Ingenieria web
 
Metodologias para el desarrollo de aplicaciones web
Metodologias para el desarrollo de aplicaciones webMetodologias para el desarrollo de aplicaciones web
Metodologias para el desarrollo de aplicaciones web
 
0102 introducción-e_ingeniería_web
0102  introducción-e_ingeniería_web0102  introducción-e_ingeniería_web
0102 introducción-e_ingeniería_web
 
Requerimientos, Ventajas y Desventajas de las aplicaciones web
Requerimientos, Ventajas y Desventajas de las aplicaciones webRequerimientos, Ventajas y Desventajas de las aplicaciones web
Requerimientos, Ventajas y Desventajas de las aplicaciones web
 
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
 
El desarrollo de software dirigido por modelos en los repositorios institucio...
El desarrollo de software dirigido por modelos en los repositorios institucio...El desarrollo de software dirigido por modelos en los repositorios institucio...
El desarrollo de software dirigido por modelos en los repositorios institucio...
 
Webinar IFML en Español
Webinar IFML en EspañolWebinar IFML en Español
Webinar IFML en Español
 
Presentación corporativa
Presentación corporativaPresentación corporativa
Presentación corporativa
 
Wsdm
WsdmWsdm
Wsdm
 
Metodologías de desarrollo de sistemas
Metodologías de desarrollo de sistemasMetodologías de desarrollo de sistemas
Metodologías de desarrollo de sistemas
 
Capitulo01p01
Capitulo01p01Capitulo01p01
Capitulo01p01
 
Metodología para el análisis de diseño del sistema
Metodología para el análisis de diseño del sistemaMetodología para el análisis de diseño del sistema
Metodología para el análisis de diseño del sistema
 
FORMACIÓN Y PLANEARON PARA LA INGENIERÍA WEB
FORMACIÓN Y PLANEARON PARA LA INGENIERÍA WEBFORMACIÓN Y PLANEARON PARA LA INGENIERÍA WEB
FORMACIÓN Y PLANEARON PARA LA INGENIERÍA WEB
 
DISEÑO Y DESARROLLO DE UNA APLICACIÓN WEB COMOHERRAMIENTA DE APOYO AL PROCESO...
DISEÑO Y DESARROLLO DE UNA APLICACIÓN WEB COMOHERRAMIENTA DE APOYO AL PROCESO...DISEÑO Y DESARROLLO DE UNA APLICACIÓN WEB COMOHERRAMIENTA DE APOYO AL PROCESO...
DISEÑO Y DESARROLLO DE UNA APLICACIÓN WEB COMOHERRAMIENTA DE APOYO AL PROCESO...
 
1 ingeniería web
1 ingeniería web1 ingeniería web
1 ingeniería web
 
Unidad uno metodologia
Unidad uno metodologia Unidad uno metodologia
Unidad uno metodologia
 

Similar a Metodologías de ingeniería Web dirigida por modelos

Metodologias para el desarrollo de aplicacones web
Metodologias para el desarrollo de aplicacones webMetodologias para el desarrollo de aplicacones web
Metodologias para el desarrollo de aplicacones web
Josafat Mtz
 
Universidad regional autonoma de los andes
Universidad regional autonoma de los andesUniversidad regional autonoma de los andes
Universidad regional autonoma de los andes
myle22
 
02 ingenieria web
02  ingenieria web02  ingenieria web
02 ingenieria web
Frank Rosas
 
Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...
Renan Cayao
 

Similar a Metodologías de ingeniería Web dirigida por modelos (20)

Kiwi
KiwiKiwi
Kiwi
 
Metodología WEB UWE
Metodología WEB UWEMetodología WEB UWE
Metodología WEB UWE
 
Congreso ENC 2015 - UWE para entornos virtuales colaborativos de aprendizaje
Congreso ENC 2015 - UWE para entornos virtuales colaborativos de aprendizajeCongreso ENC 2015 - UWE para entornos virtuales colaborativos de aprendizaje
Congreso ENC 2015 - UWE para entornos virtuales colaborativos de aprendizaje
 
Congreso ENC - UWE para entornos virtuales colaborativos de aprendizaje
Congreso ENC - UWE para entornos virtuales colaborativos de aprendizajeCongreso ENC - UWE para entornos virtuales colaborativos de aprendizaje
Congreso ENC - UWE para entornos virtuales colaborativos de aprendizaje
 
Mda mde
Mda   mdeMda   mde
Mda mde
 
S01-s1-MVC.pptx
S01-s1-MVC.pptxS01-s1-MVC.pptx
S01-s1-MVC.pptx
 
Modelado conceptual de aplicaciones web
Modelado conceptual de aplicaciones webModelado conceptual de aplicaciones web
Modelado conceptual de aplicaciones web
 
MDE & DSLs
MDE & DSLsMDE & DSLs
MDE & DSLs
 
Principios de Diseño de Componentes Web
Principios de Diseño de Componentes WebPrincipios de Diseño de Componentes Web
Principios de Diseño de Componentes Web
 
Metodologias para el desarrollo de aplicacones web
Metodologias para el desarrollo de aplicacones webMetodologias para el desarrollo de aplicacones web
Metodologias para el desarrollo de aplicacones web
 
Universidad regional autonoma de los andes
Universidad regional autonoma de los andesUniversidad regional autonoma de los andes
Universidad regional autonoma de los andes
 
Trade-Off sobre Tecnologías Web
Trade-Off sobre Tecnologías WebTrade-Off sobre Tecnologías Web
Trade-Off sobre Tecnologías Web
 
Mda 2
Mda 2Mda 2
Mda 2
 
Frameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITESFrameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITES
 
02 ingenieria web
02  ingenieria web02  ingenieria web
02 ingenieria web
 
Metodologia oohdm
Metodologia oohdmMetodologia oohdm
Metodologia oohdm
 
Metodologia oohdm
Metodologia oohdmMetodologia oohdm
Metodologia oohdm
 
Metodología de Desarrollo de Software en base a MDE con DSL
Metodología de Desarrollo de Software en base a MDE con DSLMetodología de Desarrollo de Software en base a MDE con DSL
Metodología de Desarrollo de Software en base a MDE con DSL
 
Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...
 
IW Unidad 3: Ingeniería Web dirigida por modelos
IW Unidad 3: Ingeniería Web dirigida por modelosIW Unidad 3: Ingeniería Web dirigida por modelos
IW Unidad 3: Ingeniería Web dirigida por modelos
 

Más de Jose R. Hilera

Estándares de accesibilidad web
Estándares de accesibilidad webEstándares de accesibilidad web
Estándares de accesibilidad web
Jose R. Hilera
 

Más de Jose R. Hilera (20)

Tema 3. Herramientas para laInteligencia Tecnológica
Tema 3. Herramientas para laInteligencia TecnológicaTema 3. Herramientas para laInteligencia Tecnológica
Tema 3. Herramientas para laInteligencia Tecnológica
 
Tema 2. Sistema de Inteligencia Tecnológica: Norma UNE 166006:2018
Tema 2. Sistema de Inteligencia Tecnológica: Norma UNE 166006:2018Tema 2. Sistema de Inteligencia Tecnológica: Norma UNE 166006:2018
Tema 2. Sistema de Inteligencia Tecnológica: Norma UNE 166006:2018
 
Tema 1. Conceptos básicos sobre Inteligencia Tecnológica
Tema 1. Conceptos básicos sobre Inteligencia TecnológicaTema 1. Conceptos básicos sobre Inteligencia Tecnológica
Tema 1. Conceptos básicos sobre Inteligencia Tecnológica
 
Tema 4. Aprendizaje a lo largo de la vida
Tema 4. Aprendizaje a lo largo de la vidaTema 4. Aprendizaje a lo largo de la vida
Tema 4. Aprendizaje a lo largo de la vida
 
Tema 5. Evaluación y comparación de tecnologías
Tema 5. Evaluación y comparación de tecnologíasTema 5. Evaluación y comparación de tecnologías
Tema 5. Evaluación y comparación de tecnologías
 
Patrón de diseño Modelo-Vista-Controlador (MVC)
Patrón de diseño Modelo-Vista-Controlador (MVC)Patrón de diseño Modelo-Vista-Controlador (MVC)
Patrón de diseño Modelo-Vista-Controlador (MVC)
 
Evaluación de la accesibilidad de aplicaciones para dispositivos móviles apli...
Evaluación de la accesibilidad de aplicaciones para dispositivos móviles apli...Evaluación de la accesibilidad de aplicaciones para dispositivos móviles apli...
Evaluación de la accesibilidad de aplicaciones para dispositivos móviles apli...
 
Aspectos generales sobre accesibilidad de aplicaciones móviles (apps)
Aspectos generales sobre accesibilidad de aplicaciones móviles (apps)Aspectos generales sobre accesibilidad de aplicaciones móviles (apps)
Aspectos generales sobre accesibilidad de aplicaciones móviles (apps)
 
Accesibilidad de aplicaciones para dispositivos móviles aplicando el RD 1112/...
Accesibilidad de aplicaciones para dispositivos móviles aplicando el RD 1112/...Accesibilidad de aplicaciones para dispositivos móviles aplicando el RD 1112/...
Accesibilidad de aplicaciones para dispositivos móviles aplicando el RD 1112/...
 
Desarrollo dirigido por modelo de servicios web REST
Desarrollo dirigido por modelo de servicios web RESTDesarrollo dirigido por modelo de servicios web REST
Desarrollo dirigido por modelo de servicios web REST
 
Perfiles UML
Perfiles UMLPerfiles UML
Perfiles UML
 
Contenidos accesibles para las redes sociales
Contenidos accesibles para las redes socialesContenidos accesibles para las redes sociales
Contenidos accesibles para las redes sociales
 
Ejemplos WAI-ARIA con HTML, CSS y JavaScript
Ejemplos WAI-ARIA con HTML, CSS y JavaScriptEjemplos WAI-ARIA con HTML, CSS y JavaScript
Ejemplos WAI-ARIA con HTML, CSS y JavaScript
 
Herramientas de evaluación de accesibilidad web WCAG 2.0
Herramientas de evaluación de accesibilidad web WCAG 2.0Herramientas de evaluación de accesibilidad web WCAG 2.0
Herramientas de evaluación de accesibilidad web WCAG 2.0
 
Ejemplo de corrección de errores de accesibilidad WCAG 2.0 en una página web
Ejemplo de corrección de errores de accesibilidad WCAG 2.0 en una página webEjemplo de corrección de errores de accesibilidad WCAG 2.0 en una página web
Ejemplo de corrección de errores de accesibilidad WCAG 2.0 en una página web
 
Ejemplos de WCAG 2.0
Ejemplos de WCAG 2.0Ejemplos de WCAG 2.0
Ejemplos de WCAG 2.0
 
Resumen de las pautas WCAG 2.0 de W3C
Resumen de las pautas WCAG 2.0 de W3CResumen de las pautas WCAG 2.0 de W3C
Resumen de las pautas WCAG 2.0 de W3C
 
Integración de WAI-ARIA en HTML5
Integración de WAI-ARIA en HTML5Integración de WAI-ARIA en HTML5
Integración de WAI-ARIA en HTML5
 
PAUTAS W3C DE ACCESIBILIDAD PARA HERRAMIENTAS DE EDICIÓN WEB (ATAG 2.0)
PAUTAS W3C DE ACCESIBILIDAD PARA HERRAMIENTAS DE EDICIÓN WEB (ATAG 2.0)PAUTAS W3C DE ACCESIBILIDAD PARA HERRAMIENTAS DE EDICIÓN WEB (ATAG 2.0)
PAUTAS W3C DE ACCESIBILIDAD PARA HERRAMIENTAS DE EDICIÓN WEB (ATAG 2.0)
 
Estándares de accesibilidad web
Estándares de accesibilidad webEstándares de accesibilidad web
Estándares de accesibilidad web
 

Último

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Último (11)

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 

Metodologías de ingeniería Web dirigida por modelos

  • 1. METODOLOGÍAS DE INGENIERÍA WEB DIRIGIDA POR MODELOS José Ramón Hilera Universidad de Alcalá, España Noviembre, 2013 Presentación disponible como video con narración en: http://youtu.be/BVxr4EfozMU
  • 2. Contenido 1. Ingeniería web 2. Ingeniería web dirigida por modelos: Model-Driven Web Engineering (MDWE) – Model-Driven Architecture (MDA) 3. Metodologías MDWE 4. Comparación de metodologías MDWE – – – – – – Soporte MDA Complejidad de los metamodelos Tipos de modelos Transformaciones de modelos Compatibilidad. Herramientas 5. Ejemplo: metodología OOWS 6. Conclusiones 2
  • 3. 1. Ingeniería web Nº especial de la revista IEEE Multimedia, Marzo, 2001 3
  • 4. 1. Ingeniería web Origen del término Nº especial de la revista IEEE Multimedia, Marzo, 2001 4
  • 5. 1. Ingeniería web Tema de discusión Discusión: Ingeniería web vs Ingeniería del software Nº especial de la revista IEEE Multimedia, Marzo, 2001 5
  • 6. 1. Ingeniería web ¿es una nueva disciplina? Nº especial de la revista IEEE Multimedia, Marzo, 2001 6
  • 7. 1. Ingeniería web ¿Ingeniería documental? Discusión: Ingeniería documental vs Ingeniería hiperemedia (Revista Novática, 2001) 7
  • 8. 1. Ingeniería web ¿Ingeniería documental? Discusión: Ingeniería documental vs Ingeniería hiperemedia (Revista Novática, 2001) 8
  • 9. • 1. Ingeniería web Relación con otras ingenierías Cuatro tipos de ingeniería Ingeniería documental Ingeniería hipermedia Ingeniería del software Ingeniería web 9
  • 10. 1. Ingeniería web Relación con otras ingenierías Suele aceptarse que es parte de la Ingeniería del software,… pero añadiendo conocimientos y tecnologías de otras ingenierías. Ingeniería hipermedia Ingeniería documental Ingeniería web Ingeniería del software 10
  • 11. 1. Ingeniería web Artículo de referencia El resto de la presentación es un resumen de este artículo: 11
  • 12. 1. Ingeniería web Metodologías de Ingeniería web 12
  • 13. 1. Ingeniería web Panorama • Demasiados enfoques y vocabularios diferentes • Diferentes métodos y ténicas propuestas para las diferentes fases de desarollo • Pocas herramientas CASE que soporten las propuestas 13
  • 14. 1. Ingeniería web Tendencias • Tienen en común que en todas las metodologías se usa modelado • Es comúnmente aceptado el diferenciar, al menos, tres tipos de modelos de un sistema web – Modelo conceptual de información (Ej. Diagrama de clases UML) – Modelo navegacional (Ej. Propuesta original de J. Conallen, en forma de perfil UML, pero no está estandarizado, hay muchas propuestas de modelos navegacional como perfiles UML) – Modelo de presentación (Ej. Nuevo estándar IFML, disponible como perfil UML, año 2013) • La tendencia es converger hacia el desarrollo web dirigido por modelos 14
  • 15. 2. Ingeniería web dirigida por modelos: Model-Driven Web Engineering (MDWE) • • • • MDWE propone la representación de conceptos mediante metamodelos que son independientes de la plataforma. El proceso de desarrollo se apoya en un conjunto de transformaciones y de las relaciones entre los conceptos de los modelos que permite el desarrollo ágil y asegura la coherencia entre los modelos. Los frameworks como Struts, Django, Ruby on Rails, etc. también se basan en MDE. MDE también se utiliza en las pruebas del software, en el ámbito del desarrollo dirigido por pruebas (TDD (Testing-Driven Development), mediante la definición de metamodelos para representar aspectos de prueba y el uso de transformaciones para derivar casos de prueba. 15
  • 16. 2. MDWE Metamodelos • MDWE se refiere al uso del paradigma basado en modelos en metodologías de desarrollo Web. • Ayuda a obtener modelos en un punto específico del proceso de desarrollo, mediante el uso de los conocimientos adquiridos en las etapas anteriores, con los modelos previamente desarrollados. • Los metamodelos proporcionan una solución para la multiplicidad de vocabularios y enfoques. • Un metamodelo es una representación abstracta de los conceptos o artefactos que se permitirán usar en los modelos que se basen en ese metamodelo. • No se centra en la terminología o forma (símbolos o código) en la que se expresarán los conceptos en los futuros modelos, sino en los conceptos y la relación 16
  • 17. 2. MDWE Ejemplo de metamodelo • Ejemplo de metamodelo sobre los conceptos que se usan en un sitio web • Existen varias notaciones para definir metamodelos: MOF y UML Profile (ambas de OMG), o Ecore y Emfatic (ambas de Eclipse Modeling Framework) 17
  • 18. 2. MDWE Modelos que cumplen el metamodelo Página de inicio Sitio web de la UAH url: www.uah.es Página de historia Sitio web de la UAH url: www.uah.es Página de inicio Página de historia 18
  • 19. 2. MDWE Compatibilidad de enfoques • Las metodologías de desarrollo web puede llegar a ser compatibles, y las diferencias en el vocabulario y la falta de conexión entre los diferentes enfoques se puede resolver con diferentes metamodelos. • Un equipo de desarrollo puede utilizar lo mejor de cada enfoque y, a través de transformaciones, obtener ventajas de otros enfoques. 19
  • 20. 2. MDWE Herramientas CASE • La calidad tanto del metamodelo y transformaciones es fundamental en la obtención de resultados adecuados. • Es esencial el uso de herramientas CASE para crear metamodelos, modelos y definir transformaciones que se ejecuten de forma automática. • Hay herramientas independientes de la metodología, pues se basan en estándares de modelado, especialmente en: – UML Profiles para los metamodelos – QVT (Query View Transformation) para las transformaciones 20
  • 21. 2. MDWE Model-Driven Architecture (MDA) • MDA es el estándar Model-Driven Architecture definido por el Object Management Group (OMG) in 2001 para MDE. • En MDA se proponen cuatro niveles de modelado: – CIM (Computer-Independent Model): Este nivel define conceptos que captan la lógica del sistema. Por ejemplo, los modelos de negocio y los requisitos se incluyen en este nivel. – PIM (Platform-Independent Model): Este nivel agrupa conceptos que definen el sistema de software sin ninguna referencia a la plataforma de desarrollo específica. Por ejemplo, los artefactos de análisis, como el diagrama de clases del dominio del problema, se incluyen en este nivel. – PSM (Platform-Specific Model): En este nivel, se definen los modelos, con detalles que dependen de la plataforma de desarrollo específico. Por ejemplo, una versión del diagrama de clases para Java, C# (.NET) o PHP. – Code: Representa el código fuente de la aplicación. Por ejemplo código en Java, C# o PHP. 21
  • 22. 2. MDWE Niveles MDA • En MDA, se pueden definir transformaciones entre los niveles. • MDA se puede utilizar como marco básico de referencia para comparar diferentes enfoques MDWE. • La mayoría de las metodologías MDWE definen sus metamodelos y transformaciones basadas en el estándar MDA, aunque cada uno de ellos se centran en diferentes niveles de MDA. 22
  • 24. 2. MDWE Transformaciones MDA: ejemplo PIM Fuente: Enterprise Architect 24
  • 25. 2. MDWE Transformaciones MDA: ejemplo PSM Java Fuente: Enterprise Architect 25
  • 26. 3. Metodologías MDWE • OOHDMDA: Basada en la metodología de OOHDM (1995), que separaba el diseño de un sistema web en 3 modelos: conceptual, navegacional y de interface abstracta. • WebML development process. Hay varias propuestas de metamodelos y transformaciones – WebML1: Establece 4 metamodelos: CommonElements, DataView, HypertextView and PresentationView – WebML2: Establece 5 metamodelos: Hypertext Organization, Access Control, Hypertext, Content Management and Content. – Herramienta CASE: WebRatio. 26
  • 27. 3. Metodologías MDWE • W2000: Establece 4 metamodelos: Information, Navigation, Presentation, Dynam ic Behavior. • UWE. Establece 5 metamodelos: Requirements, Content, Navigation, Presenta tion, Process. Y un conjunto de transformaciones para derivar unos modelos de otros. Herramienta CASE: MagicUWE. • NDT: Incluye 2 metamodelos para el nivel PIM: Content, Navigational. Define un conjunto de transformaciones basadas en QVT, pars obtener PIM a partir de CIM. Herramienta CASE: NDT-Suite. 27
  • 28. 3. Metodologías MDWE OOWS • OOWS:Es una extensión para sistemas web, de la metodología OO-Method. – 5 Metamodelos PIM: Estructural (Objetos), Dinámico, Funcional, Navegacional y de Presentación. 28
  • 29. 3. Metodologías MDWE OOWS-Suite • Herramienta CASE: • OOWS-Suite (Integranova) 29
  • 30. 4. Comparación de metodologías MDWE MDA Framework • La mayoría de las metodologías MDWE se centran en el nivel de PIM, que es equivalente al modelado de análisis y diseño de alto nivel • Ninguna de las metodologías cubre MDA por completo. 30
  • 31. 4. Comparación de metodologías MDWE Complejidad de los metamodelos • Los metamodelos rara vez incluyen métodos, ya que normalmente expresan conceptos y sus relaciones y no incluyen información sobre la funcionalidad. • Los conceptos en los metamodelos suelen definirse como una extension formal del concepto “clase” de UML class (mediante UML Profiles). 31
  • 32. 4. Comparación de metodologías MDWE Tipos de modelos • Hay un conjunto de tipos de modelos que aparecen en la mayoría de las metodoologías MDWE 32
  • 33. 4. Comparación de metodologías MDWE Modelos comunes específicos web • Para representar aspectos estáticos de un sitio web, se utiliza un modelo de contenido u objetos (habitualmente Diagrama de Clases UML). • Para representar aspectos sobre las posibilidades de navegación en un sitio web, se utiliza un modelo de navegación (habitualmente basado en un perfil UML). • Para representar aspectos sobre la presentación del sitio web al usuario, se utilizan modelos de presentación de inferfaces abstractas (habitualmente basados en perfiles UML). 33
  • 34. 4. Comparación de metodologías MDWE Transformaciones de modelos • Las transformaciones automáticas ayudan a mantener la trazabilidad entre los modelos 34
  • 35. 4. Comparación de metodologías MDWE Compatibilidad • Una de las ventajas más importantes del paradigma MDWE es la posibilidad de hacer compatibles diversas metodologías. • Si se define un metamodelo o algunas transformaciones utilizando un lenguaje común, la conexión entre las metodologías podría ser sencilla. • Para este fin, el uso de perfiles UML ofrece resultados muy interesantes. • Un UML Profile es un mecanismo de extensión que ofrece UML para extender los conceptos básicos de un enfoque MDWE. 35
  • 36. 4. Comparación de metodologías MDWE Herramientas • Con la definición del perfil, las herramientas CASE basadas en UML pueden proporcionar una solución adecuada para cualquier metodología MDWE y reduce el costo de la curva de aprendizaje, ya que son conocidas por los equipos de desarrollo, lo que hace más fácil la aplicación de estos métodos en el entorno empresarial • WebML, y, principalmente, su herramienta, WebRatio, también se han aplicado con buenos resultados en las empresas reales. • Es necesario disponer de herramienta que puede representar metamodelos y transformaciones escritas, por ejemplo, en QVT. • En este sentido, el entorno EMF (Eclipse Modeling Framework) y su lenguaje de transformación ATL ofrecen resultados prometedores. • Algunos herramientas como Moment o SmartQVT, o la inclusión de MDA, y de lenguajes de transformación en herramientas basadas ​en UML, como el caso de Enterprise Architect, ofrecen soluciones prometedoras. 36
  • 37. 5. Ejemplo metodología OOWS Fase de especificación del sistema 37
  • 38. 5. Ejemplo metodología OOWS Modelo de requisitos (CIM) CIM: Modelo de requisitos (Casos de uso) • Las compras que se realicen se deberán ir incluyendo, simbólicamente, en una cesta de la compra; el usuario podrá consultar en cualquier momento el contenido de su cesta y realizar modificaciones sobre su contenido. • Esta cesta de la compra se creará en el momento en el que se reciba la petición de entrada en el sistema y pertenecerá al usuario que está navegando en ese momento. • Todas las operaciones que el usuario realice sobre el sistema se harán de forma anónima, de modo que el usuario no deberá identificarse (registrarse) hasta que no vaya a confirmar su compra. • Para comprar un álbum se deberá llegar a él a través del autor o de la categoría a la que pertenece. • Desde la página de inicio podremos acceder a un listado de autores o a un listado de categorías y desde ahí al listado delos álbumes del autor o de la categoría que hayamos seleccionado. • Cuando seleccionemos un álbum de la lista, se mostrarán todos los datos de ese álbum y se podrá comprar. Esto hará que el álbum sea incluido en la cesta de la compra de ese usuario y que se muestre su contenido actual. • Mientras veamos el contenido de la cesta, podremos cambiar el número de unidades que se desea adquirir de cada álbum de los comprados hasta el momento o eliminar alguna de las compras de la cesta. • Cuando se decida confirmar la compra se realizarán dos acciones: la primera consistirá en crear una factura (para lo que el comprador debe haberse identificado) y la segunda será reducir el stock de los álbumes comprados; cuando se haya confirmado una compra, ya no se podrá modificar el contenido de la cesta. Fuente: http://cic.puj.edu.co/wiki/lib/exe/fetch.php? media=materias:oows.pdf 38
  • 39. 5. Ejemplo metodología OOWS Modelo de estructural o de objetos (PIM) 39
  • 40. 5. Ejemplo metodología OOWS Modelo dinámico (PIM) Modelo dinámico de la clase “Cesta” 40
  • 41. 5. Ejemplo metodología OOWS Modelo funcional (PIM) • El Modelo Funcional captura la semántica asociada a los cambios de estado de los objetos. • El valor de cada atributo es modificado dependiendo de la acción que activó el cambio de estado, de los argumentos de dicho evento y del estado actual del objeto. • Ejemplo de parte del modelo funcional para la clase “Linea”: 41
  • 42. 5. Ejemplo metodología OOWS Modelo de navegación (PIM) 1/2 • Representa los contextos de navegación que han sido identificados en las primeras fases de especificación del sistema. • También aparecen sobre el modelo los servicios que son ejecutados al iniciar y finalizar una sesión. – Cuando el servidor Web recibe una petición de un internauta, ejecuta el servicio crear del Usuario Navegante asociándole además una Cesta. – Cuando el Usuario Navegante abandona el sistema se ejecuta el servicio destruir, eliminando además, si no ha sido confirmada, su Cesta asociada. • Se aprecia que el Usuario Navegante siempre tendrá disponibles los contextos (marcados como contextos de exploración) Autores, Categorías, Cesta y Registrarse. • A partir de estos, y siguiendo diferentes caminos navegacionales, podrá alcanzar los demás (Detalles_Autor, Detalles_Categoría, Alb umes y Facturas). 42
  • 43. 5. Ejemplo metodología OOWS Modelo de navegación (PIM) 2/2 • En la figura se describe con detalle el contexto Autores. • Donde se recupera la información sobre un autor (su nombre), los álbumes que están disponibles de este autor (título, año y precio) y el nombre de la categoría del álbum. • Seleccionando el título de un álbum podremos navegar al contexto Álbumes, donde se proporcionará información adicional del álbum y podremos comprarlo. • Además, se ha definido una estructura de acceso índice de tipo atributo, que permitirá acceder a los autores por su letra_inicial (atributo derivado definido en la clase Autor). • También se ha definido un filtro de tipo aproximado para facilitar la búsqueda de autores por su nombre. 43
  • 44. 5. Ejemplo metodología OOWS Modelo de presentación (PIM) • En este modelo se captan los requisitos de presentación de información para cada contexto del mapa de navegación. • En la figura se muestra como ejemplo la plantilla de presentación asociada al contexto Autores. • En ella se especifica que los objetos de la clase directora se presentarán en modo tabular y el contexto (objetos de la clase directora) estará paginado con una • cardinalidad estática de 1 elemento, con posibilidad de acceso secuencial y circular. • El patrón de presentación asociado a la relación de contexto definida entre un Autor y sus Albumes será maestro-detalle, con el detalle en modo tabular y con una paginación de cardinalidad estática de 5 elementos, con acceso secuencial, circular. • Se ha definido una ordenación de los elementos de la clase Album por el año de modo ascendente y la relación de contexto definida entre la clase Album con la clase Categoría se presentará en modo tabular (relación “1 a 1”). 44
  • 45. 5. Ejemplo metodología OOWS Fase de desarrollo de la solución 45
  • 46. 5. Ejemplo metodología OOWS Modelo de presentación (PIM) • En una estrategia de compilación de modelos, se obtiene el prototipo software completo de manera automática, siguiendo la especificación realizada del sistema. • En la figura aparece una posible interfaz de usuario que representa correctamente los requisitos, tanto navegacionales como de interfaz, especificados para el actor Usuario Navegante. • Se puede apreciar que existe un enlace desde esta página (en realidad desde cualquier página, ya que se el frame izquierdo es común a todas las páginas) a cada uno de los contextosde exploración especificados (Autores, Categorías, Cesta y Registrarse). • Esta página proporciona información sobre un autor y sus álbumes disponibles, mostrando su título, año, precio y categoría. • Además, aparece el índice que se había especificado, usando el atributo letra_inicial de la clase Autor y también el mecanismo de búsqueda de de autores por su atributo nombre. • Respecto a presentación de información, la paginación del contexto (objetos de la clase directora Autor) se realiza elemento en elemento (cardinalidad 1). • Es por esto que sólo aparece información sobre un autor o grupo (Queen) y se proporcionan mecanismos para avanzar o retroceder secuencialmente. • La información complementaria sobre los álbumes para este grupo aparece en modo maestro-detalle (con el detalle en modo tabular) y además paginado de 5 en 5 elementos, como había sido explicitado. 46
  • 47. 6. Conclusiones • Dos ventajas importantes que ofrece el paradigma MDWE son – la reducción del tiempo de desarrollo mediante el uso de transformaciones automáticas – y la concordancia entre los modelos en diferentes fases. • No es necesario definir una herramienta CASE específica para cada metodología. – Con sólo la definición del perfil, cualquier herramienta CASE basada en UML se puede utilizar para la aplicación de la metodología. • Estas herramientan soportan perfiles UML para defininr metamodelos, pero no transformaciones basadas en el estándar SVQ.. – Algunas herramientas, como Enterprise Architect o Eclipse Modeling Framework (EMF), definen su propio lenguaje de transformación (por ejemplo, ATL en EMF). 47
  • 48. Actividades recomendadas Lectura de libro de 2013 • Metamodelado: – Cap. 3. Una introducción al metamodelado – Cap. 4. El lenguaje OCL – Cap. 5. Perfiles UML • Transformación de modelos – Cap. 10. Transformaciones de modelos – Cap 12. El lenguaje QVT • Creación de lenguajes gráficos de modelado – Cap. 6. Eclipse Graphical Modeling Framework – Cap. 8. Microsoft DSL Tools 48
  • 49. Actividades recomendadas Revisión de estándares MDA de OMG • Metamodelado: – MDA – Lenguaje MOF – Lenguaje OCL – Perfiles UML • Transformación de modelos – Lenguaje QVT • Lenguajes de modelado específico – BPMN: Business Process Model and Notation – IFML: Interaction Flow Modeling Language – SYSML: Systems Modeling Language 49
  • 50. Actividades recomendadas Probar herramientas CASE MDA • Enterprise Architect • Eclipse • Otras . . . 50
  • 51. Actividades recomendadas Probar herramientas: Enterprise Architect (1) 51
  • 52. Actividades recomendadas Probar herramientas: Enterprise Architect (2) 52
  • 53. Actividades recomendadas Probar herramientas CASE: Eclipse (1) • Plugins 53
  • 54. Actividades recomendadas Probar herramientas CASE: Eclipse (2) • Plugins 54