Академический Документы
Профессиональный Документы
Культура Документы
Todos los diagramas fueron realizados con MagicDraw y se recomienda la instalacin del
pluginMagicUWE, 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
enUML. Cualquier tipo de diagrama UML puede ser usado, porque UWE es una extensin de
UML!
(ms informacin sobre UWE)
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!
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.
En UWE se distinguen casos de uso estereotipados con browsing y con processing para
ilustrar si los datos persistentes de la aplicacin son modificados o no. "SearchContact" por
ejemplo, modela la bsqueda de contactos y por ello lleva el 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.
browsing processing
webUseCase
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.
userAction systemAction
displayAction navigationAction
displayPin interactionPin
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:
Continuar
Continuar
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:
Queremos realmente modelar el enlace desde el contacto a la direccin o el telfono? - No,
porque no son relevantes para la navegacin. Pues borremos ambos del rbol de contenido del
modelo.
AddressBook ser nuestra pgina principal del sitio web. Lo cul se indica con el tagged value
{isHome}.
Es pensable un sitio web para una agenda de direcciones con la informacin de todos los
contactos en la misma pgina web? - No es eso lo que queremos.
El objetivo es una aplicacin en la cul se puede acceder a las operaciones de nuestro diagrama
de casos de uso. Por este motivo necesitamos un sitio que provee conexiones a diferentes
nodos:
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":
1. Podemos insertar la lista de contactos (ContactList) casi del mismo modo. El estereotipo
index es usado para listar una cantidad de objetos del mismo tipo.
Agrega las otras dos clases usando el panel de MagicUWE:
2. La clase para la bsqueda debe tener un estereotipo query. Una bsqueda implica
ejecucin de cdigo, por ello conectamos esta clase con una asociacin processLink .
3. ContactCreation es tambin un proceso, pero no uno predefinido, por ello usamos el
estereotipo processClass (modelaremos la accin asociada ms adelante).
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.
ancla fileUpload
botn imagen
En los siguientes diagramas, los estereotipos son solamente representados por sus iconos. En
MagicDraw se puede configurar la visualizacin de ambos: nombres e iconos de los estereotipos.
Los atributos etiquetados {autoCompletion} y {liveValidation} son usados para especificar que
los campos de direcciones proveen funcionalidad de auto complementacin y que el formato de
la direccin de correo es chequeada automticamente.
Continuar
Con el fin de describir las relaciones entre las diferentes clases de proceso, creamos un diagrama
de clases, usando la transformacin de navegacin a estructura de proceso (Navigation to
Process Structure Transformation). Despues de ejecutar la transformacin tenemos un diagrama
de clases con tres clases enmarcadas con un borde rojo:
Como puede observarse, hemos agregado otras clases para expresar, que las tres operaciones
requieren una confirmacin (recuerda nuestro diagrama de presentacin) con una pregunta.
Esto significa que si un usuario quiere borrar un contacto, un mensaje ser mostrado, el cul
deber ser confirmado con un ok para que el contacto sea borrado. ContactCreation and
ContactUpdate funcionan en forma similar, ambos heredan de la clase abstracta
ContactProcessing, asegurando que los campos de texto, que son atributos de ContactDataInput
contienen valores vlidos (por ejemplo podemos pensar en prohibir un nombre en blanco para
prevenir entradas inservibles en la base de datos). No bien los datos han sido validados y no hay
errores de validacin (ValidationError) la pgina de confirmacin es presentada al usuario. Para
ms detalles sobre las actividades, vase el prximo prrafo!
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.
Vase tamben los modelos de la seccin de ejemplos (example section).