Foros del Web » Programación para mayores de 30 ;) » Programación General »

Relaciones entre casos de uso

Estas en el tema de Relaciones entre casos de uso en el foro de Programación General en Foros del Web. Tengo dos dudas principales sobre la relación entre casos de uso: 1. Diferencia entre extensión e inclusión: Imaginemos un caso de uso de "BuscarProducto" y ...
  #1 (permalink)  
Antiguo 28/12/2007, 07:48
 
Fecha de Ingreso: diciembre-2007
Mensajes: 7
Antigüedad: 16 años, 4 meses
Puntos: 0
Relaciones entre casos de uso

Tengo dos dudas principales sobre la relación entre casos de uso:

1. Diferencia entre extensión e inclusión: Imaginemos un caso de uso de "BuscarProducto" y otro de "PedirProducto". La petición de un producto implica buscarlo primero, entonces, la relación entre pedir producto y buscar producto, yo creía que era extensión, sin embargo, hay quien opina que es inclusión ¿Qué opináis?

2. Generalización de casos de uso: Supongamos el mismo caso anterior, pero el producto buscado puede ser de diferente tipo (libros, manzanas, ...) y, por lo tanto, necesitar datos de búsqueda diferentes. ¿Seria correcto crear un caso de uso genérico "BuscarProducto" del cual derivaran "BuscarLibro" y "BuscarManzana" y que "PedirProducto" sólo extendiera al genérico "BuscarProducto" (esto sería lo que se haría con clases), o bien no se crearía "BuscarProducto" pero sí "BuscarLibro" y "BuscarManzana" y que "PedirProducto" extendiera ambos?
  #2 (permalink)  
Antiguo 04/01/2008, 22:15
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 10 meses
Puntos: 24
Re: Relaciones entre casos de uso

Cita:
Iniciado por iron_camaleon Ver Mensaje
1. Diferencia entre extensión e inclusión: Imaginemos un caso de uso de "BuscarProducto" y otro de "PedirProducto". La petición de un producto implica buscarlo primero, entonces, la relación entre pedir producto y buscar producto, yo creía que era extensión, sin embargo, hay quien opina que es inclusión ¿Qué opináis?
Si siempre que llames a PedirProducto, indefectiblemente llames a BuscarProducto, entonces es sin duda una inclusión.
Si solo llamas a BuscarProducto, desde PedirProducto, bajo ciertas condiciones, entonces es una extensión.

Cita:
Iniciado por iron_camaleon Ver Mensaje
2. Generalización de casos de uso: Supongamos el mismo caso anterior, pero el producto buscado puede ser de diferente tipo (libros, manzanas, ...) y, por lo tanto, necesitar datos de búsqueda diferentes. ¿Seria correcto crear un caso de uso genérico "BuscarProducto" del cual derivaran "BuscarLibro" y "BuscarManzana" y que "PedirProducto" sólo extendiera al genérico "BuscarProducto" (esto sería lo que se haría con clases), o bien no se crearía "BuscarProducto" pero sí "BuscarLibro" y "BuscarManzana" y que "PedirProducto" extendiera ambos?
Si la única diferencia entre los 3 CUs son los datos que utiliza para buscar, entonces no vale la pena hacer 3 generalizaciones ya que los CU reflejan comportamiento, y las generalizaciones solo tendrían datos.

Un detalle: en la práctica, todavía no he visto ningún sistema que haga uso de las generalizaciones en su descripción de CU. Esta clase de relación fue introducida durante la creación del proceso unificado de desarrollo, pero nunca fue utilizada en la práctica ya que no aporta un valor real a las descripciones.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:28.