Создание дружественного интерфейса
Пользовательский интерфейс — это обеспечение взаимодействия программы и человека (в отличие от других интерфейсов, обеспечивающих взаимодействие различных модулей, программ, устройств).
Хорошим считается дружественный(или дружелюбный) интерфейс — тот, который удобен не программисту, а пользователю..
Заставка
Первым делом — сразу после запуска — ваша программа должна сообщить пользователю, какую именно задачу она собирается решать. Причём информация о решаемой задаче должна быть исчерпывающей. Это особенно важно, если в постановке задачи имеются серьёзные ограничения, о которых пользователя нужно уведомить сразу же.
Информационная часть интерфейса, появляющаяся на экране сразу после запуска программы, называется заставкой. Заставка может содержать:
o название программы;
o пояснение (краткую или подробную информацию о решаемой задаче);
o информацию об авторе(–ах) программы;
o номер версии программы;
o и т. п.
Заставка может состоять как из отдельного экрана, который исчезает после нажатия произвольной клавиши (его сменяет рабочая область программы), так и лишь из одной строки, которая остаётся на экране до конца работы программы (или пока её не вытеснит объёмный вывод).
Ввод информации
Пользователь может вводить информацию двумя способами: свободным вводом или выбором из предоставленных возможностей.
Приглашения
Каждый раз, когда программа ждёт свободного ввода от пользователя, она должна сообщать об этом, выводя на экран приглашение к вводу.
Приглашение вида «Введите х:» невозможно считать удовлетворительным, поскольку оно не содержит никакой информации об ожидаемых данных. Хорошее приглашение должно сообщать пользователю, что именно от него хотят получить в данный момент: тип, формат и размер вводимых данных.
Например:
Введите координаты центра окружности (два целых числа -10000 <= x, y <= 10000):
Защита от неправильных данных
При свободном вводе пользователь, вообще говоря, может вводить что угодно (а то и вовсе что попало) и совсем не обязательно информацию в ожидаемом программой формате. Например, попытка ввести букву «О», когда ожидается цифра «0», может привести к аварийной остановке программы или её непредсказуемому продолжению.
Таким образом, для надёжности работы программы необходимо предусмотреть проверки любой введённой пользователем информации. Такой контроль получил в среде программистов название «защита от дурака». При правильной организации этой защиты ваша программа «не выйдет из строя» даже в том случае, если вместо ввода данных пользователь просто сядет на клавиатуру.
Если по каким–либо причинам ввод всё–таки получился ошибочным, сообщение об этом должно появиться немедленно, вместе с предложением ввести информацию заново.
Вывод информации
Не следует думать, что вывод информации происходит только в конце работы программы. Некоторые программные комплексы реального времени в принципе могут работать годами без перезагрузки. Поэтому операторы вывода должны информировать пользователя о текущем состоянии процесса контроля или о промежуточных вычислениях.
Каждый раз, когда пользователь должен что–то ввести, этому предшествует или вывод приглашения или должна существовать удобная форма ввода данных. Каждый раз, когда программа приступает к выполнению длительных операций (загрузка данных, синхронизация, печать, большой объем вычислений), она должна сообщать об этом пользователю — чтобы исключить вероятность прерывания «по окончании терпения», а ещё лучше, если на экране будет находиться какой–нибудь индикатор процесса, отображающий текущее «состояние дел». (этот индикатор мы рассмотрим позднее более внимательно).
Какими же должны быть сообщения программы, выводимые на экран? В любом случае они обязаны быть доброжелательными и вежливыми. И, кроме того:
o Адекватными выполняемой задаче
Это означает, что терминология сообщений должна соответствовать той области, к которой относится задача.
o Учитывающими контингент пользователей, на которых рассчитана программа
Например, если вы пишете обучающую программу для младших школьников, то в пояснениях не должно быть сложных предложений и «заумных» слов. А если вы создаёте игру для своих сверстников, то в её сообщениях возможен и молодёжный сленг (однако мы настоятельно советуем избегать табуированной лексики, даже иноязычной).
o Логично сгруппированными
Все запросы данных, относящихся к одному и тому же логическому блоку, стоит объединять и на экране. Например, если необходимо ввести информацию по нескольким налогоплательщикам, то не стоит сначала запрашивать все фамилии, а затем только номера банковских счетов.
o Информативными
Программа, как вы помните, должна сообщать результаты своей работы. Однако «голый» вывод неприемлем: результаты обязательно должны сопровождаться исчерпывающими пояснениями. Кроме того, помимо окончательного результата, нужно выводить и промежуточные результаты — по окончании обработки каждого логически самостоятельного крупного блока. Если же работа программы оказывается прерванной из–за какой–либо ошибки, сообщение о её причинах должно появиться на экране.
o Эргономичными
Понятие эргономичность включает в себя минимизацию умственных и физических усилий пользователя: например, если есть возможность заменить ввод выбором, это нужно делать. Следует стремиться к кратким сообщениям — но, разумеется, не за счёт потери части их смысла! Цветовое оформление также не должно становиться причиной дискомфорта или ошибок пользователя: например, не стоит выводить сообщение о неправильном вводе зелёным цветом, а сообщение об успешно пройденном тесте — красным. (но об этом позднее)
Настройки по умолчанию в ПО
Проектируем время
Компьютерный дизайн -- > apple -- > мышь -- > верхнее меню -- > макинтош
Интерфейс пользователя не должен быть похожим на компьютерную программу (принцип прозрачности).
Правило 7-ми
Правило 20/80
Производительность может измеряться числом нажатий клавиш.
Программирование является индустрией обслуживания.