La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

1 Ingeniería del Software Caso de uso 07: Search Animal :Cliente :Sistema BuscarAnimal(cadena) : ListaAnimal [ SeeAnimal(productid) ]

Presentaciones similares


Presentación del tema: "1 Ingeniería del Software Caso de uso 07: Search Animal :Cliente :Sistema BuscarAnimal(cadena) : ListaAnimal [ SeeAnimal(productid) ]"— Transcripción de la presentación:

1 1 Ingeniería del Software Caso de uso 07: Search Animal :Cliente :Sistema BuscarAnimal(cadena) : ListaAnimal [ SeeAnimal(productid) ]

2 2 Ingeniería del Software Contrato BuscarAnimal  Name:BuscarAnimal(cadena):ListaAnimal  Responsabilities  Obtener los animales que contengan la cadena de búsqueda en el campo “name” o “descn” de Product  Exceptions  Preconditions  cadena <> “”  Postconditions  Salida  [productid, name, descn]*

3 3 Ingeniería del Software Caso de uso 15: See Animal :Cliente :Sistema VerAnimal(produtid) : ListaItem [ AddtoCart(itemid) ] [ ProductDetails(itemid) ]

4 4 Ingeniería del Software Contrato VerAnimal  Name:VerAnimal(productid):ListaItem  Responsabilities  Obtener los distintos tipos de animales disponibles dentro de un animal concreto  Exceptions  productid no válido  Preconditions  Existe un product identificado por productid  Postconditions  Salida ListaItem = [item.itemid, product.name, item.listprice]*

5 5 Ingeniería del Software Caso de uso 11: AddtoCart :Cliente :Sistema AñadirAnimal(itemid, quantity) ShoppingCart()

6 6 Ingeniería del Software Contrato AñadirAnimal  Name:AñadirAnimal(itemid, quantity)  Responsabilities  Añadir el nuevo animal en la cesta de la compra junto a su cantidad  Exceptions  itemid no válido  Preconditions  Existe un item identificado por itemid  Postconditions  Se creó una instancia de A de account (fantasma)  Se creó una instancia de O de Order (fantasma)  Se asoció A a O  Se creó una instancia LI LineItem con sus valores  Se asoció LI al Item y al Order  Salida

7 7 Ingeniería del Software Caso de uso 04: ShoppingCart :Cliente :Sistema CarroCompra():ListaLineItem, total [ UpdateQuantity() ] [ RemoveItem() ] [ OrderItems() ] [ ProductDetails() ] *

8 8 Ingeniería del Software Contrato CarroCompra  Name:CarroCompra():ListaLineItem, Total  Responsabilities  Obtener todos los LineItem ordenados por lineitem.linenum y el total del carro de la compra  Exceptions  Preconditions  Postconditions  Salida ListaLineItem = [lineitem.linenum, item.itemid, product.name, lineitem.status, lineitem.unitprice, lineitem.quantity, lineitem.unitprice * lineitem.quantity]* Total = suma para todos los lineitem de lineitem.unitprice * lineitem.quantity

9 9 Ingeniería del Software Caso de uso 12: UpdateQuantity :Cliente :Sistema ModificarCantidad(linenum, cantidad)

10 10 Ingeniería del Software Contrato ModificarCantidad  Name:ModificarCantidad(linenum, cantidad)  Responsabilities  Modificar la cantidad del LineItem identificado por linenum  Exceptions  linenum válido  cantidad > 0  Preconditions  Existe un LineItem identificado por linenum  Postconditions  Se asignó LineItem.quantity = cantidad al LineItem identificado por linenum  Salida

11 11 Ingeniería del Software Caso de uso 13: RemoveItem :Cliente :Sistema EliminarItem(linenum)

12 12 Ingeniería del Software Contrato EliminarItem  Name:EliminarItem(linenum)  Responsabilities  Eliminar el LineItem identificado por linenum  Exceptions  linenum válido  Preconditions  Existe un LineItem identificado por linenum  Postconditions  Se desasoció LineItem.linenum=linenum de Item  Se desasoció LineItem.linenum=linenum de Orders  Se destruyó LineItem.linenum=linenum  Si no habia más LineItem se destruyó Orders  Salida

13 13 Ingeniería del Software Caso de uso 14: OrderItem :Cliente :Sistema [NotYetSigned] SignIn() SolicitarDatosPago(DatosPago) ConfirmarPedido() *

14 14 Ingeniería del Software Contrato ObtenerDatosPago  Name:SolicitarDatosPago(DatosPago)  Responsabilities  Solicitar datos de la tarjeta y dirección de envio  Exceptions  DatosPago válidos  Preconditions  Usuario registrado y existen animales en el carro de la compra  Postconditions  Se asignó a Orders.tarjeta = DatosPago.tarjeta  Se asignó a Orders.ship* = DatosPago.DireccionEnvio  Salida

15 15 Ingeniería del Software Contrato ConfirmarPedido  Name:ConfirmarPedido() :  Responsabilities  Actualizar la transacción y producir la factura  Exceptions  Preconditions  Usuario registrado  Postconditions  Para cada animal del carro se decrementó el stock de items  Salida  Se generó la factura con los datos del usuario y envío junto con el desglose de los animales comprados

16 16 Ingeniería del Software Caso de uso 01: SignIn :Cliente :Sistema IdentificarUsuario(usuario, clave) [ CreateNewAccount() ]

17 17 Ingeniería del Software Contrato IdentificarUsuario  Name:IdentificarUsuario(usuario, clave)  Responsabilities  Verificar la identidad del usuario  Exceptions  Usuario o clave no válido  Preconditions  Postconditions  Se actualizó NotYetSigned = true si usuario no autorizado  Se actualizó NotYetSigned = false si usuario autorizado  Se actualizó Account con los datos del usuario identificado  Salida

18 18 Ingeniería del Software Caso de uso 01: CreateNewAccount :Cliente :Sistema ActualizarCuenta()

19 19 Ingeniería del Software Contrato ActualizarCuenta  Name:ActualizarCuenta(DatosUsuario)  Responsabilities  Actualizar los datos del usuario  Exceptions  DatosUsuario no válidos  Preconditions  Postconditions  Se actualizó Account con los nuevos valores de DatosUsuario  Salida


Descargar ppt "1 Ingeniería del Software Caso de uso 07: Search Animal :Cliente :Sistema BuscarAnimal(cadena) : ListaAnimal [ SeeAnimal(productid) ]"

Presentaciones similares


Anuncios Google