Вы находитесь на странице: 1из 26

1eras Jornadas Tcnicas con el Estado

Herramientas de Apoyo al desarrollo de Software


Ernesto Quiones Azcrate Presidencia de Apesol 2006-2008 ernestoq@apesol.org

Agenda
1. Herramientas para disear software 2. Herramientas para modelar bases de datos 3. Gestin de la configuracin

1. Herramientas para disear software

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++

1. Herramientas para disear software

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

1. Herramientas para disear software Umbrello

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

1. Herramientas para disear software Umbrello


Diagrama de clases

Diagrama de secuencia

1. Herramientas para disear software Umbrello


Casos de uso

Diagrama de colaboracin

1. Herramientas para disear software ArgoUML

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/

1. Herramientas para disear software ArgoUML

Relacin de Diagramas y componentes

Diagrama

Mensajes de depuracin

Detalles de los componentes

1. Herramientas para disear software ArgoUML

Relacin de Diagramas y componentes

Diagrama

Mensajes de depuracin ordenados por diferentes conceptos

Ayuda para depurar el componente

1. Herramientas para disear software ArgoUML

Relacin de Diagramas y componentes

Diagrama

Mensajes de depuracin ordenados por diferentes conceptos

Cdigo fuente inmediatamente generado en diferentes lenguajes

2. Herramientas para modelar bases de datos

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.

2. Herramientas para modelar bases de datos PgDesigner

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.

2. Herramientas para modelar bases de datos PgDesigner


B a r r a h e r r a m d i e e n t a s

Zona de diseo Selector de tipos de objetos

2. Herramientas para modelar bases de datos PgDesigner

Importando un esquema ya creado

2. Herramientas para modelar bases de datos PgDesigner

Ingeniera reversa concluida y generando reporte

2. Herramientas para modelar bases de datos Diseadores por WEB

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 .

WWW Sql Designer : http://ondras.zarovi.cz/sql/ PHP DB Designer : http://sourceforge.net/projects/phpdbdesigner/

2. Herramientas para modelar bases de datos WWW SQL Designer

2. Herramientas para modelar bases de datos PHP Db Designer

Solo funciona con Oracle y MySql

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.

3. Gestin de la configuracin SVN+TRAC

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/

3. Gestin de la configuracin SVN+TRAC

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/

3. Gestin de la configuracin SVN+TRAC

3. Gestin de la configuracin GIT

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/

3. Gestin de la configuracin GIT

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

Вам также может понравиться