Todos los diagramas fueron realizados con MagicDraw y se recomienda la instalacin del plugin
MagicUWE, porque ello simplifica el modelado con UWE en las diferentes etapas. Vase
MagicUWE Reference para informacin de como usar el plugin.
Que es UWE?
UWE es un mtodo de ingeniera del software para el desarrollo de aplicaciones web basado en
UML. Cualquier tipo de diagrama UML puede ser usado, porque UWE es una extensin de UML!
Queremos presentar UWE y sus modelos tpicos con un ejemplo de una agenda de direcciones
para la web. No lo leas an; queremos desarrollar la aplicacin paso a paso en este tutorial!
En nuestra aplicacin web simplicada de una libreta de direcciones el usuario debe poder buscar
direcciones, agregar nuevos contactos, borrar contactos existentes y actualizarlos. Cambios y
agregados deben ser archivados.
Tutorial - Requirements Model (Spanish)
In UWE el modelado de requisitos consiste de dos partes:
Casos de Uso
Nuestro ejemplo es simple, por ello no es absolutamente necesario comenzar modelando
los casos de uso, pero sirve para ilustrar las funcionalidades de nuestra aplicacin: el
usuario debe poder realizar bsquedas en la libreta de direcciones y borrar contactos.
Adicionalmente, contactos pueden ser creados y actualizados, cambios deben ser
archivados o pueden ser cancelados. En este ejemplo con fines de claridad, nos limitamos a
las funcionalidades descriptas, pero aconsejamos modelar tantas como se deseen.
esterotipo browsing pues los datos son solamente leidos y presentados al usuario.
Los otros casos de uso por el contrario modelan cambios, lo que se especifica con el
estereotipo processing.
Actividades
Como con casos de uso solamente es posible capturar poca informacin, cada caso de uso
puede ser descripto ms detalladamente mediante un proceso. Es decir, las acciones que son
parte de un caso de uso asi como los datos presentados al usuario y aquellos requeridos
como entrada de datos pueden ser modelados con precisin como actividades.
Los dos esterotipos user Action y system Action pueden ser usados anlogamente al
flujo de procesos. El estereotipo user Action es usado para indicar interacciones de
usuario en la pgina web initiando un proceso o respondiendo to un explcito requisito de
informacin. Por lo contrario, system Action describe acciones que son ejecutados por el
sistema. Ambos tipos de acciones pueden ser insertados usando la toolbar.
Detalles de las estructuras de datos usadas pueden ser representadas por objetos de nodos y
pins de acciones. El objeto de nodo es usado para modelar clases de contenido y los pines
sus atributos.
Durante ingeniera de requisitos es usual determinar que datos son representados donde y
cuando. Para modelar grupos de presentacin en UWE son usados el estereotipo display
Action, mientras que los dos pines de accin estereotipados interaction Pin y display
Pin son usados para modelar la entrada y la salida de datos.
Como estos estereotipos se utilizan para indicar elementos de presentacin durante la etapa
de ingeniera de requisitos, aspectos que caracterizan a RIAs pueden ser especificadas
mediante valores etiquetados para estos mismos elementos./p>
Para ejemplificar modelamos dos actividades. Primero, una actividad para el caso de uso
"CreateContact". El mismo muestra un formulario que permite al usuario entrar su nombre,
una direccin de correo, dos direcciones y nmeros de telfono y el descargar un archivo
del tipo imagen. La direccin de correo debe ser validada durante la entrada de datos y el
nombre de la ciudad completado automticamente en funcin del cdigo postal. El
formulario completado por el usuario es finalmente salvado en la base de datos de la
aplicacin.
Un segundo caso de uso que refinamos es "SearchContacts". Para este caso de uso
solamente elementos de presentacin son de inters, nos limitamos en el diagrama a ellos.
Inicialmente, la presentacin consiste de un simple formulario usado para entrar palabras
claves y un butn para el display de la lista de contactos.
Las dos acciones del estereotipo navigationAction modelan transiciones a otros casos de
uso. Esto es modelado la actividad del caso de uso destino como comportamiento de la
accin.
Transformaciones
Una vez que los requisitos han sido modelados, hay dos maneras de simplificar los pasos
siguientes en el modelado de contenido, navegacin, presentacin y procesos:
Pero que es un nodo? Nodos son unidades de navegacin y estn conectados por medio de
enlaces. Nodos pueden ser presentados en diferentes pginas o en una misma pgina.
UWE provee diferentes estereotipos, los que presentaremos mediante nuestro ejemplo. La
forma ms simple de obtener un Diagrama de Navegacin bsico es utilzando la
Transformacin Content to Navigation. En este caso obtenemos para nuestro ejemplo un
diagrama que contiene ms nodos de los necesarios. Para los nodos y enlaces son usados
los estereotipos navigationClass and navigationLink:
1. ContactList - cada contacto debe ser alcanzable usando un enlace desde la pgina
principal del sitio web
2. (contact)Search - buscar un contacto
3. ContactCreation - crear un nuevo contacto y visualizarlo
En UWE, puede usarse un menu, para navegar a diferentes clases. Insertar uno y
asignarle el nombre "MainMenu":
3. ContactCreation es tambin un
proceso, pero no uno predefinido, por
ello usamos el estereotipo
processClass (modelaremos la accin
asociada ms adelante).
Para completar nuestro Mdelo de Navegacin (Navigation Model), tenemos que agregar la
funcionalidad faltante de borrar y actualizar contactos (ContactDeletion y ContactUpdate)
(nuevamente vase diagrama de casos de uso). Estas dos clases son ambas accedidas desde el
contacto concreto, por ello necesitamos nuevamente un men ( y lo nombramos ContactMenu
indicando que est ubicado en la pgina de cada contacto):
Tutorial - Presentation Model (Espaol)
El Modelo de Navegacin no indica cules son las clases de navegacin y de proceso que
pertenecen a una pgina web. Podemos usar un Diagrama de Presentacin con el fin de
proveer esta informacin!
Agrega una presentationPage class y agrega las propiedades con los estereotipos de
UWE en ellos para expresar, que el elemento est ubicado en una pgina web. Las
propiedades pueden anidarse, por ejemplo cada contacto (presentationGroup-property)
cubre diferentes textos y botones. Ello significa, que para cada contacto la correspondiente
direccin de correo y los correspondientes campos de telfonos y direcciones sern
visualizados en la pgina.
el Modelo de Estructura del Proceso que describe las relaciones entre las diferentes
clases de proceso y
el Modelo de Flujo del Proceso que especifica las actividades conectadas con cada
processClass.
ContactCreation
ContactDeletion
ContactUpdate
El estereotipo user Action es usado para indicar interaciones de usuario con la pgina
web iniciando un proceso o respondiendo a un requerimiento explcito de informacin. Por
el contrario, system Action describe acciones, que son ejecutadas por el sistema. Ambos
tipos de acciones pueden ser agregadas usando la barra de herramientas (toolbar).
Felicitaciones! :-)
Este es el fin del tutorial, porque solamente se necesita UML standard para expresar lo to
express lo que ocurre en estos tres procesos del diagrama de flujo del proceso.
Web Modelling
Bjrn Cullmann. A MagicUWE Extension for Semi-Automatic Layout Adjustments
of Presentation Models. Bachellor's thesis, Ludwig-Maximilians-Universitt
Mnchen, 2010.
Marianne Busch and Nora Koch. MagicUWE - A CASE Tool Plugin for Modeling
Web Applications. In Proc. 9th Int. Conf. Web Engineering (ICWE'09), LNCS,
volume 5648, pages 505-508. Springer, Berlin, 2009.
Nora Koch, Alexander Knapp, Gefei Zhang and Hubert Baumeister. UML-based
Web Engineering: An Approach based on Standards (book chapter). In Web
Engineering: Modelling and Implementing Web Applications. Gustavo Rossi, Oscar
Pastor, Daniel Schwabe and Luis Olsina (Eds.), chapter 7, 157-191, Springer,
HCI, 2008.
Wieland Schwinger and Nora Koch. Modeling Web Applications. In Gerti Kappel,
Birgit Prll, Siegfried Reich, and Werner Retschitzegger, editors, Web Engineering:
Systematic Development of Web Applications, chapter 3, pages 3964. John Wiley,
2006.
Alexander Knapp, Nora Koch and Gefei Zhang. Modeling the Behavior of Web
Applications with ArgoUWE (demo paper). In 5th International Conference on
Web Engineering (ICWE 2005), Sydney, Australia, David Lowe and Martin Gaedke
(Eds.). LNCS 3579, Springer Verlag, 624-626, July 2005.
Alexander Knapp, Nora Koch, Gefei Zhang and Hanns-Martin Hassler. Modeling
Business Processes in Web Applications with ArgoUWE. 7th International
Conference on the Unified Modeling Language (UML2004), LNCS 3273.
Springer Verlag, 2004.
Alexander Knapp, Nora Koch and Gefei Zhang. Modeling the Structure of Web
Applications with ArgoUWE. 4th Int. Conference on Web Engineering (ICWE'04),
LNCS 3140, Springer Verlag, 2004.
Nora Koch, Andreas Kraus, Cristina Cachero, and Santiago Meli. Integration of
Business Processes in Web Application Models. J. Web Engineering, 3(1):2249,
2004.
Gabriella Sanfilippo. UML-based Web Engineering di applicazioni Web per
divisioni della STMicroelectronics. Tesi di Laurea, Universita degli studi di
Catania. 2003. (In Italien, zipped PDF)
Alexander Knapp, Nora Koch, Flavia Moser and Gefei Zhang. ArgoUWE: A Case
Tool for Web Applications. First Int. Workshop on Engineering Methods to Support
Information Systems Evolution (EMSISE'03), 2003.
Gefei Zhang. Case Support for Modeling Web Applications (Preliminary
integration of ArgoUWE into ArgoUML 0.8.1a), 2002.
Nora Koch and Andreas Kraus. The expressive Power of UML-based Web
Engineering. Second Int. Worskhop on Web-oriented Software Technology
(IWWOST'02), 2002.
Model-Driven Development
A. Bertolino, M. Busch, S. Daoudagh, F. Lonetti, and E. Marchetti: A Toolchain for
Designing and Testing Access Control Policies. In: Heisel, M, Joosen, W, Lopez, J,
Martinelli, F. (eds.) Engineering Secure Future Internet Services. LNCS, vol. 8431,
pp. 266-286. Springer, Heidelberg, 2014
Oliver Sommer. Model-Driven Testing im Kontext von UWE (in German).
Diploma thesis, Ludwig-Maximilians-Universitt Mnchen, 2014.
Christian Kroiss and Nora Koch. UWE4JSF - A Model-Driven Generation
Approach for Web Applications. In Proc. 9th Int. Conf. Web Engineering
(ICWE'09), LNCS, volume 5648, pages 493-496. Springer, Berlin, 2009.
Daniel Ruiz-Gonzlez, Nora Koch, Christian Kroiss, Jos-Ral Romero, and
Antonio Vallecillo. Viewpoint Synchronization of UWE Models. In Proc. MDWE
2009 - 5rd International Workshop on Model-Driven Web Engineering, CEUR-WS,
Vol 455, June 2009.
Nathalie Moreno, Santiago Meli, Nora Koch and Antonio Vallecillo. Addressing
New Concerns in Model-Driven Web Engineering Approaches. In Proc. of 9th Int.
Conference on Web Information Systems Engineering (WISE 2008), Auckland, New
Zealand, LNCS 5175, 426-442, Springer, September 2008.
Antonio Vallecillo, Nora Koch, Cristina Cachero, Sara Comai, Piero Fraternali,
Irene Garrigs, Jaime Gmez, Gerti Kappel, Alexander Knapp, Maristella Matera,
Santiago Meli, Nathalie Moreno, Birgit Prll, Thomas Reiter, Werner
Retschitzegger, Jos E. Rivera, Andrea Schauerhuber, Wieland Schwinger, Manuel
Wimmer and Gefei Zhang. MDWEnet: A Practical Approach to Achieving
Interoperability of Model-Driven Web Engineering Methods. MDWE 2007 - 3rd
International Workshop on Model-Driven Web Engineering, CEUR-WS, Vol 261,
2007.
Andreas Kraus. Model Driven Software Development for Web Applications. PhD
thesis, Ludwig-Maximilians-Universitt Mnchen, 2007
Andreas Kraus, Alexander Knapp and Nora Koch. Model-Driven Generation of
Web Applications in UWE. In Proc. MDWE 2007 - 3rd International Workshop on
Model-Driven Web Engineering, CEUR-WS, Vol 261, 2007.
Alexander Knapp, Nora Koch, Martin Wirsing and Gefei Zhang. UWE - Approach
to Model-Driven Development of Web Applications.In i-com journal, Vol. 3, 3-12,
Oldenbourg, 2007 (in German).
Nora Koch, Gustavo Rossi and Antonio Vallecillo (Eds.). Model-Driven Web
Engineering. Proceedings of 1st International Workshop on Model-Driven Web
Engineering (MDWE 2005), Sydney, Australia. University of Wollongong, Sydney,
ISBN 1-74128-105-9, July 2005