Página principal

El diseño Última modificación: 02/05/2002 Objetivos 3 Introducción 4


Descargar 266.68 Kb.
Página1/5
Fecha de conversión18.07.2016
Tamaño266.68 Kb.
  1   2   3   4   5












  1. El diseño




Última modificación: 02/05/2002

Objetivos 3

Introducción 4

1Análisis centrado en el usuario 5

2Ciclo de vida de la interfaz de usuario 6

3Aproximaciones al diseño 8

4Análisis de tareas 11

5Modelos arquitectónicos 23

6Modelos abstractos 30

7Estrategia de diseño 31

Conclusiones 40

Referencias 40

Bibliografía 41

Enlaces interesantes 41

Objetivos

Objetivos a conseguir



  • Conocer el proceso de diseño de sistemas interactivos

  • Estudiar notaciones y métodos para el análisis de la interfaz de usuario

  • Conocer y aplicar análisis de tareas

  • Introducir conceptos de diseño orientado a objetos

  • Analizar estrategias de diseño

Introducción

Los sistemas interactivos se caracteriza por la importancia del diálogo con el usuario. La interfaz de usuario es por tanto, una parte fundamental en el proceso de desarrollo de cualquier aplicación y por tanto se tiene que tener en cuenta su diseño desde el principio. La interfaz es la parte (hardware y software) del sistema informático que facilita al usuario el acceso a los recursos del ordenador. En este sentido, Thimbleby [THI90] sugiere que la interfaz determinará en gran medida la percepción e impresión que el usuario poseerá de la aplicación. El usuario no está interesado en la estructura interna de la aplicación, sino en cómo usarla. No se puede realizar la especificación, diseñar las funciones y estructuras de datos y escribir el código y una vez casi terminado el proceso de desarrollo de la aplicación plantearse el diseño de la interfaz de usuario. Siguiendo esta forma de trabajo lo mas seguro es que se obtengan diseños de interfaces muy dependientes de los diseños que se han realizado de las datos y de las funciones, sin tener en cuenta que esos datos han de ser obtenidos y representados por y para el usuario.

Una vez tenemos hecha la especificación, propuesto un diseño y el código está implantado, es muy difícil cambiar las características de la interacción y presentación de la información, excepto pequeñas cosas. Por tanto, deberemos empezar con un idea clara de cómo queremos la interfaz y como serán las interacciones con el usuario para después, desarrollar las especificaciones funcionales que sirvan de guía al diseño posterior.

En el desarrollo de aplicaciones interactivas se podrán aplicar las técnicas de la ingeniería de software, pero teniendo en cuenta que hemos de modificar algunos aspectos de los métodos de diseño clásico para adaptarlos a las peculiaridades de estos sistemas. Hay que tener en cuenta que un aspecto fundamental es el análisis y diseño de la parte interactiva, y que para realizarlo, necesitaremos aplicar de técnicas de análisis y diseño específicas.

El desarrollo de un sistema interactivo deberá tener en cuenta a los participantes que van a intervenir en el mismo: el usuario, que posee la capacidad de elección y actuación, la computadora, que ofrece un programa y mecanismos para su acceso, y el diseñador, el encargado de anticipar las posibles acciones del usuario y codificarlas en el programa. Todo ello se articula a través de la interfaz de Usuario de la aplicación.



Figura 1 Participantes de un sistema interactivo

La tendencia hacia interfaces de usuarios fáciles de usar provoca que su diseño sea cada vez más complejo. La interfaz de usuario, como medio de comunicación entre el humano y la computadora se caracteriza por su apariencia (presentación) y su capacidad de gestión del diálogo. Podemos encontrar multitud de productos que permiten la descripción y generación automática de la apariencia externa de una aplicación mediante la utilización de paletas de recursos (botones, menús, etc.) herramientas visuales, toolkits, etc. Sin embargo, estas herramientas no suministran suficiente ayuda en el análisis del comportamiento dinámico de la interfaz, en su descripción y sobre todo, no aseguran su corrección. A continuación introduciremos una aproximación de ingeniería para el diseño de sistemas interactivos.



  1. Análisis centrado en el usuario

El diseño de un sistema interactivo debe satisfacer las demandas de los usuarios que lo van a utilizar. El ordenador es una herramienta para realizar un determinado trabajo o actividad, y para que sea una buena herramienta, deberá ser adecuada, cómoda y eficiente para realizar estos cometidos. Para lograr un buen diseño, deberemos partir de un análisis profundo del contexto donde se desarrolla el trabajo [HAC98]. Para ello deberemos analizar las características del usuario, las actividades que realiza y el escenario donde se desempeña su actividad. Todos estos factores permitirán conocer los requisitos que se deben satisfacer en el diseño del sistema.

Los usuarios

En primer lugar, a la hora de diseñar el sistema, deberemos tener en cuenta las peculiaridades de los usuarios potenciales del mismo. Esta necesidad de incorporar el factor humano en el diseño viene dada por el reconocimiento del mal diseño que se ha hecho en gran cantidad de aplicaciones y el deseo de crear productos que ayuden de forma efectiva al usuario. Además, la características de los usuarios pueden afectar al modo de trabajo y condicionar el proceso de comunicación con el sistema. Por ejemplo, los factores humanos pueden condicionar el tiempo de aprendizaje, el rendimiento (tiempo para realizar una tarea), la frecuencia de errores cometidos, grado de retención (memoria de uso) o de satisfacción del usuario. A la hora de diseñar la aplicación, se puede realizar por encargo directo (por lo que existe un cliente), o bien, dirigirlo a un colectivo más o menos amplio de potenciales usuarios (niños, profesionales, estudiantes, etc.).

El análisis del usuario implica conocer aspectos tales como:


  • Habilidades físicas y sensoriales. Estas habilidades determinarán en gran medida la adaptación del entorno de trabajo a las características del usuario (tamaño de los botones, tipo de dispositivos, etc.). Podemos encontrar casos en los que el diseño debe ser preferentemente ergonómico por las limitaciones en movilidad de los usuarios, como por ejemplo, la discapacidad por parálisis cerebral, o tener en cuenta pequeñas alteraciones como por ejemplo el daltonismo (ver capítulo ‘Accesibilidad’).

  • Habilidades cognitivas. Estas diferencias en la capacidad de razonamiento y conocimiento están motivadas por el grado de experiencia que posee el usuario tanto de su propio trabajo como del uso del ordenador como herramienta. Podemos tener una gran variedad de usuarios desde los expertos a los noveles, usuarios cotidianos u ocasionales, motivados o no, etc.

  • Diferencias de personalidad. Las diferencias en la personalidad puede provocar alteraciones en la propia comunicación. Así, personas tímidas tendrán un comportamiento más cauto y prudente ante el ordenador que una persona extrovertida y nerviosa.

  • Diferenciación cultural. También podemos encontrar diferencias motivadas por el entorno socio–cultural donde se encuentra el usuario, que puede afectar al lenguaje utilizado, expresiones y terminología, modo de trabajar, etc. (ver capítulo ‘Internacionalización’)

Este conjunto de características relevantes de los usuarios serán de gran ayuda en las etapas posteriores de diseño. Para ello, podemos partir de una tabla en la cual se recoja los distintos tipos de usuarios (secretaria, director, técnico..) y sus características relevantes (grado de utilización del sistema, nivel de experiencia, etc.).

Las tareas

Otro factor importante a tener en cuenta en el diseño son las tareas que realizan los usuarios. Nuestra forma de actuar está dirigida por objetivos (goals) como se recoge en el modelo de Norman (ver capítulo ‘El factor humano’). Para lograr ese objetivo (por ejemplo comer), debemos llevar a cabo una serie de actividades (encender, coger, poner...) sobre unos objetos (microondas, pizza, temporizador...) encaminadas a lograr ese objetivo. A la hora de realizar estas tareas mediante un sistema interactivo deberemos tener en cuenta que sigan siendo familiares al usuario, es decir, la forma de llevarlas a cabo, su representación así como la secuencia de acciones debe ser similar a la que realiza en el entorno real. Si esto no se satisface, el usuario requerirá un esfuerzo adicional para comprender las tareas que realiza cotidianamente.



El escenario

Las personas no realizan su trabajo de forma aislada, sino que se ven condicionadas por el escenario donde se desempeña esta labor. Los aspectos más relevante a tener en cuenta son:



  • Entorno físico. El entorno es fundamental para poder trabajar. Deberemos prestar atención a las características ergonómicas del mismo (tipo de ubicación, iluminación, espacio, etc.) así como las peculiaridades del entorno (ruido, polución, calor, etc.). Puede haber casos de especial importancia como sitios de alto riesgo (central nuclear) o condiciones extremas (submarino, aeronave..)

  • Entorno social. El entorno social implica el trabajo dentro de un grupo donde existen unas normas de comportamiento. Podemos encontrar situaciones en las cuales pueda haber cooperación para el trabajo (ayuda), compartir datos o recursos, dependencias jerárquicas, etc.

Algunas de estas características pueden condicionar el diseño, ya que un trabajo en equipo fuertemente acoplado (con alto nivel de cooperación y compartición de datos) requerirá de una aplicación groupware para trabajo en grupo (ver capítulo ‘Trabajo cooperativo con ordenador’).

  1. Ciclo de vida de la interfaz de usuario

La construcción de un sistema interactivo implica un proceso cíclico de diseño, desarrollo y evaluación. La realimentación que proporciona la evaluación sobre el diseño es fundamental para refinar y pulir aspectos que son muy dependientes de los usuarios finales (el factor humano) una vez que el sistema se ha puesto en marcha. En la siguiente figura se muestran algunas de las peculiaridades de ciclo de vida como son la importancia del usuario (tanto en la fase de análisis como de evaluación) y la naturaleza cíclica del diseño (con continua realimentación a partir de la evaluación).



Figura 2 Ciclo de vida del sistema interactivo

Las primeras interfaces las realizaban los propios programadores para los programas que ellos mismos utilizaban. Sin embargo, los diseños deben ir dirigidos a usuarios con diferentes habilidades, y no necesariamente tienen que ser expertos en informática. Los ordenadores son herramientas con las cuales las personas pueden realizar sus tareas, por lo que deberemos tener esto en cuenta a la hora del diseño, ya que si el usuario percibe que algo es difícil de usar, cometerá errores, o bien no realizará la tarea adecuadamente. Para que esto no suceda, es muy importante basar el diseño del sistema sobre aquellos conceptos que maneja el usuario y fundamentarse sobre criterios consistentes y fundamentos teóricos y no en meros juicios intuitivos.

Un buen diseño depende del conocimiento (fundamentos) y experiencia de los diseñadores. Esta información se puede organizar y estructurar para que pueda servir a otros diseñadores. Podemos disponer de varias fuentes de información con diferente grado de rigor y normativa, entre las que podemos destacar:


  • Principios. Son objetivos generales que pueden ser útiles para organizar el diseño. Aconsejan al diseñador cómo debe proceder. Sin embargo, no se especifican métodos para obtener esos objetivos, y está limitado al uso práctico (por ejemplo: conocer al usuario, minimizar el esfuerzo para realizar una tarea, mantener la consistencia, etc.).

  • Guías (guidelines). Conjunto de recomendaciones que deben ser aplicados a la interfaz y que son cuantificables. Deben ser generales para que puedan ser aplicadas en diferentes contextos. Pueden deducirse de teorías cognitivas, ergonomía, sociología, de la experiencia etc. (por ejemplo, no disponer mas de siete ítems en un menú).

  • Estándares. Son principios y guías que se deben seguir por imposición industrial. Existen estándares de facto (Macintosh Toolbook, MS Windows, IBM SAA/CUA). Estos estándares se diseñan para proteger la uniformidad y la línea de productos desarrollados. Con ello, mejoran la eficiencia del usuario (beneficio de una interfaz común para muchos programas). Existen otros estándares en otros ámbitos: ANSI, ISO, DIN, MIL–STD, NASA–STD.

Este conocimiento puede ayudar en el diseño, aunque sin embargo no es suficiente, por lo que deberemos partir de los requisitos del sistema, conocimiento del usuario y aplicar una metodología para un desarrollo efectivo del sistema. Deberemos aplicar técnicas de análisis y especificación para la descripción de aquellos aspectos que sean relevantes dentro del sistema.

Un diseño centrado en el usuario requiere de una continua evaluación del producto a desarrollar. Por este motivo, cobran gran importancia los siguientes aspectos:



  • Métodos formales. Permiten una especificación precisa y sin ambigüedad del diseño a generar. Permite una verificación formal de propiedades y en algunos casos se puede generar la implementación automáticamente.

  • Herramientas de desarrollo de interfaces modelados (MB–UID). Estas herramientas obtienen el interfaz a partir del análisis de los requisitos de usuario. Su labor fundamental es la generación de aplicaciones a partir del diseño aunque también se pueden considerar como herramientas de prototipado. Actualmente los lenguajes de programación visuales también disponen de librerías (ej. AWT en Java) que permiten implementar las técnicas de interacción y presentación de la información. (ver capítulo ‘Herramientas’).

  • Prototipado. Los prototipos son documentos, diseños o sistemas que simulan o tienen implementadas partes del sistema final. El prototipo es una herramienta muy útil para hacer participar al usuario en el desarrollo y poder evaluar el producto ya en las primeras fases del diseño (modelo del ciclo de vida basado en prototipos).

No obstante, el desarrollo de sistemas interactivos sigue siendo una labor difícil y con un alto coste en tiempo y esfuerzo. Un motivo de esta complejidad es por la necesidad de adaptar el diseño a una gran variedad de usuarios, a diferentes cometidos y sobre diferentes contextos.

  1. Aproximaciones al diseño

El desarrollo de Sistemas Interactivos es una tarea compleja para la cual necesitaremos de herramientas y metodologías que nos permitan realizar un diseño satisfactorio centrado en el usuario. Existen dos aproximaciones para realizar el diseño:

  • Aproximación empírica. El diseño se basa en la propia experiencia del diseñador o bien en la de otros diseñadores que se recoge mediante compendios de recomendaciones (guías, reglas de oro, estándares, etc.) más o menos relevantes para la construcción de un interfaz con éxito. Estos resultados generalmente están avalados por unos estudios de evaluación por el usuario (tests de usabilidad).

  • Aproximación metodológica. Se basa en unos fundamentos teóricos y en la aplicación de una serie de pasos para la realización del diseño.

La aproximación metodológica posee bastantes aportaciones de otras disciplinas, sobre todo de las teorías cognitivas ya que aportan mecanismos para la descripción del conocimiento que el usuario posee del sistema. De hecho, la aproximación empírica se basa en las aportaciones más relevantes (enunciadas como reglas de diseño) de las aportaciones teóricas (ver capítulo ‘Estándares y guías’). En este capítulo nos centraremos en una aproximación metodológica para el desarrollo de sistemas interactivos, analizando las peculiaridades de este tipo de sistemas y los mecanismos existentes para su análisis y diseño.

En el ámbito del los sistemas interactivos se ha utilizado el término diseño con muchas connotaciones. De hecho, el concepto de diseño abarca desde aspectos de análisis (de usuarios, tareas, del entorno, propiedades), aspectos de modelado (arquitectura) hasta cuestiones relativas propiamente de diseño (apariencia, codificación, etc.).



Modelo mental y modelo conceptual

Un aspecto muy importante en el diseño de sistemas interactivos es el factor humano (ver capítulo ‘El factor humano’), por lo que deberemos partir de modelos cognitivos que nos permita estudiar y representar cómo es asimilada y procesada la información por una persona. La obtención del conocimiento acerca de una aplicación basada en ordenadores se realiza mediante un aprendizaje. Para ello, se introducen dos términos para identificar el grado de asimilación y comprensión del usuario del entorno:



  • Modelo conceptual: Es una abstracción externa que describe, mediante diagramas y notaciones más o menos formales, el conocimiento que debe poseer una persona acerca de un sistema. Este modelo es realizado por el analista y debe ser completo, consistente y exacto (sin ambigüedad).

  • Modelo mental (o modelo de usuario): Es la abstracción del conocimiento interno que posee el usuario. Este modelo nos da una medida real de lo que el usuario piensa/conoce acerca del sistema informático. Este modelo guía las intenciones del usuario para realizar una tarea en el sistema. Además, este modelo mental se puede ir modificando conforme se interacciona con el sistema.

El modelo conceptual está basado en un conjunto de elementos y de relaciones que se pueden observar en un determinado sistema, representando el conocimiento que cualquier usuario debería adquirir sobre el sistema. Este modelo se deberá definir mediante una notación formal y comprensible que evite la ambigüedad del lenguaje.



Figura 3 Inconsistencia en el modelo mental

El modelo conceptual debe suministrar información al usuario acerca de qué hace el sistema y los mecanismos para llevarlo a cabo. Su importancia radica en que debe favorecer el aprendizaje del sistema, es una guía para predecir el comportamiento del sistema, y además, el usuario utilizará este modelo para establecer estrategias encaminada a resolver sus problemas. Los principios en los que debe estar basado el modelo conceptual serán por tanto que sea asimilable (mediante el uso de conceptos familiares), consistente (coherente y bien formulado) y simple (uso de descripciones comprensibles por un usuario medio).





Figura 4 Modelo conceptual (con notación formal)

Para poder realizar el modelo conceptual de un sistema, deberemos conocer y aplicar modelos teóricos cognitivos que están fundamentados en el mecanismo de razonamiento humano. Los más relevantes son:



Modelo de procesador humano

Card y Moran [CAR83] presentan este modelo en el que se expone la forma de percibir, procesar y manipular la información. Este modelo identifica diferentes procesadores y sistemas de memoria, donde cada uno de ellos tiene asignado parámetros cuantitativos importantes como ciclos de tiempo o capacidades. El modelo del procesador humano está compuesto de tres sistemas: el sistema perceptual, que maneja los estímulos sensoriales externos, el sistema motor, que controla las acciones y por último, el sistema cognitivo, que suministra el conocimiento suficiente para conectar ambos.

Modelo de desarrollo de tareas

Norman, en 1986, propone un modelo de desarrollo de tareas que identifica siete etapas de ejecución y evaluación de acciones de usuario. El modelo representa las etapas de actividad mental que implica que el usuario alcance un objetivo y que son:



  1. establecer el objetivo que se quiere alcanzar,

  2. formalizar la intención para la acción que alcanzará el objetivo,

  3. especificar la secuencia de acción correspondiente a la intención,

  4. ejecutar la acción,

  5. percibir el estado del sistema,

  6. interpretar el estado, y por último

  7. evaluar la interpretación del estado con respecto al objetivo inicial.

Este modelo proporciona una base para representar y entender las consecuencias cognitivas de diseños particulares.

Modelo objeto–acción sintáctico–semántico (SSOA)

Este modelo descrito originalmente por Shneiderman en 1980 [SHN92], propone que los usuarios poseen un conocimiento sintáctico y semántico del dominio del problema y de los mecanismos de interacción. En este conocimiento se almacenan detalles de los dispositivos (tipos, modo de uso), conocimientos semánticos sobre las actividades y conceptos del ordenador. Este conocimiento se estructura mediante una colección de objetos que componen el sistema (cursor, icono, ventana..) y de las acciones que se pueden llevar a cabo sobre cada uno de esos objetos (mover, cambiar, redimensionar, etc.).



Estructura del modelo conceptual

El modelo conceptual es muy importante, ya que permiten identificar, organizar y realizar razonamientos sobre los componentes y comportamiento de un sistema interactivo, será la guía para el proceso de diseño del software y puede usarse posteriormente como una referencia para evaluar un diseño particular, razonar sobre la solución realizada y el posible espacio de soluciones existente. Por tanto, la correcta especificación del modelo conceptual será crucial en toda la etapa del proceso de diseño. Algunas de estas notaciones del modelo conceptual están basadas en métodos formales (con un fundamento basado en lógica matemática), lo que permitirá una descripción precisa y sin ambigüedad.

Partiendo de las teorías cognitivas presentadas anteriormente, se podría realizar la descripción conceptual del sistema mediante uno de estos modelos:


  • Modelo de caja negra: El usuario no tiene idea del funcionamiento interno, y simplemente conoce que ciertas entradas producen una serie de resultados. Este es una visión “mágica” del sistema, en la cual el usuario no tiene bases para predecir nuevos comportamientos ni causas que provocan los errores. El usuario se ve forzado a considerar los resultados verdaderos, y no sabe cómo juzgar su validez.

  • Modelo funcional jerárquico: Las funciones suministradas por el sistema se agrupan en jerarquías, permitiendo reducir la complejidad del sistema mediante la aplicación de técnicas de partición en el dominio del problema (método de divide y vencerás).
  1   2   3   4   5


La base de datos está protegida por derechos de autor ©espanito.com 2016
enviar mensaje