geração (semi)automática de metadados - Universidad Autónoma ...
geração (semi)automática de metadados - Universidad Autónoma ...
geração (semi)automática de metadados - Universidad Autónoma ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
ISBN: 978–972–8924–45-4 © 2007 IADIS<br />
3. DESCRIPCIÓN DE LA HERRAMIENTA<br />
3.1 Diseño <strong>de</strong> la Herramienta<br />
La herramienta que se presenta en este trabajo tiene como finalidad apoyar el diseño e implementación <strong>de</strong><br />
aplicaciones Web en ambiente Struts. Esta herramienta se diseñó siguiendo la metodología [1] <strong>de</strong>scrita en la<br />
sección 2, y a su vez se está <strong>de</strong>sarrollando en ambiente Web basado en Struts y haciendo uso <strong>de</strong> otras<br />
tecnologías como Hibernate© [5] para el manejo <strong>de</strong> la persistencia <strong>de</strong> datos y SVG [13] para la visualización<br />
<strong>de</strong> los diagramas requeridos en la aplicación.<br />
La primera versión, disponible a partir <strong>de</strong> julio 2007, correspon<strong>de</strong> al diseño <strong>de</strong> las funcionalida<strong>de</strong>s básicas<br />
y contiene lo necesario para: crear diseños, dividirlos en casos <strong>de</strong> uso y asociarles Diagramas <strong>de</strong><br />
Comportamiento con sus respectivos nodos usuario y sistema a cada uno <strong>de</strong> ellos, diseñar la representación<br />
persistente <strong>de</strong> los datos a utilizar, así como los datos por sesión y los datos vivos <strong>de</strong> la aplicación, asociar a<br />
cada nodo sistema la colección <strong>de</strong> datos que tiene a su disposición para cumplir con su cometido, asociar a<br />
cada nodo usuario Vistas y objetos <strong>de</strong> acceso <strong>de</strong> datos para comunicar la información entre la aplicación y<br />
sus usuarios al momento <strong>de</strong> la ejecución (ver Tabla 2).<br />
Tabla 2. Funcionalida<strong>de</strong>s básicas y complementarias<br />
Funcionalida<strong>de</strong>s básicas Funcionalida<strong>de</strong>s complementarias<br />
1. Crear y editar nuevo diseño: <strong>de</strong>scripción <strong>de</strong>l problema<br />
1. Diseñar estructuras <strong>de</strong> datos persistentes lo<br />
2. Crear, editar y listar casos <strong>de</strong> uso: <strong>de</strong>sglose <strong>de</strong>l problema en casos <strong>de</strong> uso cual permite completar información entre un<br />
3. Definir Diagrama <strong>de</strong> Comportamiento: En este proceso se <strong>de</strong>stacan las<br />
nodo Sistema (Acciones) incluyendo<br />
siguientes tareas:<br />
operaciones <strong>de</strong> lectura/escritura para<br />
• Crear y Editar Nodos Usuario<br />
interactuar con el mo<strong>de</strong>lo <strong>de</strong> datos.<br />
• Crear y Editar Nodos Sistema<br />
2. Diseñar versiones más elaboradas <strong>de</strong> las<br />
• Crear y Editar conexiones entre nodos (salidas)<br />
Vistas y más facilida<strong>de</strong>s para completar el<br />
Se produce el esqueleto <strong>de</strong> la aplicación con todos los elementos, a<br />
cuerpo (código) <strong>de</strong> las Acciones.<br />
excepción <strong>de</strong> los form beans.<br />
3. Crear, modificar y eliminar variables <strong>de</strong><br />
4. Crear Formas (<strong>de</strong>finir Vistas <strong>de</strong>l grafo Struts y form beans)<br />
sesión.<br />
5. Completar el archivo struts-config.xml.<br />
4. Crear, modificar y eliminar entida<strong>de</strong>s e<br />
6. Generar el esqueleto <strong>de</strong> las acciones.<br />
interrelaciones en el Mo<strong>de</strong>lo.<br />
Como resultado <strong>de</strong>l diseño se produce el esqueleto <strong>de</strong> una aplicación Web que contiene el archivo <strong>de</strong><br />
configuración Struts, las vistas JSP, los objetos <strong>de</strong> acceso <strong>de</strong> datos, la representación <strong>de</strong> datos persistentes en<br />
Hibernate [5] para crear la base <strong>de</strong> datos y acce<strong>de</strong>r a ellos <strong>de</strong>s<strong>de</strong> las acciones, los esqueletos <strong>de</strong> las acciones<br />
incluyendo el inicio y cierre <strong>de</strong> la sesión <strong>de</strong> acceso a los datos persistentes. La herramienta propuesta soporta<br />
cada uno <strong>de</strong> los pasos <strong>de</strong> la metodología para el <strong>de</strong>sarrollo <strong>de</strong> una aplicación.<br />
3.2 Estado Actual <strong>de</strong> la Herramienta<br />
En esta sección se <strong>de</strong>tallan las principales características y aspectos funcionales <strong>de</strong> la herramienta, y se<br />
ilustran con algunas Vistas <strong>de</strong>l prototipo que se encuentra en <strong>de</strong>sarrollo.<br />
3.2.1 Creación <strong>de</strong> Diseños y Casos <strong>de</strong> Uso<br />
Al crearse un diseño se pue<strong>de</strong> incluir información general que se utilizará para la documentación <strong>de</strong> la<br />
aplicación e iniciar el <strong>de</strong>sglose <strong>de</strong> ésta en casos <strong>de</strong> uso. Una vez listados los casos <strong>de</strong> uso, se pue<strong>de</strong> pasar a<br />
diseñar en <strong>de</strong>talle cada uno <strong>de</strong> ellos, o editar cualquiera <strong>de</strong> los ya creados (Figura 2).<br />
3.2.2 Creación <strong>de</strong> Diagramas <strong>de</strong> Comportamiento<br />
Un Diagrama <strong>de</strong> Comportamiento está asociado a un Caso <strong>de</strong> Uso. El diseño <strong>de</strong> un Diagrama <strong>de</strong><br />
Comportamiento compren<strong>de</strong> la <strong>de</strong>scripción <strong>de</strong>tallada <strong>de</strong> la interacción entre el usuario y la aplicación<br />
mediante la <strong>de</strong>finición <strong>de</strong> nodos Usuario, los nodos Sistemas y los arcos entre ellos.<br />
Los Diagramas <strong>de</strong> Comportamiento pue<strong>de</strong>n conectar nodos <strong>de</strong> diferentes casos <strong>de</strong> uso. Si bien la división<br />
en casos <strong>de</strong> uso no es estrictamente necesaria y un diseño podría realizarse con un solo caso <strong>de</strong> uso con un<br />
gran diagrama, resulta mucho más claro y práctico al momento <strong>de</strong> la implementación disponer <strong>de</strong> la<br />
estructuración lógica brindada por la división <strong>de</strong>l diseño en casos <strong>de</strong> uso específicos (Figura 3).<br />
94