Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contratos Ing SW I
Contratos Ing SW I
Marcello Visconti y Hernn Astudillo Departamento de Informtica Universidad Tcnica Federico Santa Mara {visconti,hernan} en inf.utfsm.cl
Sesion 06Descr.Comportamiento
Fundamentos de Ingeniera de SW
Contenido
? Representacin de Comportamiento de sistemas
? Diagramas de secuencia ? Contratos
? Precondiciones ? Post-condiciones
Fundamentos de Ingenier a de SW
Descripcin de Comportamiento
Sincronizacin de artefactos
Anlisis
Diseo
Construccin
Prueba
4. Perfeccionar el glosario
Fundamentos de Ingenier a de SW
Fundamentos de Ingenier a de SW
Actor
Fundamentos de Ingenier a de SW
2: terminarVenta()
Fundamentos de Ingenier a de SW
Eventos y operaciones
? Un evento de un sistema es un hecho externo de entrada que un actor produce en un sistema. ? Una operacin de un sistema es una accin que ste ejecuta en respuesta a una evento del sistema.
? P.ej., cuando un cajero genera un evento introducirProducto, causa la ejecucin de la operacin introducirProducto.
Fundamentos de Ingenier a de SW
Fundamentos de Ingenier a de SW
Fundamentos de Ingenier a de SW
Fundamentos de Ingenier a de SW
10
Fundamentos de Ingenier a de SW
11
Modelo de Anlisis
? Los diagramas de secuencia son parte del modelo de comportamiento del sistema. ? El modelo de anlisis se compone de:
? Modelo de casos de uso de anlisis (dinmico)
? Casos de uso de alto nivel o esenciales ? Diagramas de casos de uso
Fundamentos de Ingenier a de SW
13
Modelo de Anlisis
? (Hacer modelo UML de descripcin previa)
Fundamentos de Ingenier a de SW
14
? Los contratos de operacin de sistema se elaboran durante la fase de anlisis en un ciclo de desarrollo. ? Su desarrollo depende del desarrollo previo del modelo conceptual, de los diagramas de secuencia de sistema y la identificacin de sus operaciones.
Fundamentos de Ingenier a de SW
15
EspecificaciondeProducto 1 1..* 1
Describe
* Producto
*
Contenidas-en Capturas-Terminada
Tienda direcci 1 on 1
Aloja
Capturadas-en
1 1
Pagado-por
1..* TPDV
Pago
Fundamentos de Ingenier a de SW
16
? El contrato de operacin del sistema describe cambios del estado del sistema total cuando se llama una de sus operaciones.
Fundamentos de Ingenier a de SW
17
Fundamentos de Ingenier a de SW
18
? No todas las secciones del contrato son necesarias; se recomienda llenar Responsabilidades y Poscondiciones.
Fundamentos de Ingenier a de SW
19
Fundamentos de Ingenier a de SW
20
10
Fundamentos de Ingenier a de SW
21
Post-condiciones [1]
? Despus de la seccin de Responsabilidades, la parte ms importante del contrato son las post-condiciones, que estipulan cmo cambi el sistema tras la operacin. ? Las post-condiciones se expresan dentro del modelo conceptual.
? Qu instancias es posible crear? La repuesta es: las provenientes d el modelo conceptual. ? Qu asociaciones es posible formar? La repuesta es: las que est n en el modelo conceptual.
Fundamentos de Ingenier a de SW
22
11
Post-condiciones [2]
? Cuando se formula contratos, en general se agregar al modelo conceptual nuevos conceptos, atributos y asociaciones.
? Mejore el modelo conforme a los nuevos descubrimientos, mientras reflexiona sobre los contratos de las operaciones.
Fundamentos de Ingenier a de SW
23
Post-condiciones [3]
? Entonces, mire el contrato desde la perspectiva de un escenario y un teln.
? Tome una fotografa de escenario antes de la operacin. ? Corra el teln y aplique la operacin del sistema (ruido de fondo con sonidos). ? Corra el teln y tome una segunda fotografa. ? Compare las fotografas de antes y despus, y exprese como poscondiciones los cambios del estado del escenario (se cre la instancia de VentasLineadeProducto).
Fundamentos de Ingenier a de SW
24
12
Ej.TPDV: Post-condiciones
? Post-condiciones:
? Si es una nueva venta, se cre una Venta ( creacin de instancia). ? Si es una nueva venta, la nueva Venta fue asociada a un TPDV ( asociacin formada). ? Se cre una instancia VentasLineadeProducto ( creacin de instancia). ? Se asoci una instancia de VentasLineadeProducto a la Venta ( asociacin formada). ? Se asign una cantidad a VentasLineadeProducto.cantidad ( modificacin de atributo). ? Se asoci una instancia de VentasLineadeProducto a la instancia de EspecificaciondeProducto, basado en la correspondencia del CUP ( asociacin formada).
Fundamentos de Ingenier a de SW
25
Ej.TPDV: Post-condiciones
? Una vez que el cajero captur el CUP y la cantidad del producto, Qu ha de crearse?. ? Si es una nueva venta, habra que crear una instancia para una nueva Venta. Una instancia de VentasLineadeProducto debera ser creada de modo incondicional.
? Si es una nueva venta, se cre una Venta ( creacin de instancia). ? Se cre una instancia VentasLineadeProducto ( creacin de instancia).
Fundamentos de Ingenier a de SW
26
13
Ej.TPDV: Post-condiciones
? Una vez que el cajero captur el CUP y la cantidad del producto, qu atributos de los objetos nuevos o actuales deberan ser modificados?. Habra que establecer la cantidad de VentasLineadeProducto.
? Se asign una cantidad a VentasLineadeProducto.cantidad ( modificacin de atributo).
Fundamentos de Ingenier a de SW
27
Ej.TPDV: Post-condiciones
? Una vez que el cajero captur el CUP y la cantidad del producto, qu asociaciones entre los objetos nuevos y actuales debieron haber sido formadas o canceladas? ? Habra que relacionar la nueva instancia de VentasLineadeProducto con sus Ventas y con su Producto. Si se trataba de una nueva Venta debi haber sido relacionada con la TPDV dentro del cual es registrada.
? Se asoci una instancia de VentasLineadeProducto a la Venta ( asociacin formada). ? Si es una nueva venta, la nueva Venta fue asociada a un TPDV ( asociacin formada). ? Se asoci una instancia de VentasLineadeProducto a la instancia de EspecificaciondeProducto, basado en la correspondencia del CUP ( asociacin formada).
Fundamentos de Ingenier a de SW
28
14
Pre-condiciones
? Las precondiciones definen las suposiciones sobre el estado del sistema al iniciarse la operacin. ? Hay muchas precondiciones que pueden declararse en una operacin, pero la experiencia revela que vale la pena mencionar las siguientes:
? Cosas que son importantes de probar en el software en algn momento de la ejecucin de la operacin. ? Cosas que sern sometidas a prueba, pero de las cuales depende el xito para subrayar la importancia y para hacer notarlas a los otros lectores.
Fundamentos de Ingenier a de SW
29
Contratos
? El problema ms comn consiste en olvidar incluir la formacin de asociaciones. Sobre todo cuando se crean nuevas instancias, muy probablemente ser necesario haber establecido las asociaciones a varios objetos.
Fundamentos de Ingenier a de SW
30
15
Fundamentos de Ingenier a de SW
32
16
Notas: Excepciones: Si la venta no est concluida, indicar que se cometi un error. Salida: Precondiciones: La venta esta terminada. Poscondiciones: Se cre una instancia Pago. Se asoci el Pago a una Venta. Se asign el valor del monto a Pago.MontoOfrecido . Se asoci la Venta a la Tienda para agregarla al registro histrico de las ventas terminadas.
Fundamentos de Ingenier a de SW
33
Fundamentos de Ingenier a de SW
34
17
Fundamentos de Ingenier a de SW
35
Resumen
? Comportamiento de los sistemas ? Diagrama de secuencia del sistema ? Contratos
? Precondiciones ? Postcondiciones
Fundamentos de Ingenier a de SW
36
18
Quiz
? Qu es el comportamiento de un sistema? ? ? ? ? ? ? Qu representa el diagrama de secuencia del sistema? Cul es la diferencia entre evento y operacin? Porqu se crea el concepto sistema? Cul es el nombre correcto para una operacin? Cul es la diferencia entre lo esttico y lo dinmico? Porqu son necesarios los contratos y cuantos son para un caso de uso?
? Cuales son los condiciones para elaborar un contrato? ? Cuales son las partes ms importantes del contrato?
Fundamentos de Ingenier a de SW
37
19