Полная версия

Главная arrow Информатика arrow Архитектура и проектирование программных систем

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ   >>

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

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

Между ошибками пользователя и ошибками в ПС имеет место определенная связь. Ошибки пользователя увеличивают вероятность перехода системы в непредвиденное состояние. Минимизация ошибок пользователя не уменьшает числа ошибок в программной системе, но увеличивает ее надежность за счет снижения вероятности столкновения с оставшимися ошибками. Основные правила минимизации ошибок пользователя в диалоговых (интерактивных) системах приводятся ниже. Большинство из них имеет аналогию и для случая пакетной обработки. Г. Майерс предлагает следующее.

  • 1. Согласовывать способ взаимодействия с подготовкой и уровнем пользователя, а также с ограничениями, в условиях которых пользователь работает. Интерфейс должен быть различен в зависимости от того, кто им пользуется. Например, можно ожидать, что взаимодействие с пользователем банковской системы должно существенно различаться в зависимости от того, является ли пользователь клиентом банка или опытным кассиром.
  • 2. Проектировать таким образом, чтобы сообщения, вводимые пользователем, были как можно короче, но не настолько, чтобы исчезла их осмысленность. При этом следует учитывать частоту работы с системой для среднего пользователя, а также возможность стрессовой ситуации для пользователя в момент его работы с системой.
  • 3. Обеспечивать концептуальную целостность для разных типов вводимых и выводимых сообщений. Например, все сообщения, выдаваемые на экран дисплея, отчеты, графические документы и т.п. должны иметь одинаковые (по возможности) форматы, стиль, сокращения.
  • 4. Обеспечивать пользователю средства помощи с достаточно широким набором функций. При разработке листингов помощи важно планировать короткие ответы на запросы пользователя.
  • 5. Проектировать сообщения пользователю в короткой форме и приближать язык сообщений к языку пользователя.
  • 6. Проектировать подтверждение ввода данных, с тем чтобы пользователь или оператор знал о завершении процесса. Без этого пользователь может засомневаться, правильно ли введено сообщение, и попытается повторить ввод, вследствие чего может возникнуть ошибочная ситуация.

Кроме доведения до минимума ошибок пользователя (за счет правильно спроектированного интерфейса), система должна правильно обрабатывать ошибки пользователя, а они будут независимо от того, насколько хорошо спроектированы правила взаимодействия. Основные правила обнаружения ошибок пользователя перечислены ниже [18].

  • 1. Проектируйте систему так, чтобы она принимала любые данные. Если введенная информация не является тем, что система считает допустимым, она должна информировать пользователя об этом.
  • 2. Если пользователь вводит сложное сообщение, особенно если для этого нужно несколько обращений к системе, позвольте ему проверить части сообщения, прежде чем оно будет обрабатываться.
  • 3. Проектируйте систему так, чтобы ошибки пользователя обрабатывались немедленно.
  • 4. Там, где особенно важна точность, проектируйте избыточность входных данных. Например, в банковской системе можно потребовать, чтобы фамилия клиента вводилась вместе с номером счета, чтобы можно было обнаружить ошибки при вводе номеров счетов.

Другой возможностью повышения надежности системы является доведение до минимума сложности внешнего проекта с целью уменьшения сложности будущей системы и минимизации ошибок пользователей. Распространено мнение, что интеллектуальный («очеловеченный») внешний проект будет сложным, что он предполагает фантастические по сложности методы, много дополнительных возможностей, автоматическое исправление ошибок (например, орфографических). По мнению Г. Майерса [18], это представление ошибочно. Например, современные ПС, такие как поисковые и справочные системы (возьмите тот же «Яндекс»), достаточно интеллектуальны.

Вторая проблема, связанная со сложностью, - предоставление пользователю слишком большого числа возможностей и вариантов. В операционной системе ОБ/ЗбО (как и в советской ОС ЕС ЭВМ) имеется процесс настройки, называемый генерацией системы, который позволяет «перекраивать» систему при ее установке. Это привело к тому, что почти каждая установка ОБ/ЗбО имеет уникальную версию, что усложнило работу компании 1ВМ по сопровождению системы.

Всякий раз, когда есть сомнения, давать пользователю некоторую возможность или нет, слишком часто принимается решение давать. В целом же большой набор режимов (вариантов) не нужен пользователю, поскольку часто их обилие неблагоприятно сказывается на работе пользователя. К этому надо добавить, что всякая дополнительная возможность или режим работы системы усложняет ее, что приводит к дополнительным ошибкам.

Проектировщик должен рассматривать каждый режим или функциональность системы с учетом их полезности (в противовес внесению дополнительной сложности из-за достижения удобств пользователя). Когда возникают сомнения, безопаснее отказаться от рассматриваемого варианта. Множество доступных мелких возможностей не повысит конкурентоспособности продукта. Кроме того, эти возможности могут негативно повлиять на потенциального покупателя, показывая, что разработчик не имеет ясного представления о том, как именно система будет использоваться.

Последний вопрос, связанный с надежностью, - на каких предположениях основывается система, воспринимающая входные данные. Например, из каких соображений она пытается исправлять ошибки пользователя. Методы такого рода настолько сложны, что часто становятся опасными (см. пример на стр. 68 в [18]). Решением при проектировании интерфейса пользователя для надежной программной системы является обеспечение однородного и простого интерфейса, ожидающего некоторый набор входных данных и немедленно обнаруживающего как можно больше ошибок.

 
<<   СОДЕРЖАНИЕ   >>