UML based Web Engineering (UWE)
¿Qué es UWE?
UWE (UML-Based Web Engineering) es una propuesta basada en UML y en el proceso unificado
para modelar aplicaciones web. Esta propuesta está formada por una notación para especificar el
dominio (basada en UML) y un modelo para llevar a cabo el desarrollo del proceso de modelado.
Análisis de requisitos:
Su objetivo es encontrar los requisitos funcionales de la aplicación Web para representarlos como
casos de uso. Da lugar a un diagrama de casos de uso.
Diseño conceptual:
Su objetivo es construir un modelo conceptual del dominio de la aplicación considerando los
requisitos reflejados en los casos de uso. Da como resultado un diagrama de clases de dominio.
Diseño navegaciones:
Se obtienen el modelo de espacio de navegación y modelo de estructura de navegación, que
muestra cómo navegar a través del espacio de navegación. Se obtienen diagramas de clases que
representan estos modelos.
Diseño de presentación:
De este paso se obtienen una serie de vistas de interfaz de usuario que se presentan mediante
diagramas de interacción UML.
Principales aspectos.
Los principales de aspectos en los que se fundamenta UWE son los siguientes:
Uso de una notación estándar
Para todos los modelos (UML : Lenguaje de modelado unificado).
Definición de métodos
Definición de los pasos para la construcción de los diferentes modelos.
Especificación de Restricciones
Se recomienda el uso de restricciones escritas (OCL: Lenguaje de restricciones de objetos) para
aumentar la exactitud de los modelos.
Finalidad
Lo que deseamos es controlar el caos que han provocado en el pasado procesos creativos de
desarrollo con el fin de proporcionar un proceso sistemático orientado a la mejora de la calidad de
la aplicación final.
Evolución de las metodologías de Desarrollo Web.
Primera Generación:(Principios de los 90)
Se sientan las bases de la ingeniería Web,
en los que se incluyen conceptos como
construcción de navegación, separación entre estructuras y el
contenido durante el ciclo de desarrollo.
Segunda Generación: (Segunda mitad de los 90) Se refinan los primeros
modelos y se añaden los soportes de funcionalidad básica y se llevan a
cabo los primeros esbozos de proceso donde se delimitan los modelos
conceptual, lógico y físico.
Tercera generación: (A partir del 2000): Se lleva a cabo la profundización en
el soporte para la funcionalidad, enfatizacion de la figura del usuario en los métodos, y se avanza
hacia la estandarización de notaciones, procesos y lenguajes de especificación.
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.
FASES de la UWE
Modelo de Navegación
Este modelo indica como el sistema de paginas web del sitio esta relacionado internamente. Es
decir como se enlazan los elementos de navegación.
Para ello se utilizan unidades de navegación llamadas “nodos” conectadas por enlaces de
navegación.
Los elementos que introduce la metodología UWE en este modelo son:
UWE propone una extensión de UML que se divide en 4 pasos.
ACTIVIDADES DE MODELADO
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
Especificación de requerimientos
El modelo de casos de uso se puede utilizar para describir los requisitos funcionales en términos.
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.
Este modelo especifica cómo se encuentra relacionados los contenidos del sistema, es decir,
define la estructura de los datos que se encuentran alojados en el sitio web.
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 as 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.
En este ejemplo se puede ver
representado que el contenido web está
formado por una agenda básica de
contactos, está agenda representada por
la clase AddressBook contiene un
conjunto de uno o más contactos
(clase Contact) , cada uno de ellos tiene
un nombre,un email , una dirección y un
teléfono. De los 2 primeros son de tipo
String y los dos últimos son estructuras de otros atributos, representadas por las clases Address y
Phone, cada contacto puede tener una dirección y un teléfono principal y otros
Modelo de presentación
Describe donde 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.
Estos son los elementos que introduce la metodología UWE en este modelo:
Para empezar tenemos AddressBook como página de inicio, así que está etiquetada como
{isHome} y como clase de navegación con el símbolo correspondiente (ver símbolos más abajo). La
página de inicio enlaza con un menú, que sería nuestra página de índice, para ello la clase Main
Menu esta etiquetada como pagina Menu.
Desde la clase Main Menu enlazamos con las clases Search (que implementará la función de
buscar un contacto y es etiquetada con la etiqueta de query) que es un proceso predefinido, y con
la clase ConctactCreation (que creará un contacto), esta clase es un proceso no definido con lo
cual llevará la etiqueta de processClass, así ambos enlaces serán del tipo process link.
Para finalizar vemos que la clase ConctactCreation está enlazada con Conctact ya que cuando se
crea un nuevo contacto, este se debe mostrar. Como también cuando se realiza una búsqueda se
debe mostrar la lista con los contactos del resultado, de ahí que exista otro processLink entre las
clases Search y ConctactList, esta ultima además etiquetada como index, al ser una lista.
El diagrama de presentación de la Agenda de Contactos, se puede ver la clase contacto es
presentada como Presentation_Class, cubriendo también diferentes textos y botones, esto
significa que por cada contacto, tiene que ser mostrado por un email, direcciones y los teléfonos.
Tambien se puede observar que la pagina de inicio AddressBook contiene un texto de introducción
y un formulario de búsqueda con un campo de texto y un botón para lanzar la busqueda
Debido a la necesidad de tener una metodología para el modelado y diseño de aplicaciones Web
que responda adecuadamente a las necesidades actuales, es que se proponen metodologías que
permitan dichas funciones, UML-Based Web Engineering, es una extensión de UML muy poderosa
para el diseño de Aplicaciones Web, provee una serie de herramientas tanto para diseño y
modelado. Todo el proceso de desarrollo de UWE se encuentra detallado y definido.
Es por ello que esperamos que esta exposición haya despertado en los presentes el interés para
poder tomar en cuenta a UWE para su próximo proyecto Web.