Sei sulla pagina 1di 54

Elaboración del Modelo de

Objetivos

¿Cómo se construye un modelo de objetivos?


Lo que pasó...
•  Introducción a la Ingeniería de Requerimientos
–  Definición, relevancia, actividades principales, ciclos de vida...
•  Fundamentos
–  Modelo de Jackson, 4V, contexto
–  Prescripción vs Descripción, Verificación y Validación, Objetivos vs
Requerimientos
•  El Documento de Requerimientos - SRS
–  Qué, para qué, para quién, cualidades, ...
–  Técnicas de documentación y sus limitaciones
•  Modelo de objetivos
–  Vínculo con los modelos de Jackson, 4V y de contexto
•  Punto de Partida de un Proyecto
•  Técnicas de Elicitación

LaFHIS 2
Ingeniería de Requerimientos
Orientado a Objetivos

El uso de objetivos y las relaciones que estos tiene entre si y con otros
modelos como elementos centrales en la...
–  elicitación
–  elaboración
–  estructuración
–  especificación
–  análisis
–  negociación
–  documentación
–  evolución
... de requerimientos

LaFHIS 3
Una noción de objetivo más rica
Tipo de Objetivo Nombre de
(Lograr, Mantener/Evitar, Categoría de Definición en
Objetivo lenguaje natural
Objetivo blando) Objetivo (opcional)

Objetivo Lograr [Primera Intervención de Ambulancia]


Categoría Seguridad
Definición Para cada llamada urgente reportando un accidente, una
primer ambulancia deberá arribar al lugar del incidente dentro de los
8 minutos para incidentes de categoría A (peligro de vida inminente) y
dentro de los 14 minutos para incidentes de categoría B.
DefFormal (∀ l: LlamadaUrg, inc:Incidente) (Reporte(l, inc) ⇒
(inc.Categoría = 'A' → <>≤8min (∃ a:Ambulancia) Intervención(a, inc)
∧ inc.Categoría = 'B' → <>≤ 14min (∃ a:Ambulancia) Intervención(a, inc)))
Fuente Estándar ORCON

Referencia del Objetivo (opcional) Def formal (opcional).


e.j. en Lógica Temporal Lineal

Otros atributos útiles son prioridad, estabilidad, criterio de aceptación y


stakeholders afectados positiva y negativamente.
LaFHIS 4
Taxonomías
•  Una categorización tradicional de aserciones
prescriptivas
–  Funcional
•  Funciones o servicios a ser provistos por el sistema
•  Derivan en operaciones concretas en la interfaz
–  No Funcional
•  Restricciones adicionales.
•  Cómo/Cuán bien deben proveerse los servicios
•  Tienden a afectar grandes porciones de funcionalidad (cross-
cutting)

•  No suelen definir clases disjuntas


–  Muchos objetivos abarcan varias categorías
•  Ej. Lograr[Primera Intervención de Ambulancia], …
•  No suelen tener definiciones muy precisas
LaFHIS 5
Una Taxonomía
(incompleta) de Objetivos

LaFHIS 6
¿Para qué sirven las Categorías?
•  Proveen heurísticas para
–  Elicitar requerimientos. Como checklist
–  Analizar y reutilizar modelos
•  Interacciones típicas entre categorías
•  Técnicas de análisis especializadas
•  No deben usarse para
–  Particionar estrictamente las aserciones prescriptivas
–  Invertir tiempo y esfuerzo en decidir la categoría de un
objetivo

LaFHIS 7
Tipos de Objetivos

•  Otra categorización de objetivos

Comportamiento Comportamiento
requerido preferido

LaFHIS 8
Objetivos de Comportamiento
•  Recortan el espacio de
comportamientos permitidos
–  Las puertas del tren estarán cerradas
mientras el tren está en movimiento
•  Comprobación arroja resultado
binario
•  Tienen un correlato con modelos
operacionales de comportamiento

Cerrado Cerrado Abierto Cerrado Cerrado


Movimiento Parado Parado Parado Movimiento

LaFHIS 9
Objetivos de Comportamiento:“Lograr”
Patrón temporal

Condición Actual ⇒ en algún momento futuro Condición Esperada

Objetivo Lograr [Primera Intervención de Ambulancia]


Definición Para cada llamada urgente reportando un
accidente en algún momento futuro una
primer ambulancia deberá arribar al
lugar del incidente....
DefFormal Llamada urgente → <>Intervención

Lograr....

Condición Condición
... ... ...
Actual Esperada

LaFHIS 10
Ejemplo de Objetivo “Lograr”

Objetivo Lograr [Primera Intervención de Ambulancia]


Categoría Seguridad
Definición Para cada llamada urgente reportando un accidente, una
primer ambulancia deberá arribar al lugar del incidente dentro de los
8 minutos para incidentes de categoría A (peligro de vida inminente) y
dentro de los 14 minutos para incidentes de categoría B.
DefFormal (∀ l: LlamadaUrg, inc:Incidente) (Reporte(l, inc) ⇒
(inc.Categoría = 'A' → <>≤8min (∃ a:Ambulancia) Intervención(a, inc)
∧ inc.Categoría = 'B' → <>≤ 14min (∃ a:Ambulancia) Intervención(a, inc)))
Fuente Estándar ORCON

LaFHIS 11
Más ejemplos...
•  Lograr[Pedido de Reunión Satisfecha]: Si una reunión
ha sido pedida entonces la reunión ocurrirá en los
plazos establecidos y todos los invitados estarán
presentes
•  Lograr[Pedido de Libro Satisfecho]: Si un libro ha sido
pedido por un usuario, entonces el libro será prestado
al usuario en menos de una semana.
•  Lograr[Progreso de Tren]:...
•  Lograr[Libro Prestado Retornado]:...

LaFHIS 12
Objetivos de Comportamiento: “Matener/Evitar”
Patrones Temporales:
siempre Condición buena
siempre no Condición mala
Condición actual ⇒ siempre Condición buena

E.g. Objetivo Mantener [Información precisa de ubicación de Ambulancias]


“para cada ambulancia, siempre (Info. de Ubicación = Posición Actual)"
E.g. Objetivo Evitar [Velocidad de segmento excedida]
”[] no (velocidad de tren ≥ segmento de Tren.velocidadMaxima)"

mantener

Condición Condición Condición Condición


Actual Buena Buena Buena

LaFHIS 13
Objetivos Blandos
•  Denotan preferencia entre comportamientos
•  Permiten razonar sobre sistemas alternativos
•  Su satisfacción no puede establecerse mirando un sistema o una
traza, deben compararse dos sistemas/trazas
•  Difícil de vincular con modelos de comportamiento
•  Ejemplos
–  “La interacción entre participantes será mínima”
–  “El estrés inherente a las condiciones de trabajo de los conductores
será reducida”
–  “Pasajeros tendrán mejor información de conexiones de trenes”
–  “El sistema será fácil de usar para personal administrativo”
–  El trabajo manual en el proceso de préstamo de libros deberá
reducirse”
•  Pueden ser clasificados al igual que los de comportamiento
–  Mejorar[], Incrementar[], Minimizar[], etc.

LaFHIS 14
Ejemplo de Objetivos Blandos
Programación Efectiva de Reuniones

Máximo Presentismo
Reducir Esfuerzo de
participantes

Reunión Conveniente Tiempo de toma de


Programada decisión reducido Precisión de
Restricciones

Restricciones
Conocidas

Restricciones Comunicación
e-agenda
Pedidas Funcionando
accesible

Restricciones Restricciones extraídas e-agenda


Informadas de e-Agenda actualizada
Objetivos Blandos vs No Funcionales

•  Clasificaciones ortogonales
•  Ej.
–  El controlador de velocidad ajustará la velocidad en
el caso de exceso de velocidad en menos de 50
milisegundos.
–  El controlador de velocidad ajustará la velocidad en
el caso de exceso de velocidad en el menor tiempo
posible.

LaFHIS 16
Objetivos Medibles
•  Para los no-funcionales debe haber un ‘criterio de aceptación‘
–  Objetivo: “El software será intuitivo e instrucciones de uso auto-
contenidas”
–  Criterio: “95% de los clientes existentes del banco podrán extraer
plata y depositar cheques en menos de dos minutos en su primer
encuentro con el sistema”
•  Para los blandos debe haber un ‘criterio de comparación‘
–  Objetivo: “El software será lo más intuitivo posible y ...”
–  Criterio: ... basado en tiempo que tardan clientes en extraer plata y
depositar cheques en su primer encuentro con el sistema”

•  Elección no trivial
–  Stakeholders no suelen ser tan específicos.
–  Fácil de medir no implica correspondencia con objetivo
–  Métricas estándar no necesariamente se corresponden con objetivos

LaFHIS 17
Ejemplos de Criterios de Aceptación

Calidad Métrica
Tiempo de respuesta
Velocidad / Performance
Transacciones por segundo
Tiempo para completar tareas
Facilidad de Uso
Tiempo de entrenamiento
Tiempo promedio entre fallas,
Confiabilidad Probabilidad de falla bajo demanda
Probabilidad de no disponibilidad
Tiempo promedio entre amenaza física,
Seguridad Física
...
Tiempo para restablecer funcionalidad después de
Robustez falla
porcentaje de eventos que producen falla
Tiempo requerido para portar sistema a otra
Portabilidad plataforma

LaFHIS 18
Tipos de Objetivos - Resumen
•  ¿Para qué distinguir el tipo de objetivo?

•  Distinción entre comportamiento


–  deseado/inaceptable
–  preferido
•  Análisis
–  De alternativas - grado de satisfacción
–  De completitud (R, D |= G)
•  Patrones de objetivos frecuentes permiten
–  Notación compacta
–  Aplicación de heurísticas para elicitación, validación, reuso,
gestión de conflictos, etc…

LaFHIS 19
Relacionando Opciones con Objetivos Blandos

Mundo de los Objetivos de Comportamiento Mundo de los Objetivos Blandos

Opción Obj. Blando Ayuda/


Impacto Dificulta

Refinamiento de Objetivo

Asignación de Resp. Impacto Impacto


Positivo Negativo Justificado
Resolución de Conflicto por

Resolución de Obstáculo Afirmación

Sebastian Uchitel 20
Ejemplo de Coordinador de Reuniones

Reunión Conveniente Planif. Resolución


Automatizada

Restric. Recolectadas
Reunión Planificada Scheduler
Recolección Recolección
en Base a Restricciones O
x iniciador vía agenda
Recolección
vía Web Iniciador
Resolución
Manual

Sebastian Uchitel 21
Ejemplo de Coordinador de Reuniones

Reducir Esfuerzo Reducir Esfuerzo


del Iniciador de participantes
Tiempo de
Recolec. Reducido
-- ++ - ++ -
++ Precisión de
Reunión Conveniente Planif. Restricciones Resolución
Automatizada

Restric. Recolectadas
Reunión Planificada Scheduler
Recolección Recolección
en Base a Restricciones O
x iniciador vía agenda
Recolección
vía Web Iniciador
Resolución
Manual

Sebastian Uchitel 22
Ejemplo de Coordinador de Reuniones
•  Representación Tabular

Objetivo Blando
Reducir Esfuerzo Tiempo de Precisión de Reducir
Objetivos del Iniciador
Opciones Recolec. Restricciones Esfuerzo de
Reducido participantes

-- - + -
Recolec. x
iniciador

++ ++ - +
Restricciones Recolec. vía
Recolectadas agendas

++ - + -
Recolec. vía
Web

Afirmación: algunos
Afirmación: Algunas participantes ya
agendas no estarán usan agenda
actualizadas
Sebastian Uchitel 23
Ejemplo de Coordinador de Reuniones

Flexibilidad
para iniciador

Precisión -
++
Reunión Conveniente Planif. ++ - Resolución
Automatizada

Restric. Recolectadas
Reunión Planificada Scheduler
Recolección Recolección
en Base a Restricciones O
x iniciador vía agenda
Recolección
vía Web Iniciador
Resolución
Manual

Sebastian Uchitel 24
Ejemplo de Coordinador de Reuniones

Flexibilidad
para iniciador
Precisión -
++
Reunión Conveniente Planif. ++ -Resolución
Automatizada

Restric. Recolectadas
Reunión Planificada Scheduler
Recolección Recolección
en Base a Restricciones O
x iniciador vía agenda
Recolección O
vía Web Iniciador
interactive
scheduling Resolución
Manual
Best Dates Proposed Best Date Selected

Scheduler Iniciador
Sebastian Uchitel 25
Elaboración del Grafo de Objetivos Blandos

Reducir Esfuerzo Reducir Esfuerzo


del Iniciador de participantes
Tiempo de Flexibilidad
-- ++ Recolec. Reducido
Precisión para iniciador
++ - ++ - Precisión de -
Reunión Conveniente Planif. Resolución ++
Restricciones
++ -
Automatizada

Restric. Recolectadas
Reunión Planificada Scheduler
Recolección Recolección
en Base a Restricciones O
x iniciador vía agenda
Recolección O
vía Web Iniciador
Resolución
Interactiva Resolución
Mejores Fechas Manual
Propuestas Mejor Fecha
Seleccionada

Scheduler Iniciador
Sebastian Uchitel 26
Elaboración del Grafo de Objetivos Blandos
Reducir esfuerzo
de usuarios Calidad de
Planificación

Calidad de
Tiempo para Decisión
Reducir Esfuerzo Reducir Esfuerzo decidir
del Iniciador de participantes
Tiempo de Flexibilidad
-- ++ Recolec. Reducido
Precisión para iniciador
++ - ++ - Precisión de -
Reunión Conveniente Planif. Resolución ++
Restricciones
++ -
Automatizada

Restric. Recolectadas
Reunión Planificada Scheduler
Recolección Recolección
en Base a Restricciones O
x iniciador vía agenda
Recolección O
vía Web Iniciador
resolución
interactiva Resolución
Mejores Fechas Manual
Propuestas Mejor Fecha
Seleccionada

Scheduler Iniciador
Sebastian Uchitel 27
Razonamiento sobre Objetivos de Alto Nivel
Reducir esfuerzo
de usuarios Calidad de
Planificación

Calidad de
Tiempo para Decisión
Reducir Esfuerzo Reducir Esfuerzo decidir
del Iniciador de participantes
Tiempo de Flexibilidad
-- ++ Recolec. Reducido
Precisión para iniciador
++ - ++ - Precisión de -
Reunión Conveniente Planif. Resolución ++
Restricciones
++ -
Automatizada

Restric. Recolectadas
Reunión Planificada Scheduler
Recolección Recolección
en Base a Restricciones O
x iniciador vía agenda
Recolección O
vía Web Iniciador
resolución
interactiva Resolución
Mejores Fechas Manual
Propuestas Mejor Fecha
Seleccionada

Scheduler Iniciador
Sebastian Uchitel 28
Lo que pasó, lo que se viene...

•  Una noción más rica de objetivos


–  Meta-información relativa al objetivo
–  Modos de definición alternativas de objetivos
•  Clasificaciones de objetivos
–  Proveen heurísticas del tipo de análisis que puede
realizarse

¿Sugerencias para construir


un modelo de objetivos?

LaFHIS 29
¿Cómo elicitar Objetivos?

•  Elicitación temprana
–  ¿problemas y deficiencias del sistema actual?
–  ¿objetivos de mejora del sistema futuro?
–  ¿Objetivos estratégicos del cliente?
–  Ver técnicas de elicitación
•  Basadas en stakeholders
–  Observación, entrevistas y sesiones de grupo
•  Basadas en documentación
–  “deberá”, “será”, “asegurará”, ”se espera que", “queremos” ...
–  “propósito”, "objetivo", “fin”, ...
–  refinamientos: “ para lograr X el sistema deberá Y”
–  Usar checklists de categorías de objetivos

LaFHIS 30
¿Cómo elicitar Objetivos?

•  Elicitación posterior ...


–  por abstracción (bottom-up):
preguntando PORQUE? sobre...
objetivos de bajo nivel
escenarios
u otras descripciones operacionales...
maquinas de estado
manual de procedimientos
–  por refinamiento (top-down):
preguntando COMO? sobre objetivos disponibles
–  por resolución de conflictos y obstáculos

LaFHIS 31
Preguntando COMO y POR QUE

¿POR
¿COMO? QUE?
Primera Intervención …
… de Ambulancia

Formulario de Amb. más cercana Ambulancia


Incidente movilizada movilizada
Completado interviene

… … Amb. mas cercana es Amb. Seleccionada


seleccionada movilizada

Info precisa de estatus Amb. seleccionada basado


y ubicación de en Info de ambulancias
ambulancias
… …
LaFHIS 32
Preguntando COMO
•  ¿Cómo puede ser satisfecho este objetivo?
•  ¿Existe más de una estrategia para logarlo?
•  ¿Los sub-objetivos actuales garantizan el objetivo?

•  ¿Cuánto debo refinar?


–  Lograr un agente responsable
•  requerimiento (agente de software)
•  expectativa (agente del entorno)
•  propiedad del entorno
–  Ver también arquitecturas de software...

LaFHIS 33
Preguntando POR QUE
•  ¿Por qué este objetivo debería ser satisfecho?
•  ¿Existen sub-objetivos redundantes para la
satisfacción de un objetivo?
•  ¿Existe otro objetivo al cual este objetivo aporta?

•  ¿Cuánto debo abstraer?


–  El alcance acota los objetivos
–  Lograr relevancia de todos los fenómenos y propiedades en
otros modelos
–  Evitar riesgo de regresión de objetivos

LaFHIS 34
POR QUE

Lograr[ Restricc
iones de
participantes
conocidas]

¿Por qué?
Lograr[ Partic
ipantes
informados]

¿Por qué?

LaFHIS 35
Objetivos vs. Operaciones
•  Las operaciones inducen objetivos (vía poscondiciones)
•  No confundir objetivos con operaciones/casos de uso
–  Operaciones podrían ser más generales
–  Relación muchos a muchos.

Participantes Ambulancia mas


informados cercana asignada

Informar Asignar
Particpantes ambulancia...

LaFHIS 36
Contra Reciproco de Objetivos Lograr

Frecuentemente un objetivo lograr de la forma...

Si Precondición entonces en el futuro Condición esperada

lleva un objetivo Mantener relevante de la forma...

Siempre (si Condición esperada entonces Precondición)

En muchos casos resulta un objetivo de seguridad

LaFHIS 37
Ejemplos de Contra-Recíproco
Objetivo:
•  Si Pulsos de Rueda =>
<> Aceleración de Reversa Habilitada
Contra-recíproco:
•  [] (Si Aceleración de reversa => Pulso de Ruedas)

Objetivo:
•  Si Item Pagado => <> Item Enviado
Contra-recíproco:
•  [] (Si Item enviado => Item Pagado)

LaFHIS 38
Caso Complementario de Objetivo Lograr

Frecuentemente un objetivo lograr de la forma...


Si Precondición entonces en el futuro Condición esperada

lleva a un objetivo de la forma...


Si No Precondición entonces ????

Ej.
–  Si la señal de sección es de avance => <> el tren que se
aproxima estará en la sección
–  Si la señal de sección no es de avance => ...

LaFHIS 39
Sistemas Alternativos

•  Las ventajas/desventajas de una alternativa


pueden inducir objetivos blandos nuevos
•  Los objetivos blandos pueden introducir
alternativas

Restricciones
Conocidas

Restricciones Comunicación
e-agenda
Pedidas Funcionando
accesible

Restricciones Restricciones extraídas e-agenda


Informadas de e-Agenda actualizada
LaFHIS 40
Patrón de Refinamiento por Hitos
•  Refinamiento por “hitos” o “milestones”
Condición actual ⇒ <> Condición esperada

Condición actual ⇒ <> Hito Hito ⇒ <> Condición esperada

•  Ejemplo Lograr[Ambulancia Movilizada]

refinamiento por hitos

Lograr[Ambulancia Asignada] Lograr[Ambulancia Asignada Movilizada]

•  Variante: Encadenamiento de múltiples hitos

LaFHIS 41
Refinamiento por Hitos
- Variante con Objetivos Mantener -
Matener[Peor Caso de Frenado]

Matener[Aceleración Matener[Aceleración de
Segura Comandada] Tren basada en Comandos]

Refinamiento x Hitos
Lograr[Aceleración
Computada Recibida
Mantener[Datos por el Tren a tiempo]
Precisos de Aceleración
y Posición Estimados]
Lograr[Aceleración
Computada Enviada
Mantener[Aceleración Segura al Tren a tiempo]
Computada a partir de Estmaciones]
LaFHIS 42
Patrones de refinamiento por casos
•  Refinamiento por casos
–  para Objetivos “Lograr” (similar para Mantener)

Condición Actual ⇒ <> Condición Esperada

Condición Actual ∧ Caso1 ⇒ Condición Actual ∧ Caso2 ⇒ Siempre


<> Condición Esperada <> Condición Esperada [Caso1 o Caso2]

•  Ejemplo de uso
Lograr[AmublanciaAsignadaMovilizada]
refinamiento por casos

Lograr[AmbulanciaAsignadaMo Lograr[AmublanciaAsignadaMo
vilizadaCuandoEnEstación] vilizadaCuandoEnViaje]

LaFHIS 43
Refinamiento por Casos vs. O-Refinamientos
Amb. Asignada
•  No confundir ... Movilizada
Alternativa
–  O-refinamiento ... Radio.
Alternativa
Term. Móvil
(que introduce sistemas ...
...
alternativos)

–  Y-refinamiento por caso ... Amb.


AsignadaMovilizada
(que introduce objetivos
Amb. Movilizada
complementarios)
Amb.Movilizada
CuandoEnEst CuandoEnRuta
ación

LaFHIS 44
Refinamiento por Casos e Hitos: Un Ejemplo Real

LaFHIS 45
Refinamiento: Introducción de Guarda

Condición Actual ⇒ <> Condición Esperada

Condición Actual ∧ Guarda Mantener[Condición Actual


⇒ <> Condición Esperada SalvoQue Condición Esperada

Condición Actual ⇒ <> Guarda

•  Si repasamos el objetivo Lograr[Viaje Rápido] y sus


subobjetivos Lograr[Avance Rápido Si Señal De
Avance] y Lograr[Señal De Avance Rápido]
•  Descubrimos que falta Mantener[Tren esperando
SalvoQue Tren En Próxima Sección]
LaFHIS 46
Divide And Conquer
Mantener[Condición 1 ∧ Condición 2
SalvoQue Condición Final]

Mantener[Condición1 Mantener[Condición2
SalvoQue Condición Final] SalvoQue Condición Final]

•  Ejemplo de uso

Mantener[Envio de Recordatorio y Incremento de Multa


SalvoQue Libro retornado]
Divide And Conquer
Mantener[Envio de Recordatorio Mantener[Incremento de Multa
SalvoQue Libro retornado] SalvoQue Libro retornado]

LaFHIS 47
Refinamiento para
lograr Objetivos Asignables
•  Aplicable cuando un objetivo se refiere a cantidades o
eventos no monitoreables por un agente
Objetivo No Realizable Por Condición No Monitoreable
Resolución de Falta
de Monitorabilidad

Objetivo sobre Condición no Monitoreable


Condición Monitoreable Sii Condición Monitoreable

ObjetivoNoRealizablePorCondición No Controlable

Resolución de Falta de
Controlabilidad
Objetivo sobre Condición controlable
Condición controlable Sii Condición No Controlable

Típicamente estos refinamientos introduce presunciones sobre el dominio


LaFHIS 48
Refinamiento hace Objetivos Asignables
- Un Ejemplo -

Puertas Cerradas Mientras Tren en Movimiento


Resolución de falta
de monitorabilidad

Puertas Cerradas Mientras


Velocidad No es Cero Movimiento sii
Velocidad No Es Cero
Objetivo para Controlador de Puertas, Invariante del Dominio
Puertas, y Sensor de Velocidad

Enfermera Interviene Cuando Pulso es Crítico


Resolución de falta
de controlabilidad

Enfermera Interviene Alarma Cuando Hay


Cuando hay Alarma Pulso Crítico
Expectativa para Enfermera Requerimiento para sistema de alarma

LaFHIS 49
Patrones: Un Enfoque Formal
Objetivo Subobjetivos Nombre

P ⇒ <> Q P ∧ R ⇒ <> Q P ⇒ <> R P ⇒ (P W Q) Guardas


P∧Q⇒ Maximizar
P ⇒ (P W R) Q ⇒ (Q W R)
(P ∧ Q) W R Cohesión

P ⇒ <> Q P ⇒ <> R R⇒ <> Q Hitos

[](C1 ∨ C2)
P ⇒ <> Q P ∧ C1 ⇒ <> Q1 P ∧ C2 ⇒ <> Q2 x casos
Q1 ∨ Q2 ⇒ <> Q

Condición
P ⇒ <> Q P ∧ !R ⇒ <> R P ∧ R ⇒ <> Q P ⇒ []P
necesaria
Condición
P ⇒ <> Q !R ⇒ <> R P ∧ R ⇒ <> Q P ⇒ []P
necesaria*

P ⇒ <> Q P ⇒ <> R R ⇒ (P U Q) Guardas*

* con subobjetivos más fuertes


LaFHIS 50
El Patrón Define el Sistema
Condición
P ⇒ <> Q P ∧ !R ⇒ <> R P ∧ R ⇒ <> Q P ⇒ []P
necesaria
Condición
P ⇒ <> Q !R ⇒ <> R P ∧ R ⇒ <> Q P ⇒ []P
necesaria*

Interpretación:
P = “Usuario requiere un libro”
Q = “Usuario puede retirar el libro”
R = “Un ejemplar del libro está disponible

¿Cuál es la diferencia de aplicar un patrón u otro?

LaFHIS 51
Utilización de Patrones

•  Refinamiento •  Abstracción
Objetivo ¿?
¿Cómo?
¿Por qué?
¿? ¿? Objetivo Objetivo

•  Verificación •  Documentación
Objetivo
Objetivo
Patrón

¿Completo? Objetivo Objetivo


Objetivo ¿?

LaFHIS 52
Resumen de Patrones de Refinamiento

•  Reuso
•  Completos (Patrones pre-verificados)
•  Codifican tácticas de refinamiento
usuales
•  Codifican experiencia
•  Guían el proceso de modelado
•  Facilitan documentación y comprensión

Facilitan refinamiento riguroso lightweight

LaFHIS 53
Resumen
•  Una noción más rica de objetivos
–  Meta-información relativa al objetivo
–  Modos de definición alternativas de objetivos
•  Clasificaciones de objetivos
•  Construcción de modelos de objetivos.
Métodos y Heurísticas
–  Elicitación Temprana
–  Porqué y Cómo
–  Descripciones operacionales
–  Manipulación de objetivos
–  Patrones de refinamiento

LaFHIS 54

Potrebbero piacerti anche