Está en la página 1de 41

Desarrollo de IUs basado en

modelos

José A. Gallud
Grupo LoUISE-UCLM
Contenido

 Motivación
 Concepto de interfaz, HCI y calidad
 El proceso de diseño de la interfaz de
usuario
 El modelo y los modelos de interfaz
 Desarrollo basado en modelos (entornos)
Motivación
 Actualmente existe un gran interés por el estudio de los diversos
aspectos que caracterizan la interacción persona-ordenador (HCI).
Concretamente el ámbito de generación de interfaces de usuario
como medio principal de interacción.
 Especialmente en el caso de los sistemas interactivos que implican
un gran nivel de interacción con el usuario y requieren, por tanto,
conceder gran importancia a la interfaz de usuario.
 La mayoría de las aproximaciones no proporcionan los mecanismos
adecuados para identificar y especificar las necesidades y requisitos de
los usuarios, así como la validación de esos requisitos durante todo el
proceso de desarrollo del software, desde el principio hasta el final.
 El 80% de los costes de mantenimiento (lo cual, a su vez, representa el
80% del coste total de desarrollo) son debidos a problemas de
interacción entre el usuario y el sistema, no a problemas técnicos.
[Landauer, 1995]
Concepto de interfaz, HCI y calidad

 Concepto de interfaz
 Aquellos aspectos del sistema con los que el usuario entra
en contacto.
 Un lenguaje de entrada para el usuario, un lenguaje de
salida para el ordenador y un protocolo para la interacción
 La totalidad de los aspectos superficiales del sistema, tales
como:
 sus dispositivos de entrada y salida,
 la información presentada al usuario o la requerida por éste,
 el comportamiento del sistema,
 su documentación y cursos de entrenamiento y
 las acciones del usuario con respecto a estos aspectos.

 La interfaz ofrece una visión de lo que el usuario percibe y de
las operaciones que puede realizar sobre el sistema
informático.
 Percibir:
 Recibir por uno de los
sentidos las características o Algo más amplio
impresiones del objeto. que una GUI
(Graphical User Interface)
 Comprender o conocer una
cosa.
 Operación: Ejecución de una cosa
 Requisitos funcionales
 Cómo llevarlas a cabo (interacción)

 La interfaz es una parte muy importante del


éxito o fracaso de una aplicación
 La interfaz es del 47% al 60% de las líneas de
código
 McIntyre, 90
 Un 48% del código de la aplicación está
dedicado al desarrollo de la interfaz. Myers, 92
 Las interfaces tienen que ser usables y
accesibles
Interfaces::captación intuitiva

 Concepto técnico que se refiere a las propiedades


de los objetos – qué tipos de operaciones y
manipulaciones se pueden hacer a un objeto en
particular
 Hace las cosas visibles
 Proporciona indicaciones de cómo se puede usar
algo
 Proporciona indicaciones de para que es una cosa
 Objetivo: el uso de un objeto es evidente
simplemente mirándolo
 Visual, instrucciones incluidas
 El objeto no necesita instrucciones para su uso, él mismo
son las instrucciones
interfaz
Objetos de la vida cotidiana
interfaz
Objetos de la vida cotidiana

Evidencia
Cognición
Interfaces::calidad

 ¿Qué es la calidad?

ISO 9000 [ISO87], asocia la calidad con la certeza de que el


producto a desarrollar o producir satisfará los requisitos
establecidos.
ISO 8402 [ISO94], define calidad como la totalidad de las
características de una entidad que afectarán a su habilidad
para satisfacer necesidades establecidas e implícitas.
ISO 9126 [ISO91], describe las características que permiten
describir la calidad de un producto software como:
funcionalidad, eficiencia, usabilidad, fiabilidad,
mantenibilidad y portabilidad.
…usabilidad

 Calidad de uso o usabilidad


 Asociada a la evaluación de las
necesidades que tienen los usuarios para
alcanzar una meta determinada, con
efectividad, productividad, seguridad y
satisfacción en un contexto de uso
específico.
 La medida en la que un producto se
puede usar por determinados usuarios
para conseguir objetivos específicos con
efectividad, eficiencia y satisfacción en
un contexto de uso especificado
HCI
Diseño de sistemas interactivos

 Diseño centrado en el usuario


 Características generales

 Diferentes propuestas

 MB-UID
Diseño centrado en el usuario
 En la literatura podemos encontrar varias propuestas para
solucionar este problema que básicamente se fundamentan
en la integración de factores humanos en el proceso de
desarrollo de software, es decir, tener en cuenta las
necesidades del usuario final desde las primeras fases del
desarrollo e incorporar estos aspectos en un modelo de
usuario como parte del proceso de desarrollo.
 Así pues, la solución a este problema consiste en adoptar
una aproximación de desarrollo orientada al usuario que
se caracteriza por [ISO-13407]:
…desarrollo centrado en el usuario
 La participación activa del usuario así como una clara
comprensión del contexto de uso y de las tareas y
requisitos del usuario final.
 Una distribución apropiada de funciones entre los
usuarios y la tecnología, especificando qué funciones
deben ser llevadas a cabo por los usuarios y cuáles son de
índole tecnológica.
 La iteración de las soluciones de diseño en las que la
retroalimentación del usuario es esencial como fuente de
información.
 Una perspectiva de diseño multidisciplinar que requiere
de gran variedad de especialidades o disciplinas
(desarrolladores de software, expertos en usabilidad,
especialistas en ergonomía, etc.)
El proceso de diseño de IU

 El diseño de IU es un proceso iterativo en el que


hay una estrecha relación entre usuarios y
diseñadores
 Las 3 actividades principales de este proceso son:
 Análisis del usuario. Comprender lo que harán los usuarios
con el sistema;
 Prototipado del sistema. Desarrollar una serie de prototipos
para experimentar;
 Evaluación de la interfaz. Experimentar los prototipos con
los usuarios.

© Ian Sommerville 2004


Actividades

 Trabajo 1: identificar problemas de usabilidad


de objetos cotidianos

 Trabajo 2: búsqueda de nuevos dispositivos


de interacción
Desarrollo basado en modelos

 MB-UID

 Desarrollo de la IU
 Modelo de proceso, metodologías, herramientas
 Automatizar el desarrollo

 Basado en modelos
Desarrollo basado en modelos

 Necesitamos modelos pero…


 ¿Qué es un modelo?
 Una abstracción de algún proceso del mundo real
(reconocimiento del lenguaje natural, cognición,
etc.)
 A menudo expresado mediante una
representación concreta
Desarrollo basado en modelos
 Clasificación de herramientas software de IU:
 Herramientas basadas en lenguajes: Requieren que se
programe en un lenguaje de propósito especial.
 Herramientas de especificación gráfica interactiva: Permiten
un diseño interactivo de la IU.
 Herramientas de generación basadas en modelos: Hacen uso
de un modelo o especificación de alto nivel para generar la IU de
forma automática.
 Las dos primeras permiten la especificación tanto del
comportamiento dinámico como de la estructura de la IU de
forma sencilla, pero no ambas partes a la vez.
 Y, al igual que la mayoría de las herramientas actuales, soportan
solamente la fase final de desarrollo del ciclo de vida de la IU, y
las abstracciones que proporcionan no tienen una conexión
directa con los resultados finales.
…MB-UID
 IDEA PRINCIPAL: Toda la información de la interfaz de usuario
necesaria para su desarrollo está explícitamente representada
en Modelos Declarativos.

Modelo: Especificación declarativa de la estructura


y comportamiento de un componente software.
Declarativos porque no contienen código sino
descripciones a alto nivel de abstracción.
 Todos los aspectos del diseño de IU se representan utilizando
modelos declarativos
 La conveniencia de los entornos basados en modelos radica
principalmente en la expresividad que pueden aportar dichos
modelos declarativos.

 Características principales de los entornos basados en
Modelos:
 Utilización de Modelos Declarativos para representar todos los
aspectos relativos a la interacción usuario-sistema.
 Generación Automática de la IU a partir de estos modelos.

 Criterios para que una herramienta de IU se considere un


Entorno de Desarrollo Basado en Modelos:
(1) Debe incluir un modelo de alto nivel, abstracto y explícitamente
representado (declarativo) acerca del sistema a desarrollar.
(2) Debe establecer de forma clara, una relación tecnológicamente
bien soportada entre (1) y la IU final.
Generaciones de MB-UIDE

 Se distinguen dos generaciones de MB-UIDEs que


surgieron como mejoras a los primeros User
Interface Management Systems (UIMSs).

 La Primera Generación enfatiza la generación automática


de la interfaz en lugar del seguimiento de un proceso de
diseño de interfaces de usuario.

 La Segunda Generación de MB-UIDEs enfatiza la


implicación de los usuarios en el proceso de desarrollo de
interfaces. Las herramientas de esta generación soportan
el diseño incremental de IUs.
…arquitectura
Modelo de Desarrollo
Interfaz de Automatizado
Desarrollo Usuario Herramienta de
Interactivo Generación
Modelos de
tareas, dominio, Automática
usuario
Herramientas
Modelos de Herramienta de
de Modelado Presentacion ,
Diálogo Generación
Especificación Automática
de Interfaz de
Desarrollador Usuario
Proceso de Abstracta y Herramienta de
de la GUI Concreta
Diseño Generación
Automática

Base de
Conocimiento
Código GUI
Repositorio de Ejecutable
Diseño
Guias de Estilo

Compilador/
Linker
Código de la
Aplicación Aplicación
Desarrollador de
la Aplicación Final
Modelos declarativos
 Modelo de Tareas
 Describe las tareas que el usuario puede ejecutar con el sistema, incluyendo
sub-tareas, sus objetivos y los procedimientos utilizados para alcanzar los
objetivos.
 Modelo de Aplicación
 Especifica la información acerca de una aplicación que es independiente de
cómo los objetos son mostrados y cómo serán invocadas las operaciones.
Normalmente se corresponde con los diagramas de clases.
 Modelo de Usuario
 Describe los posibles usuarios del sistema en términos de sus habilidades,
conocimientos y estilos de procesar la información.
 Modelo de Presentación:
 Describe los aspectos visuales de la interfaz. Se divide en Modelo de
Presentación Abstracta y Modelo de Presentación Concreta.
 Modelo de Presentación Abstracto: proporciona una vista abstracta de una
interfaz que es independiente del modelo concreto subyacente.
 Modelo de Presentación Concreto: es la instancia concreta de una interfaz que
puede ser presentada al usuario. Puede haber muchas instancias concretas de un
modelo de presentación abstracto
 Modelo de Diálogo
 Define las características procesales del diálogo persona-ordenador en un
modelo de interfaz.
…modelos
 MODELO DE TAREAS:

 Una Tarea es un objetivo junto con el conjunto ordenado


de acciones y subtareas que se tendrían que realizar en el
contexto adecuado.
 Esta definición explica la naturaleza inherentemente
interrelacionada de tareas y objetivos. Las acciones son
necesarias para satisfacer los objetivos.
 La descripción de una tarea debe incluir:
 Un objetivo.
 Un conjunto no vacío de acciones u otras tareas necesarias
para lograr el objetivo.
 Un plan de cómo seleccionar acciones o tareas, y
 Un modelo del artefacto que está involucrado en el desarrollo
de una tarea.
…modelos
 MODELO DE DOMINIO:

 En su forma más básica, los modelos de dominio


deberían representar las entidades importantes
junto con sus atributos, métodos y relaciones.
 Similares a los modelos utilizados por los
métodos de Ingeniería del Software,
especialmente los métodos orientados a objetos.
 Esta clase de modelo de dominio se corresponde
con el modelo de objetos de los tradicionales
métodos de desarrollo de software orientado a
objetos.
…modelos
 MODELO DE USUARIO:

 Describe las características del usuario final de la


aplicación. El propósito es soportar la creación de
interfaces de usuario individualizadas.
 La personalización de una interfaz de usuario se puede
llevar a cabo o bien durante el diseño o bien en tiempo de
ejecución.
 La personalización durante la etapa de diseño viene
soportada normalmente por un modelo de usuario que
representa los diferentes roles que el usuario puede
desempeñar (desarrollo de interfaces de usuario
adaptadas),
 Mientras que la personalización en tiempo de ejecución
requiere un modelo de usuario para cada tipo de usuario
(soporte de interfaces de usuario adaptativas).
 MODELO DE USUARIO:

 Las características del usuario se pueden clasificar como


independientes de la aplicación o dependientes de la
aplicación.
 Las características independientes de la aplicación
incluyen aspectos personales como las preferencias, las
capacidades, habilidades psicomotrices, etc.
 Mientras que las características dependientes de la
aplicación incluyen objetivos, conocimiento del sistema y
de la aplicación, etc.
 Además, un modelo de usuario incluye una serie de reglas
para tomar una decisión de diseño de la interfaz de usuario
(por ejemplo, la selección de los objetos de interacción) a
partir de una determinada característica del usuario.
 MODELO DE DIÁLOGO:
 Se utiliza para describir la “conversación” hombre-
máquina. Describe cuando el usuario final puede invocar
comandos, seleccionar o especificar entradas de
información y cuando el ordenador puede requerir
información del usuario y presentar la información de
salida.
 En otras palabras, el modelo de diálogo describe la
secuencia de entradas, salidas y su interrelación. El
propósito principal es describir la estructura sintáctica de la
interacción hombre-máquina.
 MODELO DE PRESENTACIÓN:

 Describe las componentes que pueden aparecer en la pantalla


del usuario final, sus características de diseño y las
dependencias visuales existentes entre ellas.
 Las pantallas de la mayoría de las aplicaciones constan de una
parte estática y otra dinámica.
 La parte estática incluye la presentación de los elementos
(widgets) estándar tales como botones, menús, cajas de diálogo,
etc. Normalmente la parte estática permanece fija durante la
ejecución de la aplicación excepto los cambios de estado como
habilitado/deshabilitado, visible/invisible.
 Por otro lado, la parte dinámica muestra los datos dependientes
de la aplicación que típicamente cambian en tiempo de
ejecución, por ejemplo, la información de salida que genera la
aplicación, los datos de entrada específicos de la aplicación que
proporciona el usuario, etc.
Modelos de diseño de interfaz

Hay cuatro modelos diferentes en el diseño de HCI


(visión complementaria):

1. El modelo de diseño expresa el diseño del software

2. El modelo de usuario describe el perfil de los usuarios finales


(noveles o expertos, con formación cultural o sin ella,…)

3. El modelo del usuario es la percepción del sistema que tiene el


usuario final.

4. La imagen del sistema es la manifestación externa del sistema


(apariencia, documentación, etc.)
MB-UIDE
 Un MB-UIDE se compone de:
 Modelos declarativos que describen interfaces de
usuario (IUs);
 Herramientas para construir y ejecutar un modelo
de interfaz de usuario (MIU)
Beneficios de los MB-UIDE

 Proporciona descripciones más abstractas de IU


comparadas con otras herramientas de desarrollo
de IU

 Facilita la creación de métodos de diseño e


implementación de IU de forma sistemática

 Proporciona infraestructura para automatizar tareas


relacionadas con el diseño de IU
Ejemplos
Casos
Tareas Dominio Usuario Diálogo Presentación
de Uso
UIDE 6
Clases C++
AME 6
Modelo OO
JANUS 6
Modelo OO
GENIUS 6
Modelo E-R 6

ADEPT 6 6

MASTERMIND 6
6 CORBA IDL 6
MECANO 6
Modelo OO
6
Modelo
MOBI-D 6 Objetual 6 6 6
MIMIC
TRIDENT 6
6 Modelo E-R
6
FUSE 6 Especificación 6 6
Algebraica
TADEUS 6
6 Modelo OO 6 6
OVID 6
6 Modelo OO 6 6 6

IDEAS 6
6 6 Modelo OO 6 6 6
Comparación de entornos
Model Constructor
Application model (AM) Class
Attribute
Operation
Relationship
Task-dialogue model (TDM) Task
Goal
Action
Sequencing
Task pre-condition
Task post-condition
Abstract presentation model (APM) View
Abstract interaction object
Concrete presentation model (CPM) Window
Concrete interaction object
Layout
Notaciones

 Los modelos se basan en diferentes


notaciones:
 LOTOS (TDM of ADEPT)
 OMT (AM of AME, AM of TADEUS)
 algebraic specification (AM of FUSE)
 extended CORBA IDL (AM of JANUS, AM of
MASTERMIND)
 style rule (all models of ITS)
 MIMIC (all models of MOBI-D)
 ER (AM of TRIDENT)
Algunas conclusiones (modelos)
 Modelo de Dominio y Modelo de Aplicación se usan con el
mismo significado y de la misma forma.

 La mayoría de los MB-UIDEs incluyen modelos de tareas,


dominio y presentación. Las herramientas de primera generación
no incluían demasiados modelos.

 Todos los MB-UIDEs usan o bien el modelo de diálogo o el de


presentación o ambos.

 Los modelos de usuario, implementación y contexto son


referenciados en la literatura, pero nunca realmente aplicados
para la implementación de la interfaz.
Alguna conclusiones (notaciones)
 Algunos MB-UIDEs utilizan la misma notación para describir
todos los modelos (MIMIC), mientras que otros utilizan
notaciones diferentes para modelos diferentes

 Algunos MB-UIDEs crean su propia notación y otros usan


notaciones existentes o extensiones de ellas (CORBA IDL,
CTT, UML, UAN, HIT, ACG, y redes de Petri)

 La mayoría de las herramientas de segunda generación


tienden a usar mas de una notación
¿Y en el mundo real?

 Existen productos comerciales que utilizan la


tecnología MB-UIDE

 Sin embargo, hay aspectos de la tecnología MB-UIDE


que deben ser estudiados para aumentar el grado de
aceptación de esos entornos:
 Utilizar notaciones estándar de los modelos de IU

 Resolver el mapeo entre modelos


 Resolver el problema de la post edición de los
modelos de IU