Desarrollo de ius basado en modelos



Descargar 23,18 Kb.
Fecha de conversión25.04.2017
Tamaño23,18 Kb.

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)
  • [Colaboración: una introducción al CSCW]

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

  • 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

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

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

  • 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

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):
  • El modelo de diseño expresa el diseño del software
  • El modelo de usuario describe el perfil de los usuarios finales (noveles o expertos, con formación cultural o sin ella,…)
  • El modelo del usuario es la percepción del sistema que tiene el usuario final.
  • 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
  • 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
  • Modelo
  • Objetual
  • MIMIC
  • TRIDENT
  • Modelo E-R
  • FUSE
  • Especificación
  • Algebraica
  • TADEUS
  • Modelo OO
  • OVID
  • Modelo OO
  • IDEAS
  • Modelo OO

Comparación de entornos

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


La base de datos está protegida por derechos de autor ©absta.info 2016
enviar mensaje

    Página principal