UUNNAA HHEERRRRAAMMIIEENNTTAA PPAARRAA DDIIAAGGRRAAMMAASS OOOOWWSS::
"Módulo OOWS para StarUML"
Richard Medina Z. <[email protected]> Universidad de Concepción, Chile
INTRODUCCIÓN
Una herramienta CASE (Computer Aided Software Engineering, Inge-
niería de Software Asistida por Computador) es una aplicación in-
formática para ayudar en aspectos del ciclo de vida de desarrollo del
software.
En particular, para el desarrollo de aplicaciones web en entornos
OOWS aún no existe tal herramienta, es por ello la necesidad de tener
una, para al menos generar los diagramas visuales o modelos gráficos.
Para este propósito se ha elegido “StarUML”, una plataforma
UML/MDA opensource. Son varios los aspectos por los cuales se eligió
esta herramienta particular, los más destacados son la gratuidad,
flexibilidad, rapidez, arquitectura de módulos y en especial por el so-
porte de los mecanismos de extensión de UML 2.0 basados en estereo-
tipos, valores etiquetados y restricciones.
Se ha creado un módulo de StarUML para crear diagramas de navega-
ción OOWS basándose en los mecanismos estándares de UML, usando
estereotipos y valores etiquetados.
EXTENSIONES Y PERFILES EN UML
Cuando se utiliza un lenguaje de modelado como UML para comunicar conviene ceñir-
se al núcleo del lenguaje para que los modelos no pierdan la capacidad de poder ser
difundidos. La forma más básica de comunicar conceptos fuera de los límites de UML
es la utilización de notas. Con una base más formal UML proporciona los estereotipos,
valores etiquetados y restricciones, permitiendo añadir nuevos bloques de construc-
ción, crear nuevas propiedades y especificar nueva semántica.
Los estereotipos en UML son utilizados como un mecanismo de extensión para el
propio lenguaje. Este mecanismo hace posible definir UML como un conjunto mínimo
de símbolos que podrían ser extendidos. Mediante la utilización de estereotipos se
pueden crear nuevos tipos de elementos de modelado basados en los elementos que
forman el metamodelo UML, por tanto, un estereotipo será un nuevo tipo de elemento
de modelado que extiende la semántica del metamodelo pero no la estructura de los
tipos o clases preexistentes. Algunos estereotipos están predefinidos en el UML, otros
pueden ser definidos por el usuario.
Un valor etiquetado es una extensión de las propiedades de un elemento de UML,
permitiendo a nadir nueva información en la especificación del elemento. Gráficamen-
te un valor etiquetado se representa como una cadena de caracteres entre llaves aso-
ciada al nombre del elemento.
Todo elemento UML tiene su propio conjunto de propiedades: las clases tienen nom-
bres, atributos y operaciones; las asociaciones tienen nombres y dos o más extremos,
etc. Si con estereotipos podemos añadir nuevos elementos a UML, con los valores eti-
quetados podemos añadir nuevas propiedades. Un valor etiquetado no es lo mismo
que un atributo de una clase, sino que más bien es un metadato ya que su valor se
aplica al propio elemento no a sus instancias.
En la figura se muestra un diagrama de contexto en OOWS. La primera imagen mues-
tra la forma tradicional UML para mostrar un elemento estereotipado y la segunda se
muestra con la notación OOWS. En este caso es una Asociación UML estereotipada con
NavRel (relación de contexto) la cual contiene tres valores etiquetados: Relationship,
Context y Attributes.
Una restricción es una extensión de la semántica UML, que permite añadir nuevas
reglas o modificar las existentes. Gráficamente, una restricción se representa como
una cadena de caracteres entre llaves o una nota colocada junto al elemento al que
está asociada o conectada a él. Una restricción se utiliza para la especificación de con-
diciones que deben cumplirse para que el modelo esté bien formado. Las restricciones
se pueden escribir como texto libre, o si se quiere especificar la semántica de manera
precisa se puede utilizar OCL.
Los Perfiles UML son una herramienta para extender el Lenguaje UML, los cuales
permiten construir modelos de UML para dominios particulares. Ellos se basan en
estereotipos y valores etiquetados adicionales que son aplicados a Elementos, Atribu-
tos, Métodos, Vínculos, Finales de Vínculo, etc. Un perfil es una colección de extensio-
nes que juntas describen algún problema de modelado en particular y facilitan la
construcción de modelos en ese dominio. Por ejemplo el perfil UML para XML fue de-
finido por David Carlson en el libro "Modeling XML Applications with XML" pp. 310,
este describe un conjunto de extensiones para elementos de modelado de UML bási-
cos para permitir un modelado exacto de Esquemas XSD.
En resumen, mediante la creación de un estereotipo se crea un nuevo bloque de cons-
trucción con sus propias características (puede proporcionar su propio conjunto de
valores etiquetados), semántica (puede proporcionar sus propias restricciones), y
notación (puede proporcionar su propio icono). Todas las extensiones realizadas so-
bre UML se pueden describir como una colección de estereotipos que dentro del dia-
grama de clases serán estereotipos de clases, asociaciones y generalizaciones. Se pue-
den pensar en los estereotipos como subtipos de los tipos Class, Association y Genera-
lization del metamodelo. Con lo anterior se puede definir un problema de modelado
particular (como lo es el de OOWS que presentamos) y facilitar la construcción de
modelos en ese dominio.
figura 1: Ejemplo de Estereotipo personalizado con valores etiquetados .
INSTALACIÓN Y CONFIGURACIÓN
Primero instalar el programa base (figura 2). El procedimiento es la tradicional mane-
ra de instalar un programa en la plataforma Microsoft Windows.
Luego se procede a configurar StarUML para usar cómodamente el módulo OOWS
desarrollado, para eso primero se ejecuta el archivo config.reg (figura 3) con el cual
se cargan configuraciones recomendadas.
Por último, en el directorio modules ubicado donde se instaló StarUML, normalmente
%programfiles%\StarUML\modules, copiar el directorio y su contenido staruml-oows.
(figura 4)
figura 2: Instalación StarUML
REQUERIMIENTOS MÍNIMOS
Los requerimientos mínimos son los de StarUML, los cuales se indican a continuación:
* Windows® 2000, Windows XP™, or higher * Intel® Pentium® 233MHz or higher * 128 MB RAM (256MB recommended) * 110 MB hard disc space (150MB space recommended) * SVGA or higher resolution monitor (1024x768 recommended) * Mouse or other pointing device
figura 3: Archivos para la instalación de StarUML y módulo OOWS
figura 4: Directorio de instalación y módulos de StarUML
USANDO LA HERRAMIENTA
Primero es recomendable familiarizarse con la herramienta básica StarUML, por
ejemplo es recomendable crear algunos Diagramas de Clases y luego diagramas de
navegación de OOWS.
figura 5: Entorno StarUML
CREANDO UN DIAGRAMA OOWS.
Al abrir StarUML se debe crear un proyecto en blanco. El menú Model (figura 7) será
uno de los más utilizados para comenzar, En la opción Profiles se agrega el módulo
OOWS, La opción Add es para agregar elementos como los paquetes, Add Diagram pa-
ra seleccionar y agregar diagramas UML, Constraints para las restricciones del elemen-
to seleccionado y Tagged Values para los valores etiquetados que principalmente los
tendrán los elementos de OOWS.
figura 6: Distribución del Entorno de StarUML
Primero: Agregar el módulo de OOWS siguiendo Model/Profiles. Segundo: Agregar
un nuevo paquete UML al proyecto, para ello siga la secuencia siguiente
Model/Add/Package. Tercero: Agregar un diagrama OOWS siguiendo Model/Add
Diagram/OOWS Model. Luego de agregar todo lo anterior se puede comenzar a dibujar
los elementos de OOWS desde la barra (figura 8). En esta figura se muestran tres sec-
ciones, la primera correspondiente a los elementos del mapa navegacional, luego los
elementos de los contextos navegacionales y por último elementos genéricos como las
notas de UML.
figura 7: Menu "Model" de StarUML
figura 8:Elementos de la barra del módulo OOWS desarrollada para StarUML
CREANDO UN MAPA NAVEGACIONAL OOWS (SCREENSHOTS)
figura 9: Screenshots Para crear un Mapa Navegacional
La creación de un mapa navegacional es tan fácil como ir arrastrando los elementos
desde 'toolbox' hacia 'diagram' e ir ajustando las propiedades como nombre y va-
lores etiquetados respectivos. Un ejemplo de un Mapa Navegacional de OOWS para un
sistema de venta de libros se puede apreciar en la figura 10.
figura 10: Ejemplo de Mapa Navegacional creado con el modulo OOWS de StarUML