Ingeniería WEB
La World Wide Web y la Internet son posiblemente, los desarrollos más importantes en la historia de la computación. Estas tecnologías han llevado a todos (con cientos de millones más que eventualmente seguirán) a la era de la informática; además se han convertido en parte integral de la vida diaria en la primera década del siglo XXI.
Los sistemas y aplicaciones basados en Web (WebApps) ofrecen un complejo arreglo de contenido y funcionalidad a una amplia población de usuarios finales. La Ingeniería Web (IWeb) es el proceso con el que se crean WebApps de alta calidad. La IWeb no es un clon perfecto de la Ingeniería de Software, pero toma prestados muchos conceptos y principios fundamentales de ella. Además el proceso IWeb acentúa actividades técnicas y administrativas similares.
Esto conduce a una pregunta clave: ¿se pueden aplicar principios, conceptos y métodos de la ingeniería del software al desarrollo web? Es posible aprovechar muchos de ellos, pero su aplicación puede requerir un giro un tanto diferente.
Para evitar una Web enmarañada y lograr mayor éxito en el desarrollo y la aplicación de sistemas basados en Web complejos y a gran escala, existe una apremiante necesidad de enfoques disciplinados y nuevos métodos y herramientas con que desarrollar, desplegar y evaluar los sistemas y aplicaciones basados en Web. Tales enfoques y técnicas deben considerar las características especiales de los nuevos medios, los ambientes y escenarios operativos, y la multiplicidad de perfiles de usuario que colocan desafíos adicionales al desarrollo de aplicaciones basadas en Web.
La IWeb aplica “sólidos principios científicos, de ingeniería y de administración, y enfoques disciplinados y sistemáticos para el desarrollo, despliegue y mantenimiento exitosos de sistemas y aplicaciones basados en Web de alta calidad”.
Ingeniería WEB guiada por modelos
El Desarrollo del Software Guiado por Modelos (MDSD por sus siglas en inglés) está convirtiéndose en un enfoque ampliamente aceptado para el desarrollo aplicaciones complejas. MDSD se avoca al uso de modelos como la clave principal de artefactos en todas las fases del desarrollo, desde la especificación del sistema y análisis, hasta el diseño y la implementación. Cada modelo usualmente se enfoca en un problema, independiente del resto de los usos involucrados en la construcción del sistema. Además, la funcionalidad del sistema puede ser separada de su implementación final; la lógica de negocios puede separarse de la plataforma tecnológica planificada. Las transformaciones entre modelos permiten la implementación automática de un sistema desde diferentes modelos definidos para él.
El enfoque MDWE (Ingeniería Web Guiada por Modelos) provee metodologías y herramientas para el diseño y desarrollo de aplicaciones Web. Estas herramientas dirigen diferentes problemáticas usando modelos separados (navegación, presentación, datos, etc.), y son soportados por modelos compilados que producen la mayoría de las páginas y lógica de las aplicaciones Web basados en estos modelos. Sin embargo, estos propósitos también presentan algunas limitaciones, especialmente cuando tienen que modelar problemáticas futuras, tales como estilos arquitectónicos o de distribución. Más aún, los sistemas Web actuales necesitan interoperar con otras aplicaciones externas, algo que requiere su integración con servicios Web de terceros, portales y también con sistemas de legado (Legacy Systems). Finalmente, muchos de los propósitos de la IWeb no explotan completamente todo los beneficios potenciales de MDSD, tal como la completa independencia de la plataforma, transformación y mezcla de modelos, o metamodelado. Miller y Mukerji de la OMG han introducido un nuevo enfoque para organizar el diseño de una aplicación en modelos separados de tal forma que portabilidad, interoperabilidad y reusabilidad pueden obtenerse a través de la separación arquitectónica en problemáticas (concerns).
MDA cubre un amplio espectro de tópicos y usos (metamodelos basados en MOF, perfiles UML, transformación de modelos, lenguajes y herramientas de modelado, etc.) y también provee la interoperabilidad requerida entre modelos y herramientas de distintos proveedores de software. Otros campos de estudio, como la Factoría de Software provee conceptos y recursos efectivos para el diseño y desarrollo basado en modelos de aplicaciones complejas, y es una expectativa que también puedan ser utilizados en la IWeb.
La comunidad de Ingeniería Web esta consciente de esta tendencia y fueron emergiendo diferentes enfoques para proveer soporte al desarrollo de aplicaciones Web Guiada por Modelos. Estos enfoques introducen modelos conceptuales para describir diferentes aspectos que definen una aplicación Web de una manera abstracta. Se propone el uso de transformaciones modelo-a-modelo y modelo-a-texto para obtener código que represente sin ambigüedades el modelo conceptual de la aplicación Web. Varios métodos de la IWeb que siguen este enfoque son: OOHDM, WebML, WSDM, UWE y OOH. Todos estos métodos han sido aceptados ampliamente por la comunidad de Ingeniera Web y han sido probados y validados en varias aplicaciones.
Propósitos de la Ingeniería WEB guiada por modelos
Como se mencionó anteriormente la IWeb es un dominio específico en el cual MDSD puede aplicarse, debido a sus características particulares: existe un conjunto de problemáticas que necesitan ser estudiadas (navegación, presentación, procesos de negocio, etc.); las clases básicas de aplicaciones Web son bien conocidas (centrado en el documento, transaccional, basado en flujo de tareas, colaborativo, etc.); y el uso de patrones arquitectónicos y características estructurales en sistemas Web son reducidos y bien definidos. De hecho, enfoques existentes de modelos basados en IWeb proveen excelentes metodologías y herramientas para el diseño y desarrollo de aplicaciones Web.
Estos enfoques vienen de dos grandes áreas. La primera, es una propuesta donde se usan métodos de diseño basados en hipermedios, introduciendo expresividad y mecanismos requeridos para capturar elementos relevantes de la Web, como la navegación. Ejemplos prominentes de estas iniciativas son HDM, WebML, W2000, WSDM. La mayoría están basadas en el modelo E/R, o en extensiones de este. Otro grupo más reciente de enfoques emergieron como extensiones de técnicas de desarrollo orientado a objetos, adaptándose a las características particulares de sistemas Web. En este grupo podemos encontrar métodos como OOHDM, UWE, OOWS, OO-H o MIDAS.
Estas propuestas son guiadas por modelos como contenido, navegación y presentación, luego por modelos compilados que producen la mayoría de las páginas y lógica de las aplicaciones Web desde los modelos originales. La mayoría cuentan con procesos de desarrollo que soportan su notación y herramientas particulares, y están siendo utilizadas en ambientes comerciales para la construcción de diferentes clases de sistemas Web. Y aunque todas las metodologías adoptan diferentes notaciones y proponen sus propias construcciones, todas comparten conceptos comunes, y de esta manera pueden ser consideradas como basadas en metamodelos comunes.
Identificación de modelos referenciales de aplicaciones WEB
En general, las clases de problemáticas involucradas en el desarrollo de aplicaciones Web dependerán directamente del tipo de aplicaciones Web que serán diseñadas y también de los requerimientos del proyecto. Las aplicaciones Web han sido clasificadas por su complejidad y su historia de desarrollo en:
- Sitios Web centrados en Documentos, las cuales son colecciones jerárquicas de documentos HTML estáticas (básicamente, textos planos e imágenes) que ofrecen información de solo lectura basados en un conjunto de contenido estructurado, patrones de navegación y presentación de características diseñadas y almacenadas a priori. La simplicidad y estabilidad de estos sistemas limitan el ámbito del modelado Web en tres modelos: un modelo de interfaz de usuario estructurado que trata con el contenido de información solicitada por el cliente, un modelo de navegación que señala las rutas de la red entre la aplicación Web y el modelo de presentación que se refiere a los elementos visuales que están involucrados en las páginas Web.
- Aplicaciones Web Transaccionales, los cuales incorporan soporte para persistir y almacenar datos, localización de información, control de concurrencia, tolerancia a fallas y administración de la configuración. Adicionalmente a los aspectos de navegación de cualquier aplicación de hipermedia, el desarrollo de aplicaciones Web transaccionales implica la necesidad de un modelo efectivo de estructura de información, el cual es capaz de capturar los procesos de inserción, actualización y eliminación de datos, y también de un modelo de distribución el cual permite el establecimiento de alternativas para el manejo de transacciones. Se requerirá una clara separación entre diseño de datos, aspectos de comportamiento de la aplicación y de interfaz de usuario.
- Aplicaciones Web interactivas, las cuales son aplicaciones basadas en navegadores que proporcionan contenido dinámico de páginas Web, por esta razón proveen a los usuarios información personalizada. Esta característica requiere de un modelo de procesos que describa como las clases de negocio manejan la información almacenada (por ejemplo los elementos del modelo de estructura de información), y también requieren que los modelos de navegación y presentación sean parametrizables para proveer información a medida a los usuarios individuales de acuerdo a sus preferencias, metas y conocimiento. Más aún, este tipo de aplicaciones pone énfasis en el modelado no solo de estructura de información por sí misma y de sus futuros consumidores, pero también las relaciones o puentes entre el modelo de estructura de información, modelo de navegación y modelo del negocio.
- Aplicaciones Web basadas en Workflow (flujos de trabajo), los cuales proveen soporte para el modelado de procesos de negocio, flujos de actividad, reglas de negocio, interacción entre actores, roles e infraestructura de alto-rendimiento para almacenamiento de datos (manejo de contenido). La información es necesaria no solo para los actores del sistema pero también para sus procesos. Para esta clase de aplicaciones Web, como mínimo se requieren los siguientes modelos: un modelo de estructura de interfaz de usuario, un modelo de navegación, un modelo de presentación, un modelo de estructura de información, un modelo de negocio (por ejemplo, la descripción de cómo la funcionalidad es encapsulada en componentes de negocio y servicios), un modelo de proceso (con una descripción de las características de los procesos internos) y un modelo de arquitectura de software identificando los subsistemas, componentes y conectores (software y hardware) que la aplicación debe tener.
- Aplicaciones Web colaborativas, que son aquellas que se ejecutan por diferentes grupos de usuarios que acceden a los recursos Web para llevar a cabo una tarea específica. Estos están compuestos de modelos de descomposición de la aplicación Web diseñada en vistas o espacios de trabajo basados en diferentes roles de usuario. Para cada grupo de usuarios, los requerimientos funcionales, tareas y actividades que serán realizadas deben ser especificadas. Estos usos involucran modularidad y requerimientos de distribución en el modelo de proceso. Finalmente, la información valiosa que va a ser manipulada por vistas debe ser también modelada.
- Aplicaciones Web orientadas a portales, los cuales integran recursos (datos, aplicaciones y servicios) de diferentes fuentes en un solo punto. Desde la perspectiva de usuario final, un portal es un sitio Web con páginas que son organizadas por alguna forma de navegación. Las páginas pueden desplegar contenido de HTML estático o servicios Web complejos. La personalización, que es el comportamiento que permite marcar la senda de los usuarios tanto como los flujos de mensajes en servicios Web colaborativos, son extremadamente relevantes en este tipo de aplicaciones. Por consiguiente, se necesita de un modelo de coreografía para expresar el comportamiento esperado por procesos del sistema como por los servicios externos para poder chequear su compatibilidad e interoperabilidad que permitan componerlos para construir el portal.
- Aplicaciones Web ubicuas, las cuales necesitan ser accedidas en cualquier momento y en cualquier lugar, y por cualquier medio, deben correr en una variedad de plataformas, incluyendo teléfonos móviles, asistentes digitales personales (PDA’s), computadoras desktop, etc. Esto implica que su presentación y modelos navegacionales deben ser adaptables no solo por diferentes clases de usuarios, pero también por diferentes clases de plataformas y contextos. Consecuentemente, esta clase de aplicaciones requiere modelar la separación entre plataformas-independientes y plataformas-específicas.
Separación de Problemáticas
La separación de problemáticas es una técnica general establecida en la ingeniería del software para reducir la complejidad de un sistema. También se aplica para el análisis y diseño de aplicaciones IWeb. Distinguiremos cuatro problemáticas en estas aplicaciones: contenido, navegación, proceso y presentación. En el nivel de análisis las problemáticas de contenido, navegación y proceso son capturadas juntas en el modelo de requerimientos el cual se basa en el uso especializado de casos de uso y clases regulares. A nivel de diseño todas las problemáticas son dirigidas separadamente. Cada problemática se representa por su correspondiente modelo, por ejemplo modelo de contenido, modelo de navegación, modelo de procesos y modelo de presentación.
Por otro lado la visión de MDA es la transformación automática de modelos de diseño de plataforma independiente a modelos de una plataforma Web específica, como ser plataformas Web J2EE o plataformas Web ASP.NET. La siguiente figura ilustra estas transformaciones:
Fig 1. Transformaciones PIM2PSM.
Un argumento de MDA es que las tecnologías de hoy en día cambian rápidamente y para una nueva plataforma solo se requerirá de otra transformación que debe ser construida junto con el correspondiente metamodelo de la plataforma destino. Desafortunadamente, esta idea simple es relativamente poco práctica de implementar en aplicaciones reales. Sin embargo, los rápidos cambios de tecnología no ocurren a gran escala (como una plataforma Web totalmente nueva cada año), pero si en escalas más pequeñas evolucionando versiones de tecnología o por causas de arquitecturas modulares de plataformas Web, los cuales permiten enchufar diferentes tecnologías. Aunque, esto no es suficiente para considerar la plataforma destino como un todo. Habrá que tener en cuenta la descomposición de las partes de una plataforma y en la descomposición de sus correspondientes transformaciones.
Como resultado de esta discusión, la transformación de modelos PIM a modelos PSM deberá descomponerse en cuatro diferentes transformaciones para las problemáticas de contenido, navegación, proceso y presentación de una aplicación Web. Cada transformación parcial es el objetivo de una parte específica de la plataforma Web la cual es responsable de manejar la problemática correspondiente. Claro que, una parte de la plataforma puede manejar varias problemáticas. La plataforma Web deberá ser diseñada de tal forma que una parte pueda ser intercambiada sin la influencia de otras partes y sus correspondientes transformaciones, por ejemplo usar CORBA en vez de RMI como componente tecnológico en el modelo de contenido. Por consiguiente, en este enfoque la visión que tiene MDA de transformaciones a plataformas específicas es refinada de tal manera que las partes de una plataforma pueden ser intercambiadas separadamente.
Fig 2. Descomposición de Transformaciones PIM2PSM.
Estado del Arte
En esta sección estudiaremos los métodos más relevantes de la IWeb que han sido propuestos para soportar el desarrollo de aplicaciones Web. En particular haremos análisis en el proceso que guía cada método, el enfoque que requieren para realizar las especificaciones de requerimientos de la aplicación Web y los mecanismos de generación de código propuestos por las mismas.
1. OOHDM: Object Oriented Hypermedia Design Model
OOHDM fue desarrollado por Schwabe y Rossi en 1995. Fue uno de los primeros enfoques que provee una solución metodológica para el desarrollo de aplicaciones Web. Este enfoque toma algunas ideas propuestas en HDM HyperMedia Design Model y las aplica en un proceso de desarrollo bien definido basado en el paradigma Orientado a Objetos. OOHDM enfatiza en la separación de aspectos navegacionales de otros aspectos como son el aspecto conceptual y el aspecto de interface. Otros enfoques se han inspirado en esta idea de la separación de aspectos. Finalmente, es bueno remarcar que OOHDM no es un enfoque cerrado y está constantemente siendo extendido y actualizado.
El proceso de desarrollo en este enfoque está dividido en cinco fases principales:
- Captura de requerimientos: En esta fase, los usuarios que deben interactuar con la aplicación Web tienen que estar bien definidos. En versiones previas de OOHDM esta fase no era considerada, fue incluida después de hacerle algunas extensiones al método.
- Diseño Conceptual: Esta fase consiste en la definición de un esquema conceptual donde se describe el aspecto estático del sistema.
- Diseño Navegacional: En esta fase, definimos un diagrama de clases de navegación y un diagrama de estructura de navegación. El primero representa las posibles rutas de navegación estáticas en el sistema. El segundo extiende el diagrama de clases de navegación incluyendo accesos estructurados y contextos de navegación.
- Diseño de Interfaz Abstracta: Esta fase consiste en una descripción de la interfaz de usuario de una manera abstracta. Para hacer esto, se desarrolla un modelo de interfaz abstracta usando la técnica denominada ADV Abstract Data View.
- Implementación: En esta fase, la aplicación Web es implementada, y se basa en los modelos previos.
2. W2000
W200 fue desarrollado por Luciano Baresi, Franca Garzotto y Paolo Paolini en 2001. Este método se presenta como una extensión y adecuación de UML con conceptos de diseño Web que nació del modelo HDM.
W200 fue desarrollado por Luciano Baresi, Franca Garzotto y Paolo Paolini en 2001. Este método se presenta como una extensión y adecuación de UML con conceptos de diseño Web que nació del modelo HDM.
El proceso de desarrollo de este método está dividido en 5 fases que son:
- Análisis de Requerimientos: Esta fase consiste en estudiar los requerimientos de la aplicación Web mediante casos de uso UML.
- Diseño de Evolución de Estado: En esta fase, el analista debe indicar cómo evolucionan los contenidos. Esta fase no es obligatoria, pero es requerida solo para aplicaciones con alta complejidad.
- Diseño de Hipermedia: Esta fase consiste en el diseño de la estructura navegacional de la aplicación Web. Esta fase se basa en el uso de HDM.
- Diseño Funcional: Esta fase especifica las operaciones principales que realizaran los usuarios en la aplicación.
- Diseño de Visibilidad: En esta fase, se definen perspectivas diferentes de la aplicación Web para cada tipo diferente de usuario.
3. UWE: UML-Based Web Engineering
UWE fue desarrollado por Nora Koch desde 1998. UWE es un enfoque metodológico para el desarrollo de aplicaciones Web que se basa completamente en técnicas de diagramación con UML. Este enfoque está actualmente abierto y muchos investigadores están continuamente mejorándolo. UWE propone un proceso de diseño semi-automático soportado por herramientas CASE como ArgoUWE y MagricDraw.
UWE fue desarrollado por Nora Koch desde 1998. UWE es un enfoque metodológico para el desarrollo de aplicaciones Web que se basa completamente en técnicas de diagramación con UML. Este enfoque está actualmente abierto y muchos investigadores están continuamente mejorándolo. UWE propone un proceso de diseño semi-automático soportado por herramientas CASE como ArgoUWE y MagricDraw.
El proceso de desarrollo de UWE está basado en MDA. De lo cual se genera un proceso MDD que sufre transformaciones de modelo automáticas en cada paso basado en reglas definidas a nivel de metamodelos. Podemos dividir este proceso en tres fases:
- Especificación de Requerimientos: estos requerimientos definen el modelo CIM.
- Elaboración de Modelos PIM: estos modelos se derivan de los modelos de requerimientos (frecuentemente con información adicional). En el nivel PIM, se diseñan modelos separados de las problemáticas de la aplicación Web (contenido, navegación, procesos de negocio y presentación). Estos modelos son integrados en una gran imagen que mezcla todas las problemáticas y se usa para validar el diseño de los modelos.
- Elaboración de Modelos PSM: los modelos PSM se derivan del modelo validado, desde el cual se puede generar código fuente.
4. WebML: Web Modelling Language
WebML fue desarrollado por Piero Fraternalli y Stephano Ceri en el 2000. WebML es un lenguaje de modelación de alto nivel para aplicaciones Web. WebML sigue el estilo de los modelos Entidad-Relación y UML ofreciendo notación propietaria y representación gráfica usando sintaxis UML. Este enfoque actualmente no está cerrado y continuamente se extiende y mejora. WebML es uno de los pocos enfoques que presenta una herramienta que soporta todo el proceso de desarrollo denominada WebRatio. El proceso de desarrollo se divide en seis fases:
WebML fue desarrollado por Piero Fraternalli y Stephano Ceri en el 2000. WebML es un lenguaje de modelación de alto nivel para aplicaciones Web. WebML sigue el estilo de los modelos Entidad-Relación y UML ofreciendo notación propietaria y representación gráfica usando sintaxis UML. Este enfoque actualmente no está cerrado y continuamente se extiende y mejora. WebML es uno de los pocos enfoques que presenta una herramienta que soporta todo el proceso de desarrollo denominada WebRatio. El proceso de desarrollo se divide en seis fases:
- Análisis de Requerimientos: esta fase se enfoca en la recolección de información acerca del dominio de la aplicación, las funciones esperadas y las específicas.
- Modelado Conceptual: esta fase consiste en definir esquemas conceptuales basados en WebML, los cuales expresan la organización de la aplicación a un nivel de abstracción alta e independiente de los detalles de implementación.
- Implementación: esta fase consiste en la traducción de esquemas conceptuales basados en WebML en una implementación tecnológica específica.
- Testeo y Evaluación: en esta fase, la aplicación Web es testeada y validada para poder mejorar sus cualidades internas y externas.
- Despliegue: esta fase consiste en desplegar una aplicación Web en el tope de la arquitectura específica.
- Mantenimiento y Evolución: en esta fase, la aplicación es mantenida y con posibles evoluciones después de su despliegue.
5. WSDM: Web Site Design Method
WSDM fue desarrollado por De Troyer y Leune en 1998. Es un enfoque centrado en el usuario. WSDM define una aplicación Web describiendo los requerimientos de los diferentes grupos de usuarios que deben interactuar con ella. Fue uno de los primeros enfoques en considerar el problema de la diversidad de usuarios en aplicaciones Web. Su proceso de desarrollo se divide en cinco fases:
WSDM fue desarrollado por De Troyer y Leune en 1998. Es un enfoque centrado en el usuario. WSDM define una aplicación Web describiendo los requerimientos de los diferentes grupos de usuarios que deben interactuar con ella. Fue uno de los primeros enfoques en considerar el problema de la diversidad de usuarios en aplicaciones Web. Su proceso de desarrollo se divide en cinco fases:
- Sentencias de Especificación de Misión: en esta fase, debemos expresar el propósito y el objetivo de la aplicación Web. Se deben declarar la audiencia destino.
- Modelado de Usuarios: en esta fase, los usuarios son clasificados y agrupados con el objetivo de estudiar los requerimientos del sistema de acuerdo a cada grupo de usuario.
- Diseño Conceptual: en esta fase, se diseñan diagramas de clase para representar el modelo estático del sistema y el modelo navegacional para representar las posibles navegaciones.
- Diseño de la Implementación: esta fase consisten en la traducción de los modelos definidos en la fase de diseño conceptual en un lenguaje abstracto que es interpretado fácilmente por la computadora.
- Implementación: en esta fase, el diseño de implementación resultante es escrito en un lenguaje de programación específico.
6. OOWS
OOWS es una extensión de método de desarrollo de software orientado a objetos OO-Method para el desarrollo de aplicaciones Web, donde el modelo navegacional como el modelo de Contenido se representa por Diagrama de Clases. El aspecto de presentación es integrado en el aspecto de navegación, de tal forma que no existe un modelo dedicado a la presentación.
OOWS es una extensión de método de desarrollo de software orientado a objetos OO-Method para el desarrollo de aplicaciones Web, donde el modelo navegacional como el modelo de Contenido se representa por Diagrama de Clases. El aspecto de presentación es integrado en el aspecto de navegación, de tal forma que no existe un modelo dedicado a la presentación.
Recientemente, se propuso una extensión al modelo guiado por OOWS para soportar procesos de negocio con énfasis en la integración de aplicaciones externas y el desarrollo de interfaces de usuario dedicadas considerando tareas manuales y automáticas. Sin embargo, el modelo navegacional de OOWS ha sido extendido con la inclusión de elementos de interfaz de usuario gráficas para permitir la interacción entre usuarios y procesos de negocios usando la notación UML.
Los procesos son capturados en un modelo de proceso de negocio usando una versión extendida de BPMN (Business Process Modeling Notation) y su correspondiente metamodelo extendido para el modelado de negocio. Este provee conceptos como flujo de objetos (correspondiente a nodos de actividad o eventos), conexión entre objetos, líneas y artefactos (correspondiente a nodos de objetos). En el modelo del proceso se considera la ejecución de tareas manuales, por ejemplo, tareas que son ejecutadas por humanos y que no se ejecutan automáticamente por el sistema o por servicios Web.
7. OO-H: Object-Oriented Hypermedia Method
El método OOH fue presentado por Jaime Gomez, Cristina Cachero y Oscar Pastor en el 2000. Este enfoque emerge formalmente como una extensión del método OO-Method. Sin embargo, en las más recientes publicaciones los autores disocian OOH de OO-Method y se enfocan en tratar de alcanzar la personalización de sitios Web. Este enfoque esta soportado por la herramienta Visual Wade.
El proceso de desarrollo se divide en cuatro fases:
- Análisis de requerimientos: en esta fase, los requerimientos de la aplicación Web son especificados para cada tipo de usuario.
- Ingeniería: esta fase involucra todas las actividades relacionadas al análisis y diseño del producto de software. En particular, estas actividades son cinco: dos actividades de análisis (análisis de dominio y navegacional) y tres actividades de diseño (diseño de dominio, navegación y presentación).
- Construcción y Adaptación: esta fase constituye la implementación de la aplicación Web.
- Evaluación por el Cliente: en esta fase, los clientes evalúan la aplicación Web desarrollada.
Conclusión de Métodos IWEB
Hemos presentado un análisis corto de los principales métodos que soportan el desarrollo de aplicaciones IWEB, en este análisis se describieron las fases de su proceso de desarrollo y su soporte por algunas herramientas de Software comerciales.
Como conclusión, podemos indicar que la metodología que se acerca más al enfoque MDA es indudablemente la metodología UWE, ya que es una extensión a UML y proporciona guías para la construcción de modelos MDA de forma sistemática y con pasos acertados.