Пользовательский интерфейс
Содержание
Термин “интерфейс” широко используется в вычислительной технике. Интерфейс (сопряжение) — это способ и средства (аппаратные и программные) установления и поддержания информационного обмена между различными автоматическими устройствами или частями одного устройства, а также технических средств с человеком.
Технической реализации интерфейсов, обеспечивающих взаимодействие частей компьютера между собой, посвящена отдельная статья “Шины и интерфейсы”; вопросы организации межмашинных интерфейсов освещаются также в разделе 7.
Данная статья посвящена человеко-машинному интерфейсу, благодаря которому человек получает возможность сформулировать компьютеру задачу и получить результаты ее решения в требуемой форме.

В ходе развития вычислительной техники отчетливо прослеживается тенденция совершенствования средств взаимодействия человека с машиной в сторону повышения комфорта работы пользователя.
В начале пути мы обнаруживаем неуклюжие узкоспециальные технические устройства типа перфораторов (устройств для пробивки отверстий на бумажных носителях — перфокартах или перфолентах) и примитивные цифровые печатающие устройства, способные выводить на узком рулоне бумаги колонку цифр. Большинство из тех, кто пользовался услугами ЭВМ, делали это через посредство специалистов-операторов. В настоящее время в результате постоянного развития периферийного оборудования общение стало несравненно более удобным: клавиатура, мышь, монитор и современный принтер позволяют после небольшой подготовки непосредственно общаться с компьютером даже пользователю-неспециалисту. В перспективе скорее всего произойдет постепенный переход ко все более естественным для человека средствам общения, в частности, речевому и рукописному вводу.
Не менее существенный вклад в улучшение человеко-машинного интерфейса вносит и программное обеспечение. Поскольку с прагматической точки зрения удобнее, чтобы интерфейс всех программ был похожим, в настоящее время его базовые элементы в основном определяются операционной системой (одной из функций современной ОС является общение с пользователем — см. “Операционные системы”).
Общение человека с персональным компьютером имеет четко выраженный диалоговый характер. Сначала пользователь тем или иным способом вводит команду, инициирующую нужное ему действие (копирование файла, запуск программы, сохранение рисунка и т.д.), а затем компьютер его выполняет. Возможны случаи, когда сделать требуемое действие невозможно, например, недостаточно места на носителе или пользователь сохраняет документ с именем, которое уже существует. В подобных случаях компьютер либо прекращает выполнение команды с объяснением причины неудачи, либо предлагает пользователю выбрать одно из возможных альтернативных решений.
Операционные системы современных ПК имеют два наиболее распространенных вида программного интерфейса взаимодействия с человеком: интерфейс командной строки и графический интерфейс.
Исторически возникновение такой классификации существенным образом связано с теми техническими возможностями, которые предоставлял пользователю дисплей. Первые дисплеи были чисто текстовыми, у них даже отсутствовала возможность вернуться в предыдущую строку и исправить ее!
В таких условиях диалог поневоле носил характер “обмена словесными репликами” между человеком и ЭВМ (теперь мы называем этот стиль общения “командной строкой”). По мере улучшения управления дисплеями появилась возможность позиционировать текст на экране произвольным образом, а к клавиатуре добавились клавиши управления курсором. Так возникло экранное редактирование, без которого работу на современном компьютере сейчас уже невозможно представить. В итоге вместо отдельной строки пользователь получил в свое распоряжение весь текстовый (пока еще) экран. Расширение технических возможностей способствовало возникновению новых видов ПО: полноэкранных текстовых редакторов (вместо строковых), электронных таблиц и других. Между прочим, далеко не все пользователи Excel догадываются, что его командная строка, в которую ввод идет параллельно заполнению ячеек таблицы, возникла именно тогда: в популярных табличных процессорах того времени вроде SuperCulc содержимое сначала набиралось в командной строке, а затем, по нажатию
, заносилось в активную ячейку и отображалось.
Наконец, переход к совершенным графическим дисплеям в сочетании с появлением манипулятора “мышь” породили качественно новый вид интерфейса, который современные пользователи привыкли воспринимать как единственно приемлемый.
Совершенствование технологии отображения информации на экране дисплея создавало основы для появления все новых и новых интерфейсных решений. Проследим за ходом этого процесса.
Чтобы познакомиться с интерфейсом командной строкой в системе Windows, достаточно в меню Пуск выбрать пункт Выполнить и в возникающем диалоговом окне ввести cmd, что вызовет интерпретатор строковых команд ОС. Пример диалога демонстрируется на рисунке.

Первая команда (cd winnt) устанавливает каталог с указанным именем в качестве текущего. На экране никаких сообщений не появляется, но по приглашению ко вводу в следующей строке видно, что изменение произошло. Вторая набранная нами команда требует вывести на экран отчет о наличии файлов с именем winamp — соответствующая информация на экране является результатом работы команды. Наконец, последняя команда сознательно введена неправильно — диск с именем q: отсутствует, о чем система недостаточно четко, но сообщила.
Для рядового пользователя такой интерфейс является неудобным, поскольку необходимо детально помнить синтаксис команд и внимательно набирать довольно длинные тексты. Чтобы упростить общение, был придуман меню-интерфейс, при котором машина формирует список всех возможных вариантов действия, а человек выбирает нужный (помимо удобства, такой метод общения еще исключает ошибки набора). Прекрасным примером замены набора командной строки на выбор из меню является общепризнанная программа Norton Commander и все ее многочисленные “имитации”, включая написанную для среды Windows программу Е.Рошала FAR manager.
В указанном выше ПО для облегчения манипуляции файлами можно увидеть и прообраз еще одного элемента нового поколения интерфейса — окна: каждому диску на экране отводится отдельная, выделенная визуально, зона вывода информации. Подчеркнем, что разделение экрана на окна в однозадачной среде типа MS-DOS не является функционально необходимым, а продиктовано соображениями удобства. Качественное же изменение характера интерфейса происходит при переходе к многозадачным ОС типа Windows, где существование окон становится нормой, ибо позволяет одновременно исполняемым приложениям делить общий экран дисплея между собой.
Современные ОС используют для общения с пользователем интерфейс нового поколения, который принято называть графическим. Помимо наличия окон и меню, зародившихся ранее как средство преодоления неудобств, связанных с командной строкой, он включает в себя определенную объектную философию (любой объект имеет имя, значок, свойства). Мы не будем здесь обсуждать подробности графического интерфейса, поскольку этому посвящено огромное количество публикаций.
Методические рекомендации
Курс информатики основной школы
Согласно Стандарту, понятие о командном взаимодействии требуется дать ученикам именно на этом этапе. По-видимому, до изучения базового курса школьники уже будут иметь некоторые умения по практическому использованию оконного интерфейса; в таком случае большое значение приобретает грамотная систематизация практических навыков манипуляции мышкой. Очень важно, в частности, обобщить материал о состояниях окон (нормальном, полноэкранном и минимизированном) и переходах между ними; сформировать понятие рабочего поля окна и методов его перемещения по большому рисунку или тексту и т.д. (в частности, не все пользователи грамотно пользуются возможностями полос прокрутки, для управления которыми имеется не менее трех способов). Иначе говоря, необходимо помочь ученикам осознанно применять навыки работы с графическим интерфейсом. В качестве хорошего руководства по данному вопросу можно порекомендовать многочисленные книги и учебники Ю.А. Шафрина. (Заметим, что возможный переход с коммерческого Microsoft Office на свободно распространяемый Open Office может потребовать поиска других учебников.)
Очень важно при выполнении практических заданий на компьютере с самых первых занятий всячески подчеркивать ту общность интерфейса, которой обладают все программы. Например, сформировать понимание того, что буфер обмена есть часть ОС, а не конкретной программы, и поэтому его можно активно использовать при переносе всех видов информации и между любыми окнами, подходящими по смыслу: можно переносить фрагменты текстов, картинок, аудиофрагменты и даже набор файлов из папки.
Хороший эффект при изучении графических элементов управления дает применение специализированных тренажеров, которые в занимательной форме в ходе выполнения задания позволят открыть части красивой картинки или получить какой-либо другой интересный результат. Подобные тренажеры могут быть разработаны старшеклассниками под руководством учителя.
Для того чтобы дать учащимся хотя бы минимальное представление об интерфейсе командной строки, целесообразно подготовить какие-нибудь несложные демонстрации и задания по этому вопросу.
Курс информатики в старших классах
В старших классах углубить знания школьников по рассматриваемой теме можно при рассмотрении связанных тем. В частности, в соответствующем Стандарте имеется вопрос “Многообразие операционных систем”, который дает повод поговорить об интерфейсе командной строки (Unix, Linux) и особенностях графического интерфейса в разных системах. При наличии технической возможности желательно сравнить вид и приемы работы с графическим интерфейсом в Windows и в графических оболочках типа KDE или Gnome в ОС Linux. Основной вывод, который должны сделать ученики, — различия непринципиальны и касаются второстепенных деталей.
Хорошее продолжение можно предложить, если в школе изучаются визуальные среды программирования типа Delphi или Visual Basic (а может, их бесплатные аналоги Kylix и Lazarus). Дело в том, что многие визуальные компоненты этих современных сред программирования суть элементы стандартного графического интерфейса (Form — это собственно окно, Checkbox — флажок проверки, SpeedButton — операционная кнопка панели инструментов, ListBox — список и т.д.). Изучая программирование в таких средах, можно узнать много нового о свойствах органов графического контроля. Например, далеко не все старшеклассники хорошо понимают, что такое фокус ввода или что кнопка с границей двойной толщины есть кнопка по умолчанию, которая срабатывает от нажатия клавиши ввода на клавиатуре.
Можно поговорить со школьниками о графической операционной системе как об объектно-ориентированной среде. В частности, материал по такой теме для ОС Windows можно найти в рекомендованных выше книгах Ю.А. Шафрина.