Когнитивные измерения
Когнити́вные измере́ния — принципы разработки синтаксиса, пользовательских интерфейсов и других особенностей языков программирования, описанные исследователями Томасом Грином и Марианом Петре. Измерения могут использоваться для оценки юзабилити существующих языков или для рекомендаций по дизайну новых.
Действия пользователяПравить
Авторы концепции о когнитивных измерениях[1] выделяют четыре типа активности с интерактивными объектами: приращение (создание), транскрипция (переписывание), модификация и исследовательское проектирование. Для каждого из этих действий подходит свой вариант соотношения в каждом из измерений. Например, высокая вязкость (сопротивление изменениям) негативно отражается на модификации и исследовании, но не так опасна для одноразовых заданий переписывания и приращения.
Список измеренийПравить
Томас Грин первоначально описал 14 когнитивных измерений для оценки различных подходов и методов дизайна (синтаксиса) программ.
Градиент абстракции (abstraction gradient)Править
Каковы минимальный и максимальный уровни абстракции, принятые для данного обозначения? Могут ли учитываться более конкретные детали?
Близость соответствия (closeness of mapping)Править
Насколько близко данное обозначение соответствует настоящей проблеме?
Согласованность (consistency)Править
Как легко можно догадаться о полном описании объекта после изучения его частичного описания (обозначения)?
Размытость — сжатость (diffuseness — terseness)Править
Сколько символов или сколько места требуется для того, чтобы с помощью данного обозначения выдать определенный результат или выразить смысл?
Подверженность ошибкам (error-proneness)Править
В какой степени использование данного обозначения влияет на вероятность того, что пользователь сделает ошибку?
Трудность мыслительных операций (hard mental operations)Править
Сколько трудных умственных усилий приходится на уровень обозначения, а не на семантический уровень? Есть ли места, где пользователь должен прибегать к дополнительным аннотациям и комментариям, чтобы отслеживать, что происходит в программе?
Скрытые зависимости (hidden dependencies)Править
Являются ли зависимости между элементами обозначения видимыми или скрытыми? Каждая ли зависимость отображается в обоих направлениях? Будет ли изменение в одном из аспектов обозначения приводить к неожиданным побочным эффектам?
Сопоставляемость (juxtaposability)Править
Можно ли сравнить друг с другом в одно и то же время разные варианты обозначения?
Преждевременная фиксация решения (premature commitment)Править
Существуют ли серьёзные ограничения на порядок, с которым выполняются задачи? Требуются ли какие-то решения, которые должны быть приняты когда ещё нет всей необходимой информации в наличии? Могут ли эти решения быть отменены или исправлены позднее?
Поэтапное оценивание (progressive evaluation)Править
Насколько легко оценить и получить обратную связь когда решение ещё не полностью готово?
Выразительность ролей (role-expressiveness)Править
Насколько очевидна роль каждого из компонентов обозначения в решении в целом?
Вторичные обозначения и избегание формализма (secondary notation and escape from formalism)Править
Может ли обозначение нести дополнительную информацию способом, не связанным с синтаксисом, таким как расположение, цвет или другие подсказки?
Вязкость (viscosity)Править
Есть ли в данном обозначении заранее заложенные ограничения для изменений? Сколько усилий потребуется, чтобы внести изменения в программу, выраженную в данном обозначении?
Это измерение может быть разделено на следующие виды[2]:
- Кумулятивная вязкость: изменения в коде нарушают внутренние ограничения в программе, исправление которых может привести к дальнейшим нарушениям внутренних ограничений.
- Итерационная вязкость: одно действие в рамках концептуальной модели пользователя требует много повторяющихся действий устройства.
- Вязкость масштабирования: Изменение размера входного набора данных требует изменений в структуре самой программы.
Наглядность (visibility)Править
Как легко необходимые части обозначения идентифицировать, получить к ним доступ и сделать наглядными?
Приведённые измерения не являются ортогональными: изменения в дизайне вдоль одного из них обычно затрагивает другие измерения. То есть, они находятся в некотором отношении друг с другом.
ПримечанияПравить
- ↑ T. R. G. Green. «Instructions and Descriptions: some cognitive aspects of programming and similar activities» Архивная копия от 1 марта 2012 на Wayback Machine
- ↑ Using Cognitive Dimensions in the Classroom as a Discussion Tool for Visual Language Design (неопр.). Дата обращения: 3 февраля 2010. Архивировано из оригинала 3 июля 2004 года.
ЛитератураПравить
- Blackwell, A. Ten years of cognitive dimensions in visual languages and computing (англ.) // Journal of Visual Languages & Computing. — 2006. — Vol. 17, no. 4. — P. 285—287. — ISSN 1045926X. — doi:10.1016/j.jvlc.2006.04.001.
- Rogers, Y. HCI Theory: Classical, Modern, and Contemporary. — Morgan & Claypool, 2012. — P. 35-36. — ISBN 9781608459001.
СсылкиПравить
Для улучшения этой статьи желательно:
|