Когнитивные измерения
Когнити́вные измере́ния — это принципы разработки синтаксиса, пользовательских интерфейсов и других особенностей языков программирования, описанные исследователями Томасом Грином и Марианом Петре. Измерения могут использоваться для оценки юзабилити существующих языков или для рекомендаций по дизайну новых.
Авторы концепции о когнитивных измерениях[1] выделяют четыре типа активности с интерактивными объектами: инкрементация (создание), транскрипция (переписывание), модификация и исследование дизайна.
Для оценки различных подходов и методов дизайна (синтаксиса) программ они выделили несколько когнитивных измерений:
Градиент абстракции [править]
Каковы минимальный и максимальный уровни абстракции, принятые для данного обозначения? Могут ли учитываться более конкретные детали?
Близость соответствия [править]
Насколько близко данное обозначение соответствует настоящей проблеме?
Согласованность [править]
Как легко можно догадаться о полном описании объекта после изучения его частичного описания (обозначения)?
Размытость / сжатость [править]
Сколько символов или сколько места требуется для того, чтобы с помощью данного обозначения выдать определенный результат или выразить смысл?
Помехоустойчивость [править]
В какой степени использование данного обозначения влияет на вероятность того, что пользователь сделает ошибку?
Трудность мыслительных операций [править]
Сколько трудных умственных усилий приходится на уровень обозначения, а не на семантический уровень? Есть ли места, где пользователь должен прибегать к дополнительным аннотациям и комментариям, чтобы отслеживать, что происходит в программе?
Скрытые зависимости [править]
Являются ли зависимости между элементами обозначения видимыми или скрытыми? Каждая ли зависимость отображается в обоих направлениях? Будет ли изменение в одном из аспектов обозначения приводить к неожиданным побочным эффектам?
Сопоставляемость [править]
Можно ли сравнить друг с другом в одно и то же время разные варианты обозначения?
Предварительная выполнимость [править]
Существуют ли серьёзные ограничения на порядок, с которым выполняются задачи? Требуются ли какие-то решения, которые должны быть приняты когда ещё нет всей необходимой информации в наличии? Могут ли эти решения быть отменены или исправлены позднее?
Оцениваемость прогресса выполнения [править]
Насколько легко оценить и получить обратную связь когда решение ещё не полностью готово?
Выразительность ролей [править]
Насколько очевидна роль каждого из компонентов обозначения в решении в целом?
Вторичные обозначения и избегание формализма [править]
Может ли обозначение нести дополнительную информацию путем, не связанным с синтаксисом, таким как расположение, цвет или другие подсказки?
Вязкость [править]
Есть ли в данном обозначении заранее заложенные ограничения для изменений? Сколько усилий потребуется, чтобы внести изменения в программу, выраженную в данном обозначении?
Это измерение может быть разделено на следующие виды: [2]
- 'Кумулятивная вязкость': изменения в коде нарушают внутренние ограничения в программе, исправление которых может привести к дальнейшим нарушениям внутренних ограничений.
- 'Итерационная вязкость': одно действие в рамках концептуальной модели пользователя требует много повторяющихся действий устройства.
- 'Вязкость масштабирования': Изменение размера входного набора данных требует изменений в структуре самой программы.
Наглядность [править]
Как легко необходимые части обозначения идентифицировать, получить к ним доступ и сделать наглядными?
Изменения в дизайне вдоль одного из измерений обычно затрагивает другие измерения. То есть они находятся в некотором балансе друг с другом.
Источники [править]
Для улучшения этой статьи желательно?:
|
| На эту статью не ссылаются другие статьи Википедии.
Пожалуйста, воспользуйтесь подсказкой и установите ссылки в соответствии с принятыми рекомендациями.
|
