La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Ingeniería del Software

Presentaciones similares


Presentación del tema: "Ingeniería del Software"— Transcripción de la presentación:

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

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 Ingeniería del Software
Caso de uso 15: See Animal :Cliente :Sistema VerAnimal(produtid) : ListaItem [ AddtoCart(itemid) ] [ ProductDetails(itemid) ]

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 Ingeniería del Software
Caso de uso 11: AddtoCart :Cliente :Sistema AñadirAnimal(itemid, quantity) ShoppingCart()

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 Ingeniería del Software
Caso de uso 04: ShoppingCart :Cliente :Sistema * CarroCompra():ListaLineItem, total [ UpdateQuantity() ] [ RemoveItem() ] [ OrderItems() ] [ ProductDetails() ]

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 Ingeniería del Software
Caso de uso 12: UpdateQuantity :Cliente :Sistema ModificarCantidad(linenum, cantidad)

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 Ingeniería del Software
Caso de uso 13: RemoveItem :Cliente :Sistema EliminarItem(linenum)

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 Ingeniería del Software
Caso de uso 14: OrderItem :Cliente :Sistema [NotYetSigned] SignIn() * SolicitarDatosPago(DatosPago) ConfirmarPedido()

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 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 Ingeniería del Software
Caso de uso 01: SignIn :Cliente :Sistema IdentificarUsuario(usuario, clave) [ CreateNewAccount() ]

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 Ingeniería del Software
Caso de uso 01: CreateNewAccount :Cliente :Sistema ActualizarCuenta()

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 "Ingeniería del Software"

Presentaciones similares


Anuncios Google