El diagrama de casos de uso es una forma de diagrama de co­m­po­r­ta­mie­n­to en lenguaje de modelado unificado (UML, del inglés Unified Modelling Language), con la que se re­pre­se­n­tan procesos em­pre­sa­ria­les, así como sistemas y procesos de pro­gra­ma­ción orientada a objetos. Por lo tanto, UML no es un lenguaje de pro­gra­ma­ción, sino un lenguaje de modelado, es decir, un método es­ta­n­da­ri­za­do para re­pre­se­n­tar sistemas pla­ni­fi­ca­dos o ya exi­s­te­n­tes. En este diagrama, todos los objetos in­vo­lu­cra­dos se es­tru­c­tu­ran y se re­la­cio­nan entre sí.

Compra y registra tu dominio ideal
  • Ce­r­ti­fi­ca­do SSL Wildcard gratis
  • Registro privado
  • Función Domain Connect para una co­n­fi­gu­ra­ción DNS si­m­pli­fi­ca­da gratis

Diagrama de casos de uso: uno de los muchos diagramas en UML

Re­pre­se­n­tar toda clase de objetos, re­la­cio­nes y procesos mediante un solo diagrama re­su­l­ta­ría demasiado complejo y confuso. Por este motivo, se utilizan 14 tipos de diagramas di­fe­re­n­tes en UML, que pueden dividirse en diagramas de es­tru­c­tu­ra, diagramas de co­m­po­r­ta­mie­n­to y diagramas de in­ter­ac­ción. Los diagramas de in­ter­ac­ción, a su vez, son una su­b­ca­te­go­ría de los diagramas de co­m­po­r­ta­mie­n­to.

Los diagramas de es­tru­c­tu­ra se centran en re­pre­se­n­tar todos los elementos de un sistema y sus re­la­cio­nes entre sí. Un ejemplo típico es el diagrama de clases, con el que los elementos se pueden agrupar y vi­sua­li­zar en je­ra­r­quías. Los diagramas de co­m­po­r­ta­mie­n­to, en cambio, no re­pre­se­n­tan es­tru­c­tu­ras estáticas, sino que muestran el flujo del proceso pla­ni­fi­ca­do o real que debería tener lugar al ejecutar el programa o el software. En este tipo de diagrama, la dinámica cobra pro­ta­go­ni­s­mo.

El diagrama de casos de uso también pertenece a este último grupo, pero se trata de un modelo pa­r­ti­cu­lar, porque muestra el co­m­po­r­ta­mie­n­to que se espera de un sistema o software en un caso de uso concreto. En co­m­pa­ra­ción con el resto de diagramas de co­m­po­r­ta­mie­n­to en UML, el diagrama de casos de uso es bastante estático, ya que solo puede emplearse para describir acciones y objetivos, pero no la secuencia exacta de procesos y acciones. Para esto último, se utilizan otros tipos de diagramas en UML, como los diagramas de ac­ti­vi­da­des, que re­pre­se­n­tan los procesos cro­no­ló­gi­ca­me­n­te; o los diagramas de secuencia, que muestran el in­te­r­ca­m­bio de mensajes entre los di­fe­re­n­tes elementos que componen un sistema.

Diagrama de casos de uso en la práctica

En el diagrama de casos de uso, las funciones del sistema en cuestión se re­pre­se­n­tan desde el punto de vista del usuario (llamado “actor” en UML). Este actor no tiene que ser ne­ce­sa­ria­me­n­te un usuario humano, sino que el rol también puede atri­bui­r­se a un sistema externo que accede a otro sistema. De este modo, el diagrama de casos de uso muestra la relación entre un actor y sus re­qui­si­tos o ex­pe­c­ta­ti­vas del sistema, sin re­pre­se­n­tar las acciones que tienen lugar o ponerlas en un orden lógico.

En la práctica, esta es­tru­c­tu­ra es adecuada para re­pre­se­n­tar cla­ra­me­n­te las funciones y/o objetivos más im­po­r­ta­n­tes de un sistema. Por esta razón, a la hora de de­sa­rro­llar un software o pla­ni­fi­car nuevos procesos em­pre­sa­ria­les, crear un diagrama de casos de uso suele ser uno de los primeros pasos, ya que permite vi­sua­li­zar clara y fá­ci­l­me­n­te qué casos de uso deben tenerse en cuenta durante el de­sa­rro­llo para que los actores (y, en un sentido más amplio, también los ope­ra­do­res o clientes) logren su objetivo, en principio in­de­pe­n­die­n­te­me­n­te de la via­bi­li­dad técnica.

Elementos y es­tru­c­tu­ra del diagrama de casos de uso

Para ga­ra­n­ti­zar que el diagrama de casos de uso sea co­m­pre­n­si­ble para todo el mundo de un vistazo, se utilizan elementos es­ta­n­da­ri­za­dos para ela­bo­rar­lo. En primer lugar, hay tres elementos pri­n­ci­pa­les:

  • Actor: tanto si es una persona, como un sistema, se re­pre­se­n­ta con el dibujo de una figura humana es­que­má­ti­ca.
  • Sistema: el sistema al que se refiere el caso de uso tiene forma de re­c­tá­n­gu­lo.
  • Caso de uso: se muestra como una elipse que suele incluir un texto de­s­cri­bie­n­do bre­ve­me­n­te el proceso.

La relación entre estos elementos se re­pre­se­n­ta con unas líneas de conexión llamadas aso­cia­cio­nes. Una línea recta entre el actor y el caso de uso evidencia que el actor y el caso de uso descrito en la elipse están re­la­cio­na­dos. Una línea di­s­co­n­ti­nua establece una relación entre di­fe­re­n­tes casos de uso. Como hay dos tipos di­fe­re­n­tes de aso­cia­ción entre casos de uso, a las líneas se les añade una palabra clave, de­no­mi­na­da “es­te­reo­ti­po” en UML, que se pone entre dos pares de pa­ré­n­te­sis angulares. La relación de de­pe­n­de­n­cia entre los casos de uso se re­pre­se­n­ta con la punta de una flecha. Se distingue entre estos dos es­te­reo­ti­pos:

  • Aso­cia­ción <>: el caso de uso en el cual comienza la línea di­s­co­n­ti­nua se relaciona con un segundo caso de uso señalado por la punta de la flecha.
  • Aso­cia­ción <>: el caso de uso en el cual comienza la línea di­s­co­n­ti­nua puede ex­te­n­de­r­se al caso de uso señalado por la punta de la flecha bajo ciertas co­n­di­cio­nes, que no han de cumplirse ne­ce­sa­ria­me­n­te en todos los casos.

Si bien la aso­cia­ción <<include >> requiere que ambos casos de uso se realicen, en el caso de la aso­cia­ción <<extend>> esto depende de ciertas co­n­di­cio­nes que se re­pre­se­n­tan como el llamado punto de extensión en el diagrama de casos de uso en UML. En el esquema, el punto de extensión se re­pre­se­n­ta con dos elementos:

  • Mención en la elipse del caso de uso: el posible punto de extensión se menciona y se describe bre­ve­me­n­te bajo el título del caso de uso.
  • Nota: partiendo del es­te­reo­ti­po <>, se dibuja una línea di­s­co­n­ti­nua que finaliza en el gráfico de una nota (re­pre­se­n­ta­da como un re­c­tá­n­gu­lo con una esquina doblada). Esta nota incluye los títulos de “Condición” y “Punto de extensión”. Detrás del primero, figura entre corchetes la condición que debe cumplirse para que se ejecute el segundo caso de uso. Detrás de “Punto de extensión”, se indica el nombre que aparece en la elipse del caso de uso co­rre­s­po­n­die­n­te, para dejar claro a qué se refiere la extensión.

Hasta aquí todos los co­m­po­ne­n­tes básicos que necesitas para crear tu propio diagrama de casos de uso.

Ejemplo de diagrama de casos de uso

Hasta ahora solo hemos hablado de la teoría. Para que te hagas una mejor idea del diagrama de casos de uso en la vida real, te en­se­ña­re­mos a elaborar uno mediante el ejemplo del cliente de un banco que quiere sacar dinero de un cajero au­to­má­ti­co.

Nota

En la práctica, siempre debes ase­gu­rar­te de que el diagrama de casos de uso no sea demasiado confuso, lo cual suele pasar al re­pre­se­n­tar varios casos en el mismo diagrama re­la­cio­na­dos entre sí por las aso­cia­cio­nes <<include>> y <<extend>>. En caso de duda, conviene crear un diagrama de casos de uso in­de­pe­n­die­n­te para cada uno de ellos.

En nuestro ejemplo, el cajero au­to­má­ti­co es el sistema; el cliente del banco, el actor que va a uti­li­zar­lo, y el caso de uso, “sacar dinero”. Este último se relaciona con otros dos casos de uso mediante aso­cia­cio­nes de inclusión, a saber, “au­te­n­ti­ca­ción” y “control de PIN y cuenta”. Si la au­te­n­ti­ca­ción no es válida, no se atenderá la solicitud del cliente. Para que los intentos del cliente no se repitan de manera in­de­fi­ni­da, el cajero debe retener la tarjeta cuando el PIN se introduce in­co­rre­c­ta­me­n­te tres veces. Por lo tanto, para el caso de uso de la “au­te­n­ti­ca­ción”, se define un punto de extensión con la condición “PIN in­co­rre­c­to tres veces”. Si se cumple esta condición, se ejecuta el caso de uso de “retener tarjeta”, re­la­cio­na­do con el caso de uso de la “au­te­n­ti­ca­ción” mediante una aso­cia­ción de tipo extend. Con todos estos elementos, nuestro diagrama de casos de uso tendría este aspecto:

Ir al menú principal