Modelado de Requerimientos con Casos de Uso

Ingeniería de Software I Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires 1er Cuatrimestre de 2009

Views 288 Downloads 3 File size 94KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

  • Author / Uploaded
  • Jose
Citation preview

Ingeniería de Software I Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires 1er Cuatrimestre de 2009

Práctica: Modelado de Requerimientos con Casos de Uso

Ingeniería de Software I – 1er. Cuatrimestre – 2009

Ejercicio 1 Objetivo: Repaso Marque con una flecha lo que corresponde Extensión

Generalización Inclusión

El caso de uso base explícitamente incorpora el comportamiento de otro caso de uso en el lugar especificado por el caso de uso base. Se usa para no repetir en diferentes lugares el mismo comportamiento. Un actor hereda el comportamiento y responsabilidades de otro. El comportamiento del caso de uso base, bajo ciertas condiciones, puede ser completado por el comportamiento de otro caso de uso. Se usa para casos de excepción.

Ejercicio 2 Objetivo: Repaso de semántica de la generalización Explique el siguiente Diagrama de Casos de Uso

Ejercicio 3 Objetivo: Denotación de la generalización, uso apropiado como herramienta de comunicación En un sistema de control hay dos roles: usuario y administrador. El rol usuario es el que aparece vinculado en el caso de uso A. El rol administrador es el que interviene en un caso de uso B. En la empresa los administradores son usuarios con más privilegios. ¿Es correcto mostrar herencia entre administrador y usuario en el diagrama de casos de uso? Ejercicio 4 Objetivo: Vínculo de modelos. Scope de los casos de uso

2

Ingeniería de Software I – 1er. Cuatrimestre – 2009

¿Con qué modelo de contexto es compatible el siguiente diagrama de casos de uso? (asumiendo una correspondencia entre actores y agentes). Justifique.

A CU I1

CU I2 B

A M

B

Ejercicio 5 Objetivo: Formas de transmitir estructura de la interacción con diagramas de casos de uso Supongamos que en un caso de uso aparecen 3 actores vinculados al mismo: A, B, C. Sin embargo, cada uno de los escenarios vinculados muestra a los sumo dos actores involucrados uno de los cuales es siempre A y el otro, según el caso es B o C

3

Ingeniería de Software I – 1er. Cuatrimestre – 2009

(excluyentes). ¿Se le ocurre cómo reflejar de manera más fiel esta circunstancia? Analícela respecto a la propuesta anterior. Ejercicio 6 Objetivo: Formas de transmitir estructura de la interacción con diagramas de casos de uso. Límites de poder expresivo ¿Qué se puede decir sobre el involucramiento de actores en los escenarios de los casos de uso en cada diagrama? Indique los diagramas válidos. Compare los últimos dos diagramas buscando escenarios admitidos por uno y no por el otro.

A2

C

A1

U

4

Ingeniería de Software I – 1er. Cuatrimestre – 2009

Ejercicio 7 Objetivo: Vínculo entre modelos y semántica de operadores de los diagramas de casos de uso Un sistema de compras por Internet posee estos objetivos a cumplir: a) Permitir al Cliente ingresar la lista a comprar b) Soportar diversas forma de pago Analice el siguiente diagrama de casos de uso en términos de pertinencia y completitud respecto a los requerimientos mencionados

Ejercicio 8 Objetivo: Vínculo entre modelos y semántica de operadores de los diagramas de casos de uso Algunos de los objetivos de un sistema de soporte a usuarios son: 1) Un usuario puede hacer consultas on-line sobre sus dudas 2) Si la respuesta es insatisfactoria, comienza una sesión de Chat con un operador de 1er nivel. Analice la siguiente estructura para la operacionalización del sistema dada en el siguiente diagrama de casos de uso. Critíquelo y modifíquelo.

5

Ingeniería de Software I – 1er. Cuatrimestre – 2009

Operador 1er Nivel Consultando ante incidente

usuario conversando

Ejercicio 9 Objetivo: Vínculo entre escenarios y casos de uso como estructurador de los mismos Se desea construir un servidor de nombres que sea interoperable en una red particular de clientes y servidores. Los siguientes escenarios describen algunas de las interacciones que el servidor debería soportar para cumplir con los protocolos existentes. Realice un diagrama de casos de uso a partir de los mismos y muestre la trazabilidad. 1. Juega el rol de un “Pull Partner”: Un administrador requiere que actualice su base de datos, comienza el set up con un Push partner que sepa que está operativo, una vez que éste lo acepta, le pide las versiones que tiene y en función de las mismas pide ciertos registros para actualizar los suyos. Luego de recibir los pedidos, cierra la conexión. 2. Un servidor (“push partner”) le avisa que hay nuevas versiones. Las pide, y luego de recibirlas le dice a otro vecino que hay nuevas versiones. El vecino juega el rol de Pull Partner y así continua la propagación 3. Idem anterior pero no propaga 4. Se vencen por timeout sus registros e inicia el proceso de ”pulling” con un vecino operativo 5. Descubre un servidor vecino al recibir un mensaje del mismo indicándole que está operativo 6. Un servidor vecino le avisa que ya NO está operativo 7. Le avisa a un servidor vecino que está operativo 8. Le avisa a un servidor vecino que NO está operativo 9. El administrador manualmente le hace iniciar una propagación como Push Partner 10. Le resuelve direcciones para uno de sus clientes 11. Un cliente registra su IP y nombre en él y, entonces como dueño del mapeo actúa de Push Partner 12. Un vecino como Pull partner le pide las versiones de sus registros y le envía datos si el vecino le solicita Hint: Como ayuda, considere como actores “Push Partner”, “Pull Partner” y un “Cliente”. Ejercicio 10 Objetivo: Uso de la herramienta para esquematizar interacciones En un programa de mensajería instantánea (msn, gtalk, etc..) un usuario puede solicitar la incorporación de un contacto a su lista utilizando la dirección de email de la persona a quien desea añadir. Si esta persona lo acepta, entonces ambos pasan a ser parte de la lista de contactos del otro. Para enviar un mensaje instantáneo el usuario elige a la persona con la que desea comunicarse y le escribe un mensaje. Este lo recibe y puede optar por enviarle un nuevo mensaje y continuar de esta forma la comunicación.

6

Ingeniería de Software I – 1er. Cuatrimestre – 2009

Diagrame los escenarios y luego agrupe usando casos de uso para: a) Suponga que se trata del sistema de mensajería completo. b) Suponga que sólo le interesa el programa cliente. Ejercicio 11 Objetivo: Diseño de diagramas. Vínculo con requerimientos Un negocio de venta de electrodomésticos decidió implementar y otorgar una línea de crédito a sus clientes para la compra de productos. 1. Los créditos son solicitados por los clientes al vendedor al momento de realizar la compra. 2. Deben ser autorizados por un representante de la gerencia de créditos, y pagados por el cliente a través del débito automático en tarjetas de crédito. 3. Si el crédito se acepta, se entrega el producto al cliente en forma inmediata. 4. Cada mes se debitará de manera automática el pago de las cuotas de la tarjeta del cliente. Describa el modelo de contexto e interfaces que asume. Realice una organización de una operacionalzación adecuada y completa de los requerimientos usando casos de uso. Vincule los casos de uso con los requerimientos mencionados. Ejercicio 12 Objetivo: Diseño de diagramas. Vínculo con requerimientos Los siguientes son Requerimientos de un cajero automático 1. Para poder efectuar cualquier operación, un cliente debe de primero ser autenticado ingresando su tarjeta bancaria y un pin de identificación único de 4 dígitos. 2. Si ingresa un pin incorrecto tres veces seguidas, la tarjeta quedará retenida y deberá de hablar con el gerente del banco en cuestión para recuperarla. 3. El cliente debe de poder efectuar extracciones de dinero (hasta un máximo de 1000 pesos por día), consultar sus fondos, transferir dinero a otras cuentas corrientes o cajas de ahorro, o depositarlo. 4. Para esto último, el cajero le proveerá de un sobre para ingresar el dinero. 5. En cualquier momento el usuario puede pedir ayuda online automatizada. 6. El cajero cuenta con una cámara, parlantes y micrófono para interactuar con un empleado del banco de turno y si es necesario demandar su presencia. 7. El administrador del banco debe de poder ver un log sobre las operaciones del cajero por día, semana, o mes y así requerirle a un técnico que reponga dinero si es necesario. 8. A su vez también puede deshabilitar temporalmente al cajero para que no brinde sus servicios. En este caso se informará de esta situación en la pantalla y se devolverá automáticamente la tarjeta en caso de alguien ingresarla por error. Describa el modelo de contexto e interfaces que asume. Realice una organización de una operacionalzación adecuada y completa de los requerimientos del cajero usando casos de uso. Vincule los casos de uso con los requerimientos. Ejercicio 13

7

Ingeniería de Software I – 1er. Cuatrimestre – 2009

Objetivo: Diseño de diagramas desde texto libre Se ha decidido fabricar una máquina que expende bebidas en forma automática. Luego de un análisis de objetivos se tomaron nota de algunas características de la operacionzalización deseada: El cliente selecciona algunos de los productos ofrecidos, uno o más, por medio de la pulsación de uno o más botones. Los artículos pueden ser de distintos tipos: latas de gaseosas, jugos o botellas. Solamente se puede solicitar un tipo de producto por vez. La máquina reconoce el pedido del cliente. Si no hay en existencia le indica al cliente por medio de un mensaje. La maquina acepta las monedas del cliente, reconociendo de distintos tipos. Si las monedas no cubren el total del importe las devuelve y le avisa al cliente por medio de un mensaje. En caso contrario, libera las bebidas solicitadas, actualiza el stock de artículos e imprime un ticket. El encargado de la reposición, repone los artículos de acuerdo a lo indicado en la pantalla (tendrá una pantalla propia, a la que accederá mediante su password). Al hacerlo, debe indicarle al sistema el producto y la cantidad que se ha repuesto. Inmediatamente el sistema deberá actualizar el stock, emitir un resumen de faltante en dos copias, como constancia de reposición y factura para el poseedor de la máquina. Diagrame como escenarios el texto precedente. Use la técnica de casos de uso para agrupar los escenarios y dar una descripción grafica de la estructura de la operacionalización propuesta. Ejercicio 14 Objetivo: Diseño de diagramas desde texto libre. Especificación de casos La famosa cadena de videoclubes “Los Bloques de Búster” nos ha contratado con el fin de desarrollar un sistema para informatizar sus locales. Hasta el día de la fecha se han mantenido una serie de reuniones con el cliente con el fin de determinar los requerimientos del sistema. De tales reuniones, se ha determinado lo siguiente: 





El sistema deberá permitir que los clientes consulten el catálogo de películas. A partir del mismo, una vez seleccionada una película, se deberá poder acceder a la información de la misma como ser su clasificación, su género y un breve resumen de la misma. Asimismo, opcionalmente, se deberá poder consultar la disponibilidad del video. Los empleados del videoclub deberán poder, a través del sistema, registrar alquileres y devoluciones por parte de los clientes, y consultar, dado un cliente, los videos que éste posea alquilados. Si registrando un alquiler, resulta que el cliente no se encuentra registrado, el sistema deberá permitir que se efectúe su alta. Nuestro cliente también pidió que el sistema, todas las mañanas genere de forma automática un informe que muestre todos los clientes que se encuentran atrasados con sus devoluciones. Cuando se le preguntó a que se refería con “todas las mañanas” aclaró: “Que todos los días a las 9:00 a.m. imprima o muestre por pantalla el listado de los atrasados.”

Utilice la técnica de casos de uso para operacionalizar los requerimientos del sistema. Identifique sus actores, los principales casos de uso y las relaciones presentes entre

8

Ingeniería de Software I – 1er. Cuatrimestre – 2009

ellos. Brinde también descripciones de los mismos, identificando cuando sea necesario alternativas que puedan presentarse a su curso normal. Ejercicio 15 Objetivo: Diseño de diagramas desde texto libre. Especificación de casos Se desea implementar un sistema para la administración de una hostería cuyos requerimientos y hechos de dominio analizados dieron lugar al siguiente texto. Se requiere mostrar de manera adecuada la información como casos de uso. Brinde también descripciones de los mismos, identificando cuando sea necesario alternativas que puedan presentarse a su curso normal. Identifique previamente los requerimientos y diagrama de contexto. La hostería posee habitaciones individuales, dobles o grupales (de hasta 8 personas). Un cliente debe poder hacer una reserva vía internet a cualquiera de estas habitaciones por un periodo de tiempo determinado. Se deberá poder ver una foto ilustrativa de la habitación al momento de hacer la reserva. Al efectuar la misma se deberá obviamente ingresar los datos personales del interesado incluyendo indefectiblemente algún teléfono para ubicarlo. Si 4 horas después de la supuesta fecha de check-in el cliente no se ha presentado, el sistema deberá informar de esta situación al empleado de recepción del hotel junto al teléfono de la persona que no se presentó. Las reservas también pueden hacerse telefónica o personalmente con un empleado de recepción, quien puede cancelarlas una vez pasadas las 4 horas mencionadas anteriormente. Al efectuar una cancelación el sistema deberá enviar un mail al cliente que no se presentó para notificar de la situación (sólo si lo incluyo en sus datos personales). Además de reservas, evidentemente el sistema debe de poder llevar el control de las habitaciones ocupadas (en cualquier momento se puede consultar quién está hospedado en qué habitación junto a todos sus datos), junto a las bebidas y/o snacks que hayan consumido del minibar de la habitación en cuestión (sólo en el caso de las habitaciones simples o dobles. Las grupales no cuentan con minibar). Para ello el personal de limpieza se ocupa de darle una lista detallada al empleado de recepción sobre el consumo del huésped en el día (artículos faltantes), para que este las ingrese en el sistema. El sistema también deberá llevar el control de que habitaciones fueron hechas en el día y cuales aún faltan por preparar. Esta información la carga cada empleado de limpieza (sólo para las habitaciones a las que fue asignado) de cada turno (mañana, tarde o noche) para que su reemplazo sepa que habitaciones visitar. La asignación de turnos y habitaciones por empleado las efectúa el jefe de personal. Al terminar la estadía (o en cualquier otro momento anterior) el huésped puede efectuar el check-out a través del control remoto de su televisor (nuevamente sólo para habitaciones individuales o dobles) donde se le notificará del monto a pagar luego en la recepción del hotel. El empleado del mismo obtiene inmediatamente una factura impresa con el detalle de lo consumido en la estadía, junto al total a pagar por parte del huésped. El cliente también puede optar por ir directamente a la recepción y que el empleado sea quién liquide su cuenta. Debe de reflejarse en el sistema de reservas de habitaciones si un huésped decide dar por terminada su estadía antes de lo pactado, ofreciéndose su habitación (o lugar en una grupal) como disponible. Ejercicio 16 Objetivo: Ejercicios adicionales. Diseño de diagramas desde texto libre. Especificación de casos. A partir del siguiente diálogo…

9

Ingeniería de Software I – 1er. Cuatrimestre – 2009

Analista: Bueno, ¿Puedes describirme más o menos cómo es la aplicación que necesitas? Cliente: Como te decía, lo que necesito es informatizar la gestión de mi vivero. Analista: Aja. ¿Y qué es lo que necesitas informatizar de tu vivero? Cliente: Básicamente el control de stock y la venta de plantas. Analista: Ya veo... ¿a quién le vendes tus plantas? Cliente: Tengo varios clientes. Pero esencialmente se dividen en dos tipos: clientes comunes por un lado, y otros viveros y florerías por el otro. Analista: ¿Y por que la división? ¿Deseas tener algún trato preferencial con ellos? Cliente: Obviamente sí. Para los viveros y florerías, necesitaría que puedan encargar sus pedidos vía internet con anticipación pues generalmente requieren de muchos días de trabajo el armarlos. Podrían tener un usuario y clave para entrar. Nuestros empleados deberían de poder consultar el detalle de dichos encargos cuando lo necesiten para poder ir preparando los pedidos. Cuando finalmente los terminan, deberían de ingresar al sistema y registrarlos como terminados para que el sistema le envié automáticamente un email a los clientes para que sepan que ya los pueden pasar a retirar. Cuando estos clientes pasan por el local a retirarlos es cuando se registra efectivamente la venta (que es cuando pagan ) y bajamos el stock de las plantas. Ah! Y para evitar que cualquiera se haga un usuario y pida vía web vamos a cobrar cierto monto en concepto de inscripción por única vez utilizando una tarjeta de crédito… Hay pedidos que no los vienen a buscar desde los juegos olímpicos de Seúl ‘88… Analista: Ah caramba… ¿y con respecto a los clientes comunes? Cliente: Son particulares que pasan por el local, ven algo que les gusta y lo llevan. Sólo nos interesa registrar la venta por mostrador. Estos pueden pagar en efectivo… Con los viveros y florerías preferimos manejarnos sólo con tarjeta por un tema de seguridad… Analista: ¿Y cuando se incrementaría el stock? Cliente: Nosotros producimos nuestras propias plantitas. Es decir mi mujer Selma, mi hermano Coco que es jardinero y yo (Lalo). ¡Coco es el Dr. Frankestein de las plantas, está todo el tiempo creando especies nuevas! Si bien al igual que nosotros cualquier empleado puede vender, nosotros tres somos los únicos que sabemos cuándo una planta de una especie creció lo suficiente para poder ser trasplantada y venderse, por lo que somos los únicos que podríamos ingresar plantas al sistema… Me gustaría poder ver la lista de las especies disponibles, elegir una y decir el total que se está renovando. Y obviamente poder agregar especies nuevas a la lista cuando Coco sale con alguna de las suyas… El otro día inventó un cactus rosa come frijoles. Es un loco este Coco… Analista: * Ejem…* Cliente: ¿Eh? Ah sí… y algo más… como nosotros somos los que decidimos que especies vendemos (tenemos una cantidad limitada de jardín para plantar) nos gustaría ver un ranking con las plantas más vendidas por día, semana y mes… ¿Se puede, no? Un amigo del primo de mi cuñado dice que se puede ¡y estaría genial! Analista: ¿Es Analista? Cliente: No, garrochista olímpico… Analista: Ah bueno…, Ok… analizo todo esto y te armo un presupuesto. Cliente: ¡Gracias!, ¡y no te zarpes con el precio! Analista: Noooo… Pfffft… Quedate tranquiiiilo… ¿Cuánto te puede cobrar? ;) … se pide: Utilizar la técnica de casos de uso para operacionalizar los requerimientos del sistema. Identifique sus actores, los principales casos de uso y las relaciones presentes entre ellos. Brinde también descripciones de los mismos, identificando cuando sea necesario alternativas que puedan presentarse a su curso normal. Ejercicio 17

10

Ingeniería de Software I – 1er. Cuatrimestre – 2009

Objetivo: Ejercicios adicionales. Diseño de diagramas desde texto libre. Especificación de casos. Los ejecutivos de una compañía aérea ya cansados de las quejas de sus clientes por los paros “sorpresivos” de sus empleados han decidido automatizar sus servicios lo máximo posible para reducir costos. Para ello quieren implementar una página web en la que una persona que quiera sacar un pasaje pueda hacerlo directamente sin la necesidad de un empleado. El interesado debería de poder buscar información de vuelos ofertados ingresando el origen, destino, y fecha en la que quiere viajar para que el sistema le brinde una lista con todos los vuelos que cumplan tales condiciones. Si el usuario encuentra un viaje que sea de su agrado que además posea la cantidad de asientos disponibles que este necesita puede optar por comprarlos. Para ello debe ingresar obligatoriamente una cuenta de email, y luego para cada pasajero deberá ingresar su nombre, edad, nacionalidad, dirección, y teléfono. Si un pasajero es menor de edad deberá viajar acompañado por un padre o tutor y deberá de hacerse tal vinculación entre los pasajeros. Opcionalmente puede incluir la compra de un “Speedy boarding card” para todos los viajantes con la que se garantizan ser llamados primeros al momento de embarcar. También se le da la opción de alquilar un auto en la ciudad destino. En este caso se deberá mostrar una lista de automóviles disponibles en el estacionamiento del aeropuerto destino (junto a su foto, modelo, año, precio, etc…) para que el usuario elija alguno que le interese e ingrese el periodo de alquiler. Una vez terminada esta tarea el usuario deberá ingresar los datos de su tarjeta de crédito para que se pueda debitar el monto total de la operación o comunicarle al usuario de que hay algún tipo de problema con su tarjeta. Si la operación es exitosa se le envía un mail con el número de vuelo, la fecha y hora de salida y un código de reserva. Ya en el aeropuerto, un pasajero que desee hacer el check-in, deberá de acercarse a una terminal “touch-screen” especialmente preparada cuando los monitores del aeropuerto comiencen a informar su vuelo. En esta terminal el pasajero elegirá su vuelo e ingresará su código de reserva. Luego deberá elegir los asientos que quiere ocupar dentro del avión para después pasar a ingresar la cantidad de valijas que traen este y sus acompañantes. Luego deberá ponerlas sobre una balanza incorporada en la terminal. Una vez pesadas, la terminal imprimirá sus tarjetas de embarque junto a tickets adhesivos para que el pasajero coloque en todas sus valijas y le deseará un buen viaje. Luego el pasajero se acercará a una única fila para todos los vuelos de la aerolínea y así entregar sus valijas. Al llegar al mostrador será atendido por un empleado que además de tomar sus valijas, verificará los pasaportes de los pasajeros (validando que sean los correctos receptores de los pasajes) y les cobrará sobrepeso si el ticket de la valija así lo indica. Si algún dato de un pasajero estuviese mal ingresado en el sistema este podrá reingresar todos los datos en base al pasaporte. Un administrador del sistema debe de además de poder ver todos los vuelos disponibles a través de la pagina web, crear nuevos vuelos ingresando su fecha, hora y capacidad. Adicionalmente este debe ser alertado a través de un mensaje de texto en su celular cuando un vuelo ha vendido todos sus asientos. Cada quince minutos el sistema deberá actualizar la información de los vuelos (para incluir a todos aquellos que tengan hora de salida en menos de dos horas posterior a la actual) a través del sistema de circuito cerrado de monitores del aeropuerto. Si una persona se acerca a una terminal de check-in antes de que su vuelo este informado, la terminal simplemente no le mostrará dicho vuelo. Si se acerca a menos de veinte minutos antes del vuelo deberá rechazarlo y comunicarle que ha perdido el vuelo. Describa el modelo de contexto e interfaces que asume. Realice una organización de una operacionalización adecuada y completa de los requerimientos usando casos de uso. Vincule los casos de uso con los requerimientos.

11