
- •Тема 7. Пользовательский интерфейс программного изделия
- •Функции обслуживающих модулей
- •Особенности реализации интерфейса с пользователем
- •Справочный интерфейс пользователя
- •Интерфейс управления
- •Информационный интерфейс
- •Интерфейс ввода-вывода
- •Внешний интерфейс
- •Правила разработки пользовательского интерфейса
Интерфейс ввода-вывода
Данные для решения задач могут вводиться из заранее подготовленных файлов или же непосредственно пользователем пакета с клавиатуры.
Если в пакете всегда требуется вводить значения одних и тех же данных, запрос на ввод данных формируется пакетом, и пользователь, отвечая на этот запрос, должен вводить данные.
Такая ситуация типична, например, для пакета линейного программирования, когда требуется решать новую задачу.
В пакетах более широкого назначения пользователь сам определяет, значения каких данных он будет вводить, а какие данные требуется вычислить. В этом случае пользователь сначала вводит команду (выбирает пункт меню) для активизации программ ввода данных, затем указывает данные, которые будет вводить, называя их имена или отмечая в предложенном ему списке данных. Скалярные данные могут задаваться в форме оператора присваивания (имя-значение). Для ввода массива (вектора или матрицы) целесообразно сначала указать имя массива, а значения элементов массива вводить по запросам из пакета. Это позволяет избежать ошибок в числе элементов массива. Для ввода элементов массива может использоваться табличный способ, когда на экран выводится таблица с наименованиями строк и столбцов, и пользователь вводит значения элементов массива в клетки таблицы. При вводе данных с клавиатуры должна быть предусмотрена возможность редактирования значений вводимых данных до нажатия клавиши "Ввод".
Для используемых в пакете массивов целесообразно предусмотреть возможность изменения значений отдельных элементов с сохранением остальной части массива - коррекции элементов массива.
Вариант модуля ввода данных, который может быть построен с применением операторов форматного ввода-вывода языка программирования типа Паскаль или Си без использования средств ОС, можно построить по следующему алгоритму.
1. Запрос списка имен вводимых данных.
2. Контроль списка имен данных, указанного пользователем, и определение адресов размещения данных, для чего может потребоваться обращение к функции управления памятью.
3. Цикл по списку данных.
3.1. Если очередное данное является скалярным, то:
3.1.1. Запрос значения данного
3.1.2. Ввод значения данного
3.2. Если очередное данное в списке является массивом, то цикл по числу элементов массива
3.2.1. Запрос эначечия данного с указанием индексов элементов массива
3.2.2. Ввод значения данного
3.2.3. Конец цикла 3.2
3. 3. Конец цикла 3
4. Регистрация в модели предметной области факта наличия значений для введенных данных
Последний пункт алгоритма необходим, чтобы обеспечить возможность контроля допустимости вызовов обрабатывающих модулей пакета при планировании вычислительного процесса и модулей вывода данных.
Вывод данных может быть организован по аналогичному алгоритму. Очевидно, что выводить можно только такие данные, которым присвоены значения в результате выполнения обрабатывающих модулей или при вводе данных. Необходимо предусмотреть возможности вывода данных, как на экран дисплея, так и на печатающее устройство одновременно или по выбору пользователя. Выводимые данные нужно сопрвождать текстовыми пояснениями.
Значения массивов при выводе представляются в табличной фоме с соответствующей шапкой таблицы и порядковыми номерами строк и столбцов.
Если требуется выводить несколько одномерных массивов имеющих одичачовьй размер, то их целесообразно объединить в общую таблицу.
Если выводимая информация не умещаается на экране дисплея или печатной странице, нужно предусматривать оформление страниц выходного документа, а смену информации на экране производить по команде пользователя. 100 100