Создание дружественного интерфейса

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

Хорошим считается дружественный(или дружелюбный) интерфейс — тот, который удобен не программисту, а пользователю..

Заставка

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

Информационная часть интерфейса, появляющаяся на экране сразу после запуска программы, называется заставкой. Заставка может содержать:

o название программы;

o пояснение (краткую или подробную информацию о решаемой задаче);

o информацию об авторе(–ах) программы;

o номер версии программы;

o и т. п.

Заставка может состоять как из отдельного экрана, который исчезает после нажатия произвольной клавиши (его сменяет рабочая область программы), так и лишь из одной строки, которая остаётся на экране до конца работы программы (или пока её не вытеснит объёмный вывод).

Ввод информации

Пользователь может вводить информацию двумя способами: свободным вводом или выбором из предоставленных возможностей.

Приглашения

Каждый раз, когда программа ждёт свободного ввода от пользователя, она должна сообщать об этом, выводя на экран приглашение к вводу.

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

Например:

Введите координаты центра окружности (два целых числа -10000 <= x, y <= 10000):

Защита от неправильных данных

При свободном вводе пользователь, вообще говоря, может вводить что угодно (а то и вовсе что попало) и совсем не обязательно информацию в ожидаемом программой формате. Например, попытка ввести букву «О», когда ожидается цифра «0», может привести к аварийной остановке программы или её непредсказуемому продолжению.

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

Если по каким–либо причинам ввод всё–таки получился ошибочным, сообщение об этом должно появиться немедленно, вместе с предложением ввести информацию заново.

Вывод информации

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

Каждый раз, когда пользователь должен что–то ввести, этому предшествует или вывод приглашения или должна существовать удобная форма ввода данных. Каждый раз, когда программа приступает к выполнению длительных операций (загрузка данных, синхронизация, печать, большой объем вычислений), она должна сообщать об этом пользователю — чтобы исключить вероятность прерывания «по окончании терпения», а ещё лучше, если на экране будет находиться какой–нибудь индикатор процесса, отображающий текущее «состояние дел». (этот индикатор мы рассмотрим позднее более внимательно).

Какими же должны быть сообщения программы, выводимые на экран? В любом случае они обязаны быть доброжелательными и вежливыми. И, кроме того:

o Адекватными выполняемой задаче

Это означает, что терминология сообщений должна соответствовать той области, к которой относится задача.

o Учитывающими контингент пользователей, на которых рассчитана программа

Например, если вы пишете обучающую программу для младших школьников, то в пояснениях не должно быть сложных предложений и «заумных» слов. А если вы создаёте игру для своих сверстников, то в её сообщениях возможен и молодёжный сленг (однако мы настоятельно советуем избегать табуированной лексики, даже иноязычной).

o Логично сгруппированными

Все запросы данных, относящихся к одному и тому же логическому блоку, стоит объединять и на экране. Например, если необходимо ввести информацию по нескольким налогоплательщикам, то не стоит сначала запрашивать все фамилии, а затем только номера банковских счетов.

o Информативными

Программа, как вы помните, должна сообщать результаты своей работы. Однако «голый» вывод неприемлем: результаты обязательно должны сопровождаться исчерпывающими пояснениями. Кроме того, помимо окончательного результата, нужно выводить и промежуточные результаты — по окончании обработки каждого логически самостоятельного крупного блока. Если же работа программы оказывается прерванной из–за какой–либо ошибки, сообщение о её причинах должно появиться на экране.

o Эргономичными

Понятие эргономичность включает в себя минимизацию умственных и физических усилий пользователя: например, если есть возможность заменить ввод выбором, это нужно делать. Следует стремиться к кратким сообщениям — но, разумеется, не за счёт потери части их смысла! Цветовое оформление также не должно становиться причиной дискомфорта или ошибок пользователя: например, не стоит выводить сообщение о неправильном вводе зелёным цветом, а сообщение об успешно пройденном тесте — красным. (но об этом позднее)

Настройки по умолчанию в ПО

Проектируем время

Компьютерный дизайн -- > apple -- > мышь -- > верхнее меню -- > макинтош

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

Правило 7-ми

Правило 20/80

Производительность может измеряться числом нажатий клавиш.

Программирование является индустрией обслуживания.

Наши рекомендации