Do you use case?

El objetivo de esta pregunta es reflexionar un poco sobre las primeras fases del desarrollo de software. Planteada de otra forma viene a ser algo así, ¿y tú, cómo enfocas la concepción funcional de un programa que debes desarrollar desde el principio?

Diseño de software

O así: ¿sigues alguna metodología para capturar lo que debe hacer tu nueva aplicación? Si no ves muy clara la respuesta entonces el artículo de hoy tal vez te interese porque puede orientarte en los primeros pasos del camino hacia la construcción de tu nuevo programa.

UML (Unified Modeling Language) es un lenguaje gráfico-conceptual que permite especificar, visualizar, construir y documentar una aplicación. Este lenguaje proporciona al ingeniero de software un arsenal de planos completo con el que puede analizar cualquier aplicación desde perspectivas muy diversas: elementos de concepto, procesos de negocio, funciones del sistema, clases, esquemas de bases de datos, etc.

Con el Lenguaje Unificado de Modelado (UML) se capturan los elementos de un sistema y se habilita la comunicación entre los diversos implicados en el mismo. Uno de los mejores libros de UML que puedes encontrar es El lenguaje Unificado de Modelado, escrito por Booch, Jacobson y Rumbaugh, los mismos creadores de este lenguaje.

UML tiene principalmente dos visiones: la estática y la dinámica. El modelo estático captura los aspectos estáticos; el dinámico, los aspectos dinámicos de la aplicación. Como digo, programarivm.com presenta hoy en este artículo el diagrama de casos de uso perteneciente al modelo dinámico de UML y te anima a pintar diagramas de casos de uso en GNU/Linux con Umbrello.

En concreto, los diagramas de casos de uso sirven para modelar los aspectos relacionados con el comportamiento. Capturan los requerimientos funcionales de una aplicación representando las funciones que el usuario puede ejecutar.

Los elementos de los diagramas de casos de uso son:

  • Sujetos
  • Casos de uso
  • Actores
  • Relaciones de dependencia, generalización y asociación

El sujeto es un rectángulo que contiene elipses (los casos de uso), los actores son monigotes identificados con un nombre, los casos de uso son las elipses, y las relaciones son las líneas que unen los actores (los monigotes) con los casos de uso (las elipses). La idea es sencilla: hay que identificar los roles que interactúan con el sistema, identificar la funcionalidad a implementar y unir los actores identificados con la funcionalidad identificada.

Allá va un ejemplo de diagrama de casos de uso de la Wikipedia que ilustra bien los elementos del apartado anterior: sujetos, casos de uso, actores y relaciones.

En GNU/Linux Ubuntu puedes dibujar diagramas de casos de uso como el anterior con Umbrello. A continuación adjunto uno de los (muchos) pantallazos que puedes encontrar en la página oficial de esta aplicación de modelado de software. ¿Te gusta?

Para instalar Umbrello en Ubuntu: