Материал: Организация базы данных для хранения динамических моделей беспроводных компьютерных Ad hoc сетей

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Перейдем к рассмотрению форм приложения. Общий вид главной формы представлен на рисунке 10.

Рисунок 10 - Главная форма клиентского приложения

Из рисунка 10 можно увидеть, что у пользователя есть возможность вручную добавить новый граф в базу данных. Для этого необходимо выбрать кнопку «Новый граф» и ввести имя создаваемого графа в соответствующее поле, изображение которого представлено на рисунке 11. В этот момент происходит обращение к серверу, а именно к хранимой процедуре «NEW_GRAPH», описанной ранее.

Рисунок 11 - Задание нового графа вручную

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

Рисунок 12 - Форма добавления нового узла графа

В приложении существует возможность автоматического добавления графа с существующими характеристиками из текстового файла. При нажатии на кнопку «Загрузить из файла» открывается окно выбора нужного графа. Диалоговое окно выбора включает в себя список файлов. Когда пользователь выбирает файл из списка, только файлы текстового типа отображаются в диалоговом окне. Пример проиллюстрирован на рисунке 13.

Рисунок 13 - Автоматическое добавление графа из текстового файла

После того, как вся необходимая информация о графе выбранным способом поступила в приложение, можно начинать моделировать поведение узлов графа путем изменения моментов времени. Таким образом, из начального графа «Тест», который, к примеру, изображен на рисунке 10, после некоторых промежуточных графов на седьмой секунде равномерного движения получается связный граф «G7». Пример полученного графа можно увидеть на рисунке 14.

Рисунок 14 - Пример связного графа G7

В требованиях к программе стоит условие о возможности экспорта полученного графа из приложения в текстовый файл и в базу данных для хранения. Данное условие было выполнено, и результат можно увидеть на рисунке 15, показывающим процесс сохранения сети с названием «граф G7». При нажатии на кнопку «Сохранить в файл» перед пользователем возникает окно с выбором директории и названием файла, в котором будут храниться данные в текстовом виде. Очевидно, что процесс экспорта файла во внешний текстовый файл осуществляется пользователем вручную, но в базе данных при открытии формы по добавлению нового графа срабатывает автоматический запрос на занесение нового графа в базу данных, который выполняется с помощью описанных в предыдущей главе хранимых процедур по добавлению графа и вершин. На рисунке 16 представлен скриншот содержания полученного текстового файла «граф G7».

Рисунок 15 - Сохранение графа G7 в текстовый файл

Рисунок 16 - Содержание текстового файла с данными о графе G7

Убедиться в том, что экспорт успешно осуществляется не только в текстовые файлы, но и в базу, можно обратившись к утилите IBExpert и выполнив запрос к созданной базе данных. На рисунке 17 продемонстрирован sql-запрос, выполненный в окне редактора. А на рисунке 18 соответствующий результат запроса, идентичный содержанию ранее созданного текстового файла «Тест».

Рисунок 17 - Выполнение sql-запроса к базе данных

Рисунок 18 - Результат sql-запроса к базе данных

беспроводной сеть узел граф

Заключение

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

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

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

.

Список использованных источников

Миков А.И. Графы и грамматики // Кубанский государственный университет, - Краснодар:2014, - 160 с.

Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы. //«Питер», М.: 2005, - 602 с.

Таненбаум Э. Компьютерные сети. 4-е изд.// «Питер», М.: 2003, - 992 с.

Голованов М. Иерархические структуры данных в реляционных БД. [Электронный ресурс] URL: http://www.rsdn.ru/article/db/Hierarchy.xml#EZ, [Дата обращения: 28.01.2002]

Мейер М. Теория реляционных баз данных. // «Мир», - М.: 1987, - 608 с.

Ковязин А.Н., Востриков С.М. Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/Firebird/Yafill. // «КУДИЦ-ОБРАЗ», М.: 2002, - 432 с.

Архангельский А.Я. C++Builder 6. Справочное пособие. Книга 1. Язык C++// «Бином-Пресс», М.: 2002 г, - 544 с.

Хомоненко А.Д., Ададуров С.Е. Работа с базами данных в C++ Builder. // «БХВ-Петербург», М.: 2006, - 496 с.C++ Builder 5. Энциклопедия программиста// «ДиаСофт», М.: 2001, - 944 с.

Приложение А

Описание программы

Общие сведения

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

В качестве СУБД для организации базы данных была использована кроссплатформенная, свободная система реляционного типа - FirebirdSQL. Для разработки и администрирования базы, а также для выбора и изменения данных применялась GUI-оболочка IBExpert.

Основная функция данного программного продукта заключается в организации базы данных для хранения динамической модели ad hoc сети. В качестве дополнительной функции выступает создание приложения СУБД для обеспечения связи с пользователем.

Программа «Организация базы данных для хранения динамических моделей беспроводных компьютерных ad hoc сетей» написана в интегрированной среде разработки C++ Builder, объединяющей в себе комплекс объектных библиотек (STL, VCL, CLX, MFC и др.), компилятор, отладчик, редактор кода и многие другие компоненты. Ключевой механизм BDE(Borland Database Engine), применяемый во всех продуктах производства корпорации Borland, обеспечивает работу визуальных компонент баз данных, действует как интерфейс между приложением и самой базой данных. BDE реализован в виде набора системных DLL файлов.

Среда C++ Builder может работать в операционных системах Microsoft Windows 2000, Microsoft Windows XP Professional, Microsoft Windows Server 2003 или Microsoft Windows Vista. Требования к ресурсам компьютера: - Процессор должен быть класса Pentium III 1,4 ГГц или более мощный;

512 Мбайт оперативной памяти;

750 Мбайт свободного места на жестком диске, в том числе для Microsoft .NET Framework и Microsoft .NET SDK.работает на аппаратных платформах x86, x64 и PowerPC, Sparc и многих других, поддерживая легкий переход между этими платформами. Наиболее широко используемыми для серверов «Firebird» операционными системами являются Linux и Microsoft Windows (включая NT) .

Функциональное назначение

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

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

Описание логической структуры

Разработка программного продукта состоит из следующих частей:

Организация базы данных

Разработка клиентского приложения

Разработка хранимых процедур

Разработка возможности ручного добавления в базу

Разработка автоматического добавления в базу

Алгоритм ручного добавления узла в базу данных

При нажатии на кнопку «Добавить узел» происходят следующие изменения:

Модально отображается форма с вводом данных;>ShowModal();

Пользователь вносит данные и нажимает кнопку «Да»;

Происходит обращение к серверу, а именно к хранимой процедуре AddPoint ;

dm->spAddPoint->Params->Items[0]->Value = dm->>Value;>spAddPoint->Params->Items[1]->Value = 0;

…>spAddPoint->Params->Items[6]->= StrToFloat(newPoint->eRin->Text);>spAddPoint->ExecProc(); //>qGraph->Close();

dm->qGraph->Open();

Процедура AddPoint представляет собой запрос:

insert into graphs values(:ingraph_id,:ingraph_time,:inx,:iny,:inA,:inb,:inr);

В данном запросе «insert into graphs» означает добавление строки в таблицу graphs. Далее следует перечисление всех полей и вносимые значения из формы через соответствующие переменные.

При успешном выполнении операции выводится сообщение о добавлении узла в базу данных.

Алгоритм автоматического добавления информации в программу из текстового файла

При нажатии на кнопку «Загрузить из файла» вызывается компонент для открытия файлов:->DefaultExt="txt";

Диалоговое окно выбора включает в себя выпадающий список файлов. Когда пользователь выбирает файл из списка, только файлы текстового типа отображаются в диалоговом окне. Это реализуется при помощи свойства «Filter»:->Filter="ASCII files (*.txt)|*.txt|";

После выбора файла и нажатия на кнопку «Открыть» срабатывает следующий алгоритм:

Имя выбранного файла сохраняется в переменной FileNameR, и файл загружается в приложение методом LoadFromFile.

AnsiString FileNameR = OpenDialog1->FileName;>LoadFromFile(FileNameR);

Данные из текстового файла в цикле приводятся к числовому типу и заносятся в переменные

for (int i=2; i<stm->Count;i++ )

{(buf, stm->Strings[i].c_str());*p = strtok(buf, " \r\n");= StrToFloat(String(p));= strtok(NULL, " \r\n");= StrToFloat(String(p));= strtok(NULL, " \r\n");= StrToFloat(String(p));= strtok(NULL, " \r\n");= StrToFloat(String(p));= strtok(NULL, " \r\n");

R = StrToFloat(String(p));

Происходит вызов сервера и обращение к хранимой процедуре «NewGraph» по добавлению имени графа в таблицу базы данных «GRAPH_NAME» и добавлению узлов в таблицу «GRAPHS» процедурой «AddPoint»

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

Компьютер стандарта IBM PC с установленной операционной системой Windows 8/7/ХР 64bit.

Вызов и загрузка

Запуск файла формата .exe.

Входные данные

текстовая информация, вводимая пользователем

файл с расширением txt

Выходные данные

таблицы базы данных

Приложение В

Пояснительная записка

Введение

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

Наименование разработки «Организация базы данных для хранения динамических моделей беспроводных компьютерных ad hoc сетей».

Программное обеспечение «Организация базы данных для хранения динамических моделей беспроводных компьютерных ad hoc сетей» предназначено для моделирования поведения узлов ad hoc сети в соответствующие моменты времени при помощи базы данных и работой над ней.

Работа выполнена в рамках научного проекта "Исследование структурных и динамических свойств стохастических беспроводных компьютерных ad hoc сетей".

. Назначение и область применения

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

. Технические характеристики

Постановка задачи:

Разрабатываемая информационная система должна решать следующие задачи:

Организация базы данных для хранения динамической модели беспроводной компьютерной ad hoc сети;

Реализация программы, которая по начальному графу G0 будет строить последовательность графов G0…Gk в соответствующие моменты времени t0…tk;

Реализация обратной связи: - программы, которая будет считывать данные из БД и строить соответствующую модель сети (геометрический граф).

Возможность ручного ввода в базу данных;

Возможность автоматической загрузки начальных значений в базу данных из файла;

Реализация программного интерфейса для вывода данных;

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

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

Для размещения системы необходим компьютер, который обеспечивает работу с ОС Windows server, а также наличие Firebird SQL Server, работающего в качестве сервера.

. Ожидаемые технико-экономические показатели

Технико-экономические показатели программного обеспечения «Организация базы данных для хранения динамических моделей беспроводных компьютерных ad hoc сетей» обеспечивают выполнение следующих требований:

Система имеет доступный и дружественный для пользователя интерфейс;

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

В системе предусмотрены различные виды ввода и вывода информации;

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

Источники, использованные при разработке

ГОСТ 19.404-79 ЕСПД. Пояснительная записка. Требования к содержанию и оформлению.

Послед Б.С. Borland C++ Builder 6. Разработка приложений баз данных. - М.: ДиаСофтЮП, 2009.


Код программы