Elaborar diagramas de comportamiento en entornos de desarrollo
Cuando un programador se pone a desarrollar cualquier nuevo desarrollo o bien modificar alguno existente, lo normal es ayudarse de lo llamado cuaderno de carga.
Un cuaderno de carga no es más que las especificaciones funcionales que debe cumplir el desarrollo en cuestión.
Dentro de estos cuadernos de carga, nos debemos encontrar diagramas de comportamiento que sintetizan muy bien la funcionalidad requerida por el desarrollo.En el post de hoy vamos a ver qué aportan los diagramas de comportamiento en los entornos de desarrollo y la importancia de los mismo.
¿Qué es un diagrama de comportamiento?
Un diagrama de comportamiento se define formalmente como: Diagrama que expresa las secuencias de estados por los que pasa un objeto a lo largo de su vida en respuesta a eventos.
Hablando en un lenguaje más llano, se trata de diagramas que muestran diferentes estados de un proceso. Mediante estos diagramas se plasman de forma gráfica los procesos a programar.
Estos diagramas se usan para visualizar y especificar, a la vez que documentar, aspectos dinámicos de un sistema.
Cuando hablamos de desarrollo de software, estos aspectos dinámicos pueden ser mensajes que se generan, acciones de entrada de datos, eventos, etc…
Estos diagramas pueden ser muy simples o muy complejos en función del proceso que están representando. Hacen referencia a objetos, ya que se emplean mucho en la programación orientada a objetos. Un objeto puede ser cualquier entidad con un determinado estado y comportamiento.
Para aclarar de una forma visual el concepto, podéis ver la imagen que adjunto a este texto donde se representa un proceso mediante un diagrama de comportamiento.
Para desarrollar estos diagramas, se suele utilizar la notación UML (Unified Modeling Language), que no es más que un estándar de lenguaje para el modelado de sistemas de software y que recoge un conjunto de símbolos apropiados para cada tipo de estado o acción.
Diferentes tipos de diagramas de comportamiento
Dentro de los diagramas de comportamiento y siguiendo la norma UML, estos se pueden catalogar de diferente forma que veremos a continuación:
Diagramas de casos de uso
Este tipo de diagramas muestra las diferentes operaciones que puede realizar una aplicación o sistema, así como su relación con su entorno, que típicamente será el usuario u otras aplicaciones o sistemas.
Un ejemplo sería el definir los diferentes usos que puede tener un sistema que controle una máquina dispensadora. Esta máquina puede tener varios usos como: dispensar producto, dar cambio, informar de precio, etc…
Diagramas de secuencia
Otro de los tipos de diagramas de comportamiento son los denominados diagramas de secuencia.
Este tipo de diagramas muestran o describen las interacciones de los diferentes objetos en una aplicación a través del tiempo. Son un complemento a los diagramas de casos de uso pues pueden dar detalle de cada uno de los casos de uso.
Siguiendo el ejemplo anterior, para el estado dispensar producto, el diagrama de secuencia detallará los pasos a seguir para dar el producto seleccionado, como puede ser: identificar compartimento à girar dispensador à mostrar mensaje recogida producto.
Diagramas de estados
Los diagramas de estados nos muestran los diferentes estados por lo que puede pasar un objeto dentro de una aplicación, así como los cambios que le permiten pasar de un estado a otro.
Si seguimos con el ejemplo anterior, podríamos tener como estados Reposo, Producto Seleccionado, Sirviendo producto, Dando cambio, etc… y podemos decir que se cambia de Reposo a Producto seleccionado si se pulso el código del producto que se desea.
Diagramas de actividades
Por último, están los diagramas de actividades que es un caso específico de los diagramas de estados donde los estados son estados de acción y la mayoría de transacciones se envían al finalizar la acción ejecutada en el estado anterior.
Este tipo de diagrama permiten el paralelismo de acciones mostrando las rutas de decisiones que existe en el proceso global.
Importancia de los diagramas de comportamiento en el desarrollo de software
Hasta ahora hemos hecho un rápido repaso de lo que son los diagramas de comportamiento y sus diferentes variantes.
Creo que con esto todos podemos tener claro la importancia de estos diagramas a la hora de diseñar los diferentes procesos que conforman un sistema.
Se suele empezar definiendo el sistema a alto nivel para luego ir profundizando en diagramas más detallados.
Estos diagramas proporcionan a los desarrolladores una visión clara y detallada de los procesos a implementar, con los diferentes detonadores de cambio de estado de cada objeto.
No tiene por qué existir en un diseño todo este tipo de diagramas, pero si es necesario que existan para poder entender posteriormente toda la programación realizada.
Además de ser una herramienta de diseño para el desarrollo, es una forma clara y concisa de documentar todos los procesos a desarrollar.
En el post de hoy mi intención ha sido iniciaron en los diagramas de comportamiento para entender su importancia. Cualquier buena escuela de programación dedica una unidad de estudio a este tema.
Espero que hayáis podido entender la relevancia de tener que dedicar un tiempo al diseño del software a través de estos diagramas.