Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

41
Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM

Transcript of Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

Page 1: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

Desarrollo de IUs basado en modelos

José A. Gallud

Grupo LoUISE-UCLM

Page 2: 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)

Page 3: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

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]

Page 4: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

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.

Page 5: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

La interfaz ofrece una visión de lo que el usuario percibe y de las operaciones que puede realizar sobre el sistema informático.

Operación: Ejecución de una cosa Requisitos funcionales Cómo llevarlas a cabo (interacción)

Percibir: Recibir por uno de los sentidos

las características o impresiones del objeto.

Comprender o conocer una cosa.

Algo más amplio que una

GUI(Graphical User Interface)

Page 6: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

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

Page 7: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

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

Page 8: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

interfaz

Objetos de la vida cotidiana

Page 9: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

interfaz

Objetos de la vida cotidiana

EvidenciaCognición

Page 10: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

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.

Page 11: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

…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

Page 12: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

HCI

Page 13: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

Diseño de sistemas interactivos Diseño centrado en el usuario

Características generales

Diferentes propuestas

MB-UID

Page 14: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

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]:

Page 15: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

…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.)

Page 16: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

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.

Page 17: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

Executableprototype

Designprototype

Produce paper-based design

prototype

Producedynamic design

prototype

Evaluate designwith end-users

Implementfinal userinterface

Evaluate designwith end-users

Analyse andunderstand

user activities

© Ian Sommerville 2004

Page 18: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

Actividades

Trabajo 1: identificar problemas de usabilidad de objetos cotidianos

Trabajo 2: búsqueda de nuevos dispositivos de interacción

Page 19: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

Desarrollo basado en modelos MB-UID

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

Basado en modelos

Page 20: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

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

Page 21: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

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.

Page 22: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

…MB-UID

IDEA PRINCIPAL: Toda la información de la interfaz de usuario necesaria para su desarrollo está explícitamente representada en Modelos Declarativos.

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.

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.

Page 23: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

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.

Page 24: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

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.

Page 25: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

…arquitecturaModelo de Interfaz de Usuario

Modelos de tareas, dominio,

usuario

Modelos de Presentacion , Diálogo

Especificación de Interfaz de Usuario Abstracta y Concreta

Desarrollo Interactivo

Herramientas de Modelado

Proceso de Diseño

Herramienta de Generación Automática

Desarrollo Automatizado

Base de Conocimiento

Repositorio de Diseño

Guias de Estilo

Código de la Aplicación

Compilador/Linker

Código GUI Ejecutable

Aplicación Final

Desarrollador de la GUI

Desarrollador de la Aplicación

Herramienta de Generación Automática

Herramienta de Generación Automática

Page 26: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

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.

Page 27: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

…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.

Page 28: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

…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.

Page 29: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

…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).

Page 30: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

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.

Page 31: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

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.

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.

Para su modelado se utilizan AIOs (Abstract Interaction Objects).

Page 32: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

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.

Para su modelado se utilizan CIOs (Concrete Interaction Objects)

Page 33: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

Modelos de diseño de interfazHay 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.)

Page 34: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

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)

Page 35: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

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

Page 36: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

EjemplosCasos

de Uso Tareas Dominio Usuario Diálogo Presentación

UIDE Clases C++

AME Modelo OO

JANUS Modelo OO

GENIUS Modelo E-R

ADEPT

MASTERMIND CORBA IDL

MECANO Modelo OO

MOBI-D

ModeloObjetualMIMIC

TRIDENT Modelo E-R

FUSE

EspecificaciónAlgebraica

TADEUS Modelo OO

OVID Modelo OO

IDEAS Modelo OO

Page 37: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

Comparación de entornosModel Constructor

ClassAttributeOperationRelationshipTaskGoalActionSequencingTask pre-conditionTask post-conditionViewAbstract interaction objectWindowConcrete interaction objectLayout

Application model (AM)

Task-dialogue model (TDM)

Abstract presentation model (APM)

Concrete presentation model (CPM)

Page 38: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

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)

Page 39: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

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.

Page 40: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

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

Page 41: Desarrollo de IUs basado en modelos José A. Gallud Grupo LoUISE-UCLM.

¿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