gonzalorojas 11 uml, diagrama de colaboracion
DESCRIPTION
Realizadas por Gonzalo RojasTRANSCRIPT
![Page 1: Gonzalorojas 11 Uml, Diagrama De Colaboracion](https://reader033.vdocumento.com/reader033/viewer/2022052906/558c84d8d8b42a60698b4650/html5/thumbnails/1.jpg)
UML: Contratos
Gonzalo Rojas D.
![Page 2: Gonzalorojas 11 Uml, Diagrama De Colaboracion](https://reader033.vdocumento.com/reader033/viewer/2022052906/558c84d8d8b42a60698b4650/html5/thumbnails/2.jpg)
:Sistema:Cajero
crearNuevaVenta()
introducirArtículo(artID, cantidad)
descripción, total
*[más artículos]
finalizarVenta()
total con impuestos
realizarPago(cantidad)
vuelto, recibo
Procesar Venta1. El Cliente llega a la caja2. El Cajero inicia una nueva venta3. El Cajero inserta el identificador
del artículo4. El Sistema registra la línea de
venta y presenta la descripción del artículo, precio y suma parcial
5. El Cajero repite los pasos 3 y 4 hasta que se indique
6. El Sistema muestra el total con los impuestos calculados
7. El Cajero le dice al Cliente el total y le pide que le pague
8. El Cliente paga y el Sistema gestiona el pago…
![Page 3: Gonzalorojas 11 Uml, Diagrama De Colaboracion](https://reader033.vdocumento.com/reader033/viewer/2022052906/558c84d8d8b42a60698b4650/html5/thumbnails/3.jpg)
-descripción-precio-artID
DescripcióndeProductoCatálogo
Caja
Cajero
-fecha-hora
Venta
-monto
Pago Cliente
1..*
1..1
1..1
1..*1..1
1..1
1..1
1..1
1..1
1..1
0..*
1..1
1..1 1..*
Producto1..1
0..*
-cantidad
VentaLíneadeProducto
0..*1..1
0..1
1..*
![Page 4: Gonzalorojas 11 Uml, Diagrama De Colaboracion](https://reader033.vdocumento.com/reader033/viewer/2022052906/558c84d8d8b42a60698b4650/html5/thumbnails/4.jpg)
Contratos
• Documentos que describen el comportamiento del sistema cuando una de sus operaciones es invocada
• Da cuenta de los cambios de estado del sistema al ejecutar las acciones gatilladas por el mensaje de invocación.
![Page 5: Gonzalorojas 11 Uml, Diagrama De Colaboracion](https://reader033.vdocumento.com/reader033/viewer/2022052906/558c84d8d8b42a60698b4650/html5/thumbnails/5.jpg)
Elaboración de Contrato (Larman)
1. Identificar las operaciones del sistema a partir del DSS
2. Elaborar un contrato para cada operación
3. Describir las responsabilidades de la operación
4. Describir las poscondiciones de la operación:1. Creación y eliminación de instancias
2. Modificación de atributos
3. Asociaciones formadas y canceladas
![Page 6: Gonzalorojas 11 Uml, Diagrama De Colaboracion](https://reader033.vdocumento.com/reader033/viewer/2022052906/558c84d8d8b42a60698b4650/html5/thumbnails/6.jpg)
Nombre: introducirProducto (artID:entero, cantidad:entero)
Responsabilidades: Registrar la venta de un producto y agregarla a la venta. Mostrar la descripción y el precio del producto.
Tipo: Sistema
Referencias: Caso de Uso: Procesar Venta
Notas: Utilizar acceso indexado a la base de datos
Excepciones: Si el artID no es válido, indicar error
Salida: --
Precondiciones: Sistema conoce el artID.
Postcondiciones: •Si se trata de una nueva venta, se creó una Venta (creación de instancia)
•Si se trata de una nueva venta, la nueva Venta fue asociada a Caja (asociación formada)
•Se creó una instancia VentasLíneadeProducto (creación de instancia)
•Se asignó cantidad a VentasLíneadeProducto.cantidad (modificación de atributo)
•Se asoció una instancia VentasLíneadeProducto a la instancia DescripcióndeProducto, en base a la correspondencia de artID (asociación formada)
![Page 7: Gonzalorojas 11 Uml, Diagrama De Colaboracion](https://reader033.vdocumento.com/reader033/viewer/2022052906/558c84d8d8b42a60698b4650/html5/thumbnails/7.jpg)
UML: Diagramas de Colaboración
Gonzalo Rojas D.
![Page 8: Gonzalorojas 11 Uml, Diagrama De Colaboracion](https://reader033.vdocumento.com/reader033/viewer/2022052906/558c84d8d8b42a60698b4650/html5/thumbnails/8.jpg)
Diagramas de Interacción
• Herramientas UML para describir la interacción de los objetos del sistema por medio de mensajes.
• Se describe el flujo de mensajes para hacer cumplir las poscondiciones de los distintos contratos.
• Dos tipos: de secuencia y de colaboración
![Page 9: Gonzalorojas 11 Uml, Diagrama De Colaboracion](https://reader033.vdocumento.com/reader033/viewer/2022052906/558c84d8d8b42a60698b4650/html5/thumbnails/9.jpg)
Diag.de colaboración: Notación
:Caja :Venta
mens1()
1:agregarPago(monto:entero)
:Caja :Venta
mens1()
1:mensaje1()2:mensaje2()3:mensaje3()
![Page 10: Gonzalorojas 11 Uml, Diagrama De Colaboracion](https://reader033.vdocumento.com/reader033/viewer/2022052906/558c84d8d8b42a60698b4650/html5/thumbnails/10.jpg)
Diag.de colaboración: Notación
:Caja :Venta
mens1()
1: tot := total() : entero
:Caja :Venta
mens1()
1*: li :=siguienteLíneadeProducto(): VentasLíneadeProducto
![Page 11: Gonzalorojas 11 Uml, Diagrama De Colaboracion](https://reader033.vdocumento.com/reader033/viewer/2022052906/558c84d8d8b42a60698b4650/html5/thumbnails/11.jpg)
Diag.de colaboración: Notación
:Caja :Venta
mens1()
1*: [i := 1..10] li :=siguienteLíneadeProducto(): VentasLíneadeProducto
:Caja
mens1()
1: limpiar()
![Page 12: Gonzalorojas 11 Uml, Diagrama De Colaboracion](https://reader033.vdocumento.com/reader033/viewer/2022052906/558c84d8d8b42a60698b4650/html5/thumbnails/12.jpg)
Diag.de colaboración: Notación
:A miB :B
mens1()
1*: [i := 1..10] mens2()
miC :C2*: [i := 1..10] mens3()
![Page 13: Gonzalorojas 11 Uml, Diagrama De Colaboracion](https://reader033.vdocumento.com/reader033/viewer/2022052906/558c84d8d8b42a60698b4650/html5/thumbnails/13.jpg)
Diag.de colaboración: Notación
:Caja :Venta1: [nueva venta] crear()
:VentaLíneadeProducto
1.1: crear()
mens1()
![Page 14: Gonzalorojas 11 Uml, Diagrama De Colaboracion](https://reader033.vdocumento.com/reader033/viewer/2022052906/558c84d8d8b42a60698b4650/html5/thumbnails/14.jpg)
Diag.de colaboración: Notación
:Venta vl: VentaLíneadeProducto1: crear()
2: agregarElemento(vl)
mens1()
:VentaLíneadeProducto
![Page 15: Gonzalorojas 11 Uml, Diagrama De Colaboracion](https://reader033.vdocumento.com/reader033/viewer/2022052906/558c84d8d8b42a60698b4650/html5/thumbnails/15.jpg)
Diagrama Colaboración
:Caja :Venta v :VentaLíneadeProducto
:VentaLíneadeProducto
:Catálogo
:DescripcióndeProducto
introducirProducto (artID, cantidad)
1: [nueva venta] crear()3: añadirLíneadeProducto (p, cantidad)
2: dp := encontrarDP(artID)
2.1: dp := encontrar(artID)
1.1: crear()
3.2: agregar (v)
3.1: crear (dp, cantidad)
![Page 16: Gonzalorojas 11 Uml, Diagrama De Colaboracion](https://reader033.vdocumento.com/reader033/viewer/2022052906/558c84d8d8b42a60698b4650/html5/thumbnails/16.jpg)
(Otro) Diagrama Colaboración
:Caja :Venta vlp :VentaLíneadeProducto
:VentaLíneadeProducto
1: terminar()2: tot := total()
2.1*: [para cada] vlp := siguiente()
2.2 st := subtotal()
dp:DescripcióndeProducto
2.2.1 precio := precio()
![Page 17: Gonzalorojas 11 Uml, Diagrama De Colaboracion](https://reader033.vdocumento.com/reader033/viewer/2022052906/558c84d8d8b42a60698b4650/html5/thumbnails/17.jpg)
-crear(in dp, in cantidad)-subtotal() : int
-cantidad
VentaLíneadeProducto
-dirección-nombre
Tienda
-encontrarDP(in artID) : DescripcióndeProducto
Catálogo
Cajero
-crear()-terminar()-total() : int-añadirLíneadeProducto(in dp, in cantidad)
-fecha-hora-estado: {en progreso, terminada}
Venta
-monto
Pago Cliente
1..*
1..1
1..1
1..*
1..1
1..1
1..1
1..1
1..1 1..1
0..*
1..11..1
0..*
1..1 1..*
0..*
0..1
1..1
1..1
1..1
0..*
Producto
-precio() : int
-descripción-precio-artID
DescripcióndeProducto
-introducirArtículo(in artID, in cantidad)-finalizarVenta()
Caja