Aquí hay un desglose:
* Caso de uso base: Este es el caso de uso principal que se está extendiendo. Funciona de forma independiente incluso sin el caso de uso extendido.
* Caso de uso que extiende: Este caso de uso agrega pasos o funcionalidad adicionales al caso de uso base. Solo * se ejecuta si se cumple una condición específica (o punto de extensión) dentro del caso de uso base. * No * reemplaza o abarca completamente el caso de uso base.
Diferencias clave de "incluir":
* incluye: Representa un caso de uso que * siempre * incluido en otro caso de uso. Es una forma de descomposición, que tiene en cuenta la funcionalidad común. El caso de uso incluido se ejecuta cada vez que se ejecuta el caso de uso base.
* extender: Representa un caso de uso que está * condicionalmente * incluido en otro caso de uso. Solo ocurre cuando se cumplen criterios específicos dentro del caso de uso base.
Ejemplo:
Supongamos que tiene un caso de uso base "Orden de proceso". Esto generalmente implica agregar elementos a un carrito, calcular el total y completar el pago.
Es posible que tenga un caso de uso extendido llamado "Aplicar descuento". Esto * solo * sucede si un cliente usa un código de cupón válido durante el caso de uso de "orden de proceso". El caso de uso "Aplicar descuento" extiende el caso de uso de "Orden de proceso", pero no siempre se ejecuta. Si no se usa cupón, los pasos de "aplicar descuento" simplemente se omiten.
En un diagrama, la relación "extender" se representa como una flecha discontinua con una punta de flecha abierta que apunta desde el caso de uso * extendido * al caso de uso * base *. A menudo, la condición específica para la extensión se observa cerca de la flecha.
En resumen, "extender" en los modelos de diagramas de casos de uso opcionales, adiciones condicionales al comportamiento de otro caso de uso. Se trata de agregar funcionalidad adicional en circunstancias específicas, no sobre la funcionalidad siempre incluida como "incluir".