UNIVERSIDAD DISTRITAL FRANCISO JOS DE CALDAS SEMINARIO DE INVESTIGACIN I
BOGOTA 2014
TITULO PROVISIONAL.
HERRAMIENTA CASE DE DIAGRAMACIN UML PARA EL TRABAJO COLABORATIVO EN LNEA.
PLANTEAMIENTO DEL PROBLEMA En el mercado existe hoy muchas herramientas CASE (Computer Aided Software Nngineering, Ingeniera de Software Asistida por Computadora) muy completas para el diseo de diagramas UML (Unified Modeling Language, Lenguaje Unificado de Modelado). Con la llegada de la internet la globalizacin se disparo, a su vez con la llegada de la web 2.0 el trabajo colaborativo en lnea se hizo posible y hoy en da muchas aplicaciones que antes eran de escritorio se estn pasando a la nube, un comportamiento que muy poco se ve en muchas de las herramientas CASE actuales, esto quiere decir que siguen con la forma tradicional de aplicativos de escritorio con lo cual requiere un proceso de instalacin y alojamiento de memoria en disco duro en cada equipo de computo donde se requiera. No hay que negar que existen algunas herramientas CASE para diagramacin que trabajan en lnea e incluso de manera colaborativa; pero estas herramientas presentan tambin el inconveniente de que son comerciales y por lo tanto no estn al alcance de todos o solo se limitan a la realizacin de un diagrama sin un valor agregado de documentacin adicional o automatizacin de ciertos procedimientos que permitiran ahorrar trabajo en un proyecto de software.
Entre las posibles causas de los problemas descritos anteriormente encontramos si duda alguna el inters comercial de las compaas desarrolladoras de estos productos, sin contar el costo que les producira volver a desarrollar toda una herramienta CASE para el trabajo colaborativo en lnea, a sus vez aquellas herramientas CASE para diagramacin que trabajan sobre la web en su mayora lo hacen de manera genrica, es decir, el diseo de diagramas se limita solo a eso y a nada ms dejando de lado documentacin adicional que es un componente importante dentro de las organizaciones para la gestin del conocimiento.
Las organizaciones seguirn pagando por muchas de estas herramientas para el trabajo no colaborativo y si se ofrece el poder trabajar de manera colaborativa, lo ms seguro es que se deba instalar software adicional. Otras sin embargo, tienen a su disposicin las herramientas de diagramacin on-line actuales de manera colaborativa para un proyecto de software; pero, ciertamente debern realizar la documentacin adicional, la informacin derivada del trabajo en estas herramientas CASE principalmente aplicaciones de escritorio seguir siendo descentralizada , incompleta o nula, en muchas ocasiones no se llevara un control de cambios, no existir sincronizacin, el conocimiento generado no se almacenara, en definitiva problemas en la gestin de un proyecto de software.
Este proyecto pretende abarcar muchos de los inconvenientes descritos anteriormente desarrollando un producto diseado para la web, accesible para todos, permitiendo tener una gestin de conocimiento gracias al trabajo colaborativo en tiempo real y generando la documentacin en varios de los diagramas, centralizado esta informacin, que sea acorde con las nuevas tecnologas, que permita llevar un control de cambios, resolviendo problemas de sincronizacin, en definitiva mejorar la gestin que se debe llevar en un proyecto de software reduciendo costos, tiempo y recursos.
FORMULACIN DEL PROBLEMA El desarrollo de una herramienta CASE para la realizacin de diagramas UML on-line colaborativa en tiempo real ayudara a resolver problemas de sincronizacin, documentacin y descentralizacin de la informacin derivada de estos diagramas para un proyecto de software?
SISTEMATIZACIN DEL PROBLEMA Cul metodologa se utilizara para la realizacin del proyecto? Qu roles se van a manejar en la herramienta? Cmo visualizaran los usuarios la herramienta? Qu tecnologa WEB se debe utilizar para el desarrollo de la herramienta? Qu arquitectura WEB se debe utilizar para el desarrollo de la herramienta? Es necesario realizar compra de algn producto de tercero para desarrollar la herramienta? Qu diagramas UML se deberan trabajar para este proyecto? La creacin de diagramas UML a travs de trabajo colaborativo y en tiempo real es factible? Qu tipo de documentacin generara la herramienta?
OBJETIVO GENERAL Construir una herramienta CASE para el diseo diagramas UML on-line que permita el trabajo colaborativo y en tiempo real de los miembros de un proyecto de software utilizando tecnologas de la web 2.0 y java.
OBJETIVOS ESPECIFICOS
Analizar los requisitos necesarios para el diseo de la herramienta CASE utilizando metodologas de ingeniera de software.
Disear la arquitectura de la herramienta CASE utilizando metodologas de ingeniera de software para su posterior construccin.
Construir un prototipo funcional de la herramienta CASE utilizando tecnologas de la web 2.0 y java para su posterior implementacin.
HOLOTIPO DE LA INVESTIGACIN PROYECTIVA. Se quiere plantear una solucin a un problema de sincronizacin, descentralizacin y documentacin de la informacin generada de los diagramas UML, crear un diseo y un desarrollo (programacin) que conlleve al planteamiento de trabajo colaborativo entre los miembros de un proyecto de software. JUSTIFICACIN Poco a poco las organizaciones son cada vez ms globalizadas y trminos como el teletrabajo, la deslocalizacin, Nearshore (fronteriza), la virtualizacin, etc. Estn tomando fuerza en el mundo laboral, trabajar desde la casa dejo de ser algo imposible a algo totalmente normal desde la llegada de Internet y las nuevas herramientas que surgen cada da para trabajar en la nube.
El conocimiento a su vez se ha convertido en factor clave en el valor que tiene cualquier organizacin, incluso ms que el valor monetario o su infraestructura, ya obtenido, hay que almacenarlo y gestionarlo para ser cada da ms competitivo, por eso es muy importante centralizar y asegurar la informacin en un solo punto accesible para todos.
Otra de las razones por la que se quiere hacer esta herramienta es la documentacin que se debe llevar en cualquier proyecto de software, si bien puede ser demasiada, por lo menos abarcar aquella que se puede obtener de los diferentes diagramas a desarrollar, es ms fcil dibujar e ir documentando, que sentarse a llenar un documento para muchos aburrido y en algunas ocasiones complicado.
La tecnologa hoy nos permite realizar trabajo colaborativo y en tiempo real, un ejemplo es el trabajo de documentos compartidos en lnea como un servicio no solo ofrecido por Google, sino tambin por otras compaas, entonces Por qu no hacer lo mismo, pero esta vez para un proyecto en donde se puede trabajar de forma colaborativa en lnea para proyectos de software?
Desarrollar una herramienta web en lnea colaborativa es una muy buena opcin para solucionar problemas que surgen cuando la comunicacin entre los miembros de un equipo de software por diferentes circunstancias no es posible de manera presencial y solo se cuenta con un punto de acceso a internet en la distancia, evitando problemas de tiempo, de costos, de infraestructura, de recursos, etc.
HIPTESIS La mejores herramientas CASE para diagramas UML por lo general no son gratis, a lo mucho los proveedores brindan una versin de prueba por 30 das, hoy las compaas gastan mucho dinero en la compra de estas herramientas por eso se quiere hacer una que sea de software libre (open-source), que pueda ser utilizada no solo a nivel comercial si no a nivel educativo.
Los aplicativos diseados para trabajar escritorio ocupan espacio de memoria y la informacin esta descentralizada, la solucin es almacenarla en un servidor y tener siempre acceso a ella a travs de la web, as se evita ocupar espacio en varios discos duros y se centraliza la informacin; pero tener informacin centralizada no es todo, cuando varias personas trabajan en un mismo diagrama que se almacena en un solo punto pueden surgir problemas de sincronizacin que conllevan a la perdida de informacin, sincronizar el trabajo en lnea, en tiempo real sera la solucin, es decir, si dos personas trabajan un mismo diagrama y una de ellas realiza un cambio, de manera inmediata y sincronizada, ese cambio ser actualizado en el rea de trabajo de la otra persona. Se puede pensar que eso no es posible en la nube, pero con las nuevas tecnologas tales como WebSockets y socktes de Adobe Flex o Websocktes es una realidad.
La globalizacin y el teletrabajo pueden llevar a problemas de comunicacin al tener miembros del equipo en un mismo proyecto de software que necesitan comunicarse o trabajar de forma colaborativa pero no lo pueden hacer ya que se encuentran en lugares diferentes, la utilizacin de correo electrnico o chat pueden resolver el problema integrndolo al aplicativo.
Si bien es cierto que en el mercado existen herramientas web para el diseo de diagramas UML no generan ningn tipo de documentacin, entonces esta documentacin se debe realizar aparte y nuevamente descentralizada, nuevamente a travs de la herramienta web se puede centralizar y crear documentos que se actualicen junto con el diagrama y siempre se pueden tener a la mano cuando se requiera, sin importar en que lugar se encuentre.
Algunas veces no es posible llevar un control de cambios sobre los diagramas UML que se trabaja para un proyecto de software, por consiguiente no se pueden reutilizar en otros proyectos o es imposible recuperar informacin de versiones anteriores, este inconveniente se puede resolver llevando un historial de cambios de los diagramas diseados por si se quiere recuperar cualquiera realizado con anterioridad o reutilizarlo para otros proyectos de software.