И. Соммервилл - Инженерия программного обеспечения (1133538), страница 79
Текст из файла (страница 79)
слютря на ее функциональные возможности. Если информация представляется сбивчиво нли непоследовательно, пользователи могут понять сс неправильно, в результате чего их последующие действия могут привести к повреждению данных или даже к сбою в работе системы. В 1982 году, во время выхода первой редакции этой книги, стандартным устройством взаимодействил между пользователем н программой был "беззвучный" буквенноцифровой (текстовый) терминал, отображающий на черном поле символы зеленого или синего цвета.
В то время интерфейсы пользователя были текстовыми или создавались в виде специальных форм. Сейчас почти все пользователи работают на персональных компьютерах. Все современные персональные компьютеры г<алдерживают графический интерфейс пользователя (В<ар!<!са! изсг !п<сг(асс — С()!), который подразумевает использование цветного графического экрана с высоким разрешением и позволяет работать с мышью и с клавиатурой. Хотя текстовые интерфейсы еще достаточно широко применяются.
особенно в насле. дуемых системах, в наше время пользователи предпочитают работать с графическим интерфейсом. Втабл. 13.1 перечислены основные элементы СШ. 15. Проектирование интерфейса иользователл 305 Цель данной главы — привлечь внимание разработчиков ПО к нскоторылг ключевым проблемам, лежащим в основе проектирования интерфейсов пользователя. Разработчики и программисты обычно компетентны в использовании таких технологий, как классы 3п(пд в языке ]ага [103) или НТМ1. [249], являющпесл основой реализации интерфейсов пользователя. Однако эзу технологию далеко ис всегда применяют надлежащим образом, в результате чего интерфейсы пользоватслл получаются неэлегаитными, неудобпылш и сложными в использовании.
В этой главе я приведу несколько рекомендаций по проектированию средств конечного пользователя, не рассматривая весь процесс проскгирования этих средств. Из.за нехватки места рассматриваются только графические интерфейсы. Спецнальныс интерфейсы, например для мобнльнык телефонов, телевизионных приемников, копировальной техники или факсимильных аппаратов, рассматриваться не будуг. Здесь я сделаю только краткое введение в тему проектирования интерфейсов пользователя. Дополнительную информацию по данной теме можно найти в книгах [316, 99, 281) . На рис. 15.1 изображен итерационный процесс проектирования пользовательского интерфейса.
Как отмечалось в главе 8, наиболсс эффективным подходом к проскгироваиию интерфейса пользователя является разработка с применением моделирования пользовательских функций. В начале процесса прототиппрованил создаются бумажные макеты интерфейса, затем разрабатываются экранные формы, моделирующие взаимодействие с пользователем. Желательно, чтобы конечные пользователи принимали активное участие в процессе проектирования интерфейса [258): В одних случаях пользователи помогут оценить интерфейс; в других будуг полноправными щепами проектной группы [207, 138). Рис. 13.1. ЛОокесс праекогирооаяоя ояокрфейгл аааьзооаоиая Важным этапом процесса проектирования интерфейса пользователя является анализ дслтелыюсти пользователей, которую должна обеспечить вычислительная система.
Не изучив того, что, с точки зрения пользователя, должна делать система, невозможно сформировать реалистический взгляд на проектирование эффективного интерфейса. Для ана. лиза нужно (как правило, одновременно) применять различные методики, а именно: анализ задач [94], этнографический подход (см. главу 6) [328, 167), опросы пользователей и наблюдения за их работой. 30б л1асть П1. Проектирование 15.1. Принципы проектирования интерфейсов пользователя Разработчики иитсрфсйсов всегда должпы учитывать физические и умствспиые спо.
собпости людей, которые будут работать с программным обеспечеиием. Люди ца короткое время могут заиомц»гь весьма ограиичспиый объем информации (см. главу22) и соверп>ают ошибки, если приходится вводить вручную Г>ольшие объсмь> дачных или работать в иапряжсипых условиях, Физические возможности людей лю>Тг существенно б> различаться, поэтому при просктироваиии интерфейсов пользователя необходимо по. .»«: стоянко полшить об этол>. Осповой принципов проектирования питерфсйсов пользователя являются человеческие возможности. В табл. 15.2 прсдсгавлеиы основные прииципы, применил>ые при проактировании любых интерфейсов пользователя.
Более детальный перечень руководящих" правил проектирования иитер4>ейсов можно найти в книге (316). Таблица 15.2. Принципы проектирования интерфейсов пользователя Принцип Описаиие Учет зияний пользователя В интерфейсе цеоГ>ходпмо использовать терпимы и поня- тия, взятыс из опыта будущих пользователей системы Интерфейс должен быть согласоваипым в том смысле, что одиотипиые (по различные) операции должны выполняться одпил> и тел> жс способом Согласоваииосгь Повсдсиис системы должно быть прогнозируемым Интерфейс долл>сп иметь средства, позволяющие пользова- телям восстановить данные после ошибочиых действий Минимум иеожипаииостей Способность к восстапов- леиию 1'> ководство пользователя Интерфейс должен предоставлять необходимую ппформа- цшо в случае ошибок пользователя и поддерживать средства коптекстио-завпсилюй справки В иитерфейсе должны быть средства для удобного взаимо- действия с пользователями, имеющими ратный уровень ква- ли4>ию>ции и различимо возможности Учет разнородности поль- зователей Принцип учета знаний пользователя предполагает следующее: интерфейс должеи быть настолько удобен при реализации, чтобы пользователям ие понадобилось особых усилий.
чтобы привыкиугь к нему. В интерфейсе должны использоваться термины, понятные пользователю, а объекты, управляемые системой, должны быть иапрямую связаны с рабо. чей средой пользователя, Папример, если разрабатывается система, прсдпазпачеииая для авиадиспетчеров, то управляемыми объектами в исй должны быть салюлеты, траектории полетов, сигиальпые знаки и т.п.
Основную реализацию иитерфсйса в тсрмииах файловых структур и структур данных необходимо скрыть от конечного пользователя. Принцип согласоааииости интерфейса пользователя предполагает, что команды и меию системы должны быть одного формата, параметры должны передаваться во все команды одинаково и пуиктуация комаяд должка быть схожей.
Такис иитсрфейсы сокращают время иа обучение пользователей. Знания, получеииые при изучсиии какой-либо команды илп части приложеиия. можно затем прицепить при работе с другими частями системы. 1Б. Проектирование интерфейса пользователя 307 В данном случае речь идет о согласованности низкого уровнл, И создатели интерфейса всегда должны стрсмитьсл к нему.
Однако желательна согласованность и более высокого уровня. Например, удобно, когда длл»сох типов объектов систеиы поддерживаютсл одинаковые методы (такие, как печать, копирование н т.п.). Однако полная согласованность невозможна и даже нежелательна (140). Например. операцию удаленил объектов рабочего стола целесообразно реализовать посредством их перетаскиваю>л в корзину. Но в текстовом редакторе такой способ удаленил фрагментов текста кажстсл неестественным.
Всегда нужно соблюдать слелующий принцип: количество неожиданностей должно быть минимальным, так как пользователей разлражает, когда система вдруг начинает вести себл непредсказуемо. Прп работе с систслюй у пользователей формирустсл определен. нал модель ее функционирования. Если его действие в одной ситуации вызывает определенную реакцию системы, естественно ожидать, что такое жс действие в другой ситуации приведет к аналогичной реакции. Если же происходит совсем не то, что ожидалось, пользователь либо удивлаетсл, либо не знает, что делать.
Поэтому разработчики интсрфсИсов должны гарантировать, что схожие действнл произведуг похожиИ эффект. Очень важен принцип восстанавливасмостп системы, так как пользователи всегда до. пускают ошибки. Правильно спроектированный интерфейс может уменьшить количество ошибок пользователи (например, псп»люовапне мещо позволлет избежать ов>ибок, которые возникают при вводе команд с клавиатуры), однако все ошибки устранить невозможно. В интерфейсах должны быть средства, по возможности предотвращающие о>пибки пользоватслл.