90 likes | 270 Views
“Uses” Vs. “Extends”. Roberto Barriga Rodríguez Aitana Giner Martín. Laboratorio de Sistemas de Información Facultad de Informática Universidad Politécnica de Valencia. Introducción.
E N D
“Uses” Vs. “Extends” Roberto Barriga Rodríguez Aitana Giner Martín Laboratorio de Sistemas de Información Facultad de Informática Universidad Politécnica de Valencia
Introducción • Un caso de uso es una típica interacción entre un usuario y un sistema de computador. La esencia de los casos de uso es capturar los requerimientos de un sistema. • Se pueden organizar casos de uso especificando relaciones de generalización, include y extend entre otros. Se aplican esas relaciones para factorizar un comportamiento común (tomando tal comportamiento de otros casos de uso que lo incluyan) y variantes (asignando tal comportamiento en otros casos de uso que lo extiendan).
Uses y Extend por Martin Fowler y Kendall Scott • Se utiliza la relación extends cuando se tiene un caso de uso que es similar a otro pero hace algo más, es decir, cuando se describa una variación en un comportamiento normal. • Las relaciones uses ocurren cuando se tiene una buena parte del comportamiento que es similar que alcanza más de un caso de uso y no se quiere conservar copias de la descripción del comportamiento.
Analyze Risk <<Usses>> Price Dela Valuation <<Usses>> Capture Deal Trader Actor <<Extends>> Limits Exceeded Caso de uso Uses y Extend por Martin Fowler y Kendall Scott Ejemplo de extends: • Poner las variaciones dentro del caso de uso Capture Deal puede abarrotarlo con mucha lógica. • Poner el comportamiento normal en un caso de uso y el comportamiento inusual en otro sitio es lo más adecuado. Los pasos a seguir son los siguientes: 1.Capturar primero el caso de uso básico. 2.En todos los pasos que se realicen preguntarse “¿qué puede ir mal aquí?” y “¿cómo afecta a la forma de trabajar?” 3.Dibujar todas las variaciones como extensiones.
Analyze Risk <<Usses>> Price Dela Valuation <<Usses>> Capture Deal Trader Actor <<Extends>> Limits Exceeded Caso de uso Uses y Extend por Martin Fowler y Kendall Scott Ejemplo de uses: Tanto en Analyze Risk como en Price Deal se realizan operaciones similares. La descripción de estas operaciones es muy extensa. Lo más adecuado es derivar un caso de uso separado Valuation, con el fin de evitar copiar y pegar, y hacer referencia a él desde el caso de uso original.
Uses y Extend por Martin Fowler y Kendall Scott • Existen semejanzas y diferencias entre extends y uses. En ambos hay que sacar fuera el comportamiento común de la mayoría de los casos de uso a un caso de uso simple que es usado, o extendido por otros muchos casos de uso. Sin embargo, el propósito es diferente. • En el caso del extends, los actores tienen una relación con el caso de uso que está siendo extendido. Se asume que el actor podrá trabajar con el caso de uso base y con todas las extensiones. Con una relación de uses, a menudo no hay actores asociados con el caso de uso común.
Invokes y Precedes por Doug Rosenberg y Kendall Scott • A diferencia de UML, OML (Open Modeling Language) no utiliza los estereotipos uses o (includes), ni extends, OML define nuevos conceptos como el invokes y el precedes. Estos nuevos conceptos, toman la forma de estereotipo definido por el usuario en los diagramas de caso de uso. • En OML, la idea de invokes está basada en que un caso de uso llama a otro caso de uso, de la misma manera que una función principal llama a una subfunción. Por otra parte, precedes es definido por OML para indicar que un caso de uso es precedido por otro dentro de una secuencia lógica en un diagrama de casos de uso.
Precedes Entrada Orden Compra Ejecutar Entrada Orden Precedes Entrada Orden Venta invokes Definir Clientes Ejecutar Mantenimiento Clientes Precedes Invokes y Precedes por Doug Rosenberg y Kendall Scott
Invokes y Precedes por Doug Rosenberg y Kendall Scott • Ejemplo de Invokes y precedes : • Siempre que usemos Entrada Orden Compra o Entrada Orden Venta, irá precedido del uso de Ejecutar Entrada Orden. • El uso de Definir Clientes irá precedido por Ejecutar Mantenimiento Clientes o podrá ser invocado por Ejecutar Entrada Orden.