Академический Документы
Профессиональный Документы
Культура Документы
Agenda
1. Herramientas para disear software 2. Herramientas para modelar bases de datos 3. Gestin de la configuracin
Existe al menos 20 herramientas libres para disear software totalmente libres. Todas utilizan la notacin UML El nivel de avance entre una y otra es notable, casi todas ofrecen como funcionalidad :
Diagramas de caso de uso Diagramas de clases Diagramas de secuencia Generacin de cdigo en java, c++, python y php Algunas entidad-relacin (pero ninguna lo suficientemente avanzada)
Pocas herramientas permiten ingeniera reversa, y si lo hacen solo es de lenguajes tipo java o c++
Use Case Maker, solo documentar casos de usos y requerimientos relativos, http://use-case-maker.sourceforge.net/index.html ObjectBuilder, permite documentar clases, relaciones, mtodos, etc., http://sourceforge.net/projects/objectbuilder/ BoUml, herramienta de diseo UML multiplataforma, es bastante completa tiene todos los diagramas caracterstica UML que estndares BoUml pero y genera menos cdigo, http://bouml.sourceforge.net/
Gaphor,
mismas
diagramas,
http://gaphor.devjavu.com
Taylor, es un set de plug-ins para Eclipse para modelar bajo UML, genera y lee cdigo Java, permite modelar incluse modelos de procesos de negocios y muchas cosas mas, incorpora muchas tecnologas, http://taylor.sourceforge.net
Desarrollado en C++ es parte del escritorio KDE, actualmente nicamente utilizado en Linux pero ya el escritorio KDE se puede correr en Windows por lo cual la herramienta podra ser utilizada. Rpida, ligera, sencilla de usar, no se pone lenta cuando los proyectos son enormes. Requiere de mas opciones de generacin de documentacin de los diseos modelados dentro de ella. Permite generar cdigo en diversos lenguajes. Soporta los diagramas UML estndares.
http://uml.sourceforge.net/index.php
Diagrama de secuencia
Diagrama de colaboracin
Desarrollado en Java es multiplataforma. Provee toda la funcionalidad desea en una herramienta para modelar bajo UML. Genera cdigo en varios lenguajes. Sus diseos son exportables a XMI y pueden ser importados por algunos Frameworks. Tiene un depurador del diseo que vamos creando, el depurador sugiere soluciones o detecta incongruencias, sus mensajes son bastante claros y de mucha ayuda.
http://argouml.tigris.org/
Diagrama
Mensajes de depuracin
Diagrama
Diagrama
Algunas de las herramientas case libres permiten modelar bajo EntidadRelacin, sin embargo su funcionalidad es bastante limitada. Bsicamente existen herramientas orientadas a una db en especifico y estas son MySql y PostgreSQL, el de MySql (MySql WorkBench no es libre). Permiten hacer ingeniera reversa de la db para las que fueron diseadas, algunas otras soportan UnixODBC/Odbc segn sea el caso. Existen algunos modeladores en linea. La documentacin que generan es bien bsica.
Desarrollada en Gambas v. 2 solo puede ser usada de momento en Linux. Unicamente permite modelar para PostgreSQL y genera cdigo para este dbms, tambin es posible conectarse directamente a la db para generar los objetos. Puede realizar ingeniera reversa. Asistente para creacin de vistas. Soporta una gran cantidad de objetos.
Los diseadores por web son una manera rpida y sencilla de generar diagramas para atender necesidades inmediatas o compartir diseos con varias personas e incluso trabajarlos en conjunto. Pueden usarse casi con cualquier navegador de Internet. Poseen los objetos de base de datos mas comunes. Genera cdigo SQL y en algunos casos importan cdigo para generar el diagrama. Algunos generan documentacin bsica .
3. Gestin de la configuracin
Uno de los principales problemas en todos los proyectos de desarrollo de software es el versionaje. El versionaje nos permite llevar un control de los cambios en nuestro cdigo, quien y cuando lo hizo, porque lo hizo, que cambio a razn de que. Existe muchas alternativas libres en el mercado que unidos a otros productos permiten tener incluso hasta los historiales, hacer comparaciones, manejar tickets, llevar mtricas, etc. Casi todas las opciones cuentan con soporte de GUI para administracin y/o soporte Web lo que hace mucho mas cmodo trabajar en equipos de desarrollo distribuidos en varios lugares.
Subversion mas conocido como SVN es probablemente el sistema mas desarrollado para el control de cambios. SVN posee clientes Consola, GUI y WEB para acceder a los arboles de directorios y actualizar cdigo, retornar versiones, etc., existen clientes GUI para Linux y Windows (existe un plug-in para Eclipse).
http://subversion.tigris.org/
Trac es un sistema web libre para la gestin de proyectos y seguimiento de errores. Depende de SVN y permite analizar cambios en el cdigo, ver los responsables de los mismos y los motivos por los cuales se hicieron los cambios. Cuenta adems con un wiki (se podra utilizar para despliegue de procedimientos o gestin de documentacin de acuerdos de reuniones) y gestin de tickets. Tiene algunos plug-ins para diferentes trabajos, mayor seguridad y hasta mtricas, existen modificaciones que lo une al gestor de proyectos dotProject. Tanto TRAC como SVN sirven para diferentes lenguajes de programacin. http://trac.edgewall.org/
Git fue diseado por Linus Torvalds, pensando en la eficiencia y confiabilidad de mantenimiento de versiones de aplicaciones con una enorme cantidad de archivos de cdigo fuente. A diferencia de SVN esta ms pensado en soportar muchas modificaciones independientes bajo la premisa que los cdigos subidos no necesariamente son definitivos y/o estables. GIT tambin puede ser configurado en varias instancia de subida de cdigo, generando todo un esquema de servidores remotos intermedios hasta llegar a produccin. Posee clientes WEB y GUI Linux y Windows. Se puede unir a TRAC. http://git.or.cz/
Gracias
Toda la informacin con la que se realizo estas diapositivas puede ser vista aqu: http://tinyurl.com/6qa848 APESOL Website: http://www.apesol.org IRC: server: irc.freenode.net sala: #apesol Listas: http://apesol.org/listas.php