Este post es la continuación sobre lo que es UML, para qué nos sirve y la manera de utilizar los modelos más usados que tiene esta herramienta para organizar las partes de un proyecto en cuanto a sus requerimientos así como la estructura del código que se tiene planeado implementar, por lo que se pueden ver una explicación más detallada así como los otros modelos en mi post anterior.
Ya al dejar en claro que esta es la segunda parte de un post, pasamos a los demás diagramas que se quedaron pendientes, también incluiré una liga a la herramienta Lucidchart para una explicación más completa y la misma herramienta donde se pueden crear estos esquemas.
- Diagramas de Estado

Este tipo de diagramas se puede relacionar con las máquinas de Moore, estas se refieren a la parte de electrónica de dependiendo de la entrada y del estado donde se esté es la salida que se va a tener y el estado al que va a llegar, se podría ver como en una máquina expendedora, que depende de la cantidad de monedas que hayas insertado se pueden hacer disponibles ciertos productos para comprar y ya dependiendo del dinero disponible y del cambio que haya en la máquina se ve la cantidad de monedas que la máquina va a dar al usuario, si se quiere aprender más de las máquinas de Moore puede ir a esta página.

En UML estos diagramas presentan la interacción del usuario u otro sistema con el sistema a desarrollar y se tomar en cuenta tanto las entradas al sistema como la parte de ejecución de donde se encuentra el sistema, llamando a estos los estados. De esta manera se puede saber cada paso que tendría el usuario al interactuar con el sistema y qué implica cada uno, para así poder anticipar errores que pueden llegar a suceder. Otro aspecto muy importante es que se tiene un estado inicial y un estado final, los cuales siempre tienen que suceder para poder concluir como exitosa la ejecución. Página de Lucidchart.
- Diagramas de Paquetes

Estos diagramas se usan para poder organizar los diagramas de clases, de casos de uso, de estado, entre otros en paquetes, para así poder tener un mejor manejo de un proyecto muy grande, ya que se puede ver como tener separado los proyectos en carpetas como separamos nuestros archivos en nuestras computadores, además de permitir la separación de proyectos muy grandes, puede ayudar a que se tengan claros los límites del proyecto y a tener una separación entre clases para que puedan ser lo más independientes posible entre ellas. Página de Lucidchart.
- Diagramas de Componentes
Estos diagramas son como los anteriores, donde se hace la separación de las partes del proyecto para que sea más fácil de entender, pero este se centra en los proyectos que están orientados a componentes, los cuales se refieren a la forma de organizar el proyecto donde se hace por componentes que unidos hacen el sistema completo, se hace de esta manera para facilitar un cambio de algún componente y que el sistema no sea afectado por completo ya que se ponen entradas y salidas estándar que cada componente debe de seguir. En conclusión estos diagramas organizan los sistemas en componentes y se establecen las entradas y salidas de cada componente a otro. Página de Lucidchart.
Al haber presentado esta pequeña cantidad de diagramas se puede ver que hay más de uno para cada enfoque para un proyecto, pero existen más diagramas, ya sea unos más especializados para una situación que otros, así como hay diagramas que usan de manera más general y aplican en muchos escenarios. El punto de esto es que en verdad se tienen que usar diagramas para la planeación de un proyecto, y no se pueden poner pretextos de que los que existen no son los indicados para el proyecto, ya que hay una gran cantidad de estos y aún más, hay herramientas que te ayudan a entenderlos y a saber cómo hacerlos de manera correcta.