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

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

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

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

  • Пользователи воспринимают объекты и действуют на них
  • Пользователи могут классифицировать объекты в зависимости от их поведения
  • В контексте того, что пользователи пытаются делать, все объекты пользовательского интерфейса объединяются в единое общее представление.[2]

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

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

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

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

Отношение к объектно-ориентированному программированию

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

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

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

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

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

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

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

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

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

Рекомендации

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