Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Que es UWE?
UWE es un método de ingeniería del software para el desarrollo de aplicaciones web basado
en UML. Cualquier tipo de diagrama UML puede ser usado, porque UWE es una extensión de
UML!
(más información sobre UWE)
Queremos presentar UWE y sus modelos típicos con un ejemplo de una agenda de
direcciones para la web. No lo leas aún; queremos desarrollar la aplicación 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 aplicación: el usuario
debe poder realizar búsquedas 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 aplicación son modificados o no. "SearchContact" por
ejemplo, modela la búsqueda 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».
Actividades
Como con casos de uso solamente es posible capturar poca información, cada caso de uso
puede ser descripto más 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 precisión como actividades.
nombres de estereotipos y los iconos
correspondientes
userAction systemAction
displayAction navigationAction
displayPin interactionPin
Los dos esterotipos «userAction» y «systemAction» pueden ser usados análogamente al flujo
de procesos. El estereotipo «userAction» es usado para indicar interacciones de usuario en la
página web initiando un proceso o respondiendo to un explícito requisito de información. Por
lo contrario, «systemAction» 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 ingeniería de requisitos es usual determinar que datos son representados donde y
cuando. Para modelar grupos de presentación en UWE son usados el estereotipo
«displayAction», mientras que los dos pines de acción 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 presentación durante la etapa
de ingeniería 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 dirección de correo, dos direcciones y números de teléfono y el descargar un archivo del
tipo imagen. La dirección de correo debe ser validada durante la entrada de datos y el
nombre de la ciudad completado automáticamente en función del código postal. El formulario
completado por el usuario es finalmente salvado en la base de datos de la aplicación.
Un segundo caso de uso que refinamos es "SearchContacts". Para este caso de uso
solamente elementos de presentación son de interés, nos limitamos en el diagrama a ellos.
Inicialmente, la presentación consiste de un simple formulario usado para entrar palabras
claves y un butón 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
acción.
Transformaciones
Una vez que los requisitos han sido modelados, hay dos maneras de simplificar los pasos
siguientes en el modelado de contenido, navegación, presentación y procesos:
Pero que es un nodo? Nodos son unidades de navegación y están conectados por medio de
enlaces. Nodos pueden ser presentados en diferentes páginas o en una misma página.
UWE provee diferentes estereotipos, los que presentaremos mediante nuestro ejemplo. La
forma más simple de obtener un Diagrama de Navegación básico es utilzando
la Transformación Content toNavigation. En este caso obtenemos para nuestro ejemplo un
diagrama que contiene más 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 página
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 búsqueda debe tener un estereotipo «query». Una búsqueda implica
ejecución de código, por ello conectamos esta clase con una asociación «processLink» .
3. ContactCreation es también un proceso, pero no uno predefinido, por ello usamos el
estereotipo «processClass» (modelaremos la acción asociada más adelante).
Con el fin de describir las relaciones entre las diferentes clases de proceso, creamos un
diagrama de clases, usando la transformación de navegación a estructura de
proceso (NavigationtoProcessStructureTransformation). Despues de ejecutar la
transformación 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 confirmación (recuerda nuestro diagrama de presentación) con
una pregunta. Esto significa que si un usuario quiere borrar un contacto, un mensaje será
mostrado, el cuál 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 válidos (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 validación (ValidationError) la página de confirmación
es presentada al usuario. Para más detalles sobre las actividades, véase el próximo párrafo!
Modelo de flujo del proceso
acción de acción de
usuario sistema
Felicitaciones! :-)
Este es el fin del tutorial, porque solamente se necesita UML standard para expresar lo
toexpress lo que ocurre en estos tres procesos del diagrama de flujo del proceso.
http://uwe.pst.ifi.lmu.de/teachingTutoria
lProcessSpanish.html
UWE UML
UWE UML (UML-Based Web Engineering) es una herramienta para 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.
Copiar estereotipos
Características de RIA
Menú Patrones de RIA: configuración de las opciones de modelado de los patrones de RIA
Diagramas de estados de navegación
Diagramas de estados de navegación: compruebe los cambios de «sesión» {transmissionType} en los subestados
Transformaciones
Configurar MagicUWE
Errores conocidos
Funciones básicas
Funciones de MagicUWE Acciones de usuario similares en MagicDraw
Crea un nuevo proyecto UWE Si MagicUWE no está instalado: Guarde el perfil de
Cree un nuevo proyecto ( File / New Project.. / Blanc Project) y UWEcomo MagicDraw / profiles / UWE
responda "Sí" a esta pregunta: Profile.mdzip. Crea un nuevo proyecto y agrega el perfil
UWE(Options / Modules / Use Module /
..profiles / UWE Profile.mdzip / Finish)
Crear modelos UWE por defecto Cree usted mismo los modelos que se representan en la
siguiente figura y llámelos "Contenido", "Navegación",
"Presentación" y "Proceso", etc. Agregue los estereotipos
«contentModel», «NavigationModel», «PresentationModel» y
«ProcessModel» y así.
Crear diagramas UWE Crea diagramas apropiados (por ejemplo, un diagrama de
clases).
Recomendación:
muévalos a los modelos UWE correctos en el árbol de
contención y asígneles nombres únicos.
o:
Diagramas de navegación: insertar primitivas de acceso (índice, Cree y dibuje una nueva clase, asígnele un nombre, arrastre
consulta, ...) todas las asociaciones a esta nueva clase y cree una nueva
Este (y el siguiente) menú contextual aparece de acuerdo con la configuración de asociación o eventualmente una composición para la clase
MagicUWE. Si no se muestra este menú, primero seleccione la asociación y luego principal. Finalmente agregue las multiplicidades y nombres
haga clic con el botón secundario junto a ella, para que MagicDraw no la anule, correctos.
debido a ese segundo clic.
Seleccione una o más asociaciones para insertar una nueva clase del estereotipo
seleccionado entre una y todas las otras clases. Es necesario que todas las
asociaciones tengan el mismo fin en un lado.
Se incluye una lógica útil -según el estereotipo seleccionado- para las multiplicidades,
el nuevo nombre de clase, los nombres de las propiedades y el tipo de asociación.
Modificación de clase
Funciones de MagicUWE Acciones de usuario similares en MagicDraw
Diagramas o requisitos de navegación, estados de navegación: establecer (right click on the element) / Specification /
valores etiquetados
Tags / <<navigationNode>>isHome or
Menú de contexto del elemento seleccionado: isLandmark / create or edit value.
Tenga cuidado, un booleano con más de un valor no parece
tener sentido.
Diagramas de casos de uso: copiar estereotipos Para cadacaso de uso en el paqueteseleccionado:
Al hacer clic en un paquete, se muestra una opción para aplicar sus estereotipos en (Draw a new normal class or association and
los casos de uso dentro de este paquete. right-click on it) / Stereotype / (select the
wanted stereotypes from the UWE profile) /
Apply
Características de RIA
Funciones de MagicUWE Acciones de usuario similares en MagicDraw
Diagrama de presentación: agregue patrones de RIA a propiedades o clases
El menú contextual del elemento muestra los patrones de RIA aplicables.
Haga clic en el patrón RIA para abrir el siguiente cuadro de diálogo de selección:
Modelado de características de RIA por solo etiqueta Los valores etiquetados se pueden establecer manualmente
Si elige "solo por etiqueta", solo se establece el valor etiquetado para el elemento. en el diálogo de especificación del elemento.
Modelado de características de RIA mediante la adición de dependencias Para agregar manualmente las dependencias, agregue un
Si elige la opción "agregar dependencias entre partes", se establece el valor Diagrama de estructura compuesta para crear el Uso de
etiquetado y, además, se agregan dependencias. Es decir, agregar un Uso de colaboración y todas las partes. Puede encontrar la
colaboración para la Colaboración correspondiente del Perfil UWE con las partes Colaboración relacionada en el Perfil UWE en el directorio
dependientes. UWEPatterns / RIAPatterns.
Defina los tipos de las partes con "Seleccionar tipo ...": las
clases seleccionadas deben tener los mismos tipos, como las partes de la
colaboración del Perfil UWE (que se muestran con los símbolos).
Eliminar el valor etiquetado y posiblemente las dependencias existentes y el Los valores etiquetados se pueden eliminar en el diálogo de
comportamiento
especificación del elemento. Si el elemento es una
Si el valor etiquetado de un patrón de RIA ya está configurado, también tiene la
propiedad, elimine también el valor etiquetado de la
opción "eliminar etiqueta". Al elegir esto, el valor etiquetado se elimina. Si las
clase. Las dependencias existentes y / o el comportamiento
dependencias y / o el comportamiento ya existen para esta etiqueta, se le
se pueden eliminar en el árbol de contención.
preguntará cómo tratarlos.
Menú Patrones de RIA: configuración de las opciones de modelado de los
patrones de RIA
En el cuadro de diálogo "Opciones de Patrones de RIA" puede configurar para cada
patrón de RIA la opción que se usa para modelar de forma predeterminada. Cambie
estas opciones también en el archivo de configuración .
Las opciones configuradas se muestran mediante un símbolo en el menú contextual
de un elemento de presentación.
Diagrama de estados de navegación: configure «navigationalNode» en Cada subelemento debe ser estereotipado manualmente.
subestados
Usando el menú contextual, el estereotipo «navigationalNode» se puede establecer
en todos los estados anidados que no estén estereotipados por otro estereotipo de
estado de navegación UWE.
Diagrama de estados de navegación: compruebe los cambios de «sesión» Todos los subestados deben verificarse para detectar
{transmissionType} en los subestados
cambios en la etiqueta {transmissionType}.
El menú contextual abre una pestaña que muestra los resultados. Además, los
elementos resultantes se describen en los diagramas, si "Drawrectangles.." está
activado.
Transformaciones
Funciones de MagicUWE Transformationtypes
Transformaciones disponibles Contenido para navegación
Puede ejecutar todas las transformaciones desde el menú Cree una nueva clase (en el Modelo de navegación)
para cada clase en un Diagrama de contenido y
asigne a la nueva clase el mismo nombre y agregue
el estereotipo «navigationClass». Luego dibuja
todos ellos en un nuevo Diagrama de navegación
(un diagrama de clases). Ahora puedes volver a
dibujar todas las asociaciones que necesites.
Navegación a la presentación
Cree una nueva clase (en el Modelo de
Presentación) para cada clase de un diagrama de
navegación. Etiquete la nueva clase por igual y
agregue el estereotipo «presentationGroup».
Si selecciona más de un diagrama, se procesará cada uno que tenga el tipo de diagrama UWE Requisitos para el contenido
correcto para la transformación seleccionada. Crea un primer modelo de contenido convirtiendo
los nodos de objetos de las actividades utilizadas
Dentro de un diagrama de clases hay dos formas de transformar una parte de los modos de
durante el análisis de requisitos en clases. Si un
requisitos en este diagrama y el modelo correspondiente.
nodo de objeto no tiene un tipo asociado, el
Para crear algunos datos adicionales dependientes del modelo para una clase existente, hay nombre del objeto se utiliza como el nombre de la
una o más entradas en el menú contextual para la clase. clase creada; de lo contrario, la clase de objetos se
toma en el modelo de contenido. Los pines de
acción relacionados con un nodo de objeto se
transforman en atributos y asociaciones de la clase
correspondiente.
Algunas características adicionales como, por ejemplo, el enlace a la página web en el menú de ayuda o el cuadro emergente no necesitan explicación. Si
tiene preguntas, ¡escríbanos un correo electrónico!
Misceláneo
Configuración de MagicUWE
Por favor, eche un vistazo en el MagicDrawHome/plugins/de.lmu.ifi.pst.uwe.MagicUWE/MagicUWE.propertiesarchivo donde puede adaptar
comportamiento del complemento.
el
Ahí puedes configurar:
los nombres del perfil UWE. Primero, MagicUWE busca el perfil UWE en el directorio del proyecto real. Si este archivo no existe, se elegirá el que
está en el directorio "profiles" de MagicDraw.
qué elementos de presentación se pueden insertar como clase o como propiedad desde la barra de herramientas
si el menú "nuevo diagrama" de UWE se muestra como un submenú en el árbol de contención (comportamiento predeterminado)
opciones RIA predeterminadas
el puerto predeterminado para conectarse al servidor SDE (Entorno de desarrollo del servicio) del contenedor MagicUWE, que está esperando el
archivo del proyecto
Errores conocidos
Si crea un nuevo diagrama mientras dibuja una asociación desde la barra de herramientas MagicUWE, se mostrará un error y deberá hacer clic
en "deshacer la última acción". Este es un error de MagicDraw-OpenAPI, no del plugin en sí.
Las propiedades a veces se pueden dibujar en otra clase / propiedad distinta a la que se seleccionó. Si lo hace de todos modos, la nueva clase se
creará y se agregará a las propiedades de la clase seleccionada previamente, pero no se dibujará en ninguna parte.
Después de la inserción de una primitiva de acceso, la función de deshacer de MagicDraw no funciona correctamente. La asociación original se
elimina del diagrama, pero aún se puede encontrar en el árbol de contención.