[Python-es] [OFF TOPIC] herramientas para hacer diagramas UML

lasizoillo lasizoillo en gmail.com
Jue Mar 24 07:42:19 EDT 2016


El 24 de marzo de 2016, 0:12, Jose Caballero <jcaballero.hep en gmail.com>
escribió:

> Perdón por el off topic.
>
>
Perdóname tu la chapa que voy a soltar.


>
> Vamos a empezar una aplicación nueva en el curro, en python (lo que me
> sirve de excusa para preguntar en esta lista), y esta vez queremos
> hacer diagramas UML, tanto para ayudar en la fase de diseño como para
> documentación.
>

Ten en cuenta que la documentación es algo vivo que hay que ir modificando
cuando las cosas van cambiando.


>
> Si alguien ha usado alguna herramienta libre (y gratis, o muy barata)
> para dibujar UMLs, y le resultó  relativamente sencilla, estoy abierto
> a recomendaciones.
> Me vale tanto herramientas web como software que se pueda instalar en
> RedHat 5, 6 o 7, preferiblemente con RPM.
>
>
Para mi la mejor es plantuml:
http://plantuml.com/

No hay GUI, no hace falta ratón, solo tu editor favorito y un comandito de
nada ;-)

También se integra con muchas cosas.
 * ¿Vas a hacer la documentación con sphinx? Recuerda que documentar es
algo vivo. https://pypi.python.org/pypi/sphinxcontrib-plantuml
 * ¿Al cambiar código quieres cambiar rápido la docu?
https://plugins.jetbrains.com/plugin/7017
https://github.com/aklt/plantuml-syntax ...

Cuantos más pasos tengas que dar entre el cambio de tu código y su
documentación, más probable será que esta documentación no acabe
representando la realidad del código y no valga ni para limpiarse el....

También te recomiendo que no caigas en una metodología document driven. La
documentación es una herramienta para hacer claro el código y/o su uso,
nunca un objetivo. En un patrón estrategia[1] me basta ver un diagrama con
un par de ellas para saber su diseño, enumerar todas las implementaciones
concretas me puede llegar a distraer de otras partes del diseño. Otras
veces es mejor un diagrama de secuencia para ver el comportamiento del
sistema[2] y un diagrama de clases solo será distracción y ruido. Otras
veces un api bien diseñado y un código legible harán del uml innecesario (o
solo necesario como borradores en la fase de diseño).

[1] https://es.wikipedia.org/wiki/Strategy_%28patr%C3%B3n_de_dise%C3%B1o%29
[2] http://martinfowler.com/bliki/CircuitBreaker.html


Espero que los consejos te sean útiles.

Un saludo,

Javi


>
> Muchas gracias. Y de nuevo perdón por el OFF TOPIC y por preguntar
> algo que debería poder averiguar por mi mismo (si tuviese el tiempo
> necesario).
>
> Un saludo,
> Jose
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20160324/6770b80b/attachment.html>


Más información sobre la lista de distribución Python-es