12
UNA HERRAMIENTA PARA DIAGRAMAS OOWS: "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.

UNAA A HHEE RRR AMMIIEENNTTAA PPARRAA … · UNAA AHHEE RRR AMMIIEENNTTAA PPARRAA DDIIAAGGRRAAMMAASS OOOWWSS:: "Módulo OOWS para StarUML" Richard Medina Z

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UNAA A HHEE RRR AMMIIEENNTTAA PPARRAA … · UNAA AHHEE RRR AMMIIEENNTTAA PPARRAA DDIIAAGGRRAAMMAASS OOOWWSS:: "Módulo OOWS para StarUML" Richard Medina Z

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.

Page 2: UNAA A HHEE RRR AMMIIEENNTTAA PPARRAA … · UNAA AHHEE RRR AMMIIEENNTTAA PPARRAA DDIIAAGGRRAAMMAASS OOOWWSS:: "Módulo OOWS para StarUML" Richard Medina Z

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.

Page 3: UNAA A HHEE RRR AMMIIEENNTTAA PPARRAA … · UNAA AHHEE RRR AMMIIEENNTTAA PPARRAA DDIIAAGGRRAAMMAASS OOOWWSS:: "Módulo OOWS para StarUML" Richard Medina Z

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 .

Page 4: UNAA A HHEE RRR AMMIIEENNTTAA PPARRAA … · UNAA AHHEE RRR AMMIIEENNTTAA PPARRAA DDIIAAGGRRAAMMAASS OOOWWSS:: "Módulo OOWS para StarUML" Richard Medina Z

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

Page 5: UNAA A HHEE RRR AMMIIEENNTTAA PPARRAA … · UNAA AHHEE RRR AMMIIEENNTTAA PPARRAA DDIIAAGGRRAAMMAASS OOOWWSS:: "Módulo OOWS para StarUML" Richard Medina Z

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

Page 6: UNAA A HHEE RRR AMMIIEENNTTAA PPARRAA … · UNAA AHHEE RRR AMMIIEENNTTAA PPARRAA DDIIAAGGRRAAMMAASS OOOWWSS:: "Módulo OOWS para StarUML" Richard Medina Z

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

Page 7: UNAA A HHEE RRR AMMIIEENNTTAA PPARRAA … · UNAA AHHEE RRR AMMIIEENNTTAA PPARRAA DDIIAAGGRRAAMMAASS OOOWWSS:: "Módulo OOWS para StarUML" Richard Medina Z

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

Page 8: UNAA A HHEE RRR AMMIIEENNTTAA PPARRAA … · UNAA AHHEE RRR AMMIIEENNTTAA PPARRAA DDIIAAGGRRAAMMAASS OOOWWSS:: "Módulo OOWS para StarUML" Richard Medina Z

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

Page 9: UNAA A HHEE RRR AMMIIEENNTTAA PPARRAA … · UNAA AHHEE RRR AMMIIEENNTTAA PPARRAA DDIIAAGGRRAAMMAASS OOOWWSS:: "Módulo OOWS para StarUML" Richard Medina Z

CREANDO UN MAPA NAVEGACIONAL OOWS (SCREENSHOTS)

figura 9: Screenshots Para crear un Mapa Navegacional

Page 10: UNAA A HHEE RRR AMMIIEENNTTAA PPARRAA … · UNAA AHHEE RRR AMMIIEENNTTAA PPARRAA DDIIAAGGRRAAMMAASS OOOWWSS:: "Módulo OOWS para StarUML" Richard Medina Z

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

Page 11: UNAA A HHEE RRR AMMIIEENNTTAA PPARRAA … · UNAA AHHEE RRR AMMIIEENNTTAA PPARRAA DDIIAAGGRRAAMMAASS OOOWWSS:: "Módulo OOWS para StarUML" Richard Medina Z

CREANDO UN CONTEXTO OOWS DETALLADO (SCREENSHOTS).

Page 12: UNAA A HHEE RRR AMMIIEENNTTAA PPARRAA … · UNAA AHHEE RRR AMMIIEENNTTAA PPARRAA DDIIAAGGRRAAMMAASS OOOWWSS:: "Módulo OOWS para StarUML" Richard Medina Z

REFERENCIAS

[UML] Unified Modeling Language (UML), The Object Management Group (OMG), Feb 2009, UML Version 2.2, http://www.omg.org/spec/UML/

[STARUML] StarUML - The Open Source UML/MDA Platform, http://staruml.sourceforge.net/en/