Vous êtes sur la page 1sur 26

Arquitectura de Software

Iteracion / Gerenciando el Alcance


Maria A. Perez de Ovalles
www.lisi.usb.ve
mariapovalles@gmail.com
Topicos
 Desarrollo Iterativo
 Refinar los Casos de Uso
Disciplina de Requerimientos
Flujos de Trabajo
de Ingeniería
Disciplinas Esenciales

Flujos de Trabajo
de Apoyo

3 2007
2007 3
¿Cuál es la estructura de RUP?

Iniciación Elaboración Construcción Transición

¿Los Riesgos del Negocio son ¿Los riesgos Tecnológicos son¿Los riesgos logísticos son ¿Se está preparado para
mitigados? mitigados? mitigados? entregar un producto
robusto y completo?
¿Este proyecto es valioso para la ¿Se tiene un plan detallado de¿Se ha alcanzado el punto de
organización ¿Financieramente la ejecución del proyecto? que el sistema sea utilizable?
valioso? ¿Se puede entregar una
Arquitectura del Sistema
Objetivo Ciclo de Vida versión Beta del Sistema?

4 2007
¿Cuál es la estructura de RUP?
 Cada fase en RUP puede descomponerse en iteraciones. Una
iteración es un ciclo de desarrollo completo dando como resultado
una entrega de producto ejecutable (interna o externa)

Liberaciones

Inicio Elaboración Construcción Transición

Iteración Iteración de Iteración de Iteración de Iteración de Iteración de Iteración de Iteración de


Preliminar Arquitectura Arquitectura Desarrollo Desarrollo Desarrollo Transición Transición

iteraciones internas externas

5 Fundamentos RUP 2006


Disciplina de Requerimientos
Refinando el modelo de caso de uso
 ¿Qué es “refinar”?
 Es descomponer partes de Casos de Uso para formar nuevos
Casos de Uso
 ¿Por qué refinar el Modelo de Casos de Uso?
 Para simplificar los Casos de Uso originales
 Hacerlos más fáciles de entender
 Hacerlos más fáciles de mantener

 Reusar el comportamiento
 Compartir entre muchos Casos de Uso

7 2007
Relaciones entre Casos de Uso

 Include Adición

 Extend <<include>>

Base
 Generalization
<<extend>>

Adición

8 2007
¿Qué es una relación Include?
 Una relación-include es una relación desde un Caso de
Uso base hacia un Caso de Uso include
 El comportamiento definido en el Caso de Uso include es
explícitamente insertado en el Caso de Uso base
Inclusion

<<include>>

Base

9 2007
Relación Include: Ejemplo del ATM
Identificar Cliente

<<include>> <<include>>
<<include>>

Retiros Transferencias
Depósitos

Cliente del ATM Caso de Uso Identificar Cliente


Caso de uso de retiros 1. Insertar tarjeta
1. Incluir “identificar Cliente” 2. Validar tarjeta
para verificar la identidad del 3. Entrar el Pin
cliente 4. Verificar el PIN
2. Opciones de despliegue. El A1: Tarjeta inválida
cliente selecciona“retiros” A2: PIN inválido
3. ... A3: ...

10 2007
¿Por qué usar una relación Include?
 Para aislar comportamiento común a dos o
más Casos de Uso
Inclusion
 Evitar describir el mismo
comportamiento múltiples veces
<<include>>
 Asegurar que el comportamiento
común permanece constante
Base
 Para aislar y encapsular comportamiento de
un Caso de Uso base
 Simplificar flujo de eventos
complejos
 Aislar comportamiento que no es
parte del propósito primario

11 2007
¿Qué es una relación extend?
 Conecta desde un Caso de Uso extendido hacia un Caso
de Uso base
 Inserta comportamiento del Caso de Uso extendido en el Caso
de Uso base
 Se inserta sólo si la condición del extend es verdadera
 Se inserta en el Caso de Uso base en el punto donde se nombra
el Caso de Uso extend
Base

<<extend>>

Extension

12 2007
Relación extend: Ejemplo del ATM
Retirar
Efectivo

Cliente de ATM <<extend>>


<<extend>>

Retirar
Retirar Monedas Estampillas

Los Casos de Uso de retirar monedas y retirar estampillas


<<extienden>> el Caso de Uso de retirar efectivo. Son
opcionales

13 2007
Relaciones extend: Ejemplo del ATM
(cont.)
Caso de uso de Retirar Efectivo Caso de Uso de retirar monedas
Flujo básico: Este caso de uso es una extensión del caso
1. Include “Identificar Cliente” para de uso de Retirar Efectivo, en el punto
verificar la identidad del cliente. de extensión de “Retiros alternativos de
fondos”
2. Despliega Opciones. El cliente
selecciona “retirar efectivo”. Flujo Básico:
3. Indicar la cuenta y el monto. Si el cliente selecciona “monedas”, el
cliente indica entonces la clase y
4. Envía la transacción al consorcio número de rollos de moneda deseados
bancario. Obtiene aprobación.
Calcula retiro total
5. Despliega opciones. El ATM entrega el
dinero 3. El cliente ATM confirma
6. Retorna la tarjeta. 4. Los rollos de monedas son entregados.
7. Imprime el recibo. 5. El caso de uso de retirar efectivo
continúa
Puntos de extensión:
A1: Sin monedas
1. Retiro Alternativo de Fondos
A2: Se atasca el rollo de monedas
Este punto de extensión ocurre después
del punto 5 en el flujo básico. A3: ...

14 2007
¿Por qué utilizar relaciones extend?
 Aíslan comportamiento opcional o
excepcional
Base  Se ejecutan sólo bajo ciertas condiciones
 Simplifica el flujo de eventos en el Caso de
<<extend>> Uso base
 Ejemplo: Disparar una alarma
Extension
 Adicionar comportamiento extendido
 Comportamiento a desarrollar
separadamente, posiblemente en otra
versión

15 2007
¿Qué es generalización de Casos de
Uso?
 Es una relación desde un Caso de Uso hijo hacia un caso de
uso padre
 Describe el comportamiento general compartido en el
padre
 Describe comportamiento especializado en el hijo
Padre

Hijo 1 Hijo 2

16 2007
Generalización: Ejemplo de Site de
compras

Comprar

Comprar
Comprar Libros
Bicicletas

17 2007
Relación de generalización: ejemplo
(cont.)
Caso de Uso Comprar Caso de Uso Comprar Libros
Flujo Básico Este caso de uso es hijo del caso de uso
1. El cliente se registra Comprar
Include “identificar cliente” para verificar Flujo Básico
la identidad del cliente 1. Cliente se registra
2. El cliente selecciona “comprar”
El cliente opta por comprar ..... 2. Cliente selecciona “comprar”
3. El cliente selecciona una cuenta
El sistema despliega la cuenta 3. El cliente selecciona una cuenta
4. Realiza la compra
4. Realiza la compra
Si el cliente selecciona tipo de compra
libros, el sistema realza......
5. El cliente inicia nueva compra
Si el cliente desea otras compras, reinicia
5. El cliente inicia nueva compra
desde el paso 3

6. Despliega el resumen
6. Despliega el resumen
El sistema presenta un sumario...
A1. Libro no disponible
A1. Cuenta no operacional......
18 2007
¿Porqué utilizar generalización de
Casos de Uso?

 Enseña comportamiento común, estructura, y propósito en dos o más


Casos de Uso
 Enseña que los hijos son parte de una familia de Casos de Uso

 Evita describir el mismo comportamientos múltiples veces

 Asegura que el comportamiento común permanezca consistente

 Permite el reuso de requerimientos

Padre

Hijo 1 Hijo 2

19 2007
Casos de Uso Abstractos vs. Concretos
Un Caso de Uso es Los Abstractos (A y D):
A  No tienen que estar completos.
concreto o abstracto.
 Existen sólo para otros casos de uso.
 Nunca son ejecutados por sí mismos.
«include»

B C

«extend» Tip:
Los Concretos (B y C): Oculte todos los Casos
D de Uso abstractos y
Deben estar completos y
tener significado. aún debería ser capaz
de entender el
Pueden ser ejecutados por sí
mismos. propósito principal del
sistema.

20 2007
¿Qué es generalización de actores?
 Los actores pueden tener características comunes
 Múltiples actores pueden tener propósitos o roles comunes al
interactuar con un Caso de Uso

Padre

Hijo 1 Hijo 2

21 2007
Generalización de actores: Ejemplo de
un Hospital

 Padre: Trabajador Médico


 El trabajador médico puede leer reportes

 Hijos: Doctor, enfermera, ayudante


 Doctor, enfermera y ayudante pueden leer reportes

Doctor

Leer reportes
Enfermera Trabajador
Médico

Ayudante

22 2007
¿Por qué usar generalización de
actores?  Para simplificar asociaciones
entre muchos actores y un
Caso de Uso
Padre
 Para enseñar que una
instancia de un hijo puede
desempeñar todo el
comportamientos descrito
Hijo 1 Hijo 2
para el padre

23 2007
Actores abstractos vs. concretos
 Un actor abstracto contiene la parte común de los
roles
 No se puede sustanciar a sí mismo
 Ejemplo: Nadie es contratado para el cargo de
Trabajador Médico
Trabajador  Un actor concreto puede ser sustanciado
Médico  Ejemplo:
 Carmen es doctor
 Isabel es enfermera

Doctor Enfermera

24 2007
Guías para Modelado de Casos de Uso
 Notación que debe y no debe usarse. Por ejemplo, si se
pueden utilizar relaciones de generalización
 Reglas, recomendaciones y aspectos de estilo, y cómo
describir cada Caso de Uso
 Recomendaciones sobre cuándo comenzar a estructurar
los Casos de Uso (no demasiado temprano!)

25 2007
Repaso: Relaciones en el Modelo de
Casos de Uso

to
from

generalización comunicación

<<include>>
comunicación <<extend>>
generalización

26 2007

Vous aimerez peut-être aussi