Herramientas de usuario

Herramientas del sitio


desarrollo-uml-introduccion

Introducción

La intención de esta página es ir armando una serie de artículos para dar herramientas de desarrollo para sistemas embebidos en general. Entre ellas UML, modos de diseño (cascada, up/down, down/up, iterativo), sistemas de control de versiones, etc.

Cuando uno se enfrenta a un proyecto por primera vez la primera pregunta que se realiza es ¿por donde empiezo?: la PC, el microcontrolador, pruebo circuitos… A medida que se avanza de repente se opta por cambiar algo que se había hecho antes, o que no quedó del todo bien, y después se retoma del punto anterior, pero a la par se aprovecha para hacer otra cosa, pero resulta que esta otra cosa no funciona bien con lo que había hecho antes, así que lo cambio y… y así se crea confusión hasta que no se sabe que es lo que se está haciendo, ni para qué. Se pierden los objetivos de vista y sobre todo mucho tiempo y energía mal dirigida. Luego al desarrollar un proyecto mediano, donde participan 3 personas o más que pueden vivir en ubicaciones geográficas distantes es necesario mantener un plan de desarrollo claro, conciso, donde se puedan repartir tareas y trabajar todos tras un mismo objetivo. Para ello es importante poder transmitir ideas en forma rápida y concisa, y que la información volcada sirva de base para el software/firmware del proyecto. Incluso aunque se trate de una sola persona, se da el caso típico de empezar un proyecto personal y luego suspenderlo por ciertas causas. Al querer retomarlo uno se puede encontrar con que no sabe cual era la idea general, o por qué lo implementó de tal o cual forma, en qué aspectos tenía problemas, o simplemente ver un montón de líneas de código y no poder identificar claramente que es lo que hace.

UML se refiere a un conjunto de herramientas (diagramas) de modelado de un sistema. Sirve para modelar, implementar y documentar un proyecto, pudiendo ser entendible tanto para especialistas como para los que no lo son (un director, un cliente, etc claro que con menos detalles). Tiene la ventaja de ser un estandar y de poder ser utilizado como un idioma común con otros desarrolladores. A los interesados les recomiendo ver esta serie de videos, y podemos ir hablando en base a un mismo contenido:

Introducción general a UML

Nota personal: no soy un experto en estos temas, recién estoy empezando a abordarlos - así que las críticas y planteos más que bienvenidas son una necesidad urgente. Me decidí a iniciar estas páginas para aprender y debatir como desarrollar un sistema embebido, independientemente de si se utiliza un PIC, un ARM, una FPGA, componentes electrónicos, lenguaje de programación para la PC, herramientas de desarrollo, etc. UML me pareció muy útil tanto para empezar a desarrollar un sistema a alto nivel, como para implementarlo escribiendo código fuente. Quiero ir aprendiendo junto con la comunidad, debatir (ya haremos un tema en el foro para ello), y ver que puede ser útil y que no. Voy a ir agregando cosas de a poco, a medida que voy progresando en estos temas.

desarrollo-uml-introduccion.txt · Última modificación: 2016/06/27 16:26 (editor externo)