Dudas sobre modelado de escenarios mediante CASOS DE USO

Dudas sobre modelado de escenarios mediante CASOS DE USO

de Damian Ferencz -
Número de respuestas: 2

1. Primero, saber si entiendo correctamente la diferencia entre <<include>> y <<extends>>.En caso que haya imprecisiones o errores, me gustaría que me los mencionaran.

    -include: refiere a la inclusión de un caso de uso dentro de otro (el base), sin el cual el base no tiene una semántica completa.

    -extends: refiere a un caso de uso que "agrega semántica" (es decir, da más detalles) en un punto especifico (punto de extensión)       del caso de uso base (el que está siendo extendido). 

    En el ej. 10 del parcial 2018, se selecciona como correcto el hecho: El caso de uso “Seleccionar libro” podría extender al caso de uso “Buscar libro”. Si se sustituye "extender" por "incluir" estaría incorrecto. Por lo que veo, optar por inclusión o extensión es una cuestión de estilo.


2. Supongamos que un caso de uso tiene un paso que requiere de estar logueado al sistema, como "Editar perfil". Es necesario que incluya al login? No es mejor que escribirlo como precondición?


3. Ej. 11 del parcial 2018: Por qué es correcta la respuesta a) y no la b). Me desconcerté al mirar la solución.


Espero respuesta

En respuesta a Damian Ferencz

Re: Dudas sobre modelado de escenarios mediante CASOS DE USO

de Sebastian Pizard -

Buenas. Trato de aclarar las dudas.

1)- están bien las definiciones planteadas. el caso incluido en general no tiene semántica propia (o valor para algún actor) eso puede inclinar un poco la balanza a la hora de elegir include o extend. hablando muy mal y pronto, el include es un conjunto de interacciones que se repiten mucho y el extend corresponde a un flujo alternativo que era mejor escribirlo aparte del cu original.

2)- cuando el include se realiza en el primer paso de un cu también sería posible ponerlo como precondición. hay algunas escuelas que eligen una de las maneras y "prohiben" la otra, pero para nosotros están bien ambas.


3)- esta respuesta es más larga, antes que nada voy a incluir todo para que los demás no tengan que ir a buscar la letra.

Con el objetivo de la compra de libros entre estudiantes de ingeniería, la facultad promueve una nueva aplicación web. El estudiante puede elegir entre publicar libros, para que otros estudiantes puedan comprarlo, o comprar libros. Si el estudiante quiere comprar un libro, se despliegan filtros de búsqueda: título o autor del libro. Al utilizar los filtros, la aplicación muestra los libros que cumplen con los criterios seleccionados. El usuario podrá seleccionar un libro, donde se mostrarán los detalles del mismo, incluyendo los datos del estudiante que vende el libro, y una opción para poder comprarlo. El usuario podrá comprar el libro solo si está logueado en el sistema. El sistema permite acordar con el vendedor la forma de pago o pagar a través de PayPal. Si el estudiante quiere publicar un libro, deberá estar logueado en el sistema e ingresar los datos del libro que quiere vender: título, autor del libro, fecha de publicación y opcionalmente una descripción del mismo. El estudiante podrá ingresar a la aplicación con el usuario y contraseña otorgado por bedelía al momento de inscribirse a una carrera. A continuación se muestra la primer versión del diagrama de casos de uso, el cual todavía no está terminado.


modelo cus


11. Respecto a los actores del sistema, seleccione la opción correcta: 

a) Dos actores del caso de uso “Comprar libro” son: Estudiante comprador y Paypal. 

b) El actor Paypal no debería de considerarse como un actor en el caso de uso “Comprar libro” dado que el estudiante comprador puede acordar con el estudiante vendedor la forma de pago. La solución más adecuada es crear un nuevo caso de uso “Comprar libro por Paypal”. 

c) Paypal no es un actor dado que es un sistema externo. 

d) En el diagrama de casos de uso presentado anteriormente están presentes todos los actores del sistema


Los actores son ambos, estudiantes comprador y paypal, aún cuando el actor paypal tenga interacción en un flujo alternativo nada más, que es lo que explica la opción b). Por eso es que la opción b es incorrecta, no es necesario para nada tampoco hacer dos cus cuando uno puede manejar varias formas de pago con diferentes flujos alternativos.

Espero haber aclarado, sino me avisas.

Saludos,
Sebastián