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

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

1. разработка системы классификации ошибок,

2. разработка способа кодирования ошибок;

3. разработка способа кодирования типов сообщений об ошибках.

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

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

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

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

Эти ошибки разбиваются по классам (например, «Ошибки ОС», «Ошибки вычислений», «Логические ошибки», «Ошибки ввода-вывода», «Неясности» и т.д.), по категориям внутри классов (например, внутри класса «Ошибки вычислений» можно выделить категории «Деление на нуль», «Слишком большое число», «Ошибка в вычислении индекса» и т.д.).

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

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

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

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

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

· сообщения с фиксированным текстом, не требующим переработки при выводе (рис. 4.8 и 4.9);

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

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

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

 

Для вывода каждого сообщения необходимо:

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

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

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

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

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


 



Дата: 2019-02-02, просмотров: 184.