UWE es un proceso del desarrollo para aplicaciones Web enfocado
sobre el diseño sistemático, la personalización y la generación semiautomática
de escenarios que guíen el proceso de desarrollo de una aplicación Web. UWE describe
una metodología de diseño sistemática, basada en las técnicas de UML, la
notación de UML y los mecanismos de extensión de UML.
Es una herramienta que nos permitirá modelar
aplicaciones web, utilizada en la ingeniería web, prestando especial atención
en sistematización y personalización (sistemas adaptativos). UWE es una
propuesta basada en el proceso unificado y UML pero adaptados a la web. En
requisitos separa las fases de captura, definición y validación. Hace además
una clasificación y un tratamiento especial dependiendo del carácter de cada
requisito.
En el marco de UWE es
necesario la definición de un perfil UML (extensión) basado en estereotipos con
este perfil se logra la asociación de una semántica distinta a los diagramas
del UML puro, con el propósito de acoplar el UML a un dominio específico, en
este caso, las aplicaciones Web. Entre los principales modelos de UWE podemos
citar: el modelo lógico-conceptual, modelo navegacional, modelo de
presentación, visualización de Escenarios Web y la interacción temporal, entre
los diagramas: diagramas de estado, secuencia, colaboración y actividad.
UWE define vistas especiales representadas gráficamente por
diagramas en UML. Además UWE no limita el número de vistas posibles de una
aplicación, UML proporciona mecanismos de extensión basados en estereotipos.
Estos mecanismos de extensión son los que UWE utiliza para definir estereotipos
que son lo que finalmente se utilizarán en las vistas especiales para el
modelado de aplicaciones Web. De esta manera, se obtiene una notación UML
adecuada a un dominio en específico a la cual se le conoce como Perfil UML.
UWE está
especializada en la especificación de aplicaciones adaptativas, y por tanto
hace especial hincapié en características de personalización, como es la
definición de un modelo de usuario o una etapa de definición de características
adaptativas de la navegación en función de las preferencias, conocimiento o
tareas de usuario.
Además de estar considerado como una extensión del
estándar UML, también se basa en otros estándares como por ejemplo: XMI como
modelo de intercambio de formato, MOF para la meta-modelado, los principios de
modelado de MDA, el modelo de transformación del lenguaje QVT y XML.
Actividades
de modelado de UWE.
Las actividades base de
modelado de UWE son el análisis de requerimientos, el modelo conceptual, el
modelo navegacional y el modelo de presentación. A estos modelos se pueden
sumar otros modelos como lo son el modelo de interacción y la
visualización de Escenarios Web.
El modelo que propone UWE está compuesto por etapas
o sub-modelos:
·
Modelo de Casos de Uso
·
Modelo de Contenido
·
Modelo de Usuario
·
Modelo de estructura
·
Modelo Abstracto
·
Modelo de Adaptación
·
modelo de flujo de presentación.
·
modelo de ciclo de vida del objeto.
Ø
Modelo Lógico-Conceptual.
UWE apunta a construir un
modelo conceptual de una aplicación Web, procura no hacer caso en la medida de
lo posible de cuestiones relacionadas con la navegación, y de los aspectos de
interacción de la aplicación Web. La construcción de este modelo
lógico-conceptual se debe llevar a cabo de acuerdo con los casos de uso que se
definen en la especificación de requerimientos. El modelo conceptual incluye
los objetos implicados en las actividades típicas que los usuarios realizarán
en la aplicación Web.
Ø
Modelo de Navegación
Consta de la construcción
de dos modelos de navegación, el modelo del espacio de navegación y el modelo
de la estructura de navegación. El primero especifica que objetos serán
visitados por el navegador a través de la aplicación. El segundo define como se
relacionaran.
Ø
Modelo de presentación
Describe dónde y cómo los
objetos de navegación y accesos primitivos serán presentados al usuario, es
decir, una representación esquemática de los objetos visibles al usuario.
Ø
Interacción Temporal
Presenta los objetos que
participan en la interacción y la secuencia de los mensajes enviados entre
ellos.
Ø
Escenarios Web
Permiten detallar la parte
dinámica del modelo de navegación, especificando los eventos que disparan las situaciones,
definen condiciones y explícitamente incluyen las acciones que son realizadas.
Junto con el modelo de interacción temporal, los escenarios Web proveen la
representación funcional dinámica del modelo de navegación.
Ø Diagramas
Los diagramas usados por UWE, son diagramas UML puro. Entre los más importantes
tenemos: Diagramas de estado, de Secuencia, de colaboración y diagramas de
Actividad.
FASES
de la UWE.
UWE cubre todo el ciclo de
vida de este tipo de aplicaciones centrando además su atención en aplicaciones
personalizadas o adaptativas.
Las fases o etapas a utilizar
son:
1) Captura, análisis y
especificación de requisitos: En simple palabras y básicamente, durante esta
fase, se adquieren, reúnen y especifican las características funcionales y no
funcionales que deberá cumplir la aplicación web.
Trata de diferente forma las necesidades de
información, las necesidades de navegación, las necesidades de adaptación y las
de interfaz de usuario, así como algunos requisitos adicionales. Centra el
trabajo en el estudio de los casos de uso, la generación de los glosarios y el
prototipado de la interfaz de usuario.
2) Diseño del sistema: Se basa en la especificación de
requisitos producido por el análisis de los requerimientos (fase de análisis),
el diseño define cómo estos requisitos se cumplirán, la estructura que debe
darse a la aplicación web.
3) Codificación del software: Durante esta etapa se realizan las tareas que
comúnmente se conocen como programación; que consiste, esencialmente, en llevar
a código fuente, en el lenguaje de programación elegido, todo lo diseñado en la
fase anterior.
4) Pruebas: Las
pruebas se utilizan para asegurar el correcto funcionamiento de secciones de
código.
5) La Instalación o Fase de Implementación: es el proceso por el cual los
programas desarrollados son transferidos apropiadamente al computador destino,
inicializados, y, eventualmente, configurados; todo ello con el propósito de
ser ya utilizados por el usuario final.
Esto incluye la implementación de la arquitectura, de la estructura del
hiperespacio, del modelo de usuario, de la interfaz de usuario, de los
mecanismos adaptativos y las tareas referentes a la integración de todas estas
implementaciones.
6) El Mantenimiento: es el
proceso de control, mejora y optimización del software ya desarrollado e
instalado, que también incluye depuración de errores y defectos que puedan
haberse filtrado de la fase de pruebas de control.