Contratos
This presentation is the property of its rightful owner.
Sponsored Links
1 / 10

CONTRATOS PowerPoint PPT Presentation


  • 93 Views
  • Uploaded on
  • Presentation posted in: General

CONTRATOS. UML. Modelo del análisis. Para cada operación del sistema se define una colaboración (diagrama de interacción) que muestra cómo deben colaborar los objetos para satisfacer la postcondición expresada en el contrato de dicha operación.

Download Presentation

CONTRATOS

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Contratos

CONTRATOS

UML


Modelo del an lisis

Modelo del análisis

  • Para cada operación del sistema se define una colaboración (diagrama deinteracción) que muestra cómo deben colaborar los objetos para satisfacer la postcondición expresada en el contrato de dicha operación.

  • Diseñar las colaboraciones, asignando responsabilidades a las clases. Utilizaremos patrones GRASP (luego patrones de diseño).

  • Crear el modelo de clases a partir del modelo conceptual, conforme se definen las colaboraciones


Contratos

Realizar Venta

Cajero

Cliente

:Sistema

: Cajero

crearNuevaVenta

Operación

* introducirItem(upc,cantidad)

Operación

finalizarVenta()

Operación

crearPago(cantidad)

CONTRATOS


Contratos

:Sistema

: Cajero

crearNuevaVenta()

* introducirItem (CUP, cantidad)

finalizarVenta ()

Operaciones

del sistema

crearPago()

eventos del

sistema

Diagrama de Secuencia del Sistema(Caso de Uso “Realizar Venta”)

1. Cliente llega al TPV con

item

2. Cajero inicia venta

3. Cajero introduce id item

4. Sistema registra línea de

venta y presenta parcial

Cajero repite pasos 3 y 4

hasta que acaba

5. Sistema presenta total

6. Cajero requiere pago

7. ...


Contratos1

Contratos

  • Descripción detallada del comportamiento del sistema en términos de cambios de estado a los objetos en el Modelo Conceptual, tras la ejecución de una operación del sistema.

  • Definición basada en pre y postcondiciones

  • Las postcondiciones indican

    • Creación y Eliminaciónde objetos

    • Creación o Eliminación de asociaciones

    • Modificación de atributos


Contratos2

Contratos

  • Las postcondiciones serán incompletas y se descubrirán detalles en el diseño.

  • Escribimos las postcondiciones a partir del modelo conceptual.

    ¿Son redundantes los contratos con los casos de uso?


Contratos3

Contratos

  • “Útiles cuando hay mucha complejidad y la precisión es un valor añadido”

  • “Normalmente no son necesarios, si un equipo escribe un contrato para cada caso de uso es una señal de unos casos de uso muy pobres o falta de colaboración con los expertos o que les gusta escribir documentación innecesaria”

  • “En la práctica la mayoría de detalles se pueden inferir de los casos de uso de modo obvio, aunque obvio es un concepto muy escurridizo”.


Contratos4

Contratos

  • Identificar operaciones del sistema en DSS

  • Construir un contrato para operaciones complejas y quizá sutiles en sus resultados, o que no están claras en el caso de uso.

  • Describir postcondiciones

    • Creación/Eliminación de instancias

    • Creación/Eliminación de asociaciones

    • Modificación de atributos

    • ¡No olvidar crear asociaciones!

    • Se puede usar OCL


Plantilla de un contrato

Plantilla de un Contrato


Contrato introduciritem

Contrato “IntroducirItem”

Nombre: introducirItem (itemID: itemID, cantidad: integer)

Referencias Cruzadas: Registrar Venta

Precondiciones: Hay una venta en curso

Postcondiciones:

- Se creó una instancia lv de LineaVenta

- Se asoció ldv a la venta en curso v

- Se asignó cantidad a lv.cantidad

- lv se asoció a una EspecificaciónProducto según itemID


  • Login