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

Информационный интерфейс

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

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

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

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

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

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

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

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

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

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

По способу формирования сообщений об ошибках можно выделить три типа сообщений:

сообщения с фиксированным текстом, не требующим переработки при выводе;

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

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

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

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

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

выбрать текст сообщения (заготовки сообщения) из массива (файла) по ключу поиска;

выполнить подстановку значений параметров;

установить код серьезности ошибки;

вывести сообщение об ошибке.

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