Ingeniera del Software Captura de requerimientos Los requerimientos

  • Slides: 19
Download presentation
Ingeniería del Software Captura de requerimientos § Los requerimientos de un SI § Modelos

Ingeniería del Software Captura de requerimientos § Los requerimientos de un SI § Modelos de Caso de Uso § Otros instrumentos 1

Ingeniería del Software Los requerimientos de un SI § Requerimiento: necesidad de un usuario

Ingeniería del Software Los requerimientos de un SI § Requerimiento: necesidad de un usuario para solucionar un problema o conseguir un objetivo § Describen la funcionalidad del SI § Qué es lo que debe hacer el SI? § Capturar los requerimientos es difícil § Capturar los requerimientos funcionales: MCU § Entender el contexto del sistema: modelo de dominio § Capturar los requerimientos no funcionales: Propiedades o restricciones del SI § Restricciones en el entorno e implementación § Restricciones operativas 2

Ingeniería del Software Ejemplo: Terminal de Punto de Venta (TPV) § Un terminal de

Ingeniería del Software Ejemplo: Terminal de Punto de Venta (TPV) § Un terminal de punto de venta (TPV) es un sistema usado para gestionar las ventas y registrar los pagos. Se usa principalmente en supermercados y grandes almacenes. Incluye componentes software y hardware (como el ordenador y el lector de códigos de barra). § Se nos pide especificar este SI. 3

Ingeniería del Software Ejemplo TPV: Funciones básicas Ref. R 1. 1 R 1. 2

Ingeniería del Software Ejemplo TPV: Funciones básicas Ref. R 1. 1 R 1. 2 R 1. 3 R 1. 4 R 1. 5 R 1. 6 R 1. 7 Función Registrar la venta: los productos comprados Calcular el total, incluyendo IVA, abonos Capturar UPC (Universal Product Code) manualmente o con el lector código de barras Reducir stock cuando se realiza la venta Registrar ventas efectuadas Identificar al cajero: usuario y clave Mostrar la descripción y el precio de los productos Categoría Evidente Oculta Evidente 4

Ingeniería del Software Ejemplo TPV: Atributos básicos § Tiempo de respuesta § R 1.

Ingeniería del Software Ejemplo TPV: Atributos básicos § Tiempo de respuesta § R 1. 7 La descripción y el precio aparecerán antes de 5 seg. § Aspecto de la Interfaz de Usuario § Maximizar eficiencia mediante la navegación con teclado § Tolerancia a fallos § Transmitir los pagos a crédito antes de 24 h § Hardware/software § Linux 5

Ingeniería del Software Caso de Uso § Descripción una secuencia de eventos que realiza

Ingeniería del Software Caso de Uso § Descripción una secuencia de eventos que realiza un actor (agente externo) que usa el sistema para realizar un proceso [Jacobson 92]. § Un caso de uso describe un proceso de principio a fin relativamente amplio, que abarca muchos pasos y transacciones. § Actor: Entidad externa al sistema que participa en la historia del Caso de Uso: persona, personas, hardware, software, . . . § Iniciador: Genera el estímulo que inicia el proceso (único) § Participante: Interviene en el proceso 6

Ingeniería del Software Ejemplo TPV: caso de uso alto nivel Caso de uso: Comprar

Ingeniería del Software Ejemplo TPV: caso de uso alto nivel Caso de uso: Comprar productos Actores: Cliente, Cajero Tipo: Primario Descripción: Un cliente llega a la caja registradora con los artículos que comprará. El Cajero registra los artículos y cobra el importe. Al terminar la operación, el Cliente se marcha con los productos. 7

Ingeniería del Software Ejemplo TPV: Diagrama de Casos de Uso TPV Comprar productos Registrar

Ingeniería del Software Ejemplo TPV: Diagrama de Casos de Uso TPV Comprar productos Registrar Productos CLIENTE CAJERO Iniciar sesión 8

Ingeniería del Software Ejemplo TPV: Diagrama de Casos de Uso TPV Falta CU Cerrar

Ingeniería del Software Ejemplo TPV: Diagrama de Casos de Uso TPV Falta CU Cerrar Sesión! Comprar productos Registrar Productos CLIENTE CAJERO Iniciar sesión 9

Ingeniería del Software Ejemplo TPV: caso de uso expandido (1) Caso de uso: Actores:

Ingeniería del Software Ejemplo TPV: caso de uso expandido (1) Caso de uso: Actores: Propósito: Tipo: Resumen: Comprar productos en efectivo Cliente (iniciador), Cajero Capturar una venta y su pago en efectivo Primario y esencial Un cliente llega a la caja registradora con los artículos que desea comprar. El Cajero registra los artículos y recibe un pago en efectivo. Al terminar la operación, el Cliente se marcha con los productos comprados. Referencias cruzadas: R 1. 1, R 1. 2, R 1. 3, R 1. 4, R 1. 5, R 1. 7 10

Ingeniería del Software Ejemplo TPV: caso de uso expandido (2) Curso normal de los

Ingeniería del Software Ejemplo TPV: caso de uso expandido (2) Curso normal de los eventos Acción de los actores 1. Este caso de uso comienza cuando un Cliente llega a un TPV con productos que desea comprar. 2. El Cajero registra el identificador de cada producto. Si hay varios productos de una misma categoría, el Cajero también puede introducir la cantidad. 4. Al terminar de introducir el producto, el Cajero indica a TPV que se concluyó la captura de productos. 6. El Cajero le indica el total al Cliente. Respuesta del sistema 3. 5. Determinar el precio del producto e incorpora a la transacción actual la información correspondiente. Se presentan la descripción y el precio del producto actual. Calcula y presenta el total de la venta. 11

Ingeniería del Software Ejemplo TPV: caso de uso expandido (3) Curso normal de los

Ingeniería del Software Ejemplo TPV: caso de uso expandido (3) Curso normal de los eventos Acción de los actores 7. El Cliente efectúa un pago en efectivo posiblemente mayor que el total de la venta. 8. 8. El Cajero registra la cantidad de efectivo ofrecida. 10. EL Cajero deposita el efectivo recibido y extrae el cambio de pago. 11. El Cajero da al Cliente el cambio y el recibo impreso. 12. El Cliente se marcha con los artículos comprados. Respuesta del sistema 9. Muestra al Cajero la diferencia. Genera un recibo. 10. 11. Registra la venta concluida. Cursos alternativos § Paso 2: introducción de identificador incorrecto. Indica error. § Paso 7: el cliente no tiene suficiente dinero. Cancelar la transacción de venta. 12

Ingeniería del Software Ejemplo TPV: Estructuración de casos de uso: Secciones Curso normal de

Ingeniería del Software Ejemplo TPV: Estructuración de casos de uso: Secciones Curso normal de los eventos Acción de los actores 1. Este caso de uso comienza cuando un Cliente llega a un TPV con productos que desea comprar. 2. (pasos intermedios. . . ) 9. El Cliente escoge la forma de pago: 10. a. IF en efectivo, SEE SECTION pagar en efectivo 11. b. IF con tarjeta, SEE SECTION pagar con tarjeta 12. El Cajero da el recibo al Cliente 13. El Cliente se va con los productos comprados Respuesta del sistema 10. Registra la venta concluida. 11. Imprime el recibo 13

Ingeniería del Software Ejemplo TPV: Estructuración de casos de uso: Secciones Sección: Pagar en

Ingeniería del Software Ejemplo TPV: Estructuración de casos de uso: Secciones Sección: Pagar en Efectivo Curso normal de los eventos Acción de los actores 1. El Cliente entrega una cantidad de dinero posiblemente más grande que el total de la cuenta 2. El Cajero indica el dinero que ha recibido 4. El Cajero deposita el dinero recibido y extrae el cambio 5. El Cajero da el cambio al Cliente Respuesta del sistema 3. Resta y muestra el cambio al cliente Cursos alternativos § Paso 4: Efectivo insuficiente para devolver cambio. Pedir cambio al supervisor. 14

Ingeniería del Software Estructuración de Casos de Uso: Relación Usa: la conducta definida por

Ingeniería del Software Estructuración de Casos de Uso: Relación Usa: la conducta definida por un caso de uso contiene la conducta de otro TPV Comprar productos <<uses>> CLIENTE CAJERO Pagar en efectivo 15

Ingeniería del Software Estructuración de Casos de Uso: Relación extiende Extiende: la conducta definida

Ingeniería del Software Estructuración de Casos de Uso: Relación extiende Extiende: la conducta definida por un caso de uso amplía (opcionalmente) la conducta de otro TPV Comprar productos Producto con descuento CLIENTE <<extends>> CAJERO Aplicar descuento 16

Ingeniería del Software Identificación de casos de uso § Método basado en los actores

Ingeniería del Software Identificación de casos de uso § Método basado en los actores § § Identificar y estructurar los actores relativos al sistema Para cada actor, identificar los procesos que inicia o participa § Método basado en los eventos § § Identificar los eventos externos a los que el sistema debe responder Relacionar los eventos con los actores y casos de uso 17

Ingeniería del Software Refinamiento de los Casos de uso: Formatos § Diagrama § Formato

Ingeniería del Software Refinamiento de los Casos de uso: Formatos § Diagrama § Formato de alto nivel § § describe un proceso muy brevemente casi siempre con muy pocos enunciados § Formato expandido § § describe un proceso más a fondo incluye “curso normal de los eventos” paso a paso § Casos esenciales de uso § contienen pocos detalles de implementación § Casos reales de uso § describe el proceso concreto (ligado al diseño) 18

Ingeniería del Software Otros instrumentos § Glosario: definición de términos pertinentes § Modelo conceptual

Ingeniería del Software Otros instrumentos § Glosario: definición de términos pertinentes § Modelo conceptual preliminar: modelo de conceptos importantes y sus relaciones § Prototipos de Interfaz de Usuario § Tarjetas CRC (Class, Responsability, Collaboration) 19