Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пользовательский интерфейс программного изделия...doc
Скачиваний:
4
Добавлен:
22.11.2019
Размер:
99.84 Кб
Скачать

Справочный интерфейс пользователя

Справочный интерфейс предназначен для вывода справок о предметной области пакета, составе и состоянии модели предметной области, допустимых действиях пользователя в различных состояниях пакета.

Если тексты справок о предметной области, о допустимых действиях пользователя могут быть заготовлены заранее, то справки о состоянии модели предметной области должны формироваться заново в каждом состоянии модели.

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

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

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

Интерфейс управления

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

Технические приемы реализации интерфейса зависят от типа используемого входного языка.

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

1. Активизировать функциональное окно для вывода меню, например, выделить его определенным цветом.

2. Вывести в окно тексты пунктов меню.

3. Вывести приглашение к выбору одного из пунктов меню.

4. Ввести ответ пользователя.

5. Если ответ неверный, вывести сообщение об ошибке и вернуться к пункту 2.

6. Выход из модуля с передачей вызывающему модулю значения выбора пользователя.

В этом алгоритме предполагается, что пользователь вводит номер выбранного пункта. Можно упростить действия пользователя, если предоставить ему возможность непосредственно указывать выбранный пункт меню. Для этого один из пунктов меню (обычно первый) выделяется особым цветом, подчеркиванием или заключением в рамку. Пользователь указывает свой выбор, используя клавишу перемещения курсора вверх-вниз, а, сделав выбор, нажимает клавишу "Ввод". В этом варианте работы можно исключить возможные ошибки пользователя, если интерфейсный модуль не будет реагировать на нажатие остальных клавиш, пока пользователь не сделает свой выбор.

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

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

1. Активизация функционального окна для ввода команды и вывод приглашения к вводу.

2. Ввод кода команды.

3. Проверка правильности кода по списку команд и определение порядкового номера команды в этом списхе.

4. Если введен неверный код команды, то вывод сообщения об ошибке и, возможно, подсказки в виде списка, допустимых команд, затем переход к пункту 1.

5. Определение типа команды по числу и способу задания операндов и вызова соответствующей подпрограммы для ввода операндов.

6. Если пользователь не ввел операнды в требуемой форме, то вывод сообщения об отказе в выполнении команды и переход к пункту 1.

7. Если команда не требует операндов или если операнды введены правильно, то выход с передачей в вызывающий модуль порядкового номера команды и списка операндов.

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

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

В большинстве случаев при разработке интерфейса управления приходится искать разумный компромисс между сложностью модулей интерфейса и простотой работы пользователя. 100 100