04 - robustez
TRANSCRIPT
Qué son
Muestra las relaciones entre tipos (objetos), de
acuerdo a lo establecido en los casos de uso.
Los elementos en la descripción de un caso de
uso serán los tipos del modelo de análisis.
Cada elemento/objeto del análisis juega uno o
más roles en al menos un caso de uso.
Utilizan estereotipos: «boundary», «control» y
«entidad»
2
Estereotipos del análisis
Los tipos de análisis representan una abstracción de
clases en la implementación del sistema. Esta
abstracción asume un ambiente de implementación
ideal. Como cualquier otro tipo, tiene operaciones,
atributos y relaciones con otros tipos y clases.
3
Estereotipos del análisis
Un objeto «entity» es un objeto de larga vida en el
sistema. Sobrevive al caso de uso en el que se crea la
instancia. Representa “cosas” en los objetos de negocios
(cuentas, prestamos, etc.).
Account
«entity»
Account
4
Estereotipos del análisis
Un objeto «boundary» maneja la comunicación entre el sistema y su
contorno. Constituye la parte independiente de la presentación del
sistema (ventanas, protocolos de comunicación, sensores, interfaces
de impresoras, etc.)
«boundary» Interfaz Cajero
Interfaz Cajero
5
Estereotipos del análisis
Un objeto «control» coordina o controla otros objetos.
Contiene comportamiento que no pertenece a un objeto
entidad o interfaz.
«control»
Extracción
Efectivo
Extracción
Efectivo
6
Diagrama de robustez
Diagrama de robustez: muestra como interactúan los
objetos para satisfacer los requerimientos de un caso de
uso particular.
Extraer dinero
Cuenta
Interfaz Cajero
Extracción
Entrega
Dinero
CU: Extraer dinero
7
Diagrama de robustez: Reglas
1. Los actores solo pueden hablar con objetos «boundary».
2. Los objetos «boundary» solo pueden hablar a objetos «control» o
actores.
3. Los objetos «entity» solo pueden hablar con objetos «control».
4. Los objetos «control» pueden hablar con objetos «boundary»,
«entity» y otros objetos «control», pero no a actores.
8
Eurísticas
1. Agregar un objeto boundary para cada elemento de la
interfaz de usuario tal como una pantalla o un reporte.
2. Agregar un objeto control para manejar el proceso del
escenario que se está modelando
3. Agregar un objeto control para cada regla de negocio
4. Agregar un objeto control para actividades que
involucran a varios de los otros objetos
5. Agregar un objeto entity por cada concepto de negocio
6. Incluir un caso de uso si este aparece en el escenario.
http://www.agilemodeling.com/artifacts/robustnessDiagram.htm 10
10 Errores Frecuentes
10. Violar las reglas de los diagramas de robustez.
9. Utilizar los diagramas de robustez para ayudar en la redacción de
los casos de uso.
8. Incluir cursos de acción alternos.
7. Usar el análisis de robustez para asegurar consistencia entre los
nombres de clases y los utilizados en la descripción del casos de
uso.
6. Asignar comportamiento a clases en el diagrama de robustez.
5. Incluir demasiado pocos o muchos controladores.
4. Tomar mucho tiempo tratando de perfeccionar los diagramas de
robustez.
3. Tratar de producir diagramas de robustez detallados.
2. No efectuar una traza visual entre el texto del caso de uso y el
diagrama de robustez.
1. No actualizar el modelo estático.
11
“Modelo de análisis” con subsistemas
Interfaz Cajero
Entrega
Dinero
Receptor
Dinero
Transferencia
Extraer
Dinero
Deposito
Cuenta
«subsistema de análisis»
Interfaz Cajero
«subsistema de análisis»
Lógica de Control
«subsistema de análisis»
Administración Cuentas
12
10 beneficios de los diagramas de robustez
1. Nos fuerza a escribir los casos de uso en un estilo
consistente.
2. Nos fuerza a escribir los casos de uso en voz correcta.
3. Permite chequeos de completitud sobre los casos de
uso.
4. Permite aplicar reglas sintácticas a los casos de uso
(“los actores solo se comunican con objetos boundary”).
5. Son rápidos y fáciles de elaborar.
Rosemberg & Scott, 1999
13
10 beneficios de los diagramas de robustez
6. Ayuda a particionar los objetos en un paradigma
Modelo-Vista-Controlador.
7. Ayuda a estructurar en capas los objetos para sistemas
cliente-servidor (GUI-Lógica-Repositorio)
8. Permite efectuar un análisis para reutilización antes de
comenzar el diseño.
9. Permite rastrear lo que el sistema hace (casos de uso)
y cómo trabaja el sistema (diagramas de secuencia)
10. Permite clarificar el gap entre el análisis (casos de uso)
y el diseño (diagramas de secuencia).
14
Ejercicio en parejas
Elaborar 3 diagramas de robustez para el
ejercicio de la “Terminal de Punto de
Venta”:
Procesar venta.
Procesar devolución de un artículo.
Producir reporte de ventas diarias.
Integrar los 3 diagramas en un solo
diagrama de análisis.
15
1 - Pregunta
Cuál de los siguientes no es un objeto “boundary”:
a) Pantalla de login
b) Tabla “Cuenta”
c) Reporte de ingresos
d) Mensaje de error
17
2- Pregunta
Las flechas en un diagrama de robustez representan:
a) Flujo de datos
b) Flujo de control
c) Asociaciones de comunicación
d) Todas las anteriores
18
3 - Pregunta
Cuál de los siguientes no es un controlador:
a) Validar password
b) Administrador de transacciones
c) Artículo
d) Coordinar transacción
19
4 - Pregunta
Cuál de los siguientes no es una entidad:
a) Artículo
b) Costo
c) Estudiante
d) Banco
20
5 - Pregunta
Cuál de los siguientes se representa como un boundary:
a) Banco
b) Articulo
c) Joystick
d) Ejercicio
21
6 - Pregunta
Cuál de los siguientes no se representa como una
entidad:
a) Ejercicio
b) Tarea
c) Estudiante
d) Joystick
22
7 - Pregunta
Los símbolos gráficos en un diagrama de robustez
representan:
a) Objetos
b) Métodos
c) Clases
d) Atributos
23
8 - Pregunta
Cuál de las asociaciones siguientes viola una regla:
a) Boundary - Control
b) Control - Boundary
c) Entidad – Entidad
d) Entidad - Control
24
9 - Pregunta
Qué es verdadero en las asociaciones siguientes:
a) Control - Entidad
b) Control - Boundary
c) Control – Control
d) Todas son correctas
25
10 - Pregunta
Un boundary no puede representar:
a) Aeropuerto
b) Usuario
c) Termómetro
d) Sistema
26
Encuentra los 2 errores en el siguiente diagrama, de
acuerdo a las reglas de diagramas de robustez
11 - Ejercicio
27
12- Ejercicio: diagrama de robustez
En la pantalla “Editar Carrito Compras” el usuario presiona el botón
“Terminar compra”. El sistema muestra las direcciones de entrega
registradas para esa cuenta. El usuario elige una dirección. El
sistema registra la dirección de entrega en la orden.
28
13 - Ejercicio
El sistema despliega la pantalla “Agregar libro nuevo”. El
usuario escribe los datos: titulo, ISBN, precio, etc. y hace
click en “Agregar”. El sistema valida que cada campo
tenga un valor, que el precio es numérico y entre cero y
$1000. Luego guarda los datos y vuelve a desplegar la
pantalla “Agregar libro nuevo”.
29
14- Ejercicio
El cliente tramita la asignación de una
prenda a su cuenta de crédito en una
tienda departamental.
30
15 - Ejercicio
Compra de un boleto para acudir a un
concierto musical en el Auditorio Milenio.
Existen 5 áreas en las que los precios
varían, según su ubicación. Todos los
asientos están numerados.
31
16 - Ejercicio
Al finalizar el año, a los empleados se les
va a pagar una bonificación de acuerdo al
número de años que hayan trabajado para
la empresa, a condición de que no tengan
más de 1 falta de asistencia a laborar.
Esta prestación no se da a los directivos.
32
17 - Ejercicio
Al final del semestre, un profesor debe dar
una calificación por participación de los
alumnos. Cada semana el profesor
registró cuáles alumnos habían tenido
alguna participación en clase. La
calificación a asignar será en base a la
cantidad y calidad de las participaciones
individuales.
33
18 - Ejercicio
Una institución financiera debe calcular el
monto de un pago de acuerdo a la
inflación y llevar registro de cada pago
realizado por los clientes, de acuerdo al
crédito que tiene contratado con cada uno
de ellos.
34
19 - Ejercicio
La tienda de música debe emitir un reporte
de cuantos CDs vendió mensualmente de
cada artista. Un artista pude tener varios
CDs distintos.
35