Текст
                    Р Уатте
ЭВМ
и непрофессиональные
пользователи
Организация
взаимодействия


ЭВМ и непрофессиональные пользователи Организация взаимодействия
Introducing Interactive Computing Richard A Watts PUBLISHED BY NCC PUBLICATIONS
Р. Уатте ЭВМ и непрофессиональные пользователи Организация взаимодействия Перевод с английского Ю. М. Андреева Москва «Радио и связь» 1989
ББК 22.18 У15 УДК 681.5 Редакция переводной литературы Уатте Р. У15 ЭВМ и непрофессиональные пользователи. Организация вза¬ имодействия: Пер. с англ. - М.: Радио и связь, 1989. — 96 с.: ил. ISBN 5-256-00468-9. Книга английского автора посвящена организации систем, функциони¬ рующих в режиме диалога с пользователем, не являющимся профессио¬ нальным программистом. Рассматриваются вопросы, связанные с разра¬ боткой интерактивных систем, методы реализации диалога, средства по¬ мощи пользователю в процессе ведения диалога, языки команд. Изложе¬ ны требования к устройствам, обеспечивающим взаимодействие человека с ЭВМ. Приведены примеры практической реализации диалога и даны оценки их эффективности для различных категорий пользователей. Для разработчиков и пользователей интерактивных программ и систем. у 2405000000-056 j 19 ББК 22.18 046 (01)-89 ISBN 5-256-00468-9 (рус.) © The National Computer Centre Limited, 1984 ISBN 0-85012-414-Х (англ.) © Перевод на русский язык. Издательство ’’Радио и связь”, 1989
ПРЕДИСЛОВИЕ Эта книга является одним из результатов исследований, частично финансируемых Комитетом по обеспечению потребностей элек¬ троники и авиации, в области управляемой пользователем обра¬ ботки данных. Мы рассматриваем здесь лучшие практические достижения и новейшие идеи. Основная цель книги — помочь разработчикам систем, в ко¬ торых с ЭВМ работают неподготовленные пользователи, причем обращаются к ней нерегулярно или случайно. Книга поможет также проектировщикам систем, предназначенных для более ре¬ гулярных пользователей, и руководителям таких проектов, чтобы они могли обосновать затраты на разработку таких систем, ко¬ торые действительно являются «дружественными» по отношению к пользователю. Хочется надеяться, что эта книга будет с ин¬ тересом и пользой прочитана и некоторыми пользователями, так как знающие и требовательные потребители могут повлиять на повышение качества систем. Широко распространено мнение, что многие системы для поль¬ зователей ЭВМ, работающих в интерактивном режиме, могут быть улучшены. Одним из оснований для этого является от¬ сутствие у многих проектировщиков умения учитывать «чело¬ веческие факторы». Возможно, что такие проектировщики добавят к своему опыту работы уроки, почерпнутые из этой книги. Для книги, посвященной такой теме, существует большая опасность оказаться слишком догматичной. Необходимо помнить, что нельзя дать правила по проектированию систем, удовлет¬ воряющие во всех отношениях всех пользователей. Поэтому чи¬ татель должен следовать основным рекомендациям с учетом своих собственных конкретных обстоятельств. Можно согласиться с тем, что некоторые из этих рекомендаций носят слишком общий характер. Там, где представлялось воз¬ 5
можным, действия, которые нужно предпринять, разбивались на отдельные конкретные шаги. В то же время были включены и более общие рекомендации в надежде, что они будут спо¬ собствовать возникновению у читателей плодотворных идей. Я хотел бы поблагодарить всех, внесших вклад в проект «Управляемая пользователем обработка», на котором основана эта книга. Особенно ценной была помощь, которую мне оказали Г. Бриски, Г. Кэмпбелл, Л. Дамодаран, Д. Эванс, Дж. Флорен¬ тин, Дж. Гаррик, Д. Хейзелл, А. Хенни, Т. Хиггинс, Б. Хаккл, Э. Мэллин-Джонс, С. Мейсон, П. Мэсси, Д. Марри, Дж. Пин¬ кертон, Д. Пуллингер, Т. Уолкер, Д. Уитфилд.
ГЛАВА 1 НЕПРОФЕССИОНАЛЬНЫЕ ПОЛЬЗОВАТЕЛИ: РАБОТА С ЭВМ В ИНТЕРАКТИВНОМ РЕЖИМЕ ПОЧЕМУ ИМЕННО НЕПРОФЕССИОНАЛЬНЫЕ ПОЛЬЗОВАТЕЛИ? Эта книга ориентирована прежде всего на разработчиков систем для непрофессиональных пользователей, потому что некоторые важные характеристики таких пользователей требуют присталь¬ ного внимания. По одному из определений непрофессиональные пользователи — это те конечные пользователи, которые обраща¬ ются к компьютерным системам в своей повседневной работе или жизни эпизодически. Система должна соответствовать потребностям потенциальных пользователей. Существует разница между потребностями тех, кто может случайно воспользоваться системой, и тех, кто может одной системой пользоваться часто, а другой — только изредка. Необходимо удовлетворить потребности и пользователя, реша¬ ющего определенную задачу с помощью интерактивной системы, и научного работника, использующего программы, которые он сам написал, и администратора, который пользуется информацией базы данных, и бухгалтера, желающего рассчитать будущие до¬ ходы в зависимости от темпов инфляции, и еще многих других. Некоторые характеристики пользователей приведены в при¬ ложении (см. табл.1): там выделены признаки, которые будут полезны при выборе типа диалога (в общих чертах это описано в гл.З, а более подробно — в гл.З — 8). Возможно, наиболее важ¬ ное понятие, которое надо объяснить, — это «нерегулярный поль¬ зователь», термин более полезный и точный, чем «наивный поль¬ зователь». Нерегулярного пользователя нужно считать достаточно сообразительным, ему надо лишь помочь, когда он ошибается, в то время как наивного пользователя нужно буквально «вести за руку», и это различие между ними приходится учитывать. 7
ПОЧЕМУ ИМЕННО СЕЙЧАС? Хотя разработчики систем в течение многих лет мало изучали уровень подготовки пользователей, в созданных интерактивных системах это не всегда проявлялось. Происходило это по двум причинам — из-за стремления к достижению наибольшей эффек¬ тивности использования ЭВМ и необходимости уменьшать про¬ граммные модули до минимального размера, чтобы вписать их в имеющуюся в распоряжении крайне ограниченную память. Как неизбежное следствие, системы получались менее удобными в работе, например вместо развернутых сообщений часто исполь¬ зовались короткие коды, напоминавшие криптограммы. Тем не менее сегодня, благодаря снижению стоимости как оперативной, так и долговременной памяти, а также такому изо¬ бретению, как виртуальная память, можно создавать большие программы, выдавать более длинные (и понятные) сообщения и проводить необходимую обработку более детально и тщательно. Использование во все большем масштабе дисплеев со спе¬ циальной клавиатурой, возможности которой реализуются с по¬ мощью соответствующего программного обеспечения, позволило представить на одном экране много данных. Это, в свою очередь, дает возможность выводить их в наглядном формате. Поскольку пользователь теперь не ждет выдачи страницы данных минутами (как было раньше в интерактивных системах первого поколения с медленным телетайпным выводом), он получает больше по¬ лезной информации. До появления систем с видеотерминалами количество выдаваемой на медленный телетайпный терминал ин¬ формации было ограничено. Поэтому создание удобных в общении систем было сопряжено с большими трудностями и стало гораздо легче с использованием видеотерминалов. Пользователь теперь может получить, например, страницу финансового отчета или график очень быстро, в то время как раньше он вынужден был ждать долго. Современные интерактивные системы позволяют пользователю участвовать в управлении. При этом потребители (или покупатели) компьютерных систем постепенно становятся более требовательными — и это правильно! Предполагается, что к концу столетия не менее двух миллионов человек в Вели¬ кобритании будут непосредственно пользоваться компьютерными системами по меньшей мере раз в день. Важно, чтобы эти си¬ стемы были качественными. РАЗРАБОТКА ИНТЕРАКТИВНЫХ СИСТЕМ Интерактивные системы могут быть разработаны многими спо¬ 8
собами (основания для выбора какого-либо одного из них станут ясны позже). Стоит указать некоторые рекомендации для про¬ ектировщика. Пакеты программ. В распоряжении проектировщика может оказаться набор имеющегося в продаже программного обеспе¬ чения, «пакетов программ», предназначеннных для решения опре¬ деленной задачи. В этом случае процесс разработки будет со¬ стоять из определения задачи, которая должна быть решена, сопоставления ее с задачей, решаемой данным пакетом программ, чтобы убедиться, что пакет в точности такой, какой нужен, и затем подстановки параметров, требуемых для конкретного при¬ ложения. Так как такие пакеты обычно написаны для широкого применения, они должны быть удобны в использовании, хотя это и не всегда так. Поэтому очень важно, чтобы проектировщик, выбирающий пакет программ, учитывал, подходит ли этот пакет для интерактивного режима. Проблемно-ориентированные системы. Большинство созданных по заказу систем сделано в соответствии с выданными специ¬ фикациями и выполняет только то, что требуется. Следовательно, теоретически пользователь получает в точности то, что заказал. На практике же не всегда удается учесть все потребности поль¬ зователей и избежать некоторых компромиссов. Поэтому важно, чтобы пользователь был привлечен к процессу разработки. Генераторы программ и моделирующие языки. Они обеспе¬ чивают такую организацию работы системы, при которой сни¬ жается вероятность ошибок в процессе корректировок системы и достигается большая гибкость обработки. Таким образом, их использование отличается от использования пакетов прикладных программ, которые решают регламентированные задачи. Система должна быть оснащена такими средствами, чтобы соответствовать развиваемым в этой книге идеям удобства общения пользователя с ЭВМ. Если это невозможно, такая система не внушает доверия и применять ее не рекомендуется. Языки запросов. Большинство баз данных и систем обработки файлов имеет по меньшей мере один язык запросов для доступа пользователей, не являющихся профессионалами в вычислитель¬ ной технике, к базе данных. (Типы диалогов, подходящие для этого, будут обсуждаться ниже.) ПОЧЕМУ ИСПОЛЬЗУЮТСЯ ИНТЕРАКТИВНЫЕ СИСТЕМЫ? Важно осознавать, что для разных групп пользователей мотивы применения вычислительной техники для работы в интерактивном режиме могут изменяться в широких пределах. С помощью сле- 9
дующих примеров проиллюстрируем это: - стало понятно, что часть данных в системе находится «под замком» и доступ к ним дает только ЭВМ; в таких условиях становится полезной интерактивная система, дающая возможность отбирать и быстро получать эти данные; - использование ЭВМ для проведения финансовых операций может обеспечить большую гибкость в представлении итоговых результатов. Для бухгалтера преимущество интерактивной работы заключается в возможности управления временем проведения опе¬ раций: он может потребовать одновременного выполнения двух расчетов, в то время как в другом режиме ему пришлось бы ждать еще только первой выдачи результатов; - может оказаться решающим очевидное удобство получения информации простым нажатием клавиши. Отмечено, что нахо¬ дящийся под рукой терминал используется чаще, чем тот, к которому нужно идти в соседнюю комнату и который к тому же может быть часто занят другими пользователями; - может оказаться, что интерактивная система дает прямой выигрыш. Весьма вероятно, что скорость получения результатов будет такой, что от начала расчетов до получения результатов пройдет очень мало времени. Тогда можно либо позже начинать расчеты, используя самые свежие данные, либо раньше получать результаты, либо провести несколько расчетов. Это может иметь большое значение, особенно если выполняются вычисления, ко¬ торые очень трудоемки при обработке вручную. Естественно, чем сложнее работа, тем существеннее помощь ЭВМ; - графическое представление численных данных — это та об¬ ласть, в которой использование ЭВМ в интерактивном режиме является идеальным; необходимо только позаботиться о том, что¬ бы команды, обеспечивающие графический режим, были удобны для пользователя. Разработчики программного обеспечения для этой и других областей должны представлять, что оно имеет смысл только для работы в интерактивном режиме; - иногда использование посредников действует как барьер между системой и пользователем; работая с системой непосред¬ ственно, пользователь может контролировать ход процесса и полу¬ чать лучшие результаты. Эффект непосредственной работы поль¬ зователей нелегко оценить количественно, хотя он может быть и весьма значительным. ВОЗМОЖНЫЕ ЗАТРАТЫ И ДРУГИЕ ПРОБЛЕМЫ Было бы неразумно рассматривать интерактивные системы только с одной стороны. Хотя они реализуются часто и, кажется, в основном нравятся пользователям, иногда находятся причины, 10
по которым осуществить проект не удается; интерактивные си¬ стемы могут не подходить, не работать или быть нежелательными по множеству причин: - прежде всего, важна окупаемость затраченных средств; за¬ траты на ЭВМ и средства связи, входящие в состав системы, могут быть слишком высоки. Разумеется, было бы хорошо это выявить до внедрения системы; - в выбранном стандартном пакете программ может не ока¬ заться каких-либо возможностей, необходимых в данном при¬ ложении, и наоборот, пользователи могут оказаться недостаточно подготовленными, чтобы в полной мере воспользоваться имею¬ щимися возможностями системы. Ясно, что виноват в этих про¬ счетах тот, кто отвечал за проведение анализа и выбор пакета программ; - может оказаться, что уже введенная в строй система явля¬ ется слишком медленной; - наглядность представления выводимых материалов может быть недостаточно высокой, таким образом, время, потраченное пользователем на вывод данных, для него потеряно; - существенно, чтобы новая интерактивная система не вносила путаницы там, где уже есть другие системы, к которым поль¬ зователи привыкли; возможными источниками такой путаницы могут быть использование одинаковых команд (или сокращений) для обозначения разных действий, нестандартное использование клавиш специального назначения или других клавиш, различия в размещении данных на экране дисплея. Эти проблемы могут не проявляться до тех пор, пока пользователи не начнут работать с новой системой; - негибкая система может не удержаться на уровне тре¬ бований, предъявляемых организацией-заказчиком, и, следователь¬ но, выйти из употребления. Если первоначально она проекти¬ ровалась для удовлетворения краткосрочных потребностей, то ни¬ каких проблем нет, если же система предназначалась для дол¬ говременного использования, то через небольшой период времени затраты на ее разработку должны быть списаны, поскольку ее модернизация повлечет дополнительные расходы, и стоимость ока¬ жется выше, чем первоначально ожидалось; - если интерактивная система позволяет пользователям либо большой ЭВМ, либо персональных микроЭВМ создавать свои собственные системы, большое количество данных может ока¬ заться недоступным для общего использования. Контроль за ре¬ сурсами должен осуществлять отдел обработки данных; - неточная оценка вероятного использования интерактивных возможностей системы может привести к тому, что она будет работать с перегрузкой. Парадокс заключается в том, что ин- 11
терактивные системы привлекательны и у них появляется столько потребителей, что для конкретного пользователя время ответа на запрос оказывается томительно долгим, а логичный шаг — приобретение дополнительных вычислительных мощностей — может быть неприемлемо дорогим; - если пользователи избегают работать с данной системой, необходимо задаться вопросом, почему так происходит? Причиной этого может быть отсутствие в системе внимания к «человеческим факторам», описанным в этой книге, или это может происходить по ряду не связанных с данной системой причин, таких как неудачный опыт работы с другой системой или боязнь компью¬ терных систем вообще. Требуются очень большая деликатность и осторожность, чтобы преодолеть такого рода трудности. Одно заключение, которое должно быть сделано, состоит в том, что «дружественность» системы в общении пользователя с ЭВМ не является лишним свойством, нужным только «для красоты». Но даже если удобство пользования будет неотъем¬ лемым свойством системы, этого само по себе недостаточно, так как затраты на создание интерактивных систем должны пол¬ ностью окупаться. ИНТЕРАКТИВНЫЕ СИСТЕМЫ ОБЩЕГО ПОЛЬЗОВАНИЯ Проектировщики систем общего пользования особенно должны стремиться к созданию таких систем, которыми потребители могут и хотят пользоваться и даже пользуются с удовольствием. Вполне понятно, что широкую публику следует поощрять за пользование компьютерными системами: найдется немного монопольных по¬ ставщиков систем, которые могут позволить себе навязать свою продукцию потребителям. Например, многие пользуются теперь автоматическими бан¬ ковскими терминалами. Они поступают так, потому что могут получить наличные в течение круглых суток, или потому что банк предоставляет скидку при получении денег через автома¬ тический терминал, или потому что пластиковую карточку носить легче, чем чековую книжку. По числу установленных терминалов ясно, что вкладчикам нравится пользоваться таким видом об¬ служивания. Но банковских служащих все же еще гораздо боль¬ ше, чем терминалов, потому что терминалы могут выполнять только весьма ограниченное число операций. Сообщалось, что пациенты, заполнявшие историю болезни при помощи компьютерной системы, были более откровенны, чем при непосредственном разговоре с врачом, и часто давали более точ¬ ную информацию. Врачи-диагносты пользуются такой историей болезни в качестве руководства: неточная информация, даваемая 12
пациентом, может быть выявлена путем перекрестного опроса. Таким образом, врач-диагност не теряет времени на составление предварительной истории болезни, но все-таки полностью на нее не полагается. Системы общего пользования лишь в небольшой степени срав¬ нимы с системами, применяемыми в торговле и в промышлен¬ ности. Тем не менее они могут проектироваться с использованием руководящих принципов создания систем, описываемых в этой книге. В общем, системы будут вполне приемлемы для поль¬ зователей, если только их проектировщики уделят должное вни¬ мание соответствующим человеческим факторам. ГЛАВА 2 ПРОЕКТИРОВАНИЕ ИНТЕРАКТИВНЫХ СИСТЕМ КРАТКИЙ ОБЗОР В этой главе рассматриваются проблемы, связанные с проек¬ тированием интерактивных систем. Обсуждаемые методы должны помочь тем, кто занимается обработкой данных и работой с пользователями, а также гарантировать, что создаваемые ин¬ терактивные системы спроектированы должным образом и будут полезны организации-заказчику и ее сотрудникам. Остальные главы книги посвящены проектированию диалога и тому, как сделать систему удобной для пользователя. При этом важно рассмотреть исходные решения, которые должны быть приняты. Кратко обсудим два типа учреждений, которые могли бы использовать ЭВМ в интерактивном режиме. ДВА ТИПА УЧРЕЖДЕНИЙ УЧРЕЖДЕНИЕ, ИМЕЮЩЕЕ ЭВМ Такого типа учреждение, возможно, широко использует ЭВМ в своей повседневной деятельности при учете объема продажи и закупок, расчете фонда заработной платы, исчислении издержек производства и оценке производительности труда. В этих при¬ ложениях применяются как пакетные, так и оперативные системы. Хотя к части информации осуществляется доступ с помощью оперативных запросов, информация циркулирует главным образом в форме распечаток. Несмотря на попытки удержать объем до- 13
кументации в разумных пределах, во многих случаях единствен¬ ный способ найти нужные данные — это поиск в этих бумагах. Нерегулярные запросы можно было бы делать с использованием генератора запросов, такого как FILETAB, но обычно это не допускается, так как, вероятно, отвлекает ресурсы от разработки новых систем и поддержания существующей структуры, что явля¬ ется важным для работы учреждения. Возможным выходом из положения было бы предоставление информации тому, кто принимает решения («Почему бы не по¬ ставить управляющим терминалы на письменные столы, обеспечив доступ к нужной для ведения дел информации?») Однако все не так просто, поскольку неясно следующее: - каким управляющим? - какая информация им нужна? - почему только управляющим, а не еще некоторым слу¬ жащим? - сколько это будет стоить? - кто это сделает? - сколько времени это займет? - останутся ли у учреждения после установки системы те же самые проблемы? - какую пользу принесет такая система? Кроме того, есть множество чисто технических вопросов. Даже если они могут быть решены, само по себе это недостаточное обоснование для внедрения системы: важно рассмотреть потреб¬ ности учреждения. УЧРЕЖДЕНИЕ БЕЗ ЭВМ Другой пример — учреждение, которое не удовлетворено суще¬ ствующей обработкой данных вручную и, следовательно, рас сматривает возможность установки компьютерной системы. Та¬ кому учреждению следует обсудить вопросы, которые всегда воз¬ никают при установке ЭВМ, а также решить, должно ли оно сразу перейти к «интерактивным расчетам», чтобы извлечь мак¬ симум пользы из современной технологии, или же повременить, пока не будет выполнена рутинная работа. Если учреждение принимает «интерактивную стратегию», ему нужно «выполнить домашнее задание» и решить, сколько это будет стоить и какие принесет выгоды. СЛЕДУЮЩИЕ ШАГИ Предположив, что какое-нибудь из этих учреждений приступает к рассмотрению внедрения интерактивных вычислительных средств, следует провести такое рассмотрение последовательно 14
и конструктивно. Далее в этой главе как раз обсуждаются не¬ обходимые этапы такого подхода. Следует подчеркнуть, что это не попытка определить «единственный способ» проектировать си¬ стемы. В гораздо большей степени, чем стремление научить, как это делать, это просто иллюстрация того, что нужно сделать. Цель — помочь как пользователю, так и проектировщику, осо¬ бенно если последний раньше не сталкивался с проблемами ин¬ терфейса человек — машина и не рассматривал привлечение поль¬ зователей к проектированию системы. ЦЕЛИ Первым шагом должно быть исследование того, какие цели будут достигнуты в результате успешного внедрения системы. Даже если уже подразумевается определенная задача (которую, воз¬ можно, весьма желательно решить), неразумно двигаться дальше без рассмотрения того, будет ли система приемлема для своих потенциальных пользователей. Для анализа на ранних этапах, прежде чем будут утверждены спецификации на систему, можно использовать разнообразные методы. Кафедра общественных наук и передовой технологии Университета в Лафборо предлагает пять таких методов [10]: - анализ контингента пользователей; - анализ задачи; - оценка приемлемости системы до ее создания; - анализ «обладателя приза»; - анализ целей системы. Не вдаваясь в детали, следует отметить, что эти методы устанавливают необходимость оценивать в полном объеме всех пользователей, заинтересованных во внедрении системы. Поль¬ зователи могут иметь разные цели, и здесь кроется возможность конфликта. Неразумно составлять список целей отдельно для каждого пользователя. Такой список целей должен быть просто согласован со всеми пользователями, на каком бы уровне ни пришлось утвердить необходимые для этого расходы. В то время как фор¬ мальное соглашение может быть отложено, пока не будет более детального плана, нет смысла продолжать разработку системы, если не достигнуто общее соглашение относительно целей. ОБСУЖДЕНИЕ РЕШЕНИЙ НА ОСНОВЕ ПАКЕТОВ ПРОГРАММ Во многих случаях использование уже написанного «пакетного» программного обеспечения оказывается наиболее эффективным в 15
отношении снижения затрат: хотя работа разработчика пакета программ оплачивается в полном объеме, затраты на пакет про¬ грамм будут разделены между всеми, кто ям пользуется. Важно на самом раннем этапе выяснить, существует ли решение рас¬ сматриваемой проблемы на основе пакета программ. Оценка воз¬ можных решений должна учитывать, выполняет ли подходящий пакет программ (если он вообще имеется в наличии) требуемую работу «правильно и точно»; затем нужно оценить затраты и экономический эффект. Если пакет выполняет работу «довольно хорошо», в какой степени эго удовлетворительно и по каким критериям? Если характеристики пакета «только частично» удо¬ влетворительны, можно ли его улучшить и что из себя пред¬ ставляет такой подход по сравнению с другими способами до¬ стижения тех же целей? На этом этапе следует рассмотреть как выполнение пакетом требуемой работы, так и все аспекты взаимодействия пользо¬ вателя с этим пакетом программ (такие, как проектирование диалога, и другие, рассматриваемые далее в этой книге). Не всегда можно достаточно обстоятельно изучить пакет программ, пока не будет выполнена большая часть проекта, но подходящий пакет программ частично избавит от рутинной работы в даль¬ нейшем, так что уже на раннем этапе рекомендуется обдумать все разнообразные возможности (вот почему эта тема затронута до подробного обсуждения процесса проектирования). ПРОЕКТИРОВАНИЕ ИНТЕРАКТИВНОЙ СИСТЕМЫ ПЕРВЫЕ ЭТАПЫ Различные этапы проектирования включают предложение новой системы, соглашение о том, что о?а будет решать поставленные задачи при приемлемой пене, детальное проектирование системы, тестирование программ и внедрение системы. Казалось бы, нет никаких отличий от любой другой системы. Существенная разница кроется в том, что эта система непосредственно используется людьми, не являющимися специалистами в вычислительной тех¬ нике, и предназначена помочь им в их обычной работе, так что ее будущих пользователей нужно реально привлечь к про¬ цессу проектирования. Первая проблема для проектировщика — показать возможно¬ сти интерактивной системы: важно продемонстрировать потен¬ циальным пользователям, что они смогут делать. Поставщики программного обеспечения обычно предлагают провести такую демонстрацию, а также знакомят потенциальных покупателей с теми, кто уже пользуется их программным обеспечением. Они, конечно, будут использовать для демонстрации и уже работающие 16
системы, что, вероятно, предпочтительнее по тем или иным со¬ ображениям. Полезным может быть рассмотрение макета и, если он при¬ нят,— его размера. Если проект должен быть осуществлен на ЭВМ, которая уже используется для другой работы, надо помнить о возможных расходах на переделку. Один из способов осу¬ ществить это — обеспечить совместимость имеющейся ЭВМ (или ее программного обеспечения) и ЭВМ, которая будет установлена для системы. Независимо от того, предпринято изучение на макете или нет, легче всего склонить пользователей к интерактивной системе, когда они могут быстро получить результаты или, по крайней мере, видеть возможность получения полезных результатов. Сле¬ довательно, использование макета может оказаться вдохновля¬ ющим, особенно если удается разработать что-то «почти как настоящее», что может служить для демонстрационных целей. Этот подход дает проектировщику возможность провести испы¬ тания еще на этапе, когда в его распоряжении сравнительно мало ресурсов. ПОДДЕРЖКА ПОЛЬЗОВАТЕЛЕЙ: КТО ДОЛЖЕН ПРОЕКТИРОВАТЬ? Организации-новичку в использовании интерактивных систем не¬ легко решить, каким должен быть уровень поддержки ее «ин¬ терактивных пользователей». Одна из возможностей состоит в том, что им предоставляется программное обеспечение и они проходят краткий курс обучения, после чего, предполагается, бу¬ дут работать сами, имея минимальную поддержку. Этот перенос обеспечения поддержки на конечного пользо¬ вателя имеет свои достоинства и недостатки; по-видимому, бремя разработки системы просто перекладывается на пользователя и при этом не происходит никакого воздействия на работу, которую надо выполнить. Поэтому предполагается, что для текущей ра¬ боты по проектированию системы обычно есть умеющий ее ква¬ лифицированно выполнить (описываемый как «проектировщик») и что обычно это не будущий пользователь системы. Сказанное не означает, что те языки и пакеты программ, которые дают возможность пользователю выполнять работу по проектированию, не приведут к блестящим результатам. Но даже в этом случае проектирование и внедрение могут занять достаточно много вре¬ мени, особенно если каждый новый пользователь должен пройти извилистый путь обучения. В любом случае, кто бы ни взялся проектировать, пользователям нужно знать о проектировании ди¬ алога, и, следовательно, остальная часть книги представляет для них интерес. 17
КАК ПЕРЕЙТИ К ДЕТАЛЬНОМУ ПРОЕКТИРОВАНИЮ Решив, какая и для кого работа должна быть сделана, можно определить, как ее следует спроектировать и выполнить. Если в наличии есть ЭВМ, которая, например, уже загружена, но имеет достаточную мощность, чтобы нести дополнительную на¬ грузку в виде интерактивной системы, выбор программного обес¬ печения ограничен существующим для данной ЭВМ. О выборе и оценке программного обеспечения дистанционной обработки в интерактивном режиме ничего говориться не будет; надо только подчеркнуть, что программное обеспечение должно поддерживать ряд терминалов и предусмотренный объем обрабатываемых дан¬ ных, а также должно быть в состоянии обеспечить выполнение всех видов работ, которые предусматривается сделать. Главы по проектированию диалога охватывают желательные характе¬ ристики такого обеспечения. Если ЭВМ в наличии нет (или она недостаточно мощная), свобода выбора больше. Здесь потребуется пройти различные этапы оценки и выбора компьютерной системы. В процессе оце¬ нивания потребуется выбрать программное обеспечение для не¬ обходимых приложений. Когда в результате обсуждений будет выработан план, нужно обосновать затраты. Важно обеспечить уверенность в том, что «дружественность к пользователю» и «привлечение пользователя к разработке» необходимы в этом процессе оценивания. Они должны рассматриваться как существенные требования не только проектировщиками, но и теми, кто принимает решения о создании системы. ПРИВЛЕЧЕНИЕ ПОЛЬЗОВАТЕЛЕЙ К ПРОЕКТИРОВАНИЮ ОБЩИЕ ПОЛОЖЕНИЯ Всегда существует опасность того, что проектировщик укроется в «башне из слоновой кости», пока не спроектирует систему. В прошлом это было одним из недостатков традиционного ана¬ лиза и проектирования процессов обработки данных в системах, и, следовательно, вполне может произойти, если проектировщик интерактивной системы имеет опыт такой работы. Лучший способ избежать этой опасности — гарантировать, что пользователи привлечены к проектированию на всех его этапах. Один из способов состоит в формализации такого подхода, как это сделано в методе проектирования систем с участием поль¬ зователей, кратко представленном ниже. Это не означает, что 18
менее формальные подходы будут неплодотворны. Суть «проек¬ тирования с участием пользователей» в том, что, так как поль¬ зователь знает, чего он хочет от системы, он способен предложить систему, в большей степени удовлетворяющую этим требованиям, чем пришедший со стороны проектировщик. Пользователи на¬ чинают проявлять больший интерес к системе, если они видят себя ее владельцами. ПРОЕКТИРОВАНИЕ СИСТЕМ С УЧАСТИЕМ ПОЛЬЗОВАТЕЛЕЙ |24| В этом кратком разделе объясняется, что такое «проектирование с участием пользователей». Следует отметить, что этот процесс начинается на раннем этапе жизни проекта; таким образом, раз¬ дел может частично совпадать с разделами, описывающими цели, так же как и охватывать проектирование. Методология состоит в установлении областей применения си¬ стемы и выборе оснований для их изменения. Затем данные области применения исследуются с использованием методов про¬ стого анализа ввода-вывода и иерархического анализа, для того чтобы описать систему посредством выбора и решения вопросов ее координации, развития и управления. После этого для каждого рассматриваемого вопроса устанавливается четыре или пять ос¬ новных целей, чтобы определить идеальную ситуацию. Исходя из этого выявляются ключевые задачи и требуемая для их ре¬ шения основная информация. Следующий шаг — выявить способы достижения требуемой эф¬ фективности установлением основных расхождений, которые пред¬ ставляют собой какое-то отклонение от цели или проблему, пре¬ пятствующую достижению цели и соответственно решению по¬ следующих задач, причем проблемы, связанные с существующими процедурами или технологией, здесь не рассматриваются. В част¬ ности, следует отметить расхождения, вызываемые нехваткой ин¬ формации. Следует выявить то, что необходимо для выполнения работ пользователей, обращая особое внимание на разницу между тем, что хотелось бы иметь в новой системе, и тем, что имеется; недостаточное соответствие должно быть устранено. Следует предвидеть будущие потребности, чтобы найти те фак¬ торы в окружении, которые, вероятно, изменятся и к которым новая система должна будет приспособиться. Тогда для новой системы могут быть установлены способы достижения эффек¬ тивности и выполнения работ пользователей. Только когда все вышеизложенное будет удовлетворительно завершено, может быть начато подробное техническое проектирование; следует вырабо¬ тать ряд альтернативных стратегий для достижения всех целей, причем каждая стратегия будет иметь техническую, процедурную 19
и организационную компоненты. Должна быть выбрана та стра¬ тегия, которая наилучшим образом обеспечивает достижение тре¬ буемой эффективности. При проектировании новой системы участие пользователей же¬ лательно на следующих этапах: - проектирование рабочих мест, расположения комнат, условий работы; - проектирование диалога и интерфейса для .дисплея; - согласование уровня обслуживания и сложности задач; - проектирование структуры поддержки пользователей; - проектирование мер поддержки пользователей; - проектирование работ и их организации; - организационные вопросы. В частности, могут использоваться следующие методы: - макетные исследования, пробы и эксперименты позволят по¬ тенциальным пользователям получить первоначальные навыки обращения с системой. Важно осуществлять это без нажима на пользователей, чтобы у них создавалось хорошее отношение к системе; - анализ альтернатив и последствий поможет пользователю проектировать эффективнее, просматривая последствия различных альтернатив; - анализ изменений задач позволит оценить степень измен¬ чивости, имеющейся в задачах, которые должна поддерживать система, причины изменений и, следовательно, требуемую степень гибкости; - регистрация и анализ обращений пользователей за «по¬ мощью» поможет выявить любые трудности, обнаруженные в ма¬ кетных исследованиях; таким образом могут быть спланированы соответствующие формы поддержки пользователей. Отправным моментом участия пользователей в проектировании должно быть предположение, что система создается в соответ¬ ствии с утвержденными спецификациями. Желательно, чтобы си¬ стема пересматривалась непрерывно либо регулярно для оценки того, насколько она полезна и есть ли какие-нибудь улучшения, которые могут и должны быть сделаны. ОБУЧЕНИЕ И ДОКУМЕНТАЦИЯ Прежде чем система «задышит», нужно уделить внимание обу¬ чению пользователей и документации. Как правило, необходимо провести некоторый курс обучения, содержание которого может меняться в соответствии с типом системы, используемым ди¬ алогом, а также опытом пользователей и их пожеланиями. Чтобы это обучение было успешным, в наличии должна быть вся до- 20
кументация, необходимая для работы с системой в полном объ¬ еме, а также документация, которая требуется для проведения обучения. (Дальнейшие предложения, касающиеся поддержки пользователей, даны в гл. 9.) ОБУЧЕНИЕ Даже когда единственной целью является создание систем, при¬ меняемых без непосредственного обучения ведению диалога, су¬ щественно некоторое знакомство с клавиатурой. Почти все типы клавиатуры слегка различаются, и время на знакомство с кла¬ виатурой оказывается потраченным не зря. Для этой цели можно приобрести пакет программ обучения работе с клавиатурой. В ограниченных размерах, пока это не ускользает из-под контроля, может оказаться полезным использование компьютерных игр, но они не должны быть азартными. На некоторых установках игры допускаются только в обеденное время, когда нагрузка на систему невелика. Если новичкам системы необходимо практиковаться в ее ис¬ пользовании, рекомендуется завести набор «тренировочных фай¬ лов» или «тренировочную базу данных» наряду с обычной си¬ стемой, чтобы избежать потери иформации, которая может ока¬ заться очень ценной. Важно также, чтобы эти тренировочные файлы обновлялись; ведь часто случается, что если система уста¬ навливалась, например, в 1980 году, то тогда же устанавливались и даты во всех тренировочных файлах, так что начавший ра¬ ботать с ними в 1984 году сталкивается с проблемами, которые не возникли бы, будь файлы обновлены. ДОКУМЕНТАЦИЯ В идеальной ситуации необязательно снабжать пользователей ру¬ ководствами; все должно быть в наличии непосредственно в си¬ стеме в виде средств помощи различного вида. Самое большое достоинство этой ситуации состоит в том, что запрос о помощи в любом конкретном месте системы может автоматически на¬ правляться в тот раздел (средств помощи), который относится к данной проблеме. Так как в основном такого программного обеспечения в на¬ личии еще нет, необходимо подготовить документацию для поль¬ зователей: - справочные руководства, дающие исчерпывающее описание всех возможностей системы и ее реакции на ошибки пользо¬ вателей. Уровень детализации будет зависеть от того, насколько она нужна пользователям, от их числа и местоположения, а 21
также от простоты или сложности системы; - учебные руководства для новичков системы. Эти руководства, вероятно, должны быть упрощены и должны содержать только примеры возможностей системы, которые, наверное, потребуются новичкам, когда они впервые придут пользоваться системой. Та- кие руководства могут тем не менее описывать и все возможности системы, если это окажется необходимым; - справочные карточки, предназначенные для того, чтобы бы¬ стро вспомнить команды, коды входных сообщений или связанные с ними параметры. ГЛАВА 3 ПРОЕКТИРОВАНИЕ ДИАЛОГА ВВЕДЕНИЕ Пользователи должны быть привлечены к проектированию ди¬ алога. Они не могут представить себе проектируемую систему не зная способа, с помощью которого будут вводиться инфор мация и выводиться конечные результаты. Другими словами, тиг диалога в интерактивной системе должен быть обозначен в общи? чертах на самой ранней стадии и должен следовать одном) из описываемых далее типов диалога как наиболее подходящем) для неподготовленных пользователей. На практике наиболее под ходящий тип выбирается с учетом природы системы и требованж работающих с ней конкретных пользователей. В силу технически: или связанных с пользователями причин на более поздних этапа может оказаться необходимым изменить тип диалога. На само? деле есть небольшая опасность того, что, выбирая слишком по спешно, можно что-то упустить из вида, так что окончательны) вариант системы окажется менее удовлетворительным, чем мо бы быть. Тем не менее обычно самая надежная рекомендаци: заключается в определении потребностей пользователей и выбор' типа диалога на раннем этапе проектирования. В этой главе обсуждаются некоторые факторы, воздейству ющие на диалог между пользователем и ЭВМ. Перечислим раз личные типы диалога (более подробно они обсуждаются в по следующих главах): - выбор из меню; - вопрос — ответ; - ответы с указанием (и заполнение бланков); - язык команд; 22
- естественный язык; - запрос по образцу с использованием позиционного выбора. Этот краткий перечень позволяет сравнить различные типы диалога и установить, для каких конкретных целей подходит каждый из них. Следует подчеркнуть, что часто выбор делается субъективно, по принципу: «вот это то, что надо». Иногда это делается после единственной демонстрации возможностей или вы¬ бирается тип диалога, который уже использовался раньше, потому что о существовании других просто не подозревается. Чтобы сделать обоснованный выбор, нужно знать имеющиеся альтер¬ нативы. ФАКТОРЫ, ВОЗДЕЙСТВУЮЩИЕ НА ВЫБОР ТИПА ДИАЛОГА Прежде чем рассмотреть каждый тип диалога, стоит взглянуть на некоторые факторы, воздействующие на способ ведения ди¬ алога: - режим «весь экран» или «строка за строкой»; - переход от одной страницы к другой; - редактирование содержимого экрана; - терминал. РЕЖИМ «ВЕСЬ ЭКРАН» ИЛИ «СТРОКА ЗА СТРОКОЙ» Одним из факторов, часто определяемым наиболее доступным программным обеспечением конкретной операционной системы для интерактивной работы, является то, будет ли система работать в режиме «страница» (или «весь экран»), когда после каждого ответа изменяется вся информация на экране или добавляется информация в определенное место экрана, или в режиме «строка за строкой», когда выводится только одна строка. В режиме «весь экран» отводится больше места для полезных инструкций и комментариев, к тому же компоновка информации на экране может быть более изящной. Если соблюдены стан¬ дарты, пользователи находят ответы в заранее определенном ме¬ сте экрана. Так как все выводится сразу, не нужно ожидать, пока заполнится экран. С другой стороны, занимается гораздо больше коммуникационных ресурсов, если только не используется интеллектуальный терминал. Есть возможность имитировать режим «весь экран», даже если система реально работает в режиме «строка за строкой». В результате пользователю придется ждать, пока заполнится экран, но зато появляются преимущества в виде изящного, сог¬ ласованного расположения данных на экране и более полезных 23
комментариев и сообщений. Приемлемо ли это, зависит от ско¬ рости передачи данных; было бы, к примеру, весьма скучно заполнять экран со скоростью 10 или 30 символов в секунду, даже если бы это и означало передачу символов, заполняющих экран только на треть. Режим «строка за строкой» первоначально был разработан для систем, в которых информация выводилась на телетайпы или электрические пишущие машинки. Сейчас, этот режим ис¬ пользуется и в системах с дисплеями, где есть в подходящей форме ввод и вывод — для диалога типа «вопрос — ответ» или для языков команд. Этот режим применяется и в вычислительных сетях, имеющих как телетайпы, так и дисплеи (где необходимо иметь совместимость устройств вывода). Для систем, работающих в таком режиме, разработчики про¬ граммного обеспечения должны принять решение, влияющее на легкость использования системы в целом. Они должны решить, будет ли пользователь вводить очередную строку непосредственно на предлагаемое место на экране. Альтернативой может быть фиксированное место на экране внизу или вверху, где появляется печатаемое сообщение. Это позволяет большую часть времени сосредоточивать внимание на определенном месте экрана; . свя¬ занные с работой сообщения об ошибках тоже могут выводиться в это место экрана. ПЕРЕХОД ОТ ОДНОЙ СТРАНИЦЫ К ДРУГОЙ В режиме «строка за строкой» существенной является процедура завершения страницы. Имеется два основных варианта этой про¬ цедуры (и опять-таки редко бывает, чтобы пользователь, выбирая систему, выбрал один из вариантов, хотя этот выбор сделал бы систему еще удобнее для каждого пользователя). Выбор ле¬ жит между вариантом, когда информация, выведенная на экран, полностью стирается, так что следующая строка появляется на экране вверху, и вариантом, когда очередная вводимая или вы¬ водимая строка появляется на экране внизу и одновременно те¬ ряется одна строка вверху. Недостаток второго варианта в том, что информация на экране кажется непрерывно движущейся, так что данные трудно рассмотреть; с другой стороны, всегда видна последняя часть диалога. В любом случае важно учесть, есть ли средства возврата на несколько страниц назад к ранее выданным строкам ин¬ формации. Это известно как «листание» назад, если выводится целая страница (или набор строк), или как «прокрутка», если перемещается только одна строка. Необходимость снова прохо¬ дить ту же последовательность шагов нежелательна; в любо*’ 24
случае при интерактивном обновлении информации важно точное знание того, какие действия были предприняты. По этой причине полезной также является возможность распечатки по требованию оператора протокола данных, введенных им, и ответов ЭВМ. Также важно, чтобы при листании таким способом назад и вперед система «знала», в какой момент она возвращается к состоянию, из которого началось листание назад, чтобы она смогла про¬ должить работу. Некоторые коммерческие системы не распознают этот момент, а рассматривают экран как «запертый», пока поль¬ зователь не предпримет определенные действия, чтобы его «от¬ крыть». РЕДАКТИРОВАНИЕ СОДЕРЖИМОГО ЭКРАНА Другие средства, которые следует рассмотреть должным образом, включают процедуры, предлагаемые для редактирования инфор¬ мации, появляющейся на экране дисплея или на другом устрой¬ стве ввода-вывода. Полезно хотя бы иметь возможность повторить последнюю введенную строку или внести в нее изменения; более сложные экранные редакторы позволяют пользователю брать в качестве основы для новой строки любые данные, имеющиеся на экране. Гораздо менее полезными являются системы, не име¬ ющие возможностей редактирования, а просто позволяющие поль¬ зователю стереть последнюю строку и затем вновь ввести ее. ТЕРМИНАЛ Используемый терминал тоже оказывает влияние на диалог меж¬ ду пользователем и ЭВМ. (В гл. 10 приводятся подробности описания аппаратных средств, но о нескольких интересных идеях стоит упомянуть здесь.) Некоторые терминалы, имеющие улучшенные характеристики, позволяют изменять размер символов и тип шрифта, что дает возможность привлечь внимание пользователей к важной инфор¬ мации. Разработаны специальные методы кадрирования, позво¬ ляющие перемещать по экрану его содержимое (рис.3.1). В ком¬ мерческих системах такие средства обычно отсутствуют. В настоящее время в основном используются дисплеи, име¬ ющие алфавитно-цифровую клавиатуру (со стандартным распо¬ ложением алфавитных клавиш). Имеется также различное число клавиш «специального назначения» или «функциональных», часто размещаемых либо над рядом цифровых клавиш, либо отдельной группой на правой стороне клавиатуры. Кроме того, имеется возможность доступа к другим функциям или символам с по¬ мощью клавиш «управления», которые нажимаются одновременно с одной из алфавитно-цифровых. 25
Телефонный справочник Ackerman 238 Burtt 702 Allott 290 Bywater 389 Andrews 208 ******** Aptley 441 Cabott 571 Arthur 633 Caxton 574 ******** Cessner 443 Bagshaw 239 Clumber 750 Bell. A J 623 Court 740 Bell, В К 824 Cousins 460 Bellamy 571 Crewe 189 Brantree 811 Crisp 298 Brian 340 Crispin 203 Brothers 198 Cryer 611 Стр. 1 из 4 □ Текущее состояние 6/9/83 0956.05 Польз - RawOl Файл - Те1е83 Вкл - 0856.17 Последнее выключение 5/9/83 17.05.17 Стр. 2 из 4 □ Стр. 3 из 4 О Стр. 4 из 4 О Стандартные команды Очистить □ Вернуть О Помочь Q Расширить □ Уменьшить □ Рис. 3.1. Использование набора кадров На самом деле клавиатуры стандартизованы в небольшой сте¬ пени, что означает необходимость изучения особенностей каждого нового терминала, с которым приходится сталкиваться. Основной принцип — легче использовать функциональные клавиши, чем од¬ новременно нажимать клавишу управления и какую-то еще. В некоторых системах пользователь видит на экране текущие зна¬ чения функциональных клавиш. Ясно, что это полезно, особенно когда эти значения меняются в зависимости от состояния си¬ стемы. Иногда удобно заменить печать команд или функций нажатием 26
клавиш специального назначения, на которых помечено, какую функцию они выполняют. Неудобство такого способа проявляется только в случае, когда меняется их назначение или требуются новые функции. Используемая клавиатура очень скоро может устареть, и ее замена будет дорогостоящей. Только когда с са¬ мого начала применения системы можно установить, что оно не будет меняться, стоит рассмотреть аппаратуру такого типа. Для многих применений более гибкими оказываются терминалы общего назначения. НАИБОЛЕЕ ОБЩИЕ ТИПЫ ДИАЛОГА (Эти крошечные наброски помогут подготовить почву для под¬ робного анализа в гл.4 — 8.) СИСТЕМЫ, ОСНОВАННЫЕ НА ВЫБОРЕ ИЗ МЕНЮ В системах, основанных на меню, во время ведения диалога пользователю предоставляется помощь таким образом, что выбор из каждого меню (т.е. списка вариантов выбора, возможных в данном месте диалога) приводит к появлению на экране либо последующих меню, либо требуемой информации, либо к переводу терминала в состояние, в котором можно вводить данные в систему. Общепринято, что системы, основанные на выборе из меню, являются подходящими для новичков в интерактивных ком¬ пьютерных системах и случайных пользователей по двум при¬ чинам: во-первых, обычно наряду со списком действий, которые можно предпринять, имеется достаточное число инструкций и, во-вторых, то, что каждое меню похоже на предыдущее, придает уверенности пользователю (рис.3.2). Этот тип диалога не очень удобен для более опытных поль¬ зователей, которым может показаться скучной необходимость про¬ ходить раз за разом одну и ту же последовательность меню. (Способы избежать этого описаны в гл.4.) Другой возможный недостаток заключается в том, что такие системы могут требовать больше компьютерных ресурсов, чем системы, использующие менее многословные типы диалога. Это обычно не тревожит пользо¬ вателя, если стоимость системы не становится слишком высокой или время ответа не становится слишком большим, но это следует принимать во внимание при оценке возможных затрат и эко¬ номического эффекта. 27
Демонстрационная система НВЦ 29 фев 84 Вы можете использовать любое из нижеследующих входных сообщений. Если Вы не знаете, как пользоваться системой, смотрите пункт 9. Вы можете выбрать пункт 9 в любом входном сообщении, чтобы получить консультацию. Пожалуйста, напечатайте выбранный номер внизу: 1 Счет-фактура 2 Оплата 3 Список должников 4 Список платежей* 5 Следующее меню 9 Помощь Напечатайте номер здесь затем нажмите "Ввод" Рис. 3.2. Простое меню (НВЦ — Национальный вычислительный центр) СИСТЕМЫ С ДИАЛОГОМ «ВОПРОС — ОТВЕТ» В этом типе диалога (известном еще как «инструкция — отклик») система продвигает пользователя каждый раз на один шаг, за давая соответствующие вопросы. В любом случае следует по¬ мнить, что существует компьютерная часть диалога, т.е. ЭВМ ставит вопросы и дает инструкции. Поэтому в основе диалога должна лежать логическая структура, с помощью которой все возможные ответы на поставленные вопросы будут предусмотрены и необходимые процедуры будут встроены в программу. Этот тип диалога тоже приемлем для неопытных и случайны* пользователей, потому что он «руководит» пользователем в си стеме. Наиболее подходящ он для случая, когда имеется заранее определенный ход событий с достаточно ограниченным выборов вариантов. Это не означает, что ограничивается выполняема* обработка — диалог «вопрос — ответ» легко может быть исполь зован для управления системой «перемалывания чисел»: он ис пользуется статистиками, желающими переложить свою работ) 28
на ЭВМ (избавляя их от необходимости учить язык управления задачами и позволяя быстрее получать результаты), а также бухгалтерами, выполняющими со своими данными расчеты, ко¬ торыми они сами в состоянии управлять (рис.3.3). Это ЭВМ Пожалуйста, введите свое имя: ИД 1234 Пароль: (Заметьте: не отображается) Сейчас 12.33. среда. 29 фев 1984 Вы имеете право использовать следующие системы: - выписывание счетов-фактур - анализ финансового состояния Вам нужна система выписывания счетов-фактур? Нет * * * * Анализ финансового состояния НВЦ Вам нужны инструкции? Нет Какая Группа? ИТР Какой период? И Этот период сейчас закрыт. Вы не можете менять данные * * * * Анализ финансового состояния НВЦ Конец счета 12.36 Готовность 12.37 Выбранные данные сейчас появятся в следующем кадре Примечание. Подчеркнутое вводится оператором Рис. 3.3. Простой диалог «вопрос — ответ» Важно быть уверенным в том, что последовательность во¬ просов корректна, потому что повторное запрашивание той же самой информации может раздражать, особенно если это слу¬ чается часто. Таких просчетов в проектировании следует избегать. СИСТЕМЫ, ОСНОВАННЫЕ НА КОМАНДАХ (ОТВЕТАХ С УКАЗАНИЕМ) Язык команд с указанием ответов может использоваться для широкого набора приложений, таких как языки запросов и языки обработки данных общего назначения, позволяя пользователям заводить свои собственные файлы данных. Он очень близок к 29
языку оперативных систем, основанному на входных сообщениях, требующих ввода данных и обновления информации на экране, широко известному как «заполнение бланков» (рис.3.4 и рис.3.5). Вывести Какие столбцы Какие строки Какие заголовки Название : 1-6 : 1-10, 51-55 : Месяцы(З) : Таблица личных доходов за 1983 Эта таблица появится в следующем кадре Для продолжения нажмите любую клавишу Таблица личных доходов за 1983 29 фев 1984 Янв Фев Мар Апр Май Июн 1 Поступления 1000 1000 1000 1000 1060 1060 2 Налог 250 250 250 230 270 270 3 Другие вычеты 90 90 90 105 105 105 4 Чистый доход 660 660 660 665 685 685 5 Оплата по закладной 189 189 189 189 189 189 6 Отопление 51 51 51 53 53 53 7 Коммунальные налоги 45 45 0 0 51 51 8 Страхование 19 19 119 19 19 19 9 Сбережения 150 150 150 150 150 150 10 Другие выплаты 30 36 50 30 36 50 51 Суммарные платежи 484 490 559 441 498 512 52 Баланс 176 170 101 224 187 173 53 Поступления на данное число 1000 2000 3000 4000 5060 6120 54 Чистый доход на данное число 660 1320 1980 2645 3330 4015 55 Баланс 176 346 447 671 858 1031 на данное число Введите следующую команду Рис. 3.4. Ответы с указанием 30
Входное сообщение НОВПРОД (а) Ввод кода входного сообщения Кадр ввода новой продукции Код + + + + + Классификация + + + + 29 фев 84 Название + Цвет + Масса + _кг Длина + см Ширина __см Высота + см Код условий упаковки... (6) Экран с трафаретом Кадр ввода новой продукции Код Классификация ДЖ9651 36 24 Масса 0,15 кг Длина 4 см Ширина 1 см Высота 2.875 см Код условий упаковки П12 29 фев 84 Название Эмблема Тип 51 Цвет Синий Упаковка в ящики по 100 штук. Для экспортного варианта необходима водонепроницаемость упаковки (в) Данные введены: "инструкция по упаковке" взята из файла Рис. 3.5. Заполнение бланков иппВВОД команды пользователем порождает последовательность “Опросов или предложений вводить данные. Могут возникнуть р лемы, если система по умолчанию, когда в некоторых полях можи°АИТСЯ никаких Данных, пользуется своими значениями. Если Ест/0, Т° Г°раЗД0 лучше такие значения выводить на дисплей. эти поля чувствительны к данным, то может оказаться и потребуется дополнительная передача данных в ЭВМ и из 31
Основное достоинство этого типа диалога по сравнению с диалогами типа меню или «вопрос — ответ» в том, что, потратив усилия на запоминание команд, можно избежать обычных по¬ следовательностей меню или ряда вопросов и перейти непосред¬ ственно к месту, с которого начинается требуемая обработка. Все требуемое для ввода указывается системой, так что нет опасности, что случайные пользователи забудут какой-нибудь важный параметр. Более опытных пользователей, быть может, стоит обеспечить возможностью объединять ответы, не ожидая указания, что делает этот тип диалога больше похожим на сле¬ дующий, но в котором нет способов обратиться, если необходимо, к такому указанию (см. гл.6, рис.6.2). языки КОМАНД Языки команд, состоящие из команд, за которыми следуют клю¬ чевые слова или параметры, могут использоваться, как и вы¬ шеописанные типы диалога, либо для запросов данных из су¬ ществующих файлов или баз данных, либо для обработки, об¬ новления и анализа собственных файлов данных работающего с системой. Они применяются также для обычных функций упра¬ вления системой, таких как управление всеми файлами в данном справочнике, для которого в разных условиях должны быть пре¬ дусмотрены прикладные программы. В основном такие языки ис¬ пользуются опытными пользователями, если только обработка, которую надо выполнить, не является очень простой. Для того чтобы получить от этих языков большую отдачу, их следует применять часто и регулярно. Попытки сделать такие языки более похожими на естественный язык или на английский с полной грамматикой, кажется, были не слишком успешными. Хотя в результате получался более удоб¬ ный для чтения язык, он не всегда оказывался более подходящим для того, кто его использовал. В самом деле, было отмечено, что наиболее частые пользователи таких языков применяли все¬ возможные допустимые сокращения и способы краткого выра¬ жения команд. В основном им не нравилась многословность есте¬ ственного языка, по крайней мере, когда они печатали команды. Может быть, побудительным мотивом создания более близкого к естественному языка станет улучшение возможностей речевого ввода. Эта тема более подробно обсуждается в гл.7 с некоторым дальнейшим анализом попыток обеспечить ввод с помощью дей¬ ствительно естественного языка. (В качестве примера см. рис.3.6.) 32
>Выбрать результаты Файл Колзаг Месяцы(З) >Название Сводка платежей 1983 >Вывести Колонки 1-6 Строки 1-1051-55 Подчеркнуть (а) Команды введены. Символ > указывает на возможность ввода очередной команды Сводка платежей 1983 29 фев 84 Янв Фев Мар Апр Май Июн 1 Оклад 1100.00 1100.00 1100.00 1100.00 1100.00 1200,00 2 3 4 Доплаты Пособия Суммарн. платежи 1100.00 136,75 1236.75 1100.00 1100.00 1100.00 200,00 1400.00 5 Налог 273.60 314.68 27450 260,00 260,00 34853 6 Пенсия 66.00 66.00 66,00 66.00 66.00 84,00 7 Страхование 67,16 67.16 67.16 69.13 69.13 69.13 8 Плата за спортклуб 0.40 0.40 0.40 0.40 0.40 0,40 9 Другие вычеты 5.08 5.08 5.08 5,08 5.08 5.08 10 Суммарн. вычеты 412.24 453.32 413.14 400.61 400.61 507,14 51 Чистые платежи 687.76 783,43 686.86 699.39 699,39 892.86 52 Налогооблагаемые платежи 1034.00 2204.75 3238.75 1034.00 2068.00 3384.00 53 Пенсия на данное число 66.00 132.00 198.00 66,00 132.00 216.00 54 Налог на данное число 273,60 588.28 862,78 260.00 520,00 86853 55 Страхование на данное число 67,16 134.32 201.48 69.13 138,26 207,39 > (6) Информация выведена. Обратите внимание на символ возможности ввода очередной команды Рис. 3.6. Язык команд ПОЗИЦИОННЫЙ ВЫБОР (ЗАПРОС ПО ОБРАЗЦУ) Ьще один тип диалога, известный как «позиционный выбор» («запрос по образцу»), охватывает ряд применений сходных язы¬ ков. Его отличительной чертой является позиционный ввод кри¬ териев выбора, как это более полно описано с приведением при¬ меров в гл.8. Наиболее часто он используется для запроса ин- - 33
формации из файлов и баз данных, хотя может также при¬ меняться и для их обновления. Например, пользователь, желая выбрать некоторую инфор¬ мацию из файла истории продаж, может ввести «ВЫВЕСТИ ИСТОРИЮ ПРОДАЖ». ЭВМ выдает табулированные заголовки полей для этого файла. Пользователь заносит выбранные па¬ раметры в соответствующие колонки: Покупатель Месяц Код Стоимость • Имя покупателя товара 1234 12 >1000 и затем получает табулированный список товаров стоимостью больше 1000 фунтов стерлингов, купленных в декабре покупателем 1234. Этот тип диалога дает лучшие результаты, когда приходится иметь дело с непосредственными данными, которые могут быть легко выведены в виде таблиц. Затруднения могут возникнуть, когда критерии выбора более сложны; следовательно, это будет труднее для случайного пользователя, если только запросы не являются совсем простыми. ШИРОКАЯ ПУБЛИКА Когда системы предназначены для широкой публики, очень важ¬ но, чтобы ими было удобно пользоваться. По этой причине более полезными оказываются те системы, которые имеют самый про¬ стой интерфейс. Наиболее подходящими оказываются простые ме¬ ню или «инструкция — отклик» с минимальным выбором. В настоящее время широко используются банковские системы автоматической выдачи денег. Для них следует применять ап¬ паратуру специального назначения и выбирать диалог, в котором ЭВМ выдает инструкции и задает вопросы. Выбор вариантов осуществляется нажатием кнопок, расположенных вокруг экрана, с помощью которых можно указать любую точку экрана. В бук¬ венных символах нет необходимости, следовательно, их на кла¬ виатуре нет. Важно, чтобы на каждом этапе клиенту было ясно, какая информация требуется; взаимодействие не должно обры¬ ваться на середине, потому что клиенту нужны карточка и деньги, а банку нужно, чтобы терминал был готов обслужить следующего клиента. Следует отметить два достоинства этого способа, нес¬ мотря на отсутствие непосредственного общения со служащим банка: терминалами можно пользоваться 24 часа в сутки, вклЮ' чая выходные дни; некоторые банки предоставляют скидку пр*1 пользовании автоматической выдачей. 34
ГЛАВА 4 ДИАЛОГИ НА ОСНОВЕ ВЫБОРА ИЗ МЕНЮ ПРИГОДНО ЛИ МЕНЮ ДЛЯ НЕПОДГОТОВЛЕННЫХ ПОЛЬЗОВАТЕЛЕЙ? Часто утверждается, что системы на основе меню являются под¬ ходящими для новичков или случайных пользователей. Тем не менее следует помнить, что само по себе использование меню не гарантирует того, что система хорошо спроектирована. Цель настоящей главы — указать факторы, превращающие меню в пол¬ езное средство, и выявить обстоятельства, в которых его следует использовать. Пользователь вправе ожидать, что система будет хорошо структурированной, с предсказуемым переходом от одного набора данных на экране дисплея к другому. В любом случае сходная обработка должна осуществляться сходными действиями. Рас¬ положение пунктов меню на экране должно строиться по одному и тому же образцу при переходе от одного кадра к другому. Тем самым подразумевается, что выбирается формат, подходящий для наибольшего числа кадров. Режим «весь экран» больше подходит для меню, чем режим «строка за строкой», потому что во втором случае пользователь вынужден ждать появления меню на экране или его распечатки. Это зависит от скорости передачи данных. Кроме того, режим «весь экран» допускает более широкое использование инструкций и других средств мощи пользователю. Применение меню уменьшает число символов, которые чатаются пользователем; ввод, таким образом, становится вершенно незатруднительным даже для неумеющих печатать машинке. Ввод может быть упрощен до такой степени, что всегда требуется клавиатура в полном объеме: иногда могут использоваться более простые клавишные устройства. Не следует забывать, что средства, которые могут помочь неопытному пользователю, такие как указание выбора или на¬ поминание о возможностях выбора на очередном шаге, на более опытного могут действовать раздражающе. Если система должна обслуживать и тех, и других, можно предусмотреть альтерна¬ тивные варианты. Это вызывает дополнительные затраты, так что нужно решить, окупятся ли они. Если такие варианты не предусмотрены, должно быть принято обдуманное решение, кому 2* 35 по- пе- со- на не
отдать предпочтение — неопытным пользователям или же более опытным. ГДЕ МОЖНО ИСПОЛЬЗОВАТЬ МЕНЮ? ПОИСК ИНФОРМАЦИИ Система Prestel и другие системы передачи текстовой информации по телесети могут использовать просмотр последовательности ме¬ ню. Если начинать с меню верхнего уровня, то можно пройти иерархическую последовательность шаг за шагом, пока не будут получены требуемые данные. В каждом меню можно выбрать один из предложенных пунктов, перейти к следующей странице на том же уровне или сделать шаг назад; это достигается с помощью небольшой клавиатуры ввода данных, содержащей толь¬ ко цифры и управляющие клавиши. Это основной режим доступа к информации, которая имеется в наличии, и он не свободен от некоторых недостатков. Тратятся время и усилия, чтобы пройти всю иерархическую последова¬ тельность. Тем не менее есть возможность перейти прямо к стра¬ нице с нужной информацией, если известен номер этой страницы, или к промежуточному меню. Оказалось полезным печатать спра¬ вочники с номерами страниц, показывая, где находится опре¬ деленная информация или ключевое меню по интересующему раз¬ делу, хотя, возможно, это неприсуще вычислительной информа¬ ционной системе. Для решения некоторых других проблем было предложено средство поиска по ключевым словам, требующее полной клавиатуры. Поскольку в строке на экране помещается только 40 символов, существует естественное ограничение на число вариантов выбора, которые могут быть отображены на экране. Это может оказаться и достоинством, так как установлено, что человеку трудно вос¬ принимать слишком большое число вариантов. Может быть, «ма¬ гическое» число семь — это то, что надо [23]. Если решено уве личить число пунктов в одной колонке, нужно принять мерь к тому, чтобы из их расположения на экране становилось ясным соответствие между кодами и пунктами. Это может быть до стигнуто либо расположением колонок, либо, если есть возмож ность, использованием цвета (рис.4.1). В компьютеризованном телефонном справочнике Гонконга ис¬ пользование меню дало возможность выбирать наиболее распро страненные фамилии (китайский эквивалент фамилий типа СмШ или Джонс) нажатием двух клавиш до того, как выбирает^ имя, на основе числа штрихов в первой букве фамилии, в» второй и т.д. Это оказалось особенно важно, так как всег< лишь 25 фамилий составляют 50% справочника [19]. 36
1 Бат 8 Оксфорд 2 Бирмингем 9 Пенрит 3 Бристоль 10 Саутгемптон 4 Донкастер 11 Тамуэрт 5 Йорк 12 Уокингем 6 Колчестер 13 У эст-Харт л пул 7 Моркам 14 Хаддерсфилд (а) С номером варианта слева от названия Бат 1 Оксфорд 8 Бирмингем 2 Пенрит 9 Бристоль 3 Саутгемптон 10 Донкастер 4 Тамуэрт 11 Йорк 5 Уокингем 12 Колчестер 6 Уэст-Хартлпул 13 Моркам 7 Хаддерсфилд 14 (6) С номером варианта справа Бат 1 Йорк 8 Рединг 15 Бирмингем 2 Колчестер 9 Саутгемптон 16 Бристоль 3 Ланкастер 10 Тамуэрт 17 Глазго 4 Моркам И Уокингем 18 Донкастер 5 Ньюкасл 12 Уэст-Хартлпул 19 Ист Килбрайд 6 Оксфорд 13 Хаддерсфилд 20 Йеовил 7 Пенрит 14 Эдинбург 21 (в) Номер варианта справа воспринимается как соответствующий соседней колонке, если колонки тесно сдвинуты без разделения сплошными вертикальными линиями или же выделения цветом Рис. 4.1 ОБРАБОТКА данных Все взаимодействие ЭВМ и пользователя можно организовать на основе меню. Предположим, что нас интересует система учета сбыта: ^ее пользователи увидят в очередных меню перечень при¬ менений; операции, которые они хотят провести; сведения о по¬ купателях, которые их интересуют. Такая система позволит даже совсем неопытным в исполь¬ зовании ЭВМ быстро войти в работу. Они необязательно должны 37
полностью использовать систему, если не понимают, к примеру, правил помещения наличных на счет. Следовательно, есть не¬ обходимость в документации, чтобы объяснить все то, что не ясно при взгляде на экран. Следует иметь оперативную воз¬ можность помощи, к которой пользователи могли бы прибегнуть, прежде чем обращаться к печатным руководствам. Если в каком-то месте экрана должен быть выбран ряд па¬ раметров, это можно сделать, поместив на экране несколько мень¬ ших меню. Некоторое неудобство при этом состоит в том, что входные поля оказываются не на обычных позициях, и требуется дополнительное перемещение курсора по экрану. Но если между этими меню существует сильная зависимость или некоторые из них являются дополнительными, то их совместное отображение на экране может оказаться более эффективным. Возможная проб¬ лема связана со значениями параметров по умолчанию: надо ли их точно устанавливать? Может, нужно указать в меню на экране (звездочкой, подчеркиванием, яркостью или цветом), что берется значение по умолчанию. Важно только, чтобы любое соглашение для таких значений последовательно выдерживалось и чтобы на экране пользователя все время высвечивалось; на¬ поминание (или ему было легко найти его) о том, какие значения подразумеваются под этим соглашением. В тех системах, где с течением времени все пользователи переходят в разряд опытных, использование меню имеет меньше преимуществ. Можно вообразить систему, обслуживающую боль¬ шое число пользователей, многие из которых будут случайными. Было бы хорошо всю работу системы построить таким же обра зом, так как это уменьшило бы сложность программного обес печения и сделало бы его более надежным и легким для по¬ нимания. Видно, что, выбирая тип диалога, следует определит! как контингент пользователей системы, так и их возможные тре бования. (В этом примере могло потребоваться применение го раздо более гибкого языка запросов, чем набор детерминиро ванных входных сообщений на основе меню.) ПОЗИЦИОННЫЙ ВЫБОР Были опубликованы примеры систем с позиционным выбором [7] где для каждой колонки требуется свой вариант, как, например в выборке из каталога: 38
Материал Цвет Шерсть 1 Серый Брюки Терилен 2 Синий арт. 45 Полиэстер 3 Коричневый Поли/хлопок 4 Черный Выбор можно сделать, либо одну строку: Б45 3 Черный Рост Размер Полнота 29 28 Большая 31 30 Средняя 33 32 35 34 36 38 40 печатая требуемый вариант в 31 36 Большая либо вводя отметку против одного из кодов в каждой колонке. Заметим, что стандартное движение курсора горизонтально вдоль каждой строки по очереди не очень удобно: курсор должен дви¬ гаться вертикально по каждой колонке, прежде чем перейти к следующей. Перемещения курсора будут обсуждаться ниже. МЕНЮ И ДРУГИЕ ТИПЫ ДИАЛОГА Конечно, меню могут существовать внутри других типов диалога. Они могут появляться внутри диалога «вопрос — ответ» в момент, когда нужно перейти по одному из нескольких направлений. Это сокращает число вопросов. Возможна также постановка вопроса, который допускает один из наборов ответов, но такое меню ответов появляется на экране только по требованию помощи. Этот способ часто применяется в телетайпных системах, особенно в тех, где вывод ограничен десятью символами в секунду. Ве¬ роятно, он менее пригоден там, где используются дисплеи, так как задержка во времени при выводе меню здесь гораздо меньше. ПРОЕКТИРОВАНИЕ ДИАЛОГА НА ОСНОВЕ МЕНЮ ЧИСЛЕННЫЙ ВЫБОР На экране дисплея каждому пункту приписывается число; только это число нужно набрать на терминале. Предпочтительнее вы¬ водить это число справа от соответствующего пункта, чтобы поль¬ зователь мог проследить взглядом по списку до нужного пункта, а затем посмотреть вправо, чтобы определить код, затрачивая меньше умственных усилий. Если словесные части пунктов сильно различаются по длине, вероятно, возникнут затруднения, так как взгляд может соскользнуть с конца слова на соседний код. Так, не вызывает затруднений работа с выбором направления из та¬ кого железнодорожного расписания: 39
Истерн 1 Мидленд 2 Саутерн 3 Скоттиш 4 Уэстерн 5 но не с таким списком курортов: Бат 1 Довер 2 Ньюки 3 Рай 4 Райд 5 Рил 6 Тенби 7 Уэстон-Супер-Мэйр 8 Ясно, что в каждой системе (на самом деле во всех системах, которые будут применяться одиночным пользователем) необхо- димо придерживаться одного из приведенных форматов вывода на дисплей в качестве стандартного. Еще одна проблема возникает, если решено разделить меню на две или больше колонок. Желательно иметь меньшее рас¬ стояние между кодом и относящимися к нему данными, чем между смежными колонками разных данных (см. рис.4.1). БУКВЕННЫЙ ВЫБОР Некоторые рекомендуют чаще использовать буквенный выбор, ког¬ да пользователь печатает первое слово выбранного пункта; на самом деле ему нужно напечатать лишь столько букв, сколько необходимо, чтобы сделать выбор однозначным [17]. Основное достоинство буквенного выбора в том, что пользователю не нужно внимательно рассматривать меню, чтобы найти нужный код. Есть также и некоторые неудобства. Требуется печатать больше, что делает ввод затруднительным для нетренированных в машино¬ писи; проектировщики могут оказаться склонными выбирать слова по собственному усмотрению, а не более полезные для поль¬ зователей. Этот метод не рекомендуется, если пользователь не¬ достаточно знаком с предлагаемыми вариантами. Буквенный выбор может непосредственно использоваться при поиске данных. Например, печатая две первые буквы фамилии покупателя, можно было бы вывести на экран все фамилии, начинающиеся с этой комбинации, и пользоваться этим списков в качестве дальнейшего меню, из которого затем может быть сделан выбор. Буквенный выбор можно использовать в системе Prestel, где применение ключевых слов дает возможность перехода к нужной 40
странице без прохождения всей иерархии. Схожим образом в других системах на основе меню возможна замена обычно ис¬ пользуемых последовательностей меню одной «макрокомандой», которая может вызываться либо командой, либо ключевым сло¬ вом, либо введением в соответствующем месте меню выбора «ма¬ крокоманды». ИСПОЛЬЗОВАНИЕ КЛАВИШ СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ Клавиши специального назначения обычно называются функци¬ ональными, программируемыми или управляющими. Они могут быть использованы для выбора пунктов непосредственно из меню; так, клавиша 1 выбирает пункт 1 и т.д. Но тогда число вариантов выбора ограничивается числом наличных функциональных кла¬ виш, поэтому не рекомендуется их применять в стандартных системах. СПЕЦИАЛЬНАЯ КЛАВИАТУРА При работе с ЭВМ в интерактивном режиме в большинстве систем рекомендуется использовать обычную алфавитно-цифровую клавиатуру. Это делает систему более гибкой и дешевой по сравнению со случаем, когда выбирается клавиатура специального назначения с клавишами, выполняющими специальные функции Бывают случаи, такие как работа с автоматическими банковскими терминалами (используют одну из форм меню), когда необходимы специальные терминалы, и, возможно, эта тенденция распростра¬ нится на другие системы, имеющие сложные терминалы. ПЕРЕМЕЩЕНИЕ КУРСОРА И ДРУГИЕ УСТРОЙСТВА ВЫБОРА Можно выбирать пункты из меню, подводя курсор к соседнему с именем пункта полю (или даже к самому имени) и затем проводя операцию дальнейшего ввода. Перемещение курсора вниз, вверх и поперек нажатием клавишей управления курсором было бы слишком медленным. Следовательно, должны приме¬ няться позиционно-зависимые клавиши перескока, потому что с их помощью желаемая позиция достигается гораздо быстрее. Если имеется более одной колонки пунктов, то стандартным будет такое движение курсора: 1 2 3 4 5 би т.д. Но для человека предпочтительнее просмотреть сначала левую колонку, прежде чем начинать просматривать правую: 41
1 2 3 4 5 6 Нужно размещать списки и передвигать курсор так, как во втором случае, если только это допускается программным обес¬ печением. Другие устройства, которые осуществляют гораздо более бы¬ строе перемещение курсора, чтобы непосредственно выбирать пун¬ кты из меню, — это световое перо, «мышь», графический планшет, рычажный указатель, перемещающийся мячик. Использование этих устройств, а также сенсорного экрана будет обсуждаться дальше в гл. 10. ОРИЕНТАЦИЯ ПОЛЬЗОВАТЕЛЕЙ Использование систем на основе меню является подходящим для неопытного или случайного неподготовленного пользователя, по¬ тому что в любой момент диалога оно дает ему возможность получить ответы на ключевые вопросы: «Где я?» - На странице 5 (или где-то еще). «Что я сейчас могу делать?» - Все, что в меню, плюс стандартные действия (или текущие, если они отличаются), плюс сообщения о помощи. «Откуда я пришел?» - В распоряжении пользователя должны иметься стандарт¬ ные функции, чтобы позволить ему сделать шаг назад в диалоге. Нелестные отзывы о меню исходят в основном от тех, кто не желает, чтобы его «кормили из ложечки», а хочет пройти диалог побыстрее. ГЛАВА 5 ДИАЛОГ «ВОПРОС —ОТВЕТ» КАК РАБОТАЕТ ДИАЛОГ «ВОПРОС — ОТВЕТ» Диалог «вопрос — ответ», известный еще как диалог «инструк¬ ция — отклик», ведется в точности так, как подразумевается в его названии. ЭВМ задает вопросы (дает инструкции), на ко¬ торые пользователь дает ответы (отклики). Случайные пользо- 42
Привет, это Ваша ЭВМ Как Ваше имя? Фред Извините, но никому с таким именем не разрешено использовать ЭВМ. Пожалуйста, введите свое имя опять Фредерико Имена ограничены 8 символами. Попытайтесь опять Фредерик Теперь введите пароль (он не отображается) Фредерик имеет право использовать - систему выписывания счетов-фактур - пакет анализа финансового состояния Вам нужна система выписывания счетов-фактур? Нет Значит, Вам нужен пакет анализа финансового состояния, правильно? Да * * * * Пакет анализа финансового состяния НВЦ Вы знаете, как пользоваться системой? Да За сколько лег анализ и на какой срок прогноз? 5Д Какая группа? ИБМ Такой группы нет. Попробуйте еще ИТР Хорошо, анализ сейчас будет проведен Рис. 5.1. Диалог «вопрос — ответ», показывающий удобство исправления ошибок ватели находят, что такой диалог является легким для понимания и удобным в работе, особенно когда в случае каких-то затруд¬ нений предусмотрены средства помощи (рис.5.1). Этот тип диалога хорошо применять в режиме «строка за строкой», так как было бы расточительством использовать для одного ответа целый экран. У пользователя нет затруднений в определении того, в каком месте диалога он находится, так как он может посмотреть на дисплее или в протоколе диалога, что происходило до этого. Может быть, не всегда ясно, какие действия он может предпринять в качестве ответа на очередной вопрос. Так как эффективность использования такой системы за¬ висит в некоторой степени от представления пользователя о том, 43
что он может с ней делать, то подразумевается наличие либо документации, либо какого-нибудь встроенного механизма, опи¬ сывающего систему. Во многих случаях это обеспечивается ин¬ струкцией по использованию системы. КАК ЛУЧШЕ ИСПОЛЬЗОВАТЬ ЭТОТ ТИП ДИАЛОГА Диалоги такого типа лучше всего использовать .там, где для требуемой обработки нужно пройти одним из заранее опреде¬ ленных маршрутов, входящих в соответствующий набор. Напри¬ мер, их можно использовать для установления параметров кон¬ кретной системы (такой, как система финансового планирования), которая может работать по одному из нескольких слегка раз¬ личающихся способов. Вместо того чтобы требовать фиктивного ввода, можно сделать так, что программа будет обходить ввод неприменяющихся параметров. В пакетной системе это были бы параметры, подставляемые во время исполнения программы. Если пользователь допустил непоправимую ошибку при вводе пара¬ метра, он видит это сразу, и нет необходимости ждать печати сообщения об ошибке. Вводить большой объем данных с помощью такого диалога неразумно; ожидание очередного вопроса длится слишком долто по сравнению с работой в режиме «весь экран». Если системы с таким типом диалога предназначены для об¬ щего пользования, число возможных ответов должно быть сведено к минимуму. Например, система для составления истории болезни (ее демонстрационный вариант можно видеть в Лондонском музее науки) работает только с тремя возможными клавишами, по¬ меченными «ДА», «НЕТ», «НЕ ЗНАЮ». Диалог построен таким образом, что извлекается достоверная информация. НЕКОТОРЫЕ МОМЕНТЫ ПРОЕКТИРОВАНИЯ Так как от пользователя требуется (при ответе на задаваемый зопрос) только ввести данные в месте, где в данный момент находится курсор, ему не нужно изучать, как двигать курсор по экрану. Единственное, за чем нужно проследить, когда этот тип диалога применяется на видеотерминале, — это за алгоритмом перехода от страницы к странице. Выбор лежит между (а) пере¬ движением выводимых данных всякий раз, когда вводятся новые данные, так что экран всегда заполнен последними данными, и на экране внизу есть место для очередного ответа, и (б) ожиданием, пока экран заполнится, стиранием информации на экране и вновь заполнением чистого экрана, начиная сверху- В варианте (а) быстро и непрерывно движущиеся данные 44
на экране могут запутать пользователя и вызвать у него раз¬ дражение, хотя он всегда будет точно знать, где найти последнюю команду; в то же самое время в варианте (б) он также может запутаться, потому что не имеет возможности посмотреть назад — на предыдущий диалог. Поэтому обычно находят какие-либо лег¬ кодоступные средства, чтобы просматривать страницы вперед и назад по диалогу; самые последние страницы являются самыми ценными, им следует отдать предпочтение, если есть какое-нибудь ограничение на число запоминаемых страниц. Если есть намерение добиться эффективной результирующей обработки, то вопросы следует задавать в логичном порядке. В любом случае пользователь, вероятно, будет раздражен, если система потребует у него информацию, которую он уже давал; может быть, этого не всегда можно избежать, но он имеет право рассердиться, если такое случается часто. С другой сто¬ роны, пользователь может выразить желание давать информацию в последовательности, которая противоречит логике ЭВМ; это необходимо принимать во внимание еще на этапе проектирования, когда с пользователем консультируются. Например, привычнее сначала указать фамилию и затем адрес, чем давать почтовый индекс, затем город, фамилию и остальную часть адреса; по логике ЭВМ почтовый индекс может считаться старшим ключом и его ввод требуется в начале. ПОНИМАНИЕ ВОПРОСА Принципиально важно сформулировать вопрос таким образом, чтобы его можно было легко понять и чтобы было ясно, какого ответа ждать. Если подходят два ответа и оба имеют одинаковый смысл, очевидно, хорошо будет допустить любой из них. На¬ илучшей гарантией того, чтобы пользователи действительно по¬ нимали вопросы, будет привлечение их к проектированию си¬ стемы; следующий пример показывает, что и это, однако, не является защитой от неумелого обращения. В одной из частей системы прогнозирования финансового со¬ стояния пользователи должны были сначала «просмотреть» все свои данные, чтобы удостовериться в их наличии и отсутствии ошибок. Программу для этой части системы составлял как раз представитель пользователей. Он сформулировал вопрос «Прос¬ мотр данных о’кей?», но большинство других пользователей не могли запомнить, означало ли это «Просмотренные данные в порядке?» или же «Хотите просмотреть данные?». В частности, не несло полезной нагрузки слово «просмотр», так как оно ис¬ пользовалось как жаргон, чтобы не давать более длинную и олее значащую фразу. 45
Очень легко задать вопрос, ответ на который неочевиден. В качестве достаточно тривиального примера можно привести игры, включающие пространственное движение, которые были перенесены с телетайпных систем; слово «вперед» применялось для обозначения «к низу страницы» на том основании, что «на¬ зад» означало « назад, через то, что уже сделано». Когда эти игры появились на экране дисплея, более привычно было бы представлять движение «вперед» как движение вверх по экрану по аналогии с чтением карты. Следовательно, ' всегда хорошо бы попросить кого-нибудь еще, лучше не программиста или про¬ ектировщика, просмотреть диалог на раннем этапе, когда еще нетрудно внести изменения. ИСПРАВЛЕНИЕ ОШИБОК Диалог «вопрос — ответ», если ответы не слишком ограничены по длине, в большей степени, чем выбор из меню, требует от пользователя владения навыками машинописи. Связанные с этим проблемы могут быть преодолены, если программное обеспечение способно обеспечивать обнаружение некоторых ошибок, а также их исправление. Так как диалог определен до такой степени, что в каждый момент имеется лишь ограниченное число пра¬ вильных ответов, во многих случаях можно не только проверять правильность ответов, но и пытаться выбрать или предсказать правильный ответ. Были проведены исследования возможности предсказания по мере печатания того, каким может быть на¬ иболее вероятный ответ [33]. (Этот способ предсказания требует такого интерактивного режима, когда символы распознаются по мере ввода, а не после нажатия клавиши «Ввод» или «Посыл»; это свойство не существенно для достижения более надежной проверки достоверности, так как она может быть проведена, когда вся строка или все слово «посылается» в ЭВМ.) Очень важно удостовериться в том, что пользователь не полу¬ чает сведений, не относящихся к диалогу. Он не хочет получать неясные сообщения об ошибках, принадлежащие системе или языку; таких сообщений следует избегать (рис.5.2(а) и (б)). Чтобы вопросы и ответы сделать более наглядными, их следует размещать на отдельных строках, особенно если потребуется пе¬ чатная копия диалога. Поиск ответа затрудняется, если ответ может появиться в произвольном месте строки (рис. 5.2(b)). Несущественно предварять место для ответа символом указания, выдаваемым ЭВМ (хотя такой символ означает тем не менее, что ЭВМ ожидает ввода, и это иногда может оказаться по¬ лезным). В частности, не является удобным сдвиг ответов поль¬ зователя на несколько позиций, так как при этом во время 46
Что Вы хотите сейчас делать? Пойти домой Х2379 Неверно (а) Не используйте шифрованные сообщения Пожалуйста, введите правильный вариант. Чтобы узнать возможности, напеча¬ тайте список (б) Возможная альтернатива сообщению об ошибке в (а) Привет, как Ваше имя? Фред Извините, такого имени не знаю. Попробуйте еше: Фредерико Извините за придирки, все имена не больше 8 символов: Фредерик (в) Не располагайте входное поле в разных местах на каждой строке. Либо начинайте с новой строки, либо, по крайней мере.'выравнивайте строки Рис. 5.2. Примеры неудачного диалога просмотра взгляд следует по неровной линии (рис.5.3). Удобным является выделение особенно важных пунктов (таких как переход от одной программы к другой, если это важно для пользователя) с помощью пустых строк, рядов звездочек, горизонтальных линий и т.д. Хотя в этой главе предполагалось ограничение диалога во¬ просами и ответами, на самом деле вполне вероятно, что: - множественный выбор лучше обеспечивается с помощью ме¬ ню; - при вводе данных используется какой-нибудь из форматов кадра с предварительной установкой, как описано в гл. 6; - чтобы иметь дело с особенно часто встречающимися по¬ следовательностями вопросов, можно предусмотреть команду опре¬ деленного формата или макрокоманду; - можно встроить средства «обработки по умолчанию», ко¬ торые при начальном включении будут распознавать требования, наиболее вероятные для данного пользователя. Такие средства могут использоваться для обхода серии вопросов, нужных для подготовки необходимой обработки, в случае стандартных ответов. 47
Назовите свое имя Фред Неизвестно, попробуйте еще раз Фредерико Слишком много символов, попробуйте еще раз Фредерик (а) Такое расположение неудобно для чтения и уменьшает место, отведенное для команды Назовите свое имя Фред Неизвестно, попробуйте еще раз Фредерико Слишком много символов, попробуйте еще раз Фредерик (б) Расположение ответов лучше, чем в (а) Сравните с рис. 5.1, где отступов нет вообще Рис. 5.3. Расположение ответов с отступами ДОСТОИНСТВА И НЕДОСТАТКИ ДОСТОИНСТВА Следовать диалогу «вопрос — ответ» нетрудно; это могут делать пользователи с разным уровнем подготовки. Этот тип диалога используется в очень многих демонстрационных и игровых си- стемах, так как он доступен широкой аудитории. Пользователям не требуется помнить слишком много, если только необходимые ответы не очень сложны или запутанны. Диалог этого типа может использоваться как на телетайпных терминалах, так и на дис¬ плеях. Этот диалог может оградить пользователей от сложной обра¬ ботки, которой они не слишком интересуются — им хочется видеть конечный результат. Он не требует многого для обучения поль¬ зователей, если только они знакомы с терминалом. 48
НЕДОСТАТКИ Диалог должен соответствовать каждому конкретному приложе¬ нию. Это может оказаться дорогостоящим. Кроме того, система может потерять гибкость, если структура диалога зафиксирована. Диалог этого типа требует от пользователей более высокого уров¬ ня владения навыками машинописи, чем это необходимо для выбора из меню. Возможность использования сокращений отчасти снижает требуемый уровень. Поскольку диалог происходит по¬ строчно, пользователь не получает столько «путеводных нитей» к тому, что будет дальше, сколько он их получает в режиме «весь экран». ГЛАВА 6 ОТВЕТЫ С УКАЗАНИЕМ И ЗАПОЛНЕНИЕ БЛАНКОВ ДВА ТИПА ИЛИ ОДИН? Иногда ответы с указанием и заполнение бланков рассматри¬ ваются как два совершенно независимых типа диалога: первый, когда команда указывает свои разнообразные параметры, и вто¬ рой, когда код входного сообщения вызывает бланк для ввода данных. Из последующего рассмотрения будет видно, что оба типа действуют весьма сходным образом и что к обоим могут быть применены одни и те же принципы проектирования. Это может показаться удивительным для тех, кто работал с диалогом «ответ с указанием» в режиме «строка за строкой» (рис. 6.1). Как только используется режим «весь экран», их схожесть ста¬ новится очевидной. КАК ОНИ РАБОТАЮТ Когда пользователь печатает либо команду, либо входное со¬ общение, он видит на экране бланк для ввода данных: это могут быть параметры для команды или данные, требуемые для входного сообщения. Многословность для каждого случая зависит °т того, насколько проектировщик проникается потребностями пользователей. Следовательно, в общем случае, чем нерегулярнее использование системы, тем больше указаний требуется поль¬ зователю. Он может нуждаться и в средствах помощи как для 49
> Формат Какой файл? Устройство? Персон01 Дисплей Имя поля Тип Начальн. позиция Ширина Код Б 1 7 Имя Б 20 9 Инициалы Б 30 3 Отдел Б 34 4 Платежи на данное число Ч 38 9 Налог на данное число Ч 48 Пенсия на данное число Ч 58 9 Конец Число Заголовок десят. позиций Не заполнены 2 ’ Текущий/Сумма платежей’ За год'/' Налог на данное' 2 число' 2 /’Пенсия'/'Вычеты’ Ответы с указанием заполнены в режиме ’строка за строкой', но с трафаретом для ввода параметров поля. См. также рис. 3.4 и 35 Рис. 6.1. Команды и ответы с указанием понимания основных значений команд и параметров, так и для того, чтобы сделать более полным использование всех средств, предлагаемых системой. Наиболее существенная разница между этим типом диалога и предыдущими двумя в том, что он предоставляет пользователю гораздо больше возможностей управления процессом обработки. Наличие команд сразу вводит его в желаемое место процесса обработки, без прохождения нескольких меню или заранее опре¬ деленных вопросов. Следовательно, пользователю нужно помнить команды — вот почему рекомендуется, чтобы их названия не были бессмысленными. Для тех, кто не может запомнить команды, нужно предусмотреть меню, указатели, средства помощи или до¬ кументацию. Во многих системах используются краткие спра¬ вочные карточки. В режиме «строка за строкой» параметры должны вводиться в заданной последовательности; после утомительного ввода всех параметров небольшим утешением может быть ответ «Нет» на вопрос «Есть ли еще какие-нибудь параметры?». Используя ре- 50
^им «весь экран», пользователь имеет больше свободы в за¬ полнении полей данными и выбирает нравящуюся ему очередность заполнения. Пользователю необходимо выучить, как использовать клавиши управления курсором, чтобы перевести его в требуемую позицию. Пользователь может быть ограничен в своих действиях одной страницей или же иметь способ перейти ко второй (или к третьей) и вернуться назад. ТИПИЧНЫЕ ПРИМЕНЕНИЯ Заполнение бланков — наиболее распространенный тип диалога для ввода данных. Поля ввода могут иногда проверяться на правильность вводимых данных (например, при вводе чисел) ав¬ томатически; клавиатура может даже блокироваться, чтобы вос¬ препятствовать дальнейшему вводу данных. Часто в конце поля ставится символ автоматического перевода, который заставляет курсор переместиться прямо в начало следующего поля, если текущее поле заполнено до конца. (Особенно часто здесь стал¬ киваются с проблемами начинающие, если они не замечают, что курсор переместился.) Тот же самый тип диалога весьма распространен в управлении целыми оперативными системами, где каждому возможному дей¬ ствию приписан код входного сообщения. Например, система вво¬ да заказов могла бы состоять из следующих входных сообщений: Новый заказ Исправление заказа Запрос заказа Новый покупатель Исправление имени покупателя Запрос покупателя Обновление продукции Запрос продукции Прейскурант Список неоплаченных заказов Ввод кода вызывает появление бланка, в который пользо¬ вателем вписываются ключевые поля, причем за ними идет либо выдача информации, либо дальнейший ввод данных, либо из¬ менение содержимого экрана. Когда число вводимых данных не¬ велико, число передач (и, следовательно, общее время ответа) может быть уменьшено, если можно вводить вместе ключевые поля и другие данные. Код нового входного сообщения может вводиться в конце предыдущего, и опять иногда есть возможность сократить время, если ключ можно ввести с кодом входного сообщения. Проблемы, которые надо решить, касаются разме¬ щения ключевых полей и, что более важно, — их обозначения 51
соответствующим образом. Если их не удается выделить, то, следовательно, эго не будет представлять затруднений только для самых регулярных пользователей. Ответы с указанием могут использоваться там, где требуются языки, основанные на командах. Это относится как к языкам запросов, так и к системам управления данными общего наз¬ начения, которые дают возможность пользователю заводить свои собственные файлы данных. Имеющиеся в наличии команды обес¬ печивают ему возможность контролировать и корректировать эти файлы, печатать либо выводить на экран результаты более или менее изящным способом в соответствии с предпринятыми для этого затратами. По мере того как такие системы перерастают рамки простых систем, они становятся гораздо менее подходя¬ щими для случайных пользователей, несмотря на то, что каждая команда указывает требуемые параметры. Часто, тем не менее, строки команд соединяются проектировщиком вместе, чтобы сде¬ лать систему более подходящей для неподготовленных пользо¬ вателей. Пользователь может потренироваться на подмножестве имеющихся команд. Тогда возможность указать параметры для каждого ответа освобождает пользователя от их запоминания. Даже опытные пользователи могут найти это полезным для тех команд, которые они используют редко или которые имеют осо¬ бенно сложный набор параметров. Самые нерегулярные поль¬ зователи будут считать такой тип диалога неподходящим, если только команды не будут заменены на меню. НЕКОТОРЫЕ УКАЗАНИЯ ПО ПРОЕКТИРОВАНИЮ Самое главное — убедиться по возможности, что количество вы¬ водимой на экран информации таково, что она не выглядит на нем расположенной совершенно беспорядочно. Имеется ряд способов, с помощью которых можно улучшить вид информации на экране. Они включают использование строчных символов и объединение информации в группы так, чтобы входные поля и связанные с ними указания или имена полей выводились ко¬ лонками, а не как попало. Если дисплей цветной, можно ис¬ пользовать цвет для выделения различных областей экрана; как цвет, так и изменение интенсивности могут привлечь внимание к особенно важным полям. Той же самой цели могут служить символы в негативном отображении, но ими не следует зло¬ употреблять, если только белое поле не совершенно свободно от мерцания и чрезмерного блеска. Очень часто кажется, что будь экран чуть-чуть побольше, его было бы гораздо легче приспособить к нуждам проекти¬ рования; в этом нет никаких сомнений — только бы он был по' 52
больше! Иногда имеется слишком много информации, которую требуется вывести на один кадр, но проектировщик не может заставить пользователей решить, какую информацию отнести к излишней. В одном примере пользователи имели дело только с первой полудюжиной полей в первой колонке в течение почти всей своей работы, но иногда им требовалось взглянуть на не¬ которые другие из множества пунктов, имевшихся на экране. В качестве более изящного решения было предложено иметь основные поля на одном дисплее с тем, чтобы остальные по требованию пользователей появлялись на отдельном экране или накладывались на кадр основного дисплея. В этом случае поль¬ зователи решили, что могут иногда пропустить что-нибудь важное, и настояли на том, чтобы иметь один, пусть даже чрезмерно заполненный, экран; кто может сказать, что они неправы? Важна также последовательность ввода параметров. Основные должны всегда появляться первыми, а второстепенные, которые при необходимости могут быть опущены, если не относятся к делу, должны следовать за ними. Особое внимание следует уде¬ лить полям, которым значения могут приписываться по умол¬ чанию; эти значения полезно выводить на экран и спрашивать пользователя о необходимости ввести другие значения. Для пользователя должно быть совершенно ясно, каким дей¬ ствием достигается ввод «чистого» поля. В одних системах рас¬ познается символ пробела сам по себе; в других применяется специальный символ типа «СТЕРЕТЬ ДО КОНЦА ПОЛЯ». Это может оказаться отдельной проблемой, если есть пользователи, которые знакомы с обоими методами. Так же как и с меню, если требуется размещение полей по колонкам, необходимо решить (или, предпочтительнее, пре¬ доставить это право пользователям), как это сделать: 1 5 1 2 6 3 3 7 или 5 4 8 7 2 4 6 8 Хотя в восприятии сразу всех данных на экране есть свои преимущества, диалог ответов с указанием может работать в режиме «строка за строкой», в котором пользователь отвечает На запросы по мере их поступлений. В этом случае меньше проблем с размещением данных на экране, так как длина команд и возможных ответов не ограничена размером экрана. Есть также возможность сделать диалог в большей степени соответствующим потребностям пользователя, так как с помощью программного °беспечения можно обойти параметры, от которых пользователь отказался в предыдущих ответах. 53
Диалоги, использующие этот тип, можно спроектировать таким образом, что опытные пользователи не будут ждать указаний. Они могут соединять вместе все свои ответы (рис.6.2). (Иногда в качестве разделителей достаточно пробелов; иногда применяется двоеточие или точка с запятой.) При этом система может раз¬ вернуть такую строку ответов во что-то, похожее на диалог, или же просто выполнять требуемую обработку. Могут наблю¬ даться странные эффекты, если один из параметров в строке введен неправильно, поскольку последующие ответы восприни¬ маются так, как если бы они были реакцией на сообщения об ошибках. Если похоже, что системой будут пользоваться как опытные, так и неподготовленные пользователи, имеет смысл предусмотреть возможность объединения команд в программном обеспечении обработки диалога. Такая возможность уже существует в ряде языков, предлагаемых различными поставщиками; ее следует пре¬ дусмотреть на этапе сравнения вариантов еще до приобретения системы. Может оказаться важным иметь возможность (особенно для систем общего назначения) изменять словесное выражение ко¬ манд, указаний, запросов о помощи и сообщений об ошибках, если есть опасность их неправильно понять или спутать. Это может случиться, если конкретное слово имеет локальное значение или команда используется в еще одной системе и имеет другой смысл. Очевидно, такие изменения должны быть сделаны для всех пользователей конкретной системы, и следует позаботиться о случаях, когда необходимо обратиться к разработчикам пер¬ воначального программного обеспечения. > Формат Персон01 Дисплей Код Б,1,7; Имя Б.20,9; Инициалы Б.30,3,.Не заполнены, Отдел Б.34,4; Платежи на данное число 4,38.9,2' Текущий/Сумма платежей; Налог на данное число 4,48.9.2. За год’/' Налог на данное число; Пенсия на данное число 458.9,7‘Пенсия’/’Вычеты';Конец Та же самая команда, как и на рис.6.1, набранная слитно в режиме "опытного пользователя" Рис. 6.2. Ответы с указанием в случае опытного пользователя 54
КРАТКОЕ ЗАМЕЧАНИЕ Типы диалогов «ответ с указанием» или «заполнение бланков» дают своим пользователям свободу в выборе команд, но после того, как решение о применяемой команде принято, вся даль¬ нейшая необходимая информация им указывается. Это приемлемо для пользователей, которые не хотят запоминать полный язык команд, но не для опытных пользователей, поскольку по той же причине этот тип диалога более многословен. ГЛАВА 7 ЯЗЫКИ КОМАНД ЧТО ТАКОЕ ЯЗЫК КОМАНД? Язык команд иногда называют «прямым режимом». В нем поль¬ зователь либо управляет ЭВМ с помощью команд, за которыми следуют необходимые параметры, либо задает вопросы, чтобы получить информацию, содержащуюся в файлах ЭВМ. Предпо¬ лагается, что пользователь печатает команду полностью; затем ЭВМ проверяет правильность этого ввода, чтобы удостовериться, что он удовлетворяет правилам грамматики языка, производит необходимую обработку и ждет следующую команду. Синтаксис в некоторых языках команд может приближаться к синтаксису естественного языка, но это несущественно (рис.7.1). Вывести Персфайл с Имя, Отдел. Код темы, Оклад (а) Если формат вывода содержится в файле-словаре определений/данных, нет необходимости определять его каждый раз для команды "Вывести" Вывести Персфайл с Имя ЛЮ. Отдел. Код темы, Оклад 999 (б) Указание нестандартного формата Рис. 7.1. Язык команд 55
ЦЕЛЬ: ЕСТЕСТВЕННЫЙ ЯЗЫК? Многие рассуждали о возможности «беседы» с ЭВМ на есте¬ ственном языке. Реальна ли такая надежда? (Следует сразу же отметить, что в этой главе обсуждается «беседа» с исполь¬ зованием алфавитно-цифровой клавиатуры и экрана дисплея для ввода и вывода. Возможности и проблемы речевого ввода и вывода обсуждаются в гл. 10.) Говорят, что при использовании естественного языка можно будет приказывать ЭВМ, что делать, так, как если бы задание давалось человеку. И тогда не было бы никакой необходимости стараться запоминать длинные (и даже короткие!) строки слов, составляющие команды и их параметры. К несчастью, естествен¬ ный язык не точен! Это означает, что компьютерный транслятор (или процессор диалога) должен успешно справляться с широким диапазоном вариантов ввода, большинство из которых никогда не реализуется. В любом случае это потребовало бы гораздо больших вычислительных мощностей, чем возможно с экономи¬ ческой точки зрения. ДОЛЖЕН ЛИ ЯЗЫК КОМАНД ВЫГЛЯДЕТЬ КАК ЕСТЕСТВЕННЫЙ ЯЗЫК? Следует ли спорить о том, как важно, чтобы язык команд выг¬ лядел подобно естественному, даже если он состоит только из ограниченного подмножества естественного языка как целого. В настоящее время уже имеются языки запросов, которые допу¬ скают их формулировку в виде вопросов, а не команд (рис.7.2). Таким образом, пользователь может напечатать «Кто самый ста¬ рый из заведующих отделами сбыта? » вместо «Выбрать за¬ ведующего отделом сбыта с наименьшим годом рождения» или «Составить список заведующих отделами сбыта; упорядочить спи¬ сок (по возрастающей) с ключом «год рождения»; выдать первую строку». Для того чтобы использовать вопрос такого типа, про¬ цессор диалога должен «понимать», что означает «самый старый». На самом деле он может быть запрограммирован таким образом, что если используется непонятное слово, процессор спрашивает пользователя о правиле, объясняющем использование этого слова. Это возможно лишь тогда, когда структура вопросов ограничена таким образом, что ЭВМ по меньшей мере понимает, какое слово ожидается; и пользователь должен понимать возможности языка, позволяющие ему задавать новые правила. Без такой возмож¬ ности «нового правила» обычному пользователю пришлось бы обращаться к эксперту, чтобы суметь ввести запрос в систему. 56
> Найти персонал пол "Ж" и рост > 1.60 > Рассортировать по отделам, номерам платежных ведомостей > Вывести отдел, номер платежной ведомости, фамилию, рост (а) Режим диалога на языке с ограниченной грамматикой Кто из женщин ростом выше 1.60? (б) Режим диалога на естественном языке Но есть масса других способов задать тот же самый вопрос! Сможете Вы справиться со всеми? Рис. 7.2. Язык команд Обычно в естественном языке есть много способов, которыми можно выразить команду. Проблема для процессора диалога — решить, сколько способов допускается. Если допустим один способ (или даже два), пользователь должен знать его; становится все труднее оправдывать способ достижения результата, который выглядел бы как естественный язык, так как пользователи точно так же могли бы выучить и другие конструкции. За исключением самых простых форм, языки команд предназначены для опытных пользователей, которые будут в состоянии выбрать конструкцию и синтаксис. КАК МОГУТ ИСПОЛЬЗОВАТЬСЯ ЯЗЫКИ КОМАНД? ЯЗЫКИ УПРАВЛЕНИЯ СИСТЕМОЙ Часто языки команд находят применение в форме языков упра¬ вления системой (или управления задачами), действующих как буфер между пользователем и его системами, файлами, про¬ граммами и задачами. Хотя они могут быть выучены в ми¬ нимальном объеме пользователями со сравнительно небольшими способностями (обычно для управления весьма ограниченным чис¬ лом вариантов), оказывается, что нерегулярные пользователи не хотят изучить (или не в состоянии запомнить) язык управления, если они не пользуются им достаточно часто. А для более опытных регулярных пользователей оказывается Удобным иметь такое средство, как команды, которое не за¬ ставляет их ждать указаний. Им нравится экономить время, печатая одну длинную команду вместо серии коротких. Более 57
того, оказывается, что такие пользователи очень скоро начинают применять все допустимые сокращения и способы кратчайшего выражения команд, чтобы уменьшить время печатания. Кажется, они не хотят «более естественного» языка, потому что он ока¬ зывается для них неудобным или неэффективным. Там, где более опытных пользователей (например, специалистов по информатике) просят выполнить работу для других, такая привычка сокращать все, что только возможно, может сослужить плохую службу. Их «клиенты», глядя на экран из-за плеча опытных пользователей или читая распечатку протокола диалога, хуже понимают со¬ кращенную версию, чем полную. В таких случаях хорошим вы¬ ходом является автоматический перевод сокращенной формы в полную, выполняемый программным обеспечением. языки ЗАПРОСОВ Язык команд типа языка запросов можно применять для справок (в файлах или базах данных). Но здесь такой тип диалога подходит только для тех, кто собирается использовать систему регулярно. Менее постоянные пользователи обычно нуждаются в помощи большей, чем могут предоставить такие языки, хотя эти пользователи могут для своих конкретных целей выучить отдельные команды. ОБРАБОТКА ДАННЫХ ОБЩЕГО НАЗНАЧЕНИЯ Если язык команд, выполняющий функции языка запросов, может использоваться для доступа к информации с целью отображения ее на экране или распечатки, он точно так же может пре¬ доставлять пользователям возможность манипулировать файлами и обновлять информацию. И опять этот тип диалога оказывается подходящим только для регулярных пользователей. Для потенциальных покупателей систем необходимо рассмо¬ треть некоторые аспекты безопасности хранения данных — напри¬ мер, должным ли образом контролируются данные и какие име¬ ются меры предосторожности против несанкционированной кор¬ ректировки информации. Во многих установках, где используются языки, позволяющие корректировку «по случаю», такие команды либо блокируются, особенно если они касаются главных систем¬ ных файлов, либо их использование разрешается только огра¬ ниченному кругу старшего персонала в чрезвычайных случаях. В этом нет необходимости, когда язык используется только для обновления личных файлов, доступных лишь своим «владельцам». 58
УКАЗАНИЯ ПО ПРОЕКТИРОВАНИЮ Приемлемость рассматриваемых командных языков не зависит от «естественности» допускаемых структур. В самом деле, если разрешены сокращения, полных форм стремятся не применять. Чего следует избегать, так это использования в языке специ¬ альных символов, особенно таких, которые требуют нажатия до¬ полнительной клавиши; например, знак равенства часто исполь¬ зуется для соединения ключевых слов со своими параметрами (СЕРВИС = СТАНДАРТ). Однако, если первое слово распоз¬ нается как ключевое, в знаке = нет необходимости; на боль¬ шинстве клавиатур печать этого знака требует нажатия допол¬ нительной регистровой клавиши и добавляет очень мало или вообще ничего не добавляет к пониманию команды. Если для различения данных и имен данных требуется особый символ, такой как кавычки или скобки, лучше, если он находится в том же регистре, что и символы алфавита. Появляется много языков команд (таких как экранные или файловые редакторы), спроектированных так, что для основных команд выбраны слова, которые могут быть сокращены до на¬ чальных букв. Это сделано в качестве средства обеспечения «ре¬ жима опытного пользователя», в котором регулярный пользо¬ ватель может следовать кратчайшим путем. К сожалению, это ведет к ситуации, когда в разных системах одни и те же на¬ чальные буквы могут означать CREATE (создать) или CHANGE (изменить), APPEND (добавить) или ADD (сложить), MOVE (передвинуть) или MODIFY (модифицировать). У тех, кто поль¬ зуется не одной системой, могут возникнуть проблемы с за¬ поминанием. Рекомендуется, если используются сокращения, что¬ бы в ответ на экране появлялись слова в полной форме. Если есть опасность повредить файлы, пользователю должна быть пре¬ доставлена возможность исправления ошибки, прежде чем это произойдет, в противном случае следует предусмотреть процедуру восстановления. В целях стандартизации предлагается, кроме того, допускать сокращения во всех командах, если они допустимы хотя бы в одной. Там, где это ведет к недоразумению (т.е. сокращение разных команд дает одну и ту же краткую форму), оказывается необходимым печатать столько букв команды, сколько необходимо для однозначности в пределах данного языка (рис.7.3). Допол¬ нительные команды (или макрокоманды) и команды для замены исходных команд, если такие допустимы, следует создавать так, чтобы они соответствовали тем же правилам сокращения. Воз¬ можность замены команд пользователями может быть очень цен- 59
ним средством, если какая-нибудь из команд языка имеет кон¬ кретное локальное значение или используется в другом смысле еще в одной системе, с которой работают те же самые поль¬ зователи. Если список команд на букву "А" таков: Access Add Advance Alter Attach Average Avoid то для однозначности следует набирать: AC ADD ADV AL AT AVE AVO Рис. 7.3. Сокращения (команды: выбрать, сло¬ жить, продвинуть, изме¬ нить, образовать, усред¬ нить, предотвратить) Из вышеизложенного ясно, что использование двухбуквенных команд, как в системе UNIX, не особенно удобно для поль¬ зователя. (Тем не менее есть одно заслуживающее рассмотрения достоинство: расположение их на экране достаточно наглядно, потому что все двухбуквенные команды выстраиваются строго в колонку, так что результат легко читать.) МОЩНОЕ СРЕДСТВО ДЛЯ ОПЫТНЫХ ПОЛЬЗОВАТЕЛЕЙ Из всех типов взаимодействия, которые были рассмотрены, язык команд предоставляет пользователям наибольшую свободу. Он в большей степени обращен к тем, кому действительно нужны его мощь и гибкость; вероятно, таковыми окажутся опытные пользователи с некоторым стажем предыдущей работы по обра¬ ботке данных. Менее опытные пользователи, возможно, лучше справятся с языком команд, в котором им указывается синтаксис ответов. 60
ГЛАВА 8 ПОЗИЦИОННЫЙ ВЫБОР ВВЕДЕНИЕ Позиционный выбор — это тип диалога, который часто исполь¬ зуется в языках запросов и генераторах прикладных программ. Метод выбора данных, которые должны появиться на экране дисплея, заключается в том, чтобы сначала выбрать формат (который содержится в таблице форматов, применимых к опре¬ деленной части информации). После этого выводятся заголовки колонок, чтобы дать пользователю возможность выбрать инфор¬ мацию, которая затем будет извлечена из файлов. Этот тип диалога особенно полезен, когда структура файлов не слишком сложна; так, он хорошо работает в простых реляционных базах данных. Иногда такой тип диалога называют «запрос по образ¬ цу», хотя, строго говоря, это название конкретного торгового продукта — собственности фирмы, а не общее название типа ди¬ алога в целом. СПОСОБ РАБОТЫ Примеры, приведенные на рис.8.1—8.4, непосредственно не при¬ надлежат какому-нибудь конкретному языку, но они дают пред¬ ставление о способе работы диалога. (Поля, заполняемые поль¬ зователем, подчеркнуты.) Сначала пользователь должен сообщить ЭВМ, какой файл (или какой раздел данных) ему требуется, а также указать, какой формат полей выбрать (рис.8.1). Метод достижения этого не относится непосредственно к рассмотрению диалога «позиционный выбор»: такой выбор можно было бы делать на строке команд свободного формата или на входных полях, для которых дается указание. В любом случае после этого выдаются заголовки колонок (рис.8.2). Выбранные позиции затем вводятся ниже (рис.8.3). Они означают: «Список всех сотрудников отдела 4600, чья зарплата больше либо равна 10000 фунтов стерлингов». Все другие поля будут выданы в итоговой табулированной сводке (рис.8.4). Но даже в таком простом при¬ мере есть ряд особенностей, с которыми надо ознакомиться. 61
(ПОЛЕ КОМАНД) Команда Вывести Формат No 1 Файл Персонал Логические операторы (ЗАГОЛОВКИ) (КОЛОНКИ ДАННЫХ) (СООБЩЕНИЯ ОБ ОШИБКАХ) Рис. 8.1. Позиционный выбор: выбор файла и формата Вывести 1 Персонал Выплата Фамилия Имя Отдел Оклад Доход Налог номер Годовой Годовой Рис. 8.2. Позиционный выбор: заголовки колонок для данных файла 62
Команда Вывести Формат No 1 Файл Персонал Выплата Фамилия номер Имя • Отдел Оклад Доход Годовой Налог Г одовой 4600 >10000 Рис. 8.3. Позиционный выбор: метод выбора Вывести 1 Персонал Выплата Номер Фамилия Имя Отдел Оклад Доход Годовой Налог Годовой 1378 Абинджер X 4600 10001 769.31 182.86 1234 Джексон М 4600 12350 950.00 225.81 2001 Макклур п 4600 12350 950.00 208.32 1695 Миддлтон ст 4600 14386 1106.62 263.04 1702 Торп сдв 4600 16384 1260.31 299,58 4328 Уильямс дт 4600 1051 773.15 183,78 Рис. 8.4. Позиционный выбор: результат и вывод Чтобы сделать более сложные выборки, можно установить очередность выбора, используя вертикальные разделители для Указания приоритета. Дальнейшие соглашения, требуемые для более сложной выборки, используют сочетания логических опе- 63
раторов И и ИЛИ. Возможно, неестественно применять экран для выборки таким способом. Преимущество данного типа ди¬ алога состоит еще и в том, что непосредственно видно, правилен ли формат, указанный заголовками колонок. К тому же, когда выбор прост, печатать приходится гораздо меньше, чем в других, более многословных типах диалога. ДРУГИЕ РАССМОТРЕНИЯ Когда данные выданы, критерии выбора исчезают с экрана; к ним должно быть обеспечено легкое возвращение. Они должны быть доступны либо нажатием функциональной клавиши, либо печатью команды или ключевого слова. Языки, которые выдают данные таким образом, используют различные способы задания команд. Это может быть «командная строка» вверху или внизу на экране или колонка, зарезерви¬ рованная для команд и правил выбора. В действительности это означает, что в дополнение к позиционному выбору в данной колонке имеются булевы логические операторы, которые могут оказаться полезными (рис.8.5). Колонка должна быть узкой, что¬ бы не слишком сильно уменьшать место, отведенное для данных; в силу необходимости в этой строке все должно быть в со¬ кращенной форме. Хотя сокращений не должно быть слишком много, пользователям надо выучить, что они означают. По этой причине от сокращений не следует отказываться, ведь их, ве¬ роятнее всего, будут использовать регулярные пользователи; ма¬ ловероятно, чтобы они применялись менее регулярными и менее опытными пользователями. Уже отмечалось, что разнообразный выбор легче делать, когда установлен формат выдачи. Разумно подготовить столько фор¬ матов, сколько может понадобиться пользователям для обработки информации, которую они хотят видеть—во многих случаях каж¬ дый пользователь на практике предпочитает иметь свой набор ограниченного числа форматов. Более существенный вопрос в том, действительно ли данные хранятся в легкодоступной форме: может существовать система предварительной обработки данных для извлечения файлов из обычных компьютерных систем. Тогда для таких систем это не является большей проблемой, чем для других; тем не менее легко представить случай, когда выдача информации является прямой. Возможно, этому будет способ¬ ствовать распространение реляционных баз данных. 64
Вывести 1 Персонал Выплата Фамилия номер Имя Отдел Оклад Доход Годовой Налог Годовой 3400 4600 ИЛИ >10000 и <15000 СОРТ 1А 2Д СБ 1 СУММ С 1 Т (а) Выбор Выбрать 1 Персонал Выплата Номер Фамилия Имя Отдел Оклад Доход Головой Налог Годовой 0829 Асквит X 3400 14960 1150.77 296,90 0789 Джеспер С 12531 963.92 248,69 0416 Чемберлен н 13820 1063.08 274.27 4444 Черч КС 10740 826.15 213.15 4 3400 4003.92 1003.01 1378 Абинджер X 10001 769.31 182.86 1234 Джексон м 12350 950.00 225.81 2001 Макклур п 12350 950.00 208.32 1695 Миддлтон ст 4600 14386 1106.62 263.04 4328 Уильямс дт 10051 773.15 183,78 5 4600 4549.08 1063,81 9 СИ 8553,00 2096,82 (6) Результат Рис. 8.5. Позиционный выбор: получение более сложных выборок 3 Зак. 624 65
СРЕДСТВА ПОМОЩИ И ИСПРАВЛЕНИЯ ОШИБОК В идеальном случае система должна позволять пользователю получить необходимую помощь и вернуться в то место, откуда он ее запросил. Было бы неправильно заставлять пользователя вновь полностью восстанавливать всю сложную конфигурацию данных на экране. Подобным образом, если необходим переход к предыдущему кадру или если обнаружена ошибка, желательно иметь возможность исправления на экране только этого места и затем повторения полностью всего запроса. Некоторые языки запросов допускают возврат только на один кадр или на одну строку за один раз (теряя на любом шаге самую последнюю строку). Это вынуждает пользователя вновь вводить потерянные строки, увеличивая вероятность появления ошибок. ПЕРСПЕКТИВЫ Вероятно, успех диалога типа позиционного выбора будет за¬ висеть от возможностей, предлагаемых исходной системой. Если предоставлена реляционная база данных, то можно создать груп¬ пировки данных, к которым иначе было бы трудно иметь доступ. Сравнительный обзор таких систем баз данных выходит за рамки нашей книги (см. [22]). ГЛАВА 9 СРЕДСТВА ПОМОЩИ ПОЛЬЗОВАТЕЛЮ И ЕГО ПОДДЕРЖКИ ВСТУПЛЕНИЕ В этой главе обсуждаются некоторые идеи, реализация которых делает интерактивную систему более приемлемой для пользова¬ телей. Надеемся, что они окажутся полезными для всех читателей и заставят их тщательнее обдумывать конфигурацию своей соб¬ ственной системы. Выдвигаемые идеи не зависят от конкретной формы рабо¬ тающей системы. Однако на них следует обратить внимание в той степени, в которой они применимы для конкретной системы. Для новых систем следует ознакомиться со всеми разделами главы и принять к сведению их содержание. 66
БОЛЕЕ ТЩАТЕЛЬНАЯ ПРОВЕРКА ДОСТОВЕРНОСТИ Многие существующие интерактивные системы выполняют только весьма ограниченную проверку входных данных. Конечно, не¬ обходимо проверить, заполнены ли числовые поля в правильном формате, и обеспечить достоверность распознавания команд и ключевых слов. Вместе с тем очень часто можно сделать намного больше, и в любом случае выдаваемые сообщения об ошибках могут быть гораздо полезнее. Например, часто есть возможность в какой-то степени пред¬ сказать, что может быть (или должно быть) на входе. Так, если допускается лишь ограниченное число вариантов, в про¬ граммном обеспечении можно было бы предусмотреть выбор са¬ мого вероятного. Это позволит исправить простые опечатки, уд¬ воения или пропуски букв. ЭВМ должна выдать правильный вариант и спросить: «Это то, что Вам нужно?». Тогда можно избежать ненужной перепечатки. Она будет необходима лишь в случае, если ЭВМ не в состоянии распознать слово вообще. Еще одна заслуживающая внимания идея, хотя еще до сих пор находящаяся в стадии исследования [16], состоит в пред¬ сказании того, что пользователь собирается напечатать. Это воз¬ можно лишь в случае, когда сочетание аппаратных и програм¬ мных средств допускает непосредственную проверку текущего зна¬ чения каждого напечатанного символа. Граница между очень тщательной и не очень строгой проверками требует дальнейшего изучения. Логические возможности терминала могут сделать эту идею более реальной. Когда появятся системы с такого рода возможностями, они, безусловно, будут заслуживать внимания. Предсказание символа, может быть, следует делать в зависимости от желания работающего, чтобы оно использовалось только теми, кому это нравится. Вероятно, появится также возможность вы¬ бора между завершением либо отдельных слов, либо целых фраз в соответствии с применением их пользователем и его поже¬ ланиями. Если для числовых полей программное обеспечение в состо¬ янии проверить точный диапазон значений, то наряду с выдачей сообщения об ошибке должна быть предусмотрена и выдача диапазона допустимых значений. Желательна также динамическая установка этого диапазона таким образом, чтобы любое его из¬ менение автоматически включалось в сообщение об ошибке. Так как работа в таком режиме, очевидно, практически не осуще¬ ствима, когда проверка делается для многих диапазонов, то в этом случае может оказаться необходимым иметь основное со¬ общение об ошибке с последующей детализацией (или возмож- 67
ностью запроса помощи). Если диапазон зависит от значений другого поля, это тоже стоит указать в сообщении об ошибке. В некоторых системах клавиатура может блокироваться (на самом деле это может быть обязательным), не допуская не¬ которых ошибок. Например, если ЭВМ определила поле как чис ловое, то она не допускает ввода букв или других символов. Это предотвращает некоторые ошибки, но чтобы разблокировать клавиатуру, требуется нажатие определенной последовательности клавиш. Более полезно, чтобы такой режим работы мог вы бираться по желанию пользователя. Частным случаем, когда возможна более надежная проверке правильности вводимых данных, являются поля, содержащие да¬ ты. Человек вполне способен распознавать даты в различных форматах, например: 5/11/82 05-11-82 5 НОЯ 82 5 НОЯБРЯ 1982 И это лишь некоторые из многих вариантов. Так почему бы нам не «попросить» нашу ЭВМ допустить все разнообразие фор¬ матов в датах? Если есть несколько ошибок, которые могут быть обнаружены одновременно, необходимо решить, выдавать сообщение обо всех сразу или по одному сообщению о каждой ошибке. Обычно применяется подход, когда сообщения выдаются по одному, по¬ тому что нелегко указать все ошибки, если допускается только одно сообщение. Тем не менее бывают случаи, когда наличие нескольких ошибок привлекает внимание к погрешности совсем в другом месте, а, казалось бы, ошибочные значения полей ока¬ зываются правильными. СООБЩЕНИЯ ОБ ОШИБКАХ Уже упоминалось о желательности вывода диапазона, в котором проверяются численные значения вводимых величин. Такой вывод может помочь обнаружить случаи, когда данные на самом деле правильны, но проверяются в неверно установленных пределах. Словесные формулировки сообщений об ошибках следует оста¬ влять, насколько это возможно, на усмотрение пользователей. Они должны выражать недовольство любым жаргоном, который не понимают, или иметь возможность его исправить, особенно если есть различие в понимании некоторых слов и фраз поль¬ зователями и проектировщиками компьютерных систем. Если изменения пользователями сообщений об ошибках до¬ пустимы (как это и должно быть по вышеуказанным причинам), 68
может возникнуть проблема связи с создателями программного обеспечения. Предположим, что программное обеспечение исполь¬ зуется в нескольких независимых местах и везде по достаточно весомым причинам потребовалось внести небольшие изменения. Ясно, что лучше, если на каждом месте заводится собственный журнал изменений, который ведется так, что можно связываться с другими местами, ссылаясь на первоначальную версию. СРЕДСТВА ПОМОЩИ И ИХ ХАРАКТЕРИСТИКИ ПОЧЕМУ НЕОБХОДИМА ПОМОЩЬ? В любой момент интерактивного диалога работающим нужно знать следующее: - где они находятся (значение информации на экране дисплея в текущий момент); - где они находились перед этим или как достигли своего положения: может, им нужно повторить пройденную процедуру (или, наоборот, избежать ее), а двигаясь наугад, они не до¬ стигнут цели. Может, им нужно сообщить о своих действиях кому-то еще, если они сталкиваются с проблемами, которые сами решить не в состоянии; - куда они могут перейти на следующем шаге; диалог должен следовать заранее определенными путями либо должны быть пре¬ дусмотрены «указатели», чтобы напомнить работающим, что име¬ ется в их распоряжении. Если пользователи не знают эти три ключевые составные части своего текущего состояния, они начинают сбиваться и пу¬ таться и поэтому не могут работать эффективно. Однако все это часто становится ясным по мере того, как происходит диалог. В противном случае должны быть предусмотрены расширенные средства помощи — от развернутого объяснения выходного со¬ общения до гораздо более подробного списка всех правил про¬ верки достоверности, относящихся к данному входному формату. КАК ДОЛЖНА ОКАЗЫВАТЬСЯ ПОМОЩЬ? Если пользователь в какой-то определенный момент диалога по¬ просил ЭВМ о помощи, то, получив ее, он захочет продолжить работу с того места, где ее оставил. Обеспечение полезной ин¬ формацией само по себе недостаточно; очень важно то, как она подается. Исследуя потребности пользователей, можно вы¬ явить некоторые общие закономерности. Если пользователь работает в режиме «строка за строкой», запрашиваемая помощь, за исключением некоторых случаев, обычно относится к предыдущей строке ввода или вывода. При 69
вводе данных, размещаемых на всем экране, или в системе ко¬ манд с указанием ситуация становится более сложной. Кроме того, пользователю могут понадобиться разнообразные сведения, например: - общее описание входного сообщения или команды; - значения некоторых имен и подробности обработки на уровне индивидуальных полей наряду со всевозможными правилами про¬ верки достоверности; - текущие «значения» функциональных клавиш, т.е. эффект их использования в текущем состоянии системы; - методы отказа от текущего входного сообщения, команды или выхода из системы вообще. Первое, что при этом нужно пользователю, — это общие сред¬ ства помощи, описывающие команды. Они начинаются на уровне общих описаний и доходят до любых подробностей, которые могут потребоваться. Средства оперативной помощи могут отсылать пользователя к справочным руководствам, если такая докумен¬ тация была поставлена, или к каким-то другим источникам ин¬ формации. Пользователь должен в любой момент иметь воз¬ можность вернуться к первоначальной обработке. Существуют различные способы получения такой помощи, на- ’ пример: - использование функциональной клавиши; - использование специальной кнопки «Помощь» или «Паника»; - печать слова «помощь»; - печать символа П или какого-нибудь другого символа в специальном поле; - одновременное нажатие клавиши «Управление» и какой- какой-ннннннн еще. Пользователь должен также иметь возможность выбора между тем, хранить ли первоначальное состояние или нет — и в этом случае ему должно быть ясно, как отказаться от хранения. В целом предпочтительнее, чтобы система хранила входное сооб¬ щение; отмену такого хранения следует делать с осторожностью. Кроме того, разумно предусмотреть средство ограничения со¬ общений о помощи определенными полями, или описанием только самих полей, или описанием полей вместе с правилами проверки, или только описанием правил. Это может быть обеспечено: - языком команд, например: ПОМОЩЬ <имя-поля> помощь <имя-поля> помощь <имя-поля> или ОПИСАНИЕ или ПРАВИЛА - использованием функциональных клавиш наряду с переме¬ щением курсора; - меню внутри обобщенного сообщения о помощи. 70
В идеальном случае средства помощи должны иметь тот же тип диалога, что и сама система. Наконец, пользователь нуждается в получении подробных све¬ дений о других командах, входных сообщениях и основных сред¬ ствах системы. Для того чтобы посмотреть на другие команды, он должен иметь возможность использовать формат ПОМОЩЬ <ИМЯ-КОМАНДЬ!> СТАНДАРТНЫЕ ВСПОМОГАТЕЛЬНЫЕ СРЕДСТВА По возможности в системах следует избегать использования ко¬ дов, которые приходится запоминать. Зачем использовать код 9 вместо стандартного сокращения кг для обозначения кило¬ граммов? Легче пользоваться, например, словами «Манчестер» или «Манч» для обозначения предприятий, расположенных в Ман¬ честере, чем кодом 22. Полезно иметь средство просмотра диалога назад. Это может избавить работающих от повторения одной и той же ошибки. Данное средство ценно и тогда, когда необходимо пригласить опытного консультанта разобраться с какой-нибудь проблемой. Возможность напечатать копию диалога либо на местном, либо на центральном устройстве печати системы тоже может быть полезной. Похоже, чем больше опыта приобретают пользователи в работе с ЭВМ в интерактивном режиме, тем меньше необ¬ ходимость делать печатные копии выдаваемых на дисплей ре¬ зультатов. Было бы прекрасно, если бы использование функциональных клавиш во всех системах было стандартизовано. По крайней мере, следует иметь возможность отображать на экране значения функциональных клавиш в текущий момент времени. На неко¬ торых ЭВМ эти значения выдаются непрерывно, занимая очень маленькую часть экрана благодаря хорошему разрешению. Когда сделан запрос об информации, объем которой заранее неизвестен, стоит рассмотреть приостановку ее выдачи, если этот объем превышает заданный лимит; для выдачи информации сверх этого лимита необходимо специальное подтверждение. В каждом случае, когда время отклика на запрос превышает нормальное время отклика системы, следует выдавать предварительное со¬ общение о том, что ЭВМ находится в состоянии поиска. Любые клавиши, нажатие которых могло бы иметь разру¬ шительные последствия для данного кадра, следует заблокиро¬ вать. Например, нажатие клавиши «Стереть» в середине диалога может ни к чему не привести, если только, конечно, это не является стандартным методом отказа от данного входного со¬ общения. 71
В заключение этого раздела по средствам помощи следует напомнить, что без средств помощи на память пользователя ло¬ жится больше нагрузки; появляется необходимость чаще обра¬ щаться к руководствам по обучению и консультантам. Эти темы будут обсуждаться в следующем разделе, но в основном будем предполагать, что они лишь дополняют средства оперативной помощи. ПОДДЕРЖКА Н ЕОДУШ ЕВЛ ЕН Н АЯ ПОДДЕРЖКА Поддержка со стороны специалистов может быть минимизиро¬ вана, если «неодушевленная» поддержка представлена достаточно хорошо. Дальнейшее обсуждение будет в основном посвящено наличию документации, либо оперативной, либо в форме печатных справочных руководств для пользователя. РУКОВОДСТВА ДЛЯ ПОЛЬЗОВАТЕЛЯ ИЛИ ОПЕРАТИВНАЯ ДОКУМЕНТПЦИЯ? Основной недостаток печатных руководств для пользователя за¬ ключается в том, что их нужно обновлять по мере изменения системы. Даже когда подготовлена и пущена в обращение исправленная страница, нет полной уверенности в том, что она вставлена во все копии, находящиеся у пользователей. Тщательно под¬ готовленное руководство может оказаться очень хорошим спра¬ вочным пособием. То, что его можно держать открытым на нуж¬ ной в данный момент странице, имеет некоторое преимущество по сравнению с оперативной документацией. Тем не менее иногда вообще непонятно, для чего предназначены некоторые руковод¬ ства: для справок или же для обучения пользователей. Лучше эти две функции разделить, даже если для этого некоторые основные положения придется повторить дважды. «Основное руководство по обучению» может быть полезно также в качестве вводного документа, знакомящего с системой. Оно может быть специально подготовлено или же может со¬ держать упрощенное изложение более подробного руководства по обучению, если таковое имеется, а также описание того, как начать работу с системой и как воспользоваться предназначен¬ ными для целей обучения базой данных или набором файлов. Оперативная помощь уже обсуждалась. Она может предо¬ ставляться в виде оперативного справочного руководства, в не¬ которой степени заменяющего книги. (Невозможно иметь опе- 72
ративную информацию только о том, как начать работу с си¬ стемой и что делать, когда системы вообще нет в наличии!) Одним из существенных достоинств оперативной документации является то, что ее легче обновлять одновременно с изменениями в системе. Можно также обеспечить и оперативное обучение работе с системой. Маловероятно, чтобы это было экономически оправдано, за исключением случая очень больших систем, когда оказывается возможным освободить обучающий персонал для более продук¬ тивных занятий. ПОДДЕРЖКА СО СТОРОНЫ СПЕЦИАЛИСТОВ Невозможно однозначно определить необходимый уровень под¬ держки со стороны специалистов, поскольку этот уровень будет меняться в соответствии с типом пользователя и тем, насколько ему необходима система и как часто он сталкивается с труд¬ ностями. В этом разделе дается обзор заслуживающих внимания видов поддержки со стороны специалистов. Когда система спроектирована и внедрена, возникает необ¬ ходимость ее поддержки, потому что бывают моменты, когда система выходит из строя или требуется внести исправления или дать разъяснения ее работы. Если реально система является набором пакетов, полученных от внешнего поставщика, создатели системы, обеспечивая такую поддержку, выступают как интер¬ претаторы или посредники; в альтернативном варианте пользо¬ ватели со своими проблемами обращаются непосредственно к поставщикам пакетов. Первый вариант предпочтительнее в ка¬ честве предварительного шага, если возникшая проблема связана не с пакетом, а с какими-то другими факторами в рамках си¬ стемы. Одним из наилучших методов снижения нагрузки на главного консультанта, предложенным Группой по исследованиям в области общественных наук и передовой технологии Университета в Лаф¬ боро [6], является помощь местных экспертов. Эти люди — зна¬ токи в использовании системы и прямо на месте могут дать совет другим пользователям. Может быть, им стоит платить за это, но даже если им отводится неформальная роль, следует понимать, что они будут выполнять ее, если только не пере¬ гружены другой работой, исключающей роль советников. Следует отметить, что некоторые пользователи противились «ярлыку» со¬ ветников, когда у них было слишком много такой работы помимо своей основной, которая для них была предпочтительнее. Не следует думать, что все хотят работать с ЭВМ. Еще одно решение нужно принять относительно того, под¬ 73
держивать ли интерактивную систему с помощью одного опре¬ деленного лица, досконально знающего ее, или же для этой цели больше подходят «информационный центр» либо «группа помощи», укомплектованные специалистами, которые могут от¬ ветить на широкий круг вопросов. Во многих случаях второй вариант обеспечивает лучшую поддержку и в течение большего времени за день. Ничто не мешает пригласить и эксперта по данной системе для решения более сложных проблем. Самое важное — это понимание того, что надлежащая под¬ держка является весьма существенной. ГЛАВА 10 НЕКОТОРЫЕ ВОПРОСЫ ИСПОЛЬЗОВАНИЯ АППАРАТУРЫ УСОВЕРШЕНСТВОВАНИЕ ОСНОВНОЙ КОНФИГУРАЦИИ В настоящее время большинство пользователей получает первый опыт работы с ЭВМ в интерактивном режиме, используя дисплей с клавиатурой. Вероятно, в ближайшем будущем пользователи тоже будут работать с такой же аппаратурой. Как следует из предыдущих глав, вполне возможно создавать пригодные для употребления и удобные для пользователей системы, имеющие в качестве терминала связи дисплей с клавиатурой. Однако при некоторых обстоятельствах обычная конфигурация с дисплеями не является удовлетворительной. В таких случаях могут заслуживать внимания другие аппаратные средства. Одни из них дополняют клавиатуру и дисплей, другие заменяют либо клавиатуру, либо дисплей, либо то и другое. При некоторых обстоятельствах, когда возможны альтерна¬ тивы, может потребоваться: - перемещать курсор точнее или быстрее; - делать выбор, указывая точку на экране; - избежать (по тем или иным причинам) печатания; - чертить кривые линии и прямые, если они не вертикальны или не горизонтальны; - изображать более точные графики; - давать какую-нибудь альтернативу изображениям на экране; - вводить рукописный текст; - распознавать подписи; - сделать систему более надежной; - позволить оператору освободить одну руку (или обе); 74
- использовать экран большего размера, так как стандартный недостаточно велик; - вводить информацию по телефону без использования спе¬ циальных терминалов, нуждающихся в модемах или акустических соединителях; - использовать аппаратуру специального назначения; - обеспечивать обслуживание системой инвалидов, которые не могут пользоваться стандартной клавиатурой. (Примечание: два последних случая являются весьма специаль¬ ными и в этой книге не рассматриваются.) Прежде чем обсуждать аппаратные средства, с помощью ко¬ торых можно создать системы, удовлетворяющие таким условиям, сделаем две оговорки: - практически без исключений решения будут дороже, чем обычная конфигурация с экраном и клавиатурой. Но так как со временем цены на аппаратуру снизятся, можно надеяться, что это снижение коснется и этой области; - как только к системе добавляется специальная аппаратура для решения какой-нибудь одной задачи, должны быть приняты меры, гарантирующие, что эти нововведения не ограничивают степени, в которой система может быть исправлена в будущем из-за меняющихся требований. Например, если есть намерение на каких-то рабочих местах использовать только цифровые кла¬ виатуры, то это могло бы означать невозможность выполнения некоторых задач на таких терминалах, что, вероятно, уменьшило бы общую гибкость системы. СРЕДСТВА, ДОПОЛНЯЮЩИЕ ДИСПЛЕЙ СВЕТОВОЕ ПЕРО Световое перо является устройством, которое можно использовать вместе с дисплеем для вычерчивания линий, перемещения курсора или выполнения других функций. Для работающего удобство за¬ ключается в том, что он видит точку экрана, которую хочет указать пером. Такой способ резко отличается от других, в ко¬ торых управление курсором не такое непосредственное. Тем не менее требуется, чтобы экран размещался на расстоянии, скорее, удобном для руки, чем для глаз; следует принять меры к тому, чтобы избежать переутомления глаз и чтобы не приходилось долгое время держать руку в неудобном положении. Для пре¬ одоления этих трудностей иногда устанавливается дополнительный экран, закрепляемый на рабочем месте под более удобным углом зрения, или же единственный экран устанавливается в гори¬ зонтальное положение (либо в промежуточное между горизон¬ тальным и вертикальным), чтобы улучшить опору для руки.
Если наряду с пером используется клавиатура, переход от пера к клавиатуре и обратно может оказаться неудобным, осо¬ бенно когда это приходится делать часто. Нужно положить перо, прежде чем печатать на клавиатуре, а когда перо потребуется опять, его нужно поместить в соответствующую позицию на экра¬ не, прежде чем начать работать. Если использование пера и клавиатуры достаточно разделено во времени, т.е. переход вы¬ полняется не так часто, это не вызывает больших затруднений. Например, можно пользоваться клавиатурой для доступа к опре¬ деленному кадру на экране, а световым пером для графических работ на нем. Световое перо можно использовать само по себе для выбора действий из меню, а также выполнения других действий на экра¬ не. Кроме того, имеются аналогичные устройства, которые могут применяться на отдельных планшетах (они обсуждаются дальше в разделе ««Мышь» и графические планшеты»). СЕНСОРНЫЕ ЭКРАНЫ Сенсорные экраны дают такое же чувство непосредственного вза¬ имодействия с экраном, как и световое перо, но действуют в более грубом масштабе, так как кончик пальца не такой тонкий, как кончик пера. Они часто используются при выборе пунктов из меню, и, таким образом, могут применяться при диалогах, не требующих клавиатуры. Такие экраны можно устанавливать в общественных местах, где клавиатура, если бы она приме¬ нялась, располагалась бы вертикально и занимала бы меньше места. (Если ввод с клавиатуры является существенным, можно имитировать клавиатуру на экране и с ее помощью выбирать буквы — это был бы довольно медленный процесс, но если бы это означало отсутствие клавиатуры вообще, то было бы при¬ емлемо, пока необходимая «печать» невелика.) Такие устройства работают благодаря наличию либо чувстви¬ тельной проволочной сетки, натянутой перед экраном или вде¬ ланной в его стекло, либо световых (или инфракрасных) лучей, испускаемых с одной длинной и одной короткой сторон экрана, с соответствующими приемниками на противоположных сторонах (рис.10.1). Лучи параллельны и очень близки к экрану. Контакт возникает, когда перекрываются горизонтальный и вертикальный лучи. В ранних моделях с сетками или лучами проблемой был параллакс, обусловленный выпуклостью экрана. Последние до¬ стижения технологии в значительной степени устранили эту проб¬ лему. 76
ххх ххххххххххххххххххххххх Рис. 10.1. Сенсорный экран: О —излучатель; X —приемник; О — >Х — луч; П — палец, перекрывающий вертикальный луч 6 и горизонтальный луч 16 Экраны могут стать грязными от жирных пальцев. Проблемой может оказаться и расположение экрана (как это было со све¬ товым пером), так как идеальное расстояние для зрения не совпадает с лучшим положением для руки и наоборот. Самое большое достоинство сенсорного экрана в том, что пользователь непосредственно реагирует на наглядные образы, вместо того чтобы раздумывать, что делать за клавиатурой. И если есть 77
интенсивно используемая клавиатура, то, конечно, не возникает такой проблемы, как со световым пером, когда его приходится отставлять и затем брать вновь. «МЫШЬ» И ГРАФИЧЕСКИЕ ПЛАНШЕТЫ «Мышь», которую можно применять либо на поверхности стола, либо на отдельном планшете, способна двигать курсор в на¬ правлениях, по которым перемещается сама. Имеется также две или три кнопки управления, которые предназначены для ини¬ циирования различных функций. Для лучшего использования воз¬ можностей «мыши» требуется, как и в случае светового пера, экран с высоким разрешением. Необходима ровная поверхность стола, по которой движется сама «мышь» или на которой рас¬ полагается планшет. Так как передвигаемый курсор удален от управляющего механизма, пользователь должен приобрести со¬ ответствующие навыки, отличные от работы со световым пером; этому можно научиться за короткое время. В сочетании с подходящим программным обеспечением «мышь» можно применять для оснащения систем, удобных для работы. Действительно, фирма Xerox Star с оборудованным ею персональным рабочим местом в 1982 году выиграла конкурс по удобству работы пользователей, проводимый журналом Computing; на этом рабочем месте для управления курсором и его быстрого перемещения применялась «мышь». Форма курсора изменялась в зависимости от его текущего состояния. Курсор можно использовать для управления «портретами», которые явля¬ ются экранными представлениями таких понятий, как «докумен¬ ты», «папки», «скоросшиватели», и т.д. Экран дисплея может быть разделен на «окна» для показа специальных меню, рек¬ визитов документов, вспомогательных клавиатур и т.д. Разработка системы фирмы Xerox Star сопровождалась введением новых по¬ нятий в манипуляцию «окнами» и «крышкой стола». Очень сход¬ ным образом «мышь» используется также в персональной ЭВМ Lisa фирмы Apple. ПЕРЕМЕЩАЮЩИЙСЯ МЯЧИК И РЫЧАЖНЫЙ УКАЗАТЕЛЬ По сравнению с «мышью» и перемещающийся мячик, и рычажный указатель более медленны, особенно когда нужно перевести кур¬ сор на большое расстояние поперек экрана, а при больших ско¬ ростях ими трудно управлять. Тем не менее они являются удоб¬ ными, когда требуется тонкая и точная работа: перемещающийся мячик, в частности, часто используется там, где нужно следить за объектом и отмечать его местонахождение, например при упра¬ влении воздушным движением. Для него всегда требуется кла¬ 78
виатура или панель управления. ПЛАСТИКОВАЯ КАРТОЧКА С МАГНИТНОЙ ПОЛОСОЙ Такая карточка обычно используется в банковских операциях как мера предосторожности против незаконного доступа или слишком частого использования карточки. Для ещё большего повышения надежности систем с магнитными карточками новая технология предусматривает введение в карточку кристалла, что¬ бы подделать содержимое было еще труднее. ПЛАНШЕТЫ РУКОПИСНОГО ВВОДА Планшеты позволяют осуществлять непосредственный ввод на¬ писанного от руки текста в ЭВМ. Инструкция по использованию может быть расположена на крышке планшета, который чув¬ ствителен к нажатию и воспринимает входные данные. Это имеет ряд преимуществ, так как на бумаге сразу получается копия того, что реально введено; число допустимых символов отчетливо указано на крышке благодаря ее конструкции, причем на ней помещается больше инструкций, чем на экране дисплея, потому что они могут быть напечатаны более мелким шрифтом. Однако имеется и один потенциальный недостаток, заключающийся в том, что рукописные буквы сильно различаются и могут быть очень неразборчивыми; когда используется клавиатура, каждый символ по меньшей мере понятен, хотя и необязательно является правильным. Дальнейшее усовершенствование этого устройства позволит ему распознавать подписи после «тренировки» на шести образцах. Оно распознает их по времени написания, нажиму и форме. Это впечатляющая демонстрация использования ЭВМ, но успех такого устройства на рынке будет зависеть от того, понадобится ли оно пользователям банков и других финансовых учреждений. КОДИРОВАНИЕ ПОЛОСКАМИ Обычно кодирование полосками применяется в системах больших универсальных магазинов, где напечатанный на каждом товаре код из полосок считывается кассовым устройством; рассмотрение таких систем выходит за рамки нашей книги. Другой вид счи¬ тывателей воспринимает код из полосок, напечатанный матричным устройством печати; они используются в библиотечных системах, для которых привлекательными являются возможность напечатать эти полоски заранее и дешевизна способа кодирования. Полу¬ чается точная и быстрая передача данных, первоначально вы¬ 79
данных ЭВМ; большой объем данных — не препятствие, а пре¬ имущество перед стандартными методами. Система является до¬ статочно надежной, поскольку полоски нелегко воспроизвести. РАЗНОВИДНОСТИ ДИСПЛЕЕВ Если цена невысока, можно купить дисплей с большим экраном (например, формата А4, соответствующего наиболее широко ис¬ пользуемому размеру листа вывода на печать) или цветной дис¬ плей с большим разрешением для построения графиков, а также разновидностями шрифтов разных гарнитур. Нужно быть осве¬ домленным об имеющихся разработках, даже если они и ока¬ жутся несущественными для обычной работы интерактивных си¬ стем. РЕЧЕВОЙ ВЫВОД Большинство профессионалов в области обработки данных хотело бы знать больше о речевом вводе и речевом выводе, в частности, когда они вообще будут доступны. На самом деле речевой вывод доступен уже сейчас. Син¬ тезированный речевой вывод можно было бы использовать во многих приложениях. Демонстрировались такие системы, в част¬ ности, для использования слепыми или там, где руки оператора заняты. Одна из причин, по которой они не получили быстрого распространения,, состоит в том, что, если на речь, даже син¬ тезированную, не реагировать достаточно быстро, она легко за¬ бывается. Но в то время как реакция речью на речь была бы в некоторой степени «естественной» (хотя и используется речь не настоящая, т.е. синтезированная), реакция на речевой вывод с помощью клавиатуры определенно естественной не явля¬ ется. В любом случае, когда объем вывода превышает довольно низкий уровень, как правило, его становится слишком трудно воспринимать. С другой стороны, выведенное на дисплей обычно остается на экране, пока на него не отреагируют. Хотя было бы выгоднее заменить дисплеи устройством ре¬ чевого вывода (поскольку громкоговорители дешевле дисплеев), похоже, основной прогресс в этой области будет связан с на¬ личием устройств речевого ввода, который обсуждается в сле¬ дующих разделах. РЕЧЕВОЙ ВВОД Имеется несколько вопросов, на которые каждый хочет получить ответ: 80
- применяется ли речевой ввод уже сегодня? - будет ли он когда-нибудь доступным средством? - когда этого можно ожидать? ВВОД ОДНОГО СЛОВА С надежностью выше 98% ввод одиночных команд с ограни¬ ченным словарем на самом деле существует уже сейчас. Там, где очень важно использовать речевой ввод, а не другую форму ввода, при соответствующих затратах это может быть сделано. Его могут использовать инспекторы по контролю за качеством или работники точного машиностроения, т.е. там, где руки ра¬ ботающего заняты. При экспериментах в автоматизированном банке, проведенных в Японии, применялся телефон как устройство ввода со словарем, ограниченным цифрами и некоторыми другими управляющими словами. Таким образом, технически распозна¬ вание отдельных слов, без сомнения, является осуществимым. РАСПОЗНАВАНИЕ РЕЧИ Когда говорят, что необходимо распознавание речи, обычно под¬ разумевается нечто большее, чем распознавание отдельных слов. Предполагается, что можно говорить с ЭВМ, как с другим че¬ ловеком, или, что более реалистично, подразумевается исполь¬ зование слитной речи в ограниченной форме, сравнимой с при¬ меняющейся для печати формой сегодняшних языков команд. У этой проблемы есть две стороны. Первая связана с де¬ кодированием слитной речи, чтобы голос смог заменить суще¬ ствующие средства ввода; вторая — с «естественным» языком. СЛИТНАЯ РЕЧЬ Достижение даже такой ограниченной цели, как распознавание слитной речи, в настоящее время либо носит экспериментальный характер, либо является чрезвычайно дорогим. Например, на кон¬ грессе в Детройте в 1980 году доктор Фредерик Йелинек со¬ общил, что стало возможным точно распознавать слова из сло¬ варя в 1000 слов. При этом, однако, использовалось 4 ч ма¬ шинного времени для распознавания слитной речи продолжи¬ тельностью лишь в 2 мин. В настоящее время соответствующие исследовательские про¬ екты осуществляются в Великобритании, США и Японии. По заказу правительства фирма Logica разработала систему LOGOS для устройства исследования слитной речи. Система зависит от диктора, т.е. должна пройти обучение, чтобы распознавать речь конкретного лица, и имеет следующие характеристики: 81
- непрерывное распознавание естественной речи для словарей в несколько сотен слов; - исправление ошибок, основанное на правилах следования слов; - пометка ключевых слов и устранение побочных звуков (таких как кашель); - сложный акустический анализ, который уменьшает чувстви¬ тельность к изменениям в положении микрофона и к фоновым шумам. Достижение таких характеристик требует использования не¬ скольких параллельно работающих микропроцессоров типа 8086 фирмы Intel. Национальная физическая лаборатория создала ра¬ ботающие прототипы для системы, не зависящей от диктора. Будущее систем такого рода будет зависеть от рынков сбыта: решающим фактором явится цена, по которой эти системы будут продаваться. Были описаны и другие разработки [20]. Они включают соз¬ данные фирмами Intel, Texas Instruments и Votan различные устройства для распознавания речи: - устройство фирмы Intel обеспечивает прием до 200 вы¬ ражений, каждое длительностью 2,2 с, и распознает только раз¬ дельно произносимые выражения с паузой между командами от 80 до 240 мс; - устройство Votan 6000 фирмы Votan не зависит от диктора (для американского диалекта английского языка); - размещенное на одной плате устройство фирмы Texas Instruments с настройкой на диктора может распознавать до 21 слитного выражения из словаря. ЕСТЕСТВЕННЫЙ ЯЗЫК Одной из целей японского проекта ЭВМ пятого поколения явля¬ ется разработка систем распознавания речи, которые смогут по¬ нимать естественный язык и отвечать на нем. Нам предста¬ вляется, что эффективно работающие системы не появятся до конца десятилетия. Имеются предположения [31], согласно ко¬ торым при выделении достаточных средств на исследования труд¬ ный путь к распознаванию естественного языка можно было бы пройти за пять лет. Многие настроены скептически по от¬ ношению к проектам, приближающим к управлению ЭВМ с по¬ мощью естественного языка. Ясно, что для интерактивных систем надежных устройств распознавания речи в наличии не имеется, и маловероятно, что они появятся в ближайшем будущем. 82
ПРИЛОЖЕНИЕ КАК ВЫБРАТЬ ТИП ДИАЛОГА ВВЕДЕНИЕ В этом приложении описывается применение табл. 1. Показано, как использовать эту таблицу при выборе типа диалога. Тем не менее ее не следует применять в качестве единственного спо¬ соба выбора. Такое применение было бы слишким легким и чрезмерно упрощенным. К тому же имелась бы опасность сделать неверные предположения о потребностях системы или тех, кто ее использует. Основная ценность этой таблицы проявится, когда ее будут применять либо как первый источник при выборе типа диалога, чтобы отождествить некоторые рассматриваемые факторы и вы¬ брать «возможных кандидатов» на рассмотрение, либо как источ¬ ник для окончательной проверки, чтобы убедиться, что выбранный (или навязанный) тип диалога не приходит в полное проти¬ воречие с соответствующими критериями выбора. Она может быть испытана на существующих системах, чтобы посмотреть, пра¬ вильно ли выбран тип диалога. Но из-за простоты таблицы к результату следует подходить очень осторожно, особенно в случае, когда есть другие факторы, влияющие на конкретную систему, которые не были включены в таблицу: например, в ней не учитываются существующие применения или стандарты, которые могли бы повлиять на выбор диалога для других систем. Если предполагается, что одни пункты более важны, чем дру¬ гие, можно брать их с разными весами. Однако это несуще¬ ственно, если таблица используется только в качестве ориентира. Вероятно, более важно решить, какие пункты должны рассма¬ триваться как выполняемые безусловно. В таких случаях те типы диалога, которые не помечены галочкой против такого пункта, должны немедленно отвергаться, сколько бы очков они ни на¬ брали по остальным пунктам. 83
Таблица 1 Критерии Выбор поль¬ зова¬ теля Типы диалога Выбор из меню Ин¬ струк¬ ция - отклик Ответы с ука¬ занием Язык команд Позици¬ онный выбор Цель Запрос У 7 У У У Обработка (прямая) У У У 7 У Обработка (сложный выбор) У У Ввод данных У 7 У Ввод данных (большой объем) У Тип оператора Случайный 7 7 А А А Регулярный У 7 7 Специалист У У 7 Широкая публика У У Характер оператора Активный Б У У Пассивный 7 У У Сообра зител ьный Б 7 У Время обучения Очень малое У У Менее одного дня У У У в в Более одного дня У У Примечание: А - использование этих типов диалога в ограниченном объеме может быть освоено случайными операторами, но им требуются меню и средства помощи для напоминания об имеющихся в их распоряжении командах; Б - наличие возможности сокращений делает этот тип более подходящим для активных и сообразительных пользователей; В - использование команд или позиционного выбора может быть изучено за один день в весьма ограниченном объеме. 84
СПОСОБ ИСПОЛЬЗОВАНИЯ ТАБЛИЦЫ Способ заключается в следующем: - закрыть пять граф, содержащих типы диалога и соответ¬ ствующие галочки; - в графе «Выбор пользователя» пометить галочкой критерии, относящиеся к рассматриваемому применению (см. примечания к таблице и описание разных критериев). Решить, какие из них должны быть безусловно выполняемыми, т.е. без каких ра¬ бота будет невозможна; - по очереди для каждого типа диалога подсчитать число случаев, когда галочки стоят в обеих графах «Выбор пользо¬ вателя» и «Типы диалога». Следует выбрать тот тип диалога, который имеет максимальное число таких случаев; - результат должен быть тщательно исследован. Он может изменить первоначальную оценку, например, уровня обучения, что, в свою очередь, может изменить число очков, приписанных дан¬ ному типу диалога. НЕКОТОРЫЕ КОММЕНТАРИИ К КРИТЕРИЯМ ЗАПРОС Хотя все представленные типы диалога годятся для запросов, в действительности их пригодность зависит от типа запросов, с которыми придется столкнуться. Запросы можно было бы раз¬ делить на «запрограммированные» и «по случаю», причем для последних подходящими являются только язык команд и по¬ зиционный выбор. УПРАВЛЕНИЕ ОБРАБОТКОЙ Языки команд и в меньшей степени ответы с указанием обес¬ печивают оператору гибкость в выборе требуемой обработки. Дру¬ гие типы диалога позволяют выполнять очень сложные расчеты без предоставления такой гибкости или возможности управления. ВВОД ДАННЫХ Для ввода табулированных данных хорошо применять позици¬ онный выбор, но обычно большой объем входных данных требует входных сообщений, специально написанных для данного при¬ менения. Только они обеспечат нужную степень удобства и про¬ верки достоверности. 85
ТИП ОПЕРАТОРА В общем, чем менее регулярным является оператор, тем больше инструкций ему требуется. В достаточной степени это обеспе¬ чивается диалогами типа «меню» и «инструкция — отклик». Обу¬ ченный случайный пользователь может в ограниченном количестве применять команды других типов диалога, но непостоянный поль¬ зователь не захочет или будет не в состоянии так поступать. ХАРАКТЕР ОПЕРАТОРА Вероятно, внушать некоторым пользователям, что выбор типа диалога определяется их пассивностью или отсутствием сообра¬ зительности,— не слишком удачная мысль. Скорее, должно быть отмечено, что некоторые операторы способны справиться с более сложными типами диалога. Может оказаться возможным пред¬ ложить средства более сложных типов диалога и другим поль¬ зователям, если есть возможность установить команды или ма¬ крокоманды, характерные для конкретного применения; другими словами, можно вставить меню или отклики в язык команд. УРОВЕНЬ ОБУЧЕНИЯ Этот раздел включен просто для того, чтобы указать, что нельзя ожидать работы со сложными типами диалога с использованием всех их возможностей без определенных затрат на обучение. Если этого достичь невозможно, как в случае с широкой пуб¬ ликой, то сложных типов диалога следует избегать. 85
ПРИМЕР Следующий пример показывает, как в конкретной ситуации вы¬ бирается тип диалога «ответы с указанием». На окончательный выбор сильное влияние оказывает объем вводимой информации. Критерии Выбор поль¬ зова¬ теля Типы диалога Выбор из меню Ин¬ струк¬ ция - отклик Ответы с ука¬ занием Язык команд Позици¬ онный выбор Цель Запрос У У У У У У Обработка (прямая) У У У У У У Обработка (сложный выбор) У У Ввод данных у/ У У Ввод данных (большой объем) У У Тип оператора Случайный у у/ У А А А Регулярный У У У У Специалист V У у/ Широкая публика V У Характер оператора Активный Б У J Пассивный У У V У Сообра зительный Б У у/ Время обучения Очень малое V У Менее одного дня у У У V в в Более одного дня У У 7 5 5 7 5,5 5,5 87
СПИСОК ЛИТЕРАТУРЫ Этот список намеренно сделан небольшим и не выходит за рамки потребностей большинства имеющих дело с обработкой данных. Приведенные в списке книги и статьи представляют собой хо¬ роший справочный материал по имеющейся литературе. Жела¬ ющим получить более исчерпывающие сведения предлагаем обра¬ титься к книге [26]. 1. Abbot J. Presentation of Computer I/O for People, NCC Publications, 1983. 2. Cairns D. J. and Florentin J. J. User Interface Design in an Interactive Investment Analysis System, Proc Euro IFIP, 1979. 3. Cakir A., Hart D. J. and Stewart T. F. M. Visual Display Terminals, John Wiley and Sons, 1980. 4. Christ R. E. Review and Analysis of Colour Coding Research for Visual Displays, Human Factors, Vol. 17, No. 6, June 1975, p. 542-570. 5. Cox A. C. Human Factors Investigations into Interactions with Machines by Voice, International Conference on Man-Machine Systems, IEE, 1982, p. 254-257. 6. Damodaran L. User Involvement and User Support: Problems and Practice, See Murray, 1981, p. 203-218. 7. Damodaran L., Simpson A. and Wilson P. A. Designing Systems for People, NCC Publications, 1980. 8. Eason K. D. A Task-Tool Analysis of Manager Computer Interaction, Proc NATO Advanced Study Institute on Man-Computer Interaction, Greece, 1976. 9. Eason K. D. Understanding the Naive Computer User, Computer Journal, Vol. 19, No. 1, 1976, p. 3-7. 10. Eason K. D., Pomfrett S. M. and Damodaran L. User Oriented and Evolutionary Development of Systems, Outline Discussion Document, HUSAT Group, Loughborough University of Technology, 1982. 11. Ericsson Information Systems AB, Ergonomic Principles in Office Automation: State of the Art Reports and Guidelines on Human Factors in the Office Environment, 1983. 12. Fitter M. Towards More «Natural» Interactive Systems, 88
International Journal Man-Machine Studies, No. 11, 1979, p. 338-350. 13. Galitz W.O. Handbook of Screen Format Design, QED Information Sciences Inc, Wellesley, Mass, 1981. 14. Gallagher C.C. The Human Use of Numbering Systems, Applied Ergonomics, Vol.5, No.4, December 1974, p.219-223. 15. Gilb T. and Weinberg G.M. Humanised Input, Winthrop, USA, 1977. 16. Hayes P.J. Co-operative Command Interaction through the COUSIN System, International Conference on Man-Machine Systems, IEE, 1982, p.59-63. 17. Huckle B. The Man-Machine Interface, Savant Institute, 1981. 18. Jones P.F. Four Principles of Man-Computer Dialogue, Computer Aided Design, Vol.10, No.3, May 1978, p.197-202. 19. Kwok P.C.K. Man Machine Interaction in Telephone Enquiry Service in Videotex Systems, International Conference on Man-Machine Systems, IEE, 1982, p.51-54. 20. Lineback J.R. Voice Recognition Listens for its Cue, Electronics, 13/1/83, p.110-112. (Лайнбек Дж. Новые системы распознавания речи//Электроника. — 1983. — Т.56, No 1. — С.107-109.) 21. Martin J. Design of Man-Computer Dialogues, Prentice Hall, 1975. 22. Mayne A. and Wood M. Introducing Relational Database, NCC Publications, 1983. 23. Miller G.A. The Magical Number Seven; Plus or Minus Two, Psychol Rev, No.63, 1956, p.81-97, Bobbs Merrill Reprint, p.241. 24. Mumford E. and Henshall D. The Participative Design of Computer Systems, Associated Business Press, 1979. 25. Mumford E. and Weir M. Systems Design: the Ethics Method, Associated Business Press, 1979. 26. Murray G.(Ed). User Friendly Systems, Pergamon Infotech, 1981. 27. Relles N. and Price L.A. A User Interface for On-Line Assistance, Proc 5th International Conference on Software Engineering, San Diego, California, March 1981, p.9-12. 28. Robertson P.J. Use of Colour in Alphanumeric Display Applications, Proc Colloquium on «Colour CRT Displays in Practice», IEE, 1980. 89
29. Schneiderman В. Software Psychology: Human Factors in Computer and Informatition Systems, New York, 1981. (Шнейдерман Б. Психология программирования: Человеческие факторы в вычислительных и информационных системах. —М.: Радио и связь, 1984. —304 с.) 30. Shackel В. (Ed). Man/Computer Communication, Pergamon Infotech, 1979. 31. Simons G.L. Towards Fifth Generation Computers, NCC Publications, 1983. 32. Smith H.T. and Green T.R.G. Human Interaction with Computers, Academic Press, 1980. 33. Witten I.H. An Interactive Computer Terminal Interface which Predicts User Entries, International Conference on Man-Machine Systems, IEE, 1982.
Оглавление Предисловие 5 Глава 1. Непрофессиональные пользователи: работа с ЭВМ в интерактивном ре¬ жиме 7 Почему именно непрофессиональные пользователи? 7 Почему именно сейчас? 8 Разработка интерактивных систем 8 Почему используются интерактивные системы? 9 Возможные затраты и другие проблемы 10 Интерактивные системы общего пользования 12 Глава 2. Проектирование интерактивных систем 13 Краткий обзор 13 Два типа учреждений 13 Учреждение, имеющее ЭВМ 13 Учреждение без ЭВМ 14 Следующие шаги 14 Цели 15 Обсуждение решений на основе пакетов программ 15 Проектирование интерактивной системы 16 Первые этапы 16 Поддержка пользователей: кто должен проектировать 17 Как перейти к детальному проектированию 18 Привлечение пользователей к проектированию 18 Общие положения 18 Проектирование систем с участием пользователей 19 Обучение и документация 20 Обучение 21 Документация 21
Глава 3. Проектирование диалога 22 Введение 22 Факторы, воздействующие на выбор типа диалога 23 Режим ’’весь экран” или ’’строка за строкой” 23 Переход от одной страницы к другой 24 Редактирование содержимого экрана 25 Терминал 25 Наиболее общие типы диалога 27 Системы, основанные на выборе из меню 27 Системы с диалогом ’’вопрос-ответ” 28 Системы, основанные на командах (ответах с указанием) 29 Языки команд 32 Позиционный выбор (запрос по образцу) 33 Широкая публика 34 Глава 4. Диалоги на основе выбора из меню 35 Пригодно ли меню для неподготовленных пользователей? 35 Где можно использовать меню? 36 Поиск информации 36 Обработка данных 37 Позиционный выбор 38 Меню и другае типы диалога 39 Проектирование диалога на основе меню 39 Численный выбор 39 Буквенный выбор 40 Использование клавиш специального назначения 41 Специальная клавиатура 41 Перемещение курсора и другие устройства выбора 41 Ориентация пользователя 42 Глава 5. Диалог ’’вопрос-ответ” 42 Как работает диалог ’’вопрос-ответ” 42 Как лучше использовать этот тип диалога 44 Некоторые моменты проектирования 44 Понимание вопроса 45 Исправление ошибок 46 Достоинства и недостатки 48 Достоинства 48 Недостатки 49 Глава 6. Ответы с указанием и заполнение бланков 49 Два типа или один? 49 Как они работают 49 Типичные применения 51 Некоторые указания по проектированию 52 Краткое замечание 55
Глава 7. Языки команд 55 Что такое язык команд? 55 Цель: естественный язык? 56 Должен ли язык команд выглядеть как естественный язык? 56 Как могут использоваться языки команд? 57 Языки управления системой 57 Языки запросов 58 Обработка данных общего назначения 58 Указания по проектированию 59 Мощное средство для опытных пользователей 60 Глава 8. Позиционный выбор 61 Введение 61 Способ работы 61 Другие рассмотрения 64 Средства помощи и исправления ошибок 66 Перспективы 66 Глава 9. Средства помощи пользователю и его поддержки 66 Вступление 66 Более тщательная проверка достоверности 67 Сообщения об ошибках 68 Средства помощи и их характеристики 69 Почему необходима помощь?. 69 Как должна оказываться помощь? 69 Стандартные вспомогательные средства 71 Поддержка 72 Неодушевленная поддержка 72 Руководства для пользователя или оперативная документация? 72 Поддержка со стороны специалистов 73 Глава 10. Некоторые вопросы использования аппаратуры 74 Усовершенствование основной конфигурации 74 Средства, дополняющие дисплей 75 Световое перо 75 Сенсорные экраны 76 ’’Мышь” и графические планшеты 78 Перемещающийся мячик и рычажный указатель 78 Пластиковая карточка с магнитной полосой 79 Планшеты рукописного ввода 79 Кодирование полосками • 79 Разновидности дисплеев 80 Речевой вывод 80 Речевой ввод 80 Ввод одного слова 81 Распознавание речи 81 Слитная речь 81 Естественный язык 82
Приложение. Как выбрать тип диалога 83 Введение 83 Способ использования таблицы 85 Некоторые комментарии к критериям 85 Запрос 85 Управление обработкой 85 Ввод данных 85 Тип оператора 86 Характер оператора 86 Уровень обучения 86 Пример 87 Список литературы 88
Производственное издание Уатте Ричард ЭВМ И НЕПРОФЕССИОНАЛЬНЫЕ ПОЛЬЗОВАТЕЛИ ОРГАНИЗАЦИЯ ВЗАИМОДЕЙСТВИЯ Заведующая редакцией О. В. Толкачева Редактор Е. А. Засядько Художественный редактор Т. В. Бусарова Обложка художника С. Г. Б е с с о н о в а Технический редактор А. Н. Золотарева ИБ № 1420 Подписано в печать 19.12.88. Формат 60x84/16. Бумага офс. № 1. Гарнитура ’’Литературная”. Печать офсетная. Усл. печ. л. 5,58. Усл. кр-отт. 6,27. Уч. изд. л. 5,45. Тираж 18000 экз. Изд. № 21669. Зак. № 624. Цена 40 к. Издательство ’’Радио и связь”. 101000 Москва, Почтамт, а/я 693 Московская типография № 4 ’’Союзполиграфпрома” при Государственном комитете СССР по делам издательств, полиграфии и книжной торговли. Москва, 129041 Б. Переяславская ул., 46
ИЗДАТЕЛЬСТВО ’ТАДИО И СВЯЗЬ” ПРЕДЛАГАЕТ: Банди Б. Д. Основы линейного программирования: Пер. с англ. - 1989. - 176 с. Книга Б. Д. Банди ’’Основы линейного программирования” освещает основные положения и методы теории линейного про¬ граммирования. Среди книг, вышедших в нашей стране и цели¬ ком посвященных вопросам линейного программирования, не¬ много таких, которые представляют собой столь удачное соче¬ тание теоретического и прикладного подхода. Это сочетание — залог несомненного успеха издания у советского читателя. В книге рассмотрены симплексный метод, его теоретическое решение и реализация на ЭВМ; полный симплексный метод и проблема вырожденности; анализ чувствительности и метод дуального симплекса; транспортная задача; задача о назначении; двойственность в линейном программировании и ряд других. Каждый из рассмотренных в книге алгоритмов линейного программирования реализован на языке Бейсик, причем про¬ граммы составлены так, что их несложно перевести на другие языки, такие как Фортран или Паскаль. Книга позволяет в довольно сжатые сроки не только познако¬ миться с основными проблемами и алгоритмами решения задач, но и овладеть техникой их решения с использованием приведен¬ ных в книге программ.
40 коп. © „Радио и связь”