TEMA 2
Objetivos Especficos
El alumno debe ser capaz de:
Modelo de Comportamiento
Modelo de anlisis
Modelo de estados
Casos de uso
Modelo de Comportamiento
: Clase 1
: Clase 2
: Clase 4 : Clase 3
Modelo de Comportamiento
SISTEMA : Clase 1
: Clase 2
: Clase 4 : Clase 3
Consideramos un sistema que engloba a todos los objetos. La especificacin del comportamiento se hace con el modelo de comportamiento del sistema.
Modelo de Comportamiento
Objetivos:
Identificar los eventos y las operaciones del sistema.
Punto de partida:
Descripcin de los Casos de uso.
Casos de uso:
Describen cmo los actores interactan con el sistema software.
El actor genera eventos hacia el sistema que exigen la ejecucin de alguna operacin como respuesta (durante la interaccin). A partir de los casos de uso podemos identificar cules son los eventos que producen los actores hacia el sistema.
Resumen: un cliente llega a la caja con productos para comprar. El cajero registra los productos y gestiona el pago en efectivo. Al acabar, el cliente se va con los productos.
Escenario principal: 1. El caso de uso comienza cuando un Cliente llega a la caja con los productos para comprar. 2. El Cajero indica que comienza una nueva venta e introduce el punto de venta (pv). 3. El Sistema comprueba que existe el punto de venta de la compra y registra el inicio de una nueva venta. 4. El Cajero introduce el identificador (prod) y la cantidad (cant) de cada producto. 5. El Sistema comprueba que existe el producto y registra la lnea de venta. 6. Al acabar la entrada de productos el Cajero lo indica. 7. El Sistema calcula el total de la compra y lo muestra.
: Sistema
* EntrarProd (prod,cant)
FinVenta () Importe venta Pago (importePago) Cambio devuelto
evento del sistema invoca operacin
La comunicacin de un evento del sistema provoca la ejecucin de una operacin del sistema con el mismo nombre y los mismos parmetros.
Ejemplo:
SISTEMA InicioVenta (pv) EntrarProd (prod,cant)
FinVenta ( )
Pago (importePago)
Ejemplo:
: Cajero InicioVenta
El actor cliente no interacta directamente con el sistema, slo lo hace el cajero
: Sistema
* EntrarProd
FinVenta Pago
Concepto de Contrato
Describen el comportamiento del sistema en funcin de los cambios de estado de los objetos del Modelo Conceptual de Datos (Modelo de Dominio) despus de la ejecucin de una operacin del sistema.
Definicin basada en: Precondiciones relevantes sobre los objetos del Modelo Conceptual de Datos antes de la ejecucin de la operacin. Postcondiciones que describen los cambios de estado de los objetos del Modelo Conceptual de Datos.
Plantilla de un Contrato
Nombre operacin Responsabilidades Signatura de la operacin Descripcin informal del propsito de la operacin
Referencias Casos de uso en los que puede tener lugar cruzadas (opcional) esta operacin Precondiciones Suposiciones relevantes sobre el estado del sistema o de los objetos del Modelo Conceptual, antes de ejecutar la operacin. Suposiciones no triviales Estado de los objetos del Modelo Conceptual despus de que se ejecute la operacin
Postcondiciones
Postcondiciones
Son los cambios de estado en los objetos del Modelo Conceptual de datos que se producen tras la ejecucin de la operacin. Indican: Creacin y eliminacin de objetos. Creacin y eliminacin de asociaciones. Modificacin de atributos.
Escribimos las postcondiciones a partir del modelo conceptual. Las postcondiciones sern incompletas y se descubrirn detalles en el diseo.
Identificar operaciones del sistema en DSS. Construir un contrato para operaciones complejas y quiz sutiles en sus resultados, o que no estn claras en el caso de uso. Describir postcondiciones: Creacin/Eliminacin de objetos Creacin/Eliminacin de asociaciones Modificacin de atributos No olvidar crear asociaciones! Se puede usar OCL (Object Constraint Language, Lenguaje de Restricciones de Objetos)
Restricciones textuales: 1. 2.
cantidad
3.
Postcondiciones: Se cre una instancia LDV de LneaDeVenta en el objeto V (creacin de un objeto componente de V) Se asign cant a LDV.cantidad (LDV.cantidad = cant) (modificacin de atributos) Se asoci LDV al producto P (creacin de enlace)