Casos de uso. Gestión CRUD II

En el artículo anterior vimos una posible forma de enfocar la gestión CRUD en los casos de uso. En este voy a añadir un par de posibles soluciones a circunstancias que se pueden dar en la definición de los casos de uso de un sistema de información:

1) Puede haber alguna tabla maestra que tenga alguna operación expecial como por ejemplo el duplicado de un registro (puede ser útil sobre todo en aquellos casos donde cada registro tengo un número elevado de atributos).

¿Cómo podemos llevar esto al modelo de casos de uso?

Seguiriamos teniendo la entidad donde se realiza esta operación con una relación de herencia sobre el caso de uso “Gestionar Entidad”. Al hacerlo entendemos que se hereda el comportamiento del mismo, así como las relaciones que tenga. Como se trata de una operación más, pues a nivel de diagrama de casos de uso bastará con incluir un nuevo caso de uso en el que se describa la interacción sistema/actores para la realización de la operación que extenderá al caso de uso de la entidad, el cual no será necesario describir ya que en nada varía su funcionamiento.

2) ¿Y si alguna operación tiene un comportamiento especial en la gestión de una entidad?

Una posible solución consiste en que se describa esa operación en un caso de uso y extienda al caso de uso de la entidad (que a su vez tiene una relación de herencia con el caso de uso genérico “Gestionar Entidad”).

Se entenderá que ese caso de uso “sobreescribe” al caso de uso definido para dicha operación en el caso de uso genérico.

3) A veces hay entidades más complejas que comparten parte del funcionamiento de una gestión CRUD (como por ejemplo el alta o la consulta), ¿cómo representarlo?.

Una posible solución sería aplicar una solución similar a la que he expuesto en el caso anterior, todo lo nuevo tendría relaciones extend con respecto al caso de uso de gestión de la entidad (no confundir con el caso de uso genérico).

Quiero dejar claro que estas soluciones o estratégicas no buscan una aplicación purista de UML o de la estrategia de diseños de caso de uso, se trata de una forma de aplicar los mismos con el objeto de no que los casos de uso no representen repetición de comportamientos y así poder invertir el esfuerzo en describir aquellas interacciones actores/sistema que tienen un comportamiento específico y que sí resultan interesantes ser descritas de la manera más exacta posible.

About these ads
2 comentarios
  1. johann dijo:

    creo que faltaría discernir entre business cases (prince2, itil) y use case.
    Entendiendo como business case los use case básico.
    ¿Tiene sentido un caso de uso para la gestión entidades?
    Igual sería más eficiente agrupar no por “actividad” sino por “funcionalidad”.
    Por ejemplo: Create, Read, Update, Delete. Así se podrán asignar mejor roles. Y ya dependiendo de los actores y la funcionalidad a aplicar, y usando herencia de casos de uso todo quedaría más claro. Con un simple vistazo se tendría todo.

    • jummp dijo:

      Te agradezco muchísimo el comentario porque supone un aporte importante.

      La idea de utilizar un caso de uso “Gestionar Entidad” y que lo extiendan las operaciones, es para que nos quede más claro la herencia y la “sobreescritura” de operaciones que extienden al caso de uso que hereda. Es una estrategia, como puede haber otras igualmente válidas.

      Los casos de uso de negocio expresan funcionalidades a más alto nivel, en este caso, tratamos de ser más concretos.

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 3.199 seguidores

%d personas les gusta esto: