Sei sulla pagina 1di 8

Interacción Persona-Ordenador II

Notación CTT (ConcurTaskTrees)


CTT es una notación centrada en tareas desarrollada por Fabio Paternó, cuya principal finalidad
es la de poder representar las tareas que un usuario puede llevar a cabo en una aplicación
interactiva. Las principales características de esta notación son:

 Estructura jerárquica que permite manejar diferentes niveles de abstracción.


 Sintaxis gráfica.
 Conjunto de operadores temporales, sacados de la notación LOTOS, que permiten
representar las relaciones temporales existentes entre las tareas.

 Tipos de tareas en CTT


En CTT se identifican 4 tipos de tareas, en función del actor que la llevará a cabo:

 Relaciones entre Tareas en CTT


Las tareas en un mismo nivel de jerarquía representan diferentes opciones o diferentes tareas
en el mismo nivel de abstracción. Por ejemplo, para completar T1, necesito hacer T2 y/o T3.
Para la descripción, se utilizan además una serie de operadores temporales que facilitan la
descripción de las relaciones temporales existentes entre tareas. Estos operadores se han
obtenido como una extensión de los operadores existentes en LOTOS.

 Activar (enabling o secuencia). T1 >> T2

Cuando termina la T1 se activa la T2. Las dos tareas se representan de forma secuencial. La tarea
2 no puede comenzar hasta que no haya
concluido la T1.

Por ejemplo, no puedo matricularme si antes no


he decidido las asignaturas que me interesan.

La siguiente captura muestra un caso típico que se representaría con el operador de secuencia.

 Elección T1 [] T2

Selección alternativa entre dos tareas. Una vez que se está


realizando una de ellas, la otra no está disponible al menos
hasta que termine la que está activa. Es como un operador
OR exclusivo.

En la siguiente captura se muestran algunos ejemplos. Suele utilizarse para opciones de menú,
opciones de OK o cancelar, etc.
 Activar con paso de información. T1 []>>T2

Especifica que la segunda tarea no puede comenzar hasta que no se ejecute la primera, ya que
la información producida por la primera se usa como
entrada en la segunda.

Por ejemplo, el sistema genera resultados solo después de


que el usuario especifique una consulta. Los resultados
dependerán de la consulta especificada.

Algunos ejemplos de aplicaciones incluyen la introducción básica de información para poder


continuar.

 Tareas concurrentes T1 ||| T2

Las tareas se pueden ejecutar en cualquier orden, al


mismo tiempo, incluyendo la posibilidad de empezar una
tarea antes de que cualquier ot ra se haya completado.

Se suele utilizar para representar que puedes hacer


varias cosas simultaneas. Por ejemplo, rellenar un
formulario. Cuando puedes interaccionar con varios elementos al mismo tiempo.
 Sincronización (Concurrencia con intercambio de información) T1 |[]| T2

Las tareas pueden intercambiar información mientras se


desarrollan de forma concurrente.

Por ejemplo, una aplicación en la que el sistema muestra un


calendario en el que se muestran los eventos que va
introduciendo el usuario al mismo tiempo en un formulario.

 Independencia de Tareas T1 |=| T2

Las tareas se pueden ejecutar en cualquier orden, pero cuando una empieza, ésta debe concluir
antes de que la otra comience.

Por ejemplo, al instalar un nuevo SW, se puede comenzar por el


registro o la propia instalación, pero cuando una comienza no
puede comenzar la otra hasta que no concluya la primera de las
elegidas.

¡Nota! No es habitual en los ejemplos que ella suele pedir.


 Iteración infinita. T1 [> T2

La primera tarea (normalmente una tarea interactiva) es completamente interrumpida por la


segunda.

Por ejemplo, un usuario puede de forma iterativa


introducir datos en un formulario hasta que el
formulario se envía.

 Suspender-Reanudar T1 |> T2

La primera tarea puede ser interrumpida por la segunda. Cuando la segunda termina, la primera
puede reactivarse desde el estado anterior a la interrupción.

Por ejemplo, supongamos un sistema de edición de


documentos en el que en un momento dado se puede
imprimir, pero mientras se imprima no sea posible editar.

 Iteración T1*

La tarea T1 se realiza de forma repetitiva. Se estará realizando hasta que otra tarea la desactive.
 Iteración Finita T1(n)

La tarea T1 puede darse n veces. Se utiliza cuando el diseñador conoce cuantas veces tiene que
realizarse la tarea.

 Tareas Opcionales [T1]

No es obligatorio que se realice la tarea.

Por ejemplo, cuando describimos las tareas relacionadas con la actividad de rellenar un
formulario, algunas de las subtareas pueden ser opcionales (las de los campos opcionales)
 Herencia de restricciones temporales.
Las tareas heredan las restricciones temporales de sus padres. Por ejemplo,
si ponemos una concurrencia a nivel muy alto, permite también la
concurrencia a los hijos.

Es importante tener en cuenta que la jerarquía no representa secuencia. La


imagen de la derecha representa un error habitual.

 Ejemplos CTT

 Ejemplo 1

 Máquina de café.
 Máquina de café.

La máquina de café está situada en lugares públicos para suministrar productos calientes a los
ciudadanos. El usuario se acerca a la máquina, que posee la ranura para las monedas y el selector
de producto.

En primer lugar, se debe seleccionar el producto a tomar (café sólo, con leche, descafeinado o
chocolate). Si hay existencias, se mostrará la cantidad de monedas a introducir. Cuando se
introduzca la cantidad exacta, el usuario indicará si quiere azúcar o no. Una vez que se responde,
se vierte el contenido seleccionado en una taza lista para tomar. El usuario recoge la taza y se
aleja de la máquina expendedora.

Escenario más realista y situaciones no modeladas:

•Si el usuario no dispone de suficiente cantidad de dinero, puede pulsar el botón cancelar,
realizando en este caso la devolución de la cantidad introducida hasta el momento.

•Sólo en el caso de haber existencias del producto seleccionado se puede continuar


interaccionando. En caso contrario se puede volver atrás y seleccionar otro producto.

 Ejemplo Autenticación

Potrebbero piacerti anche