stringtranslate.com

Объектно-ориентированный пользовательский интерфейс

В вычислительной технике объектно -ориентированный пользовательский интерфейс ( OOUI ) — это тип пользовательского интерфейса , основанный на метафоре объектно-ориентированного программирования , и описывает большинство современных операционных систем (« объектно-ориентированные операционные системы »), таких как MacOS и Windows . В OOUI пользователь явно взаимодействует с объектами, представляющими сущности в домене, с которым связано приложение. Например, многие приложения для векторной графики имеют OOUI — объекты представляют собой линии, окружности и холсты. Пользователь может явно выбрать объект, изменить его свойства (например, размер или цвет) или вызвать другие действия с ним (например, переместить, скопировать или повторно выровнять его). Если бизнес-приложение имеет какой-либо OOUI, пользователь может выбирать и/или вызывать действия с объектами, представляющими сущности в бизнес-домене, такие как клиенты, продукты или заказы.

Якоб Нильсен определяет OOUI в отличие от функционально-ориентированных интерфейсов: «Иногда объектно-ориентированные интерфейсы описываются как выворачивающие приложение наизнанку по сравнению с функционально-ориентированными интерфейсами. Основное внимание при взаимодействии смещается на данные пользователя и другие информационные объекты, которые обычно графически представлены на экране в виде значков или в окнах». [1]

Дэйв Коллинз определяет OOUI как демонстрирующий три характеристики:

Джеф Раскин предполагает, что наиболее важной характеристикой OOUI является то, что он использует стиль взаимодействия «существительное-глагол», а не «глагол-существительное», и что это имеет несколько преимуществ с точки зрения удобства использования. [3]

Связь с другими идеями пользовательского интерфейса

Существует большой потенциал синергии между концепцией OOUI и другими важными идеями в дизайне пользовательского интерфейса, включая:

Многие футуристические представления о пользовательских интерфейсах в значительной степени опираются на концепции OOUI и особенно OOGUI. [4] Однако существует множество примеров пользовательских интерфейсов, которые реализуют одну или несколько из этих других идей, но которые на самом деле не являются OOUI - хотя их часто ошибочно называют OOUI. [5] И наоборот, существуют примеры OOUI, которые не являются графическими, не используют методы прямого манипулирования и не используют сильные метафоры. Например, самые ранние версии языка программирования Smalltalk имели интерфейс командной строки , который, тем не менее, также был явно OOUI, [6] хотя впоследствии он стал более известен своей новаторской ролью в разработке GUI, прямого манипулирования и визуальных метафор.

Связь с объектно-ориентированным программированием

Хотя между OOUI и объектно-ориентированным программированием существует множество концептуальных параллелей , из этого не следует, что OOUI обязательно должен быть реализован с использованием объектно-ориентированного языка программирования .

В рекомендациях IBM для Common User Access (CUA) (возможно, наиболее полной попытке определения стандарта для проектирования OOUI) говорилось, что «хотя объектно-ориентированное программирование может облегчить разработку объектно-ориентированного пользовательского интерфейса, оно не является обязательным условием. Объектно-ориентированный пользовательский интерфейс может быть разработан с использованием более традиционных языков программирования и инструментов». [7]

Однако есть сильная синергия. Ларри Теслер , который покинул Xerox PARC в 1980 году, чтобы присоединиться к Apple, подчеркнул эту связь:

Многие наблюдатели выдвинули гипотезу, что пользовательский интерфейс Smalltalk и язык Smalltalk являются разделимыми инновациями. Следовательно, большинство систем, на которые повлиял пользовательский интерфейс Smalltalk, были спроектированы без использования подхода Smalltalk к реализации. В Apple, после использования Pascal для реализации шести начальных приложений для Lisa , мы обнаружили веские причины изменить наш язык программирования, чтобы включить больше идей из Smalltalk. Приложения Lisa теперь пишутся на языке Clascal , расширении Pascal, включающем объекты, классы, подклассы и вызов процедур путем передачи сообщений. [8]

Связь с моделированием предметной области

Также существует очевидная синергия между концепцией OOUI и идеей построения программного обеспечения из объектов домена . Однако из этого не следует, что объекты, которые пользователь видит и с которыми взаимодействует в рамках OOUI, должны соответствовать объектам домена , на которых построено приложение.

В рекомендациях CUA говорилось, что «В объектно-ориентированном пользовательском интерфейсе объекты, с которыми работает пользователь, не обязательно соответствуют объектам или модулям кода, которые программист использовал для создания продукта». [7] Базовые методы проектирования, описанные в CUA , были далее усовершенствованы в методе OVID [9] , который использовал UML для моделирования интерфейса.

Марк ван Хармелен утверждает, что «объектно-ориентированный дизайн пользовательского интерфейса не требует от дизайнеров принимать объектно-ориентированный взгляд на проблему с самого начала проекта. Более того, даже если дизайнеры придерживаются объектно-ориентированной точки зрения на протяжении всего проекта, они выиграют от того, что будут фокусироваться отдельно на объектной модели и объектно-ориентированном дизайне пользовательского интерфейса». [10]

Напротив, шаблон голых объектов представляет собой подход к проектированию приложений, который, по крайней мере в своей наивной форме, обеспечивает прямое соответствие между объектами, представленными в OOUI, и базовыми объектами домена, автоматически генерируя первые из вторых. [11]

Ссылки

  1. ^ Нильсен, Дж., Юзабилити-инжиниринг. 1993, Сан-Франциско: Morgan Kaufmann / Academic Press
  2. ^ Коллинз, Д., Проектирование объектно-ориентированных пользовательских интерфейсов. 1995, Редвуд-Сити, Калифорния: Benjamin/Cummings
  3. ^ Раскин, Дж., Человеческий интерфейс. 2000, Рединг, Массачусетс: Addison-Wesley / ACM Press
  4. ^ Дейтон, Том. «Объектно-ориентированные графические интерфейсы — будущее». Блог Presto Innovation . Получено 8 марта 2017 г.
  5. ^ Константин, Л. и Л. Локвуд, Программное обеспечение для использования. 1999: Addison-Wesley
  6. ^ Кей, А., Ранняя история Smalltalk, в книге «История языков программирования», редакторы Т. Бергин и Р. Гибсон. 1996, Addison-Wesley / ACM Press: Reading, MA. стр. 511-.
  7. ^ ab IBM, Common User Access — Руководство по проектированию пользовательского интерфейса. 1991, IBM: Кэри, Северная Каролина.
  8. ^ Теслер, Л. Объектно-ориентированные пользовательские интерфейсы и объектно-ориентированные языки. на конференции ACM по персональным и малым компьютерам. 1983. Нью-Йорк: ACM.
  9. ^ Дэйв Робертс, Дик Берри, Скотт Айсенси и Джон Маллали, Проектирование для пользователя с OVID: объединение проектирования пользовательского интерфейса и разработки программного обеспечения MacMillan, 1998
  10. ^ Ван Хармелен, М., ред. Моделирование объектов и проектирование пользовательского интерфейса. 2001, Эддисон-Уэсли: Рединг, Массачусетс.
  11. ^ Поусон, Р., Обнаженные объекты, докторская диссертация, 2004, Тринити-колледж, Дублин, Ирландия