Смекни!
smekni.com

Информационная система университета (стр. 7 из 16)

Таблица 6 - Структура массива входящих сообщений от сервера

Переменная Тип переменной
Тип сообщения Integer
Текст String
Сетевое имя String
Приоритет Integer
Ошибка Integer
Идентификатор присутствия Boolean 0-нет 1-есть
Не работающие устройства Integer
Контрольная сумма Boolean

За прием сообщений отвечает процедура Get_message. Она постоянно проверяет переменную "Идентификатор присутствия" в массиве входящих сообщений от сервера. Если данная переменная принимает значение истинно, то процедура проверяет значение "Тип сообщения" и в зависимости от него выполняет определенные действия.

"Тип сообщения" = 05.

Get_message проверяет значение переменной "Ошибка" в массиве входящих сообщений от сервера. Если "Ошибка" = 0, пользователь получает информацию о том, что его "Сетевое имя" и "Пароль" приняты системой и ему разрешено посылать объявления с зарегистрированным заранее приоритетом. "Ошибка" =1, пользователь информируется о том, что его "Сетевое имя" не обнаружено в базе данных пользователей. "Ошибка" = 2, пароль введенный пользователем не верен. В двух последних случаях пользователю будет разрешено посылать сообщения под "Сетевым именем" "Гость" и минимальным приоритетом. Переменная "Ок" принимает значение истинно.

"Тип сообщения" = 06.

Если переменная "Неработающие устройства" в массиве входящих сообщений от сервера = 0, то выводится сообщение пользователю на экран, что его объявление было успешно принято и обработано системой.

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

"Тип сообщения" = 07.

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

"Тип сообщения" = 08.

В зависимости от переменной "Текст" в массиве входящих сообщений от сервера процедура Get_message заполняет массив устройств. И информирует об этом пользователя.

6. Входная и выходная информация

Вся информация, циркулирующая в системе, представляет собой некоторые символьные выражения. Всю входную и выходную информацию можно подразделить на информацию обеспечивающую управление, осуществляющую запрос и справочную информацию. Входная и выходная информация группируется по типам и представляет собой пакеты/11/, с помощью которых и осуществляется связь между различными частями системы. В связи с тем, что в системе не должно возникать ни каких непредсказуемых ситуаций, т.е. система должна однозначно реагировать на все типы сообщений полученных ею, были разработаны типы пакетов, которые имеют строгую структуру и представлены в пункте "Формат и структура пакетов циркулирующих в системе". Были рассмотрены и определены все возможные ситуации, возникающие в системе и на каждую ситуацию, определено строгое поведение ИСУ.

Информация и команды, возникающая в системе, зависят от того, что пользователь требует от ИСУ. Основная информация, получаемая от пользователя, это текстовые объявления, которые он хочет опубликовать в системе. В зависимости от того, на какое из устройств произойдет вывод данного объявления, ИСУ преобразовывает его в нужный формат и выводит на устройство вывода /12/.

Существуют различные устройства вывода. Некоторые из них представлены на рисунке 4.

Устройства вывода


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

Бегущая строка


Текстовое табло


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

Графическое табло


Графическое табло (см. рис. 7) позволяет выводить не только текстовые сообщения но и простую графику. Формирование рисунка может происходить в любом месте табло и зависит только от фантазии создателя объявления и от разрешающей способности графического табло.

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

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

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

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

7. Формат и структура пакетов, циркулирующих в ИСУ

На рисунке 8 изображен общий формат пакетов, используемых при обмене информацией.

Формат пакета

Заголовок пакета Адрес источника Адрес приемника Тип сообщения Текст Контрольная сумма Префикс пакета

Рис. 8

"Заголовок пакета" и "Префикс пакета" предназначен для выделения пакета из информационного потока и синхронизации приемника и источника.

"Адрес приемника" – это адрес того устройства, которому предназначен пакет.

"Адрес источника" – это адрес того устройства, где был создан пакет.

"Тип сообщения" – информирует приемник о структуре поля "Текст".

"Текст" – текст сообщения.

"Контрольная сумма" – служит для обнаружения ошибок при приеме пакета. Для вычисления контрольной суммы необходимо найти сумму всех байтов полей "Место назначения", "Адрес отправителя", "Тип сообщения" и "Сообщение". Если полученная контрольная сумма будет совпадать с числом заголовок пакета или префикс пакета, то ее нужно инвертировать.