Práctica 3 Solución PDF

Title Práctica 3 Solución
Author Lucas Werner
Course Ingeniería de Requisitos
Institution Universitat Oberta de Catalunya
Pages 12
File Size 378.2 KB
File Type PDF
Total Downloads 29
Total Views 117

Summary

Solución a la práctica 2 de Ingeniería de requisitos...


Description

Ingeniería de Requisitos PEC 3: Documentación de Requisitos En esta PEC continuaremos trabajando sobre el sistema del festival de cine. En concreto, nos centraremos en dos funcionalidades: comprar una entrada e indicar una película como favorita. Cuando un asistente al festival desea comprar una entrada, lo primero que tiene que hacer es encontrar la ficha de la película. Esto lo puede hacer navegando por el árbol de secciones del festival (donde, por cada sección, se muestra una lista de películas en orden alfabético) o bien mediante la funcionalidad de búsqueda (donde el asistente indica una o más palabras y el sistema busca películas acorde a los criterios seleccionados, ya sea a través del título o el nombre de su director). Una vez encontrada la película, el sistema mostrará una ficha con información sobre ella y, en concreto, sobre las sesiones en las que queda alguna entrada disponible para comprar. Para cada sesión se muestra la sala de proyección, día y hora. Si una sesión de una película tiene disponible entradas para comprar, el asistente podrá solicitar un número de entradas, entre 1 y 5. El asistente no puede escoger butacas concretas, sólo indicará la cantidad de entradas que solicita. Una vez solicitada la compra, el sistema redireccionará a la pasarela de pagos para que el asistente realice el pago y, si la pasarela confirma la compra, el asistente podrá descargar un documento PDF con las entradas en su ordenador. La funcionalidad de indicar una película como favorita permitirá al asistente añadir un enlace directo a la ficha de la película dentro de su lista de favoritas. Para ello, el asistente debe acceder a la ficha de la película tal como haría para comprar una entrada. Si, al consultar la ficha, la película es de su agrado, el asistente podrá indicarla como favorita y el sistema la añadirá al listado personal del asistente.

Ingeniería de Requisitos · PEC 3 Estudios de Informática, Multimédia y Telecomunicación

Otoño 2017

pág 1

Pregunta 1 (40%) Escribe una especificación mediante casos de uso a nivel usuario con ámbito de sistema para las dos funcionalidades descritas. - Utiliza alguna técnica que te permita evitar duplicar líneas de especificación entre los dos casos de uso correspondientes a comprar una entrada e indicar una película como favorita. - Utiliza un estilo más bien exhaustivo y formal, como el del segundo ejemplo del apartado 3.1 de los materiales. - Ten cuidado con los errores frecuentes descritos en los materiales.

Solución Para evitar duplicar toda la parte de los casos de uso que describe la búsqueda, podríamos documentar un caso de uso de consulta de la ficha de una película: Caso de uso: Consultar la ficha de una película Actor principal: Asistente al festival Actores de apoyo: Ninguno Ámbito: Sistema Nivel de objetivo: Usuario Stakeholders e intereses: 1. El asistente al festival quiere consultar los detalles de una película Precondición: El usuario debe estar dado de alta y autenticado en el sistema Garantías mínimas: ●

Ninguna

Garantías en caso de éxito:

Ingeniería de Requisitos · PEC 3 Estudios de Informática, Multimédia y Telecomunicación

Otoño 2017

pág 2



El usuario puede consultar la ficha de detalle de una película

Escenario principal de éxito: 1. El usuario introduce unas palabras en el buscador. 2. El sistema muestra una lista de películas relacionadas con las palabras buscadas en su título o director, ordenadas alfabéticamente por título. 3. El usuario selecciona una película de la lista mostrada. 4. El sistema muestra la ficha de la película donde, entre otros datos, se muestran los detalles de las sesiones para la que quedan entradas disponibles. Para cada sesión muestra: sala de proyección, día y hora. Escenarios alternativos: 1.a. Navegar por secciones: 1.a.1. El usuario selecciona una sección. 1.a.2. El sistema muestra una lista de películas que pertenecen a esa sección, ordenada alfabéticamente por título. 1.a.3. El usuario selecciona una película y volvemos al punto 3.

Comprar una entrada se podría documentar mediante el siguiente caso de uso: Caso de uso: Comprar una entrada Actor principal: Asistente al festival Actores de apoyo: Pasarela de pagos Ámbito: Sistema Nivel de objetivo: Usuario Stakeholders e intereses:

Ingeniería de Requisitos · PEC 3 Estudios de Informática, Multimédia y Telecomunicación

Otoño 2017

pág 3

1. El asistente al festival quiere obtener entradas para una película. 2. La pasarela de pagos debe estar informada de que el usuario puede comprar entradas. Precondición: El usuario debe estar dado de alta y autenticado en el sistema Garantías mínimas: ●

En ningún caso se venderán más entradas de las disponibles para una sesión.

Garantías en caso de éxito: ●

El usuario puede acceder al documento con la entrada desde su ordenador

Escenario principal de éxito: 1. El usuario consulta la ficha de una película (caso de uso Consultar la ficha de una película). 2. El usuario indica que quiere comprar entradas para una de las sesiones disponibles. 3. El sistema informa a la pasarela de pagos que el usuario desea realizar la compra. 4. La pasarela de pagos confirma que la compra se ha realizado con éxito. 5. El sistema muestra un enlace de descarga al usuario para obtener la entrada comprada. Escenarios alternativos: 3.a. No hay disponible el número de entradas solicitadas: 3.a.1. El sistema muestra un error diciendo que no hay disponible el número de entradas solicitadas y volvemos al paso 2. 3.b. El usuario introduce una solicitud por más de 5 entradas: 3.b.1. El sistema muestra un error diciendo que no se pueden solicitar más de 5 entradas y volvemos al paso 2. 4.a. La pasarela de pagos no puede confirmar la compra:

Ingeniería de Requisitos · PEC 3 Estudios de Informática, Multimédia y Telecomunicación

Otoño 2017

pág 4

4.a.1. El sistema muestra un error y volvemos al paso 2.

Y el caso de uso indicar una película como favorita: Caso de uso: Indicar película como favorita Actor principal: Asistente al festival Actores de apoyo: Ninguno Ámbito: Sistema Nivel de objetivo: Usuario Stakeholders e intereses: 1. El asistente al festival quiere indicar una película como favorita para tener acceso directo a ella. Precondición: el usuario debe estar dado de alta y autenticado en el sistema Garantías mínimas: ●

No se pueden indicar películas como favoritas si ya están indicadas por el mismo usuario.

Garantías en caso de éxito: ●

El listado de películas favoritas del usuario incluye la nueva película indicada.

Escenario principal de éxito: 1. El usuario consulta la ficha de una película (caso de uso Consultar la ficha de una película). 2. El usuario indica que quiere marcarla como favorita. 3. El sistema añade la película a la lista de favoritas del usuario. Escenarios alternativos:

Ingeniería de Requisitos · PEC 3 Estudios de Informática, Multimédia y Telecomunicación

Otoño 2017

pág 5

3.a. La película ya está en la lista de favoritos del usuario. 3a.1. El sistema muestra un error indicando al usuario que no es posible marcar películas ya marcadas como favoritas.

Pregunta 2 (30%) Supongamos que estamos desarrollando el proyecto utilizando un enfoque ágil y que deseamos documentar, en este contexto, la misma funcionalidad que hemos documentado en la pregunta 1. Para el enfoque que acabamos de mencionar, el estilo de documentación no sería, evidentemente, el mismo. Documenta la funcionalidad descrita en la pregunta 1 mediante historias de usuario. Escribe sólo lo que se escribiría (no es necesario que incluyas la transcripción de las conversaciones). Indica, por tanto, una frase que resuma la historia de usuario y unos criterios de aceptación.

Solución ●

Como asistente quiero buscar películas introduciendo un fragmento de búsqueda que pueda pertenecer al título, descripción o director para encontrarlas rápidamente. o

Debe haber un único campo de texto para todos los campos de búsqueda (título, nombre del director).

o ●

El listado resultante ha de estar ordenado alfabéticamente por título.

Como asistente quiero poder navegar por las secciones del festival para encontrar películas que se proyectarán. o

El sistema debe mostrar una lista de secciones.

o

Cada sección muestra el listado de películas de la misma por orden alfabético de título.



Como asistente quiero consultar la ficha de detalle de una película.

Ingeniería de Requisitos · PEC 3 Estudios de Informática, Multimédia y Telecomunicación

Otoño 2017

pág 6

o

La ficha muestra, entre otros datos, las sesiones de proyección para las que quedan entradas disponibles: sala de proyección, día y hora.



Como asistente quiero comprar una entrada para una película para una sesión para poder verla. o

No se pueden comprar más de 5 entradas para una misma sesión.

o

La pasarela de pagos debe ser informada de la solicitud de entradas para que autorice la compra.

o ●

La pasarela de pagos podría denegar el pago.

Como asistente quiero indicar una película como favorita para tener acceso directo a su ficha en cualquier momento sin tener que realizar búsquedas. o

No se pueden añadir películas que ya estén marcadas como favoritas.

Notas: ●

Se ha desglosado la funcionalidad en 5 historias de usuario diferentes teniendo en cuenta que se trata de 5 funcionalidades que se pueden desarrollar independientemente. Esta descomposición sería adecuada, por ejemplo, si estas historias de usuario ya son de máxima prioridad y las hemos detallado para empezar a trabajar en breve.



No se ha tenido en cuenta la funcionalidad de login y registro de usuario aunque se menciona en el enunciado por entender que es una funcionalidad genérica.

Ingeniería de Requisitos · PEC 3 Estudios de Informática, Multimédia y Telecomunicación

Otoño 2017

pág 7

Pregunta 3 (30%) Supongamos que estamos aplicando BDD y que, en lugar de como caso de uso, se quiere documentar la misma funcionalidad de la pregunta anterior mediante un documento que sirva, también, para verificar el sistema a medida que se va desarrollando. No es necesario que los escenarios coincidan exactamente con los descritos en la introducción de este enunciado para la misma funcionalidad. Escribe los criterios de aceptación de esta funcionalidad mediante un conjunto de escenarios de pruebas como los del apartado 3.2 (o 4.1.2) del módulo 5 de los materiales para documentar y verificar la funcionalidad descrita en el caso de uso.

Solución Utilizaremos un conjunto de datos común a todos los escenarios, un trasfondo:

Trasfondo Dado un usuario "john" con contraseña "secreto" Y que he iniciado la sesión como "john" Y una película titulada "Dragged Across Concrete", dirigida por "S. Craig Zahler" Y una película titulada "Under the Silver Lake", dirigida por "David Robert Mitchell" Y una película titulada "The Unthinkable", dirigida por "Crazy Pictures" Y una película titulada "Abrakadabra", dirigida por "Luciano Onetti" Y una película titulada "Abrakadabra 2", dirigida por "Nicolás Onetti" Y una sección "Oficial Competición" Y una sección "Panorama Fantástico"

Ingeniería de Requisitos · PEC 3 Estudios de Informática, Multimédia y Telecomunicación

Otoño 2017

pág 8

Y una sección "Nuevas Visiones" Y una sala de proyección "Auditori" Y una sala de proyección "Retiro" Y que "Dragged Across Concrete" pertenece a la sección "Oficial Competición" Y que "Under the Silver Lake" pertenece a la sección "Oficial Competición" Y que "The Unthinkable" pertenece a la sección "Oficial Competición" Y que "Abrakadabra" pertenece a la sección "Panorama Fantástico" Y que "Abrakadabra 2" pertenece a la sección "Panorama Fantástico" Y que "Dragged Across Concrete" se proyecta el lunes 8 a las 22:00 en la sala "Auditori", para la que hay 5 entradas disponibles Y que "Dragged Across Concrete" se proyecta el martes 9 a las 11:00 en la sala "Auditori", para la que no quedan entradas disponibles Y que "Dragged Across Concrete" se proyecta el martes 9 a las 22:00 en la sala "Retiro", para la que hay 2 entradas disponibles

Escenario: Buscar una película por texto del título Cuando busco una película con el texto "abra" Entonces obtengo una lista ordenada con las películas "Abrakadabra" y "Abrakadabra 2"

Escenario: Buscar una película por texto del director Cuando busco una película con el texto "cra" Entonces obtengo una lista ordenada con las películas "Dragged Across Concrete" y "The Unthinkable"

Ingeniería de Requisitos · PEC 3 Estudios de Informática, Multimédia y Telecomunicación

Otoño 2017

pág 9

Escenario: Buscar una película sin éxito Cuando busco una película con el texto "asdfg" Entonces obtengo el mensaje "No se han encontrado películas con el criterio de búsqueda indicado"

Escenario: Navegar por las secciones del festival Cuando selecciono la sección "Oficial Competición" Entonces obtengo una lista ordenada con las películas "Dragged Across Concrete", "The Unthinkable" y "Under the Silver Lake"

Cuando selecciono la categoría "Panorama Fantástico" Entonces obtengo una lista ordenada con las películas "Abrakadabra" y "Abrakadabra 2"

Cuando selecciono la categoría "Nuevas Visiones" Entonces obtengo el mensaje: "Todavía no hay programadas películas para esta sección"

Escenario: Consultar la ficha de detalle de una película Cuando consulto la ficha de la película "Dragged Across Concrete" Entonces obtengo que el título es "Dragged Across Concrete"; el director, "S. Craig Zahler; y que hay 2 sesiones disponibles: el lunes 8 a las 22:00 en la sala "Auditori" y el martes 9 a las 22:00 en la sala "Retiro"

Ingeniería de Requisitos · PEC 3 Estudios de Informática, Multimédia y Telecomunicación

Otoño 2017

pág 10

Escenario: Indicar una película como favorita Dado estoy en la ficha de la película "The Unthinkable" Cuando pido indicar la película como favorita Entonces obtengo el mensaje "Película añadida a la lista de favoritas" Y mi lista de películas favoritas está formada por "The Unthinkable"

Escenario: Comprar una entrada para una película Dado estoy en la ficha de la película "Dragged Across Concrete" Cuando pido una entrada para "Dragged Across Concrete", para el lunes 8 a las 22:00 en la sala "Auditori" Entonces obtengo un enlace de descarga del PDF de la entrada Y quedan 4 entradas disponibles para la sesión

Dado estoy en la ficha de la película "Dragged Across Concrete" Cuando pido 5 entradas para "Dragged Across Concrete", para el martes 9 a las 22:00 en la sala "Retiro" Entonces obtengo un mensaje de error: "No hay disponible el número de entradas solicitadas"

Notas: ●

Podríamos añadir escenarios para documentar y probar casos como que el sistema de pasarela de pagos no responde (con pasos como "suponiendo que el sistema de pasarela de pagos está caído"). Se ha considerado, sin embargo, que este tipo de pruebas sería más adecuado hacerlos como pruebas integración escritas en código y no como pruebas BDD.

Ingeniería de Requisitos · PEC 3 Estudios de Informática, Multimédia y Telecomunicación

Otoño 2017

pág 11

No es, sin embargo, ningún error considerar que sí que vale la pena hacer estas pruebas en BDD. ●

Idealmente, los escenarios BDD deben mantenerse cortos y probar una funcionalidad concreta. Esto se suele traducir en un único "Cuando" por escenario. El escenario "Navegar por las secciones del festival" se podría haber documentado así, como una única sección, pero entonces se necesitarían escenarios diferentes para los casos en que no hay películas. Por tanto, se ha hecho una excepción, dado que el escenario queda igualmente simple.

Ingeniería de Requisitos · PEC 3 Estudios de Informática, Multimédia y Telecomunicación

Otoño 2017

pág 12...


Similar Free PDFs