stringtranslate.com

Interfaz de usuario orientada a objetos

En informática , una interfaz de usuario orientada a objetos ( OOUI ) es un tipo de interfaz de usuario basada en una metáfora de la programación orientada a objetos , y describe la mayoría de los sistemas operativos modernos (" sistemas operativos orientados a objetos ") como MacOS y Windows . En una OOUI, el usuario interactúa explícitamente con objetos que representan entidades en el dominio que interesa a la aplicación. Muchas aplicaciones de dibujo vectorial, por ejemplo, tienen una OOUI: los objetos son líneas, círculos y lienzos. El usuario puede seleccionar explícitamente un objeto, alterar sus propiedades (como tamaño o color) o invocar otras acciones sobre él (como moverlo, copiarlo o realinearlo). Si una aplicación empresarial tiene alguna OOUI, el usuario puede seleccionar y/o invocar acciones sobre objetos que representan entidades en el dominio empresarial, como clientes, productos o pedidos.

Jakob Nielsen define la OOUI en contraste con las interfaces orientadas a funciones: "Las interfaces orientadas a objetos a veces se describen como que dan la vuelta a la aplicación en comparación con las interfaces orientadas a funciones. El foco principal de la interacción cambia para convertirse en los datos de los usuarios y otros objetos de información que normalmente se representan gráficamente en la pantalla como iconos o en ventanas". [1]

Dave Collins define una OUUI como aquella que demuestra tres características:

Jef Raskin sugiere que la característica más importante de una OOUI es que adopta un estilo de interacción 'sustantivo-verbo', en lugar de 'verbo-sustantivo', y que esto tiene varias ventajas en términos de usabilidad. [3]

Relación con otras ideas de interfaz de usuario

Existe una gran sinergia potencial entre el concepto OOUI y otras ideas importantes en el diseño de interfaces de usuario, que incluyen:

Muchas imaginaciones futuristas de interfaces de usuario dependen en gran medida de los conceptos OOUI y especialmente OOGUI. [4] Sin embargo, hay muchos ejemplos de interfaces de usuario que implementan una o más de esas otras ideas, pero que en realidad no son OOUI, aunque a menudo se etiquetan erróneamente como OOUI. [5] Por el contrario, hay ejemplos de OOUI que no son gráficos, ni emplean técnicas de manipulación directa, ni emplean metáforas fuertes. Por ejemplo, las primeras versiones del lenguaje de programación Smalltalk tenían una interfaz de línea de comandos que, sin embargo, también era claramente una OOUI, [6] aunque posteriormente se hizo más conocido por su papel pionero en el desarrollo de GUI, manipulación directa y metáforas visuales.

Relación con la programación orientada a objetos

Aunque existen muchos paralelos conceptuales entre los OOUI y la programación orientada a objetos , no se sigue que un OOUI deba implementarse utilizando un lenguaje de programación orientado a objetos .

Las directrices para el Acceso Común de Usuarios (CUA) de IBM (posiblemente el intento más completo de definir un estándar para el diseño OOUI) establecían que "si bien la programación orientada a objetos puede facilitar el desarrollo de una interfaz de usuario orientada a objetos, no es un requisito previo". -requisito. Se puede desarrollar una interfaz de usuario orientada a objetos con herramientas y lenguajes de programación más tradicionales.' [7]

Sin embargo, existen fuertes sinergias. Larry Tesler , que dejó Xerox PARC en 1980 para unirse a Apple, subrayó la relación:

Muchos observadores han planteado la hipótesis de que [la] interfaz de usuario de Smalltalk y el lenguaje Smalltalk son innovaciones separables. En consecuencia, la mayoría de los sistemas influenciados por la interfaz de usuario de Smalltalk se han diseñado sin recurrir al enfoque de implementación de Smalltalk. En Apple, después de usar Pascal para implementar seis aplicaciones iniciales para Lisa , descubrimos razones de peso para cambiar nuestro lenguaje de programación e incorporar más ideas de Smalltalk. Las aplicaciones Lisa ahora están escritas en el lenguaje Clascal , una extensión de Pascal que presenta objetos, clases, subclases e invocación de procedimientos mediante el paso de mensajes. [8]

Relación con el modelado de objetos de dominio

También existe una sinergia obvia entre el concepto de OOUI y la idea de construir software a partir de objetos de dominio . Sin embargo, de ello no se sigue que los objetos que un usuario ve e interactúa dentro de una OOUI tengan que corresponder a los objetos del dominio sobre los que se construye la aplicación.

Las directrices de la CUA establecían que "en una interfaz de usuario orientada a objetos, los objetos con los que trabaja un usuario no necesariamente corresponden a los objetos o módulos de código que un programador utilizó para crear el producto". [7] Los métodos de diseño básicos descritos en CUA se refinaron aún más en el método OVID [9] que utilizó UML para modelar la interfaz.

Mark van Harmelen afirma que "el diseño de interfaz de usuario orientada a objetos no requiere que los diseñadores adopten una visión del problema orientada a objetos desde el principio del proyecto". Además, incluso si los diseñadores adoptan una perspectiva orientada a objetos en todo momento, se beneficiarán al centrarse por separado en el modelo de objetos y el diseño de la interfaz de usuario orientada a objetos.' [10]

Por el contrario, el patrón de objetos desnudos es un enfoque para el diseño de aplicaciones que, al menos en su forma ingenua, impone una correspondencia directa entre los objetos representados en OOUI y los objetos del dominio subyacente, generando automáticamente los primeros a partir de los segundos. [11]

Referencias

  1. ^ Nielsen, J., Ingeniería de usabilidad. 1993, San Francisco: Morgan Kaufmann / Prensa académica
  2. ^ Collins, D., Diseño de interfaces de usuario orientadas a objetos. 1995, Redwood City, California: Benjamín/Cummings
  3. ^ Raskin, J., La interfaz humana. 2000, lectura, MA: Addison-Wesley / ACM Press
  4. ^ Dayton, Tom. "Las GUI orientadas a objetos son el futuro". Blog de innovación de Presto . Consultado el 8 de marzo de 2017 .
  5. ^ Constantine, L. y L. Lockwood, Software para su uso. 1999: Addison-Wesley
  6. ^ Kay, A., La historia temprana de Smalltalk, en Historia de los lenguajes de programación, T. Bergin y R. Gibson, editores. 1996, Addison-Wesley / ACM Press: Reading, MA. pag. 511-.
  7. ^ ab IBM, Acceso de usuario común: guía para el diseño de interfaz de usuario. 1991, IBM: Cary, Carolina del Norte.
  8. ^ Tesler, L. Interfaces de usuario orientadas a objetos y lenguajes orientados a objetos. en Conferencia ACM n Computadoras Personales y Pequeñas. 1983. Nueva York: ACM.
  9. ^ Dave Roberts, Dick Berry, Scott Isensee y John Mullaly, Diseño para el usuario con OVID: puente entre el diseño de interfaz de usuario y la ingeniería de software MacMillan, 1998
  10. ^ van Harmelen, M., ed. Modelado de Objetos y Diseño de Interfaz de Usuario. 2001, Addison-Wesley: Reading, MA.
  11. ^ Pawson, R., Naked Objects, tesis doctoral, 2004, Trinity College, Dublín, Irlanda