Скачать 1.2 Mb.
|
^ В соответствии с календарным планом разработано программное обеспечение сервера и персонального компьютера пользователя. Настоящий раздел содержит общее описание основных решений и возможностей, предусмотренных при разработке.
Основные возможности, заложенные в программу пользователя, проиллюстрированы рисунком 15. ![]() Рисунок 15 – Главное окно пользовательской программы Из рисунка видно, что дизайном главного окна предусматриваются:
В свою очередь, закладка «Запросы к базе данных» содержит панели
В программе пользователя можно выделить два основных модуля: 1) модуль связи с сервером; 2) модуль отображения данных.
При запуске программы создаётся специальный компонент, который в фоновом режиме осуществляет все виды взаимодействия с сервером. Функциональность данного модуля содержит библиотека «SocketTcpAIR.dll» (рисунок 16). В модуле связи с сервером присутствуют три типа данных, которые используются для взаимодействия пользователя и сервера:
![]() Рисунок 16 – Модуль связи с сервером. При установлении связи с сервером создаются два дополнительных потока: один для обработки принимаемых, другой – для передаваемых данных. Фактически пользовательское программное обеспечение не имеет доступа к этим потокам, но имеет доступ к буферу передачи и буферу приёма. Для передачи данных необходимо их занести в буфер, и они будут переданы, а когда данные приняты, то генерируется соответствующее событие, означающее, что были получены новые данные и можно обратиться к буферу приёма для их чтения. Из буфера приёма массив байт поступает в блок «Восстановление пакетов», где набор байт принимает очертания пакета. Роль данного блока заключается в проверке правильности формата пакета. Блок «Разложение пакетов» передаёт пакет в буфер передачи. Физически пакет имеет форму массива байт, поэтому в блоках «Разложение пакетов» и «Восстановление пакетов» не происходит преобразования данных. В блоках «Восстановление сообщения» и «Разложение сообщения» одно сообщение может быть разложено на множество пакетов и наоборот. Пакетам выдаются идентификаторы, заполняются заголовки пакетов. Для передающего осуществляется управление последовательностью отправки. Буферы сообщений. С их помощью происходит абстрактное соединение пользовательского программного обеспечения с сервером. Если нужно передать сообщение, то его следует записать в «Буфер сообщений для передачи», а пришедшее сообщение попадает в «Буфер принятых сообщений». Логика буфера следит за отправкой сообщений с ожиданием как подтверждений, так и ответов. По протоколу взаимодействия программного обеспечения пользователя и сервера каждое сообщение должно быть подтверждено (успешное получение и правильность формата принятых данных). Для этого после приёма сообщения в буфер в блоке «Формирователь подтверждения» создаётся сообщение-подтверждение и сразу же передаётся в буфер сообщений для передачи. Подтверждение может быть отправлено в любой момент, в том числе допускаются случаи, когда пользователь даёт запрос, а сервер сначала высылает ответ, а затем подтверждение. Если передающая сторона не получила подтверждения, то она через определённое время делает повторную попытку отправки сообщения. Все принятые сообщения должны быть распознаны и обработаны. Для этого используется блок «Управление принятыми сообщениями». Здесь, в первую очередь, анализируется тип входного сообщения. Определены два типа сообщения, доходящие до этого уровня: запросы и ответы. Если приходит запрос с сервера, то он направляет этот запрос в блок «Формирователь ответа» и, в зависимости от типа запроса, создает соответствующий ответ, который поступает в «Буфер сообщений» для передачи. Если программному обеспечению пользователя пришёл ответ по ранее отправленному запросу, то эти данные направляются в модуль отображения данных. Все запросы пользователя формируются в модуле отображения данных.
Пользователь может либо увидеть, либо сформировать все результаты работы модуля отображения данных. Основная концепция построения пользовательского интерфейса строится на закладках (подобно MS Word 2007 (2010)). Эта концепция используется на всех уровнях пользовательского интерфейса. На высшем уровне выделено 4 закладки:
В дальнейшем, при добавлении дополнительной функциональности, данный список будет расширяться. Главное преимущество работы с закладками – это возможность, в зависимости от прав доступа и окружающей обстановки, управлять видимостью некоторых вкладок (так же, как это реализовано в MS Office). Например, если компьютер обнаружит прямое подключение к модулю GSM, появляется дополнительная закладка, с помощью которой используются возможности прямого подключения. Закладки используются также на более низком уровне для создания множества страниц с одинаковой функциональностью, но различным наполнением. Например, пользователь может создать 3 совершенно разных запроса (вне зависимости от машин и параметров). Некоторые поля могут повторяться в разных запросах. Таким образом, у пользователя появляется возможность создать необходимый набор независимых запросов и иметь к ним доступ в любое время использования программного обеспечения. Смысл данной возможности идентичен назначению вкладок Watch (в различных IDE программах, в том числе Microsoft Visual Studio и Microchip MPLAB). В программном обеспечении пользователя данный процесс получил усовершенствование, в частности, можно добавлять и удалять закладки, а также присваивать им свои имена. В любом случае каждое относительно сложное окно имеет многоуровневую систему компонентов. Так, например, главная закладка «Запросы к БД» может содержать закладки отдельных запросов. В свою очередь, каждая из этих закладок может содержать несколько элементарных запросов к любой машине и к любому параметру, доступному у этой машины. Для каждой вкладки запроса к данным присутствуют панели для отображения полученных в ответ данных и отображения графика (графиков). Данные могут отображаться либо по закладкам, либо все вместе. Кроме этого, пользователю предоставлена возможность создавать свои собственные дополнительные закладки, где можно группировать полученные данные по любому доступному принципу. Взаимодействовать с модулем связи с сервером может любой компонент пользовательского интерфейса. |
Республики Беларусь Республиканское унитарное предприятие «Центр... Республиканского унитарного предприятия «Центр научно-технической и деловой информации» | Республики Беларусь Республиканское унитарное предприятие «Центр... Республиканского унитарного предприятия «Центр научно-технической и деловой информации» |
Республики Беларусь Республиканское унитарное предприятие «Центр... Республиканского унитарного предприятия «Центр научно-технической и деловой информации» | Республики Беларусь Республиканское унитарное предприятие «Центр... Директор Республиканского унитарного предприятия «Центр научно-технической и деловой информации» |
Республики Беларусь Республиканское унитарное предприятие «Центр... Директор Республиканского унитарного предприятия «Центр научно-технической и деловой информации» | Республики Беларусь Республиканское унитарное предприятие «Центр... Разработать и ввести в эксплуатацию автоматизированный информационный ресурс специализированной научно-технической информации в области... |
Государственный комитет по науке и технологиям республики беларусь... Республиканское унитарное предприятие научно-аналитический центр информации, инновации | Республики беларусь республиканское унитарное предприятие «научно-аналитический... Республиканское унитарное предприятие научно-аналитический центр информации, инновации |
Республики беларусь республиканское унитарное предприятие «научно-аналитический... Республиканское унитарное предприятие научно-аналитический центр информации, инновации | Создать систему электронного обмена научно-технической документацией... Организация-соисполнитель: Научно-инженерное республиканское унитарное предприятие «Межотраслевой научно-практический центр систем... |