Está en la página 1de 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

UML

estndares

genera

cdigo,

http://bouml.sourceforge.net/

Gaphor,

mismas

caracterstica

que

BoUml

pero

menos

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,

http://taylor.sourceforge.net

incorpora

muchas

tecnologas,

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

Mensajes de
depuracin

Diagrama

Detalles de los
componentes

1. Herramientas para disear software


ArgoUML

Relacin de
Diagramas y
componentes

Mensajes de
depuracin
ordenados por
diferentes
conceptos

Diagrama

Ayuda para
depurar el
componente

1. Herramientas para disear software


ArgoUML

Relacin de
Diagramas y
componentes

Mensajes de
depuracin
ordenados por
diferentes
conceptos

Diagrama

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

También podría gustarte