Компьютерное моделирование беспроводных AD-HOC сетей для целей расчета времени связи мобильных абонентов - Дипломная работа

бесплатно 0
4.5 191
Использование базы данных статистики последовательного соединения мобильных узлов беспроводной сети с использованием средств программирования Delphi и языка ADO. Оптимизация, отладка и тестирование программы AD-HOC сетей, решение аномалий в узлах сети.

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
После осуществления заданного числа последовательных соединений или самостоятельной остановки работы программы требуется усреднить время, вывести полученный результат для анализа на экран монитора и сохранить его в Базе Данных MS Access.[1][2] Заданные начальные параметры испытания и результаты, полученные в результате работы программы, сохраняют в Базе Данных MS Access, подключенной к данной программе. После того, как сеть образовалась заданное количество раз, или была самостоятельно остановлена работа программы, подсчитывается среднее время жизни (образования) сети и записываются полученные результаты в базу данных. Программа разработана и написана на языке программирования Delphi, т.к. она позволяет быстро и надежно обрабатывать данные, пользуясь объектно-ориентированных особенностей языка, и сохранять результаты в Базе Данных, созданной в Microsoft Office Access 2003, с помощью ADO.[5] //проверка сети if flag then begin //проверка на разрыв сети for l:=0 to Length(Net)-2 do if Connect[Net[l],Net[l 1]]=0 then begin flag:=false;В ходе анализа сравнительной экономической эффективности методом приведенных затрат можно сделать вывод, что годовая экономия от внедрения программного продукта составляет 325 791,9 руб., а фактический срок окупаемости составляет приблизительно 0,046 года, что составляет приблизительно 17 дней, и не превышает нормативного срока окупаемости равного 2,5 года.В результате разработки дипломной работы была написана программа для компьютерного моделирования беспроводных AD-HOC сетей с целью расчета времени связи мобильных абонентов Удобство работы с программой позволяет пользователю в кратчайшее время запустить программное моделирование с самостоятельно выбранными начальными параметрами узлов и параметрами поля.Рисунок 2-Вторая Нормальная ФормаРисунок 4 Входная форма начальных параметров поляForm1.PROGRESSBAR1.Max:=2 Form1.STRINGGRID3.ROWCOUNT Form1.STRINGGRID2.ROWCOUNT; Form2.ADOTABLE4.FIELDBYNAME("Условия радиуса").ASSTRING:=Form1.Edit1.Text "м<=R<=" Form1.Edit2.Text "м"; Form2.ADOTABLE4.FIELDBYNAME("Условия скорости").ASSTRING:=Form1.Edit3.Text "м/с<=V<=" Form1.Edit4.Text "м/с"; // Запись в таблицу Соединения for i:=1 to Form1.STRINGGRID2.ROWCOUNT-1 do begin if Form1.STRINGGRID2.Cells[2,i]="" then break; //изменение параметров для вычислений в соответствие с радиусом if r1>STRTOINT(Form1.STRINGGRID1.Cells[6,l]) then begin r1:=STRTOINT(Form1.STRINGGRID1.

План
Оглавление

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

Подход к решению поставленной задачи

База данных статистики последовательного соединения мобильных узлов беспроводной сети

Нормализация

Первая нормальная форма

Вторая нормальная форма

Третья нормальная форма

Среда программирования Delphi

Объектно-ориентированные особенности языка ADO

Методы программирования

Автоматическое добавление записи в таблицу «Испытание»

Отображение всех данных из Базы Данных

Фильтрация Базы данных

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

Рекурсивная функция проверки образовавшейся сети и нахождение ее пути

Оптимизация программы

Отладка и тестирование программы

Инструкция пользователю

Системные требования

Инструкция пользователя

Задание параметров поля

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

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

Начало компьютерного моделирования AD-HOC сетей

Остановка компьютерного моделирования AD-HOC сетей

Просмотр Базы Данных и полученных результатов

Открытие существующей Базы Данных

Создание новой Базы Данных

Отображения данных об одном испытание

Отображения всех данных Базы данных

Закрытие окна “База данных”

Выход из программы

Аномалии

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

Экономическая часть

Заключение

Литература

ПРИЛОЖЕНИЯ

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

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

В настоящее время основным научным направлением лаборатории является “Разработка методов и средств моделирования и проектирования средств и систем управления”.

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

· выполняются исследования и разработка теоретических и методологических основ математического моделирования физических процессов.

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

Написать программу для просмотра статистики последовательного соединения мобильных узлов (абонентов) беспроводной сети, произвольно движущихся по заданной области. После осуществления заданного числа последовательных соединений или самостоятельной остановки работы программы требуется усреднить время, вывести полученный результат для анализа на экран монитора и сохранить его в Базе Данных MS Access.[1][2]

Подход к решению поставленной задачи.

Для решения поставленной задачи задается: · количество узлов беспроводной сети

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

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

Заданные начальные параметры испытания и результаты, полученные в результате работы программы, сохраняют в Базе Данных MS Access, подключенной к данной программе.

Информация о возникновении связей между узлами отслеживается; образование сети, и время разрыва сети записываются в таблицу.

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

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

Нормализация

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

Исходное отношение (концептуальные требования): · Испытание;

· Начальные параметры;

· Соединения;

· Параметры поля;

Первая нормальная форма

Таблица находится в первой нормальной форме, если каждый ее атрибут атомарен и все строки различны. Под выражением «атрибут атомарен» понимается, что атрибут может содержать только одно значение. Таким образом, наши концептуальные требования не соответствуют 1НФ таблицы по полю «Испытание», в полях которого хранятся списки значений. Для приведения данных к 1НФ обычно требуется разбить концептуальные требования на несколько отдельных отношений: · Номер испытания;

· Дата испытания;

· Начало испытания;

· Окончание испытания;

· Количество узлов;

· Количество совпадений;

· Среднее время жизни сети;

· Путь образовавшейся сети;

· Время образования сети;

· Время разрыва сети;

· Время “жизни” сети;

· Ширина поля;

· Высота поля;

· Условие задачи радиуса;

· Условие задачи скорости;

· Начальное положение узла;

· Начальное направление узла;

· Радиус узла;

· Начальная скорость узла;

Вторая нормальная форма

(

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

Третья нормальная форма

(Приложение А, Рисунок 3)

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

Данные таблицы уже находятся в 3НФ.

В нашем случае трех НФ достаточно.

Среда программирования Delphi.

Программа разработана и написана на языке программирования Delphi, т.к. она позволяет быстро и надежно обрабатывать данные, пользуясь объектно-ориентированных особенностей языка, и сохранять результаты в Базе Данных, созданной в Microsoft Office Access 2003, с помощью ADO.[5]

Таблица 1 Сравнения языков программирования

Язык Объектно-ориентированный язык программирования Компоненты ADO Удобство Наличие лицензии

Delphi

Visual C - -

Turbo Basic - - - -

Обоснование выбора языка программирования приведены в таблице 1. Главными причинами данного выбора стали наличие лицензии и наличие ADO компонентов, необходимы для работы с Базой Данных Microsoft Office Access 2003.

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

Наследование - При создании новых объектов получить все свойства и методы от своих предков называют наследованием. Такие объекты унаследывают после своего создания все поля, свойства, события, методы и прочее от своих предков. Наследование часто избавляет разработчиков от рутинной работы и позволяет не мешкая приступить к разработке чего-то нового.

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

Операторы - Список операторов через пробел: - * / div mod not and or xor shl shr ^ = >= @ in is as

Типы данных - Обрабатываемые в программе данные подразделяются на переменные, константы и литералы. Константы представляют собой данные, значения которых установлены в разделе объявления констант и не изменяются в процессе выполнения программы.

Объекты - Объекты как экземпляры класса объявляются в программе в разделе var как обычные переменные. Например: var CCIRCLE1: TCOLORCIRCLE; CIRCLEA: TCIRCLE; Как и в случае записей, для обращения к конкретному элементу объекта (полю; свойству или методу) указывается имя объекта и имя элемента, разделенные точкой, то есть имя элемента является составным.

Классы

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

ADO.

ADO (от англ. ACTIVEX Data Objects - «объекты данных ACTIVEX») - интерфейс программирования приложений для доступа к данным , разработанный компанией Microsoft (MS Access , MS SQL Server ) и основанный на технологии компонентов ACTIVEX . ADO позволяет представлять данные из разнообразных источников (реляционных баз данных , текстовых файлов и т. д.) в объектно-ориентированном виде. [6]

Объектная модель ADO состоит из следующих объектов высокого уровня и семейств объектов: § Connection (представляет подключение к удаленному источнику данных)

§ Recordset (представляет набор строк, полученный от источника данных)

§ Command (используется для выполнения команд и SQL -запросов с параметрами)

§ Record (может представлять одну запись объекта Recordset или же иерархическую структуру, состоящую из текстовых данных)

§ Stream (используется для чтения и записи потоковых данных, например, документов XML или двоичных объектов)

§ Errors (представляет ошибки)

§ Fields (представляет столбцы таблицы базы данных)

§ Parameters (представляет набор параметров SQL -инструкции)

§ Properties (представляет набор свойств объекта)

Компоненты ADO используются в языках высокого уровня, таких как VBSCRIPT в ASP , JSCRIPT в WSH , Visual Basic, Delphi .

Методы программирования.

Автоматическое добавление записи в таблицу «Испытание»: Form2.ADOTABLE1.Last;

Form2.ADOTABLE1.Insert;

Form2.ADOTABLE1.FIELDBYNAME("Дата").ASSTRING:=Data;

Form2.ADOTABLE1.FIELDBYNAME("Начало").ASSTRING:=TIMESTART;

Form2.ADOTABLE1.FIELDBYNAME("Окончание").ASSTRING:=TIMEEND;

Form2.ADOTABLE1.FIELDBYNAME("Узлов").ASINTEGER:=k;

Form2.ADOTABLE1.FIELDBYNAME("Совпадений").ASINTEGER:=j;

Form2.ADOTABLE1.FIELDBYNAME("Среднее время жизни").ASSTRING:=TIMETOSTR(SRTIME);

Form2.ADOTABLE1.Post;

Form2.ADOTABLE1.Refresh;

Form2.ADOTABLE1.Last;

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

Отображение всех данных из Базы Данных.

ADOCONNECTION1.Connected:=False;

ADOCONNECTION1.CONNECTIONSTRING:="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" EXTRACTFILEPATH(Application.EXENAME) "\БД\ALLSTAT.mdb;Persist Security Info=False";

ADOCONNECTION1.Connected:=True;

ADOTABLE1.Active:=True;

ADOTABLE2.Active:=True;

ADOTABLE3.Active:=True;

ADOTABLE4.Active:=True;

ADOTABLE1.FIELDBYNAME("Id").Visible:=true;

ADOTABLE2.FIELDBYNAME("Id").Visible:=false;

ADOTABLE3.FIELDBYNAME("Id").Visible:=false;

ADOTABLE4.FIELDBYNAME("Id").Visible:=false;

DBGRID1.Columns[0].Title.Caption:="№";

DBGRID1.Columns[0].Width:=20;

DBGRID3.Columns[1].Width:=138;

except

MESSAGEDLG("Ошибка при открытие Базы Данных!Доступ ограничен, либо отсутствует!" #13"Данные испытаний не будут внесены в Базу",MTERROR,[MBOK],0);

ADOCONNECTION1.Connected:=False;

Form1.N7.Enabled:=False;

end;

end;

Фильтрация Базы данных

ADOTABLE2.Filtered:=False;

ADOTABLE3.Filtered:=False;

ADOTABLE4.Filtered:=False;

ADOTABLE2.Filter:="Испытание=" ADOTABLE1.FIELDBYNAME("Id").ASSTRING; ADOTABLE3.Filter:="Испытание=" ADOTABLE1.FIELDBYNAME("Id").ASSTRING;

ADOTABLE4.Filter:="Испытание=" ADOTABLE1.FIELDBYNAME("Id").ASSTRING; ADOTABLE2.Filtered:=True;

ADOTABLE3.Filtered:=True;

ADOTABLE4.Filtered:=True;

Автоматическая проверка на образование связей между узлов и образование сети: procedure LIFEPATH(j:integer);

var l,x0,y0,r1,x2,y2:integer;

s:byte; str:string;

begin for l:=j 1 to k do begin

//считывание параметров r1:=STRTOINT(Form1.STRINGGRID1.Cells[6,j]);

x2:=STRTOINT(Form1.STRINGGRID1.Cells[1,j]);

y2:=STRTOINT(Form1.STRINGGRID1.Cells[2,j]);

//изменение параметров для вычислений в соответствие с радиусом if r1>STRTOINT(Form1.STRINGGRID1.Cells[6,l]) then begin r1:=STRTOINT(Form1.STRINGGRID1.Cells[6,l]);

x0:=STRTOINT(Form1.STRINGGRID1.Cells[1,l]);

y0:=STRTOINT(Form1.STRINGGRID1.Cells[2,l]);

end else begin x0:=x2;

y0:=y2;

x2:=STRTOINT(Form1.STRINGGRID1.Cells[1,l]);

y2:=STRTOINT(Form1.STRINGGRID1.Cells[2,l]);

end;

//проверка соединения if (sqr(x2-x0) sqr(y2-y0))<=sqr(r1) then begin

Connect[j-1,l-1]:=1;

Connect[l-1,j-1]:=1;

//прорисовка соединения

Form1.Image1.Canvas.Brush.Style:=BSSOLID;

Form1.Image1.Canvas.Pen.Color:=RGB(0,0,255);

Form1.Image1.Canvas.Pen.Width:=2;

Form1.Image1.Canvas.MOVETO(x0,y0);

Form1.Image1.Canvas.LINETO(x2,y2);

Form1.Image1.Canvas.Pen.Width:=1;

end else begin

Connect[j-1,l-1]:=0;

Connect[l-1,j-1]:=0;

end;

end;

//проверка сети if flag then begin //проверка на разрыв сети for l:=0 to Length(Net)-2 do if Connect[Net[l],Net[l 1]]=0 then begin flag:=false;

Form1.STRINGGRID2.Cells[2,p]:=TIMETOSTR(Time);

Form1.STRINGGRID2.Cells[3,p]:=TIMETOSTR((STRTOTIME(Form1.STRINGGRID2.Cells[1,p])-Time)*20);

if p=ks then begin

Form1.Button1.Enabled:=False;

Form1.Button4.Enabled:=False;

Form1.Button2.Enabled:=True;

Form1.LABELEDEDIT1.Enabled:=True;

Form1.LABELEDEDIT2.Enabled:=True;

Form1.Timer1.Enabled:=false;

TIMEEND:=TIMETOSTR(Time);

Form1.CHECKBOX1.Enabled:=True;

//GROPUBOX

Form1.LABELEDEDIT3.Enabled:=True;

Form1.LABELEDEDIT4.Enabled:=True;

Form1.Edit1.Enabled:=True;

Form1.Edit2.Enabled:=True;

Form1.Edit3.Enabled:=True;

Form1.Edit4.Enabled:=True;

Form1.Button5.Enabled:=True;

//ЗАПИСЬ В БД try if Form1.N7.Enabled then

ADDDATE;

Except

MESSAGEDLG("Ошибка при добавление данных в БД",MTERROR,[MBCANCEL],0) end;

break;

end;

end;

end else

//проверка на появление сети begin for l:=0 to k-1 do begin s:=0;

for j:=0 to k-1 do s:=s Connect[l,j];

s:=s-2;

if s=1 then begin

Net:=nil;

INFOBEGINPATCH(l);

if Length(Net)=k then begin flag:=true;

for y0:=0 to Length(net)-2 do str:=str INTTOSTR(Net[y0] 1) "";

str:=str INTTOSTR(Net[Length(Net)-1] 1);

for x0:=1 to Form1.STRINGGRID2.ROWCOUNT-1 do if Form1.STRINGGRID2.Cells[0,x0]="" then begin p:=x0;

Form1.STRINGGRID2.Cells[0,p]:=str;

Form1.STRINGGRID2.Cells[1,p]:=TIMETOSTR(Time);

str:="";

break;

end;

end;

break;

end;

end;

end;

end;

Рекурсивная функция проверки образовавшейся сети и нахождение ее пути: procedure INFOBEGINPATCH(i:integer);

var j,l:integer;

f,fl:boolean;

begin

// проверка на наличие связи fl:=true;

if Length(Net)>1 then if Connect[Net[Length(Net)-1],i]1 then begin fl:=false;

end;

if fl then begin

SETLENGTH(Net,length(Net) 1);

Net[length(Net)-1]:=i;

for j:=0 to k-1 do begin f:=false;

for l:=0 to length(Net)-1 do begin if j=Net[l] then f:=true;

end;

if f then

Continue;

if Connect[i,j]=1 then

INFOBEGINPATCH(j);

end;

end;

end;

Аномалии

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

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

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

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

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

Рассмотрим реакции программы на данные аномалии.

· Ошибка корректности данных - перед началом моделирования данные в таблице проверяются на наличие, а за корректность ввода отвечает обработчик ввода данных с клавиатуры в таблицу.

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

· Задание нулевой скорости узла - данная аномалия так же не является критичной и может являться дополнительным условие к данному моделированию по желанию пользователя.

Оптимизация программы

Оптимизация - это процесс изменения программы по определенным критериям с целью повышения ее качества при сохранении смысла исходной программы.[7]

Для сокращения объема кода программы он разбивается на части - подпрограммы. Каждая подпрограмма может вызываться из разных частей основной программы.

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

В языках программирования высокого уровня используется два типа подпрограмм: процедуры и функции.

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

Процедура - это любая подпрограмма, которая не является функцией.

Например, в программе написана процедура, выполняющая добавление в базу данных новой экзаменационной группы.

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

Например, цикл, выполняющий заполнение списка на основе выборки из базы данных.

Form1.ADOTABLE2.First;

while not Form1.ADOTABLE2.Eof do begin cbx.Items.Add(Form1.ADOTABLE2.FIELDBYNAME("РЕГИОН").ASSTRING);

Form1.ADOTABLE2.Next;

end;

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

Отладка и тестирование программы

Отладка - процесс поиска и устранения ошибок. Ошибки можно классифицировать следующим образом[7]: · ошибки кодирования (синтаксические, семантические); например: · fot i:=1 to Length(fld1) do begin.

· Здесь присутствует ошибка при написании оператора for. Она была исправлена следующим образом: · for i:=1 to Length(fld1) do begin

· ошибки несоответствия алгоритму (логические); например: · if GROUPSCOMB.Items[GROUPSCOMB.ITEMINDEX]=1 then

· Это условие никогда не выполнится, т. к. в списке отсутствует пункт с таким названием. Ошибка была исправлена следующим образом: · if GROUPSCOMB.Items[GROUPSCOMB.ITEMINDEX]=’Все’

Отладка объемной задачи, спроектированной по модульному принципу, предполагает сегментирование программы, использование отладочных печатей и контрольных точек. Контрольные точки позволяют проверить "где программа ходила", отладочные печати показывают, "что она делала". Способ отладки с помощью отладочных тестов можно применять, соблюдая принципы проверки программы как "белого ящика": · покрытие операторов;

· покрытие решений;

· покрытие условий;

· построение функциональных диаграмм и т.д.

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

Современные средства программирования позволяют автоматизировать процесс отладки.

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

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

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

Ситуация: С1 - Ввод корректных данных;

С2 - Ввод некорректных данных или отсутствие ввода;

С3 - Ввод заведомо большого радиуса узла;

С4 - Ввод нулевой скорости узла.

Эффект: Э1 - Нормальная работа программы

Э2 - Предупреждающее сообщение

Таблица 2 Метод «Черного ящика»

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

С1 1 0 1 1 1 0 0 0 1 1 1 0 0 0 1 0

С2 1 1 0 1 1 0 1 1 0 0 1 0 0 1 0 0

С3 1 1 1 0 1 1 0 1 0 1 0 0 1 0 0 0

С4 1 1 1 1 0 1 1 0 1 0 0 1 0 0 0 0

Э1 0 0 1 0 0 1 0 0 1 1 0 1 1 0 1

Э2 1 1 0 1 1 0 1 1 0 0 1 0 0 1 0

Таблица 3 Метод «Черного ящика»

Данные Ожидаемый результат Реакция программы

Некорректные данные Ошибка Вывод сообщения об ошибке

Отсутствие ввода Ошибка Вывод сообщения об ошибке

Корректные данные Нормальная работа программы Нормальная работа программы

Ввод нулевой скорости Образование дополнительного условия моделирования Нормальная работа программы

Ввод заведомо большого радиуса узла Образование дополнительного условия моделирования Нормальная работа программы

Инструкция пользователю

Системные требования

· Windows 2000/XP/Vista/Seven;

· Процессор 1 600 МГЦ;

· 256Мб ОЗУ;

· Видеокарта 64 Мб;

· 50Мб места на жестком диске;

· Клавиатура;

· Мышь;

Инструкция пользователя

Перед началом компьютерного моделирования в данном программном продукте необходимо задать параметры поля и заполнить начальные параметры узлов.

Задание параметров поля.

В главном меню выбираем Дополнительно -> Начальные параметры (Приложение Г, Рисунок 7). Откроется окно “Начальные параметры”, изображенное в Приложение Г - Рисунок 8.

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

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

Для сохранения заданных параметров необходимо нажать кнопку «Принять», а для восстановления первоначально заданных параметров надо нажать кнопку «Отменить».

Автоматическое заполнение начальных параметров узлов: 1. В главном меню выбираем Файл -> Заполнить (Приложение Г, Рисунок 9);

2. На главной форме нажимаем кнопку “Заполнить” (Приложение Г, Рисунок 10);

3. Нажимаем Правой Кнопкой Мыши (в дальнейшем ПКМ) на изображение и в выпадающем меню выбираем пункт “Заполнить” (Приложение Г, Рисунок 11).

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

Ставим галочку рядом с надписью “Редактировать значения вручную” и изменяем записи в таблице на главной форме (Приложение Г, Рисунок 10).

Примечание: Ручное редактирование надо использовать после автоматического заполнения начальных параметров узлов.

Начало компьютерного моделирования AD-HOC сетей: 1. В главном меню выбираем Файл -> Начать (Приложение Г, Рисунок 9);

2. На главной форме нажимаем кнопку “Начать” (Приложение Г, Рисунок 10);

3. Нажимаем ПКМ на изображение и в выпадающем меню выбираем пункт “Начать” (Приложение Г, Рисунок 11).

Остановка компьютерного моделирования AD-HOC сетей: 1. В главном меню выбираем Файл -> Стоп (Приложение Г, Рисунок 9);

2. На главной форме нажимаем кнопку “Стоп” (Приложение Г, Рисунок 10);

3. Нажимаем ПКМ на изображение и в выпадающем меню выбираем пункт “Стоп” (Приложение Г, Рисунок 11).

Просмотр Базы Данных и полученных результатов.

В главном меню выбираем База данных -> Просмотр БД (Приложение Г, Рисунок 12) откроется окно для просмотром данных (Приложение Г, Рисунок 15).

Открытие существующей Базы Данных.

В главном меню выбираем База данных -> Открыть БД (Приложение Г, Рисунок 12) откроется окно выбора файла (Приложение Г, Рисунок 14). Выбираем необходимый файл (с расширением *.mdb) и нажимаем кнопку открыть.

Примечание: Последующие проводимые испытания будут записываться в выбранную Базу Данных.

Создание новой Базы Данных.

В главном меню выбираем База данных -> Создать БД (Приложение Г, Рисунок 12). откроется окно для ввода имени новой Базы данных (Приложение Г, Рисунок 13). После ввода имени нажимаем кнопку “Создать” и в корневом каталоге с программой в папке «БД» будет создана новая База Данных.

Примечание: Последующие проводимые испытания будут записываться в созданную Базу Данных.

Если потребуется отменить создание новой Базы данных, то в окне (Приложение Г, Рисунок 13) нажимаем кнопку “Закрыть”.

Отображения данных об одном испытание.

В таблице «Испытания» представлены все проводимые испытания. Из них выбираем нужное нам испытание и нажимаем на него Левой Кнопкой Мыши (ЛКМ). И в таблицах «Начальные параметры», «Параметры поля» и «Соединения» отобразятся все записанные данные о выбранном испытание (Приложение Г, Рисунок 15).

Отображения всех данных Базы данных.

В окне “База данных” нажмите кнопку “Отобразить все записи” (Приложение Г, Рисунок 15).

Закрытие окна “База данных”.

В окне “База данных” нажмите кнопку “Закрыть” (Приложение Г, Рисунок 15).

Выход из программы: 1. В главном меню выбираем Файл -> Выход (Приложение Г, Рисунок 9);

2. На главной форме нажимаем кнопку “Выход” (Приложение Г, Рисунок 10);

3. В правом верхнем углу главной формы нажмите на красный крестик.(Приложение Г, Рисунок 10).

Экономическая часть

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

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

Цель компьютерного моделирования - помочь ученым и научным лабораториям проводить различного рода испытания без крупных материальных затрат и с экономией времени.

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

Таблица 4 Краткое обозначение основных показателей

Краткое обозначение Расшифровка Значение

Т.м. Месячный баланс рабочего времени 174,6 ч.\ мес.

Т.р. Время работы над курсовым проектом 1 мес.

С.ч. Почасовая ставка программиста 450р.\ ч.

Н.а. Норма амортизации 10%

С.бал. Балансовая стоимость основных производственных фондов(компьютера) 15 000р.

К. Количество компьютеров 1

Н.им. Налог на имущество 2,2%

О.п.ф. Отчисления в пенсионный фонд 26%

О.м.ф. Отчисления в медицинский фонд 2,9%

О.с.с. Отчисления в социальное страхование 5,1%

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

1. Данную работу выполняет Кл = 1 сотрудник. Заработная плата, которого составляет: Зп.ст. = 15 000 р., но данную работу он выполняет в 20 раз дольше, чем программный продукт. Зп.общ.- общая зарплата

2. Зп.общ. = Кл*Зп.ст.= 1*20*15 000 = 300 000р.

Отчисления на социальные нужды (ОСН): ОСН = 34%* Зп.общ.= 34*300 000 = 102 000 р.

3. Прочие затраты (З.пр.):

З.пр. = (Зп.общ. ОСН)*7,75% = (300 000 102 000)*7,75% = 31 155р.

4. Сумма текущих расходов (С.тек.1): С.тек.1 = Зп.общ. ОСН З.пр. = 300 000 102 000 31 155=433 155р.

5. Так как поиск информации не требует вычислительной техники и идет вручную, то инвестиции отсутствуют, а, следовательно, приведенные затраты (С.прив.1) равны текущим расходам (С.тек.1): 6. С.прив.1 = С.тек. 1 = 433 155р.

Расчет экономической эффективности с применением программного продукта.

7. Зарплата программиста (З.пр.)

8. З.пр. = Т.м.*Т.р.*С.ч. = 174,6*1*450 = 78 570 р.

Затраты на эксплуатацию ПК: 1) Износ ПК за время написания программы (Изн.): 2) Изн. = (Н.а.*С.бал.*Т.р.)\12 *100% = (10%*15 000*1)\12*100%=1 250 р.

3) Расход бумаги (Р.бум.):Р.бум. = (С.бум.\К.бум.)*Исп.бум = (250\500)*200=100р.

4) где: С.бум. - стоимость пачки бумаги, К.бум. - количество листов в пачке бумаги, Исп.бум. - количество используемой бумаги.

5) Налог на имущество (Н.им.): 6) Н.им. = (С.бал.*2,2%)\12*100% = (15 000*2,2%)\12*100% = 27,5р.

7) Затраты на электроэнергию(З.эл.): 8) З.эл. = Т.р.*Т.м.*Ц.э. = 174,6*1*3,20 = 558,72р.

9) Прочие расходы (Пр.р.)

10) Пр.р.=(Изн. Р.бум Н.им. З.эл.)*7.75% = (1 250 10 27,5 558,72)*7,75% = 143,08р.

Отчисления на социальные нужды (ОСН): ОСН = З.пр.*34% = 78 570*34% = 26 713,8р.

Текущие затраты(С.тек.2): С.тек.2 = З.пр. Изн. Р.бум. Н.им З.эл. ОСН Пр.р. = 78 570 1 250 100 27,5 558,72 26 713,8 143,08=107 363,1р.

Приведенные затраты(С.прив.2), С.прив.2 = С.тек.2 И*Е.н = 107 363,1 15 000*0,4 = 113 363,1р где: И - инвестиции = С.бал., Е.н. - нормативная величина для ПК = 0,4

Сравнение экономической эффективности.

Лучший вариант считается тот, в котором приведенные затраты минимальны: С.прив.1>С.прив.2

В данном случае вариант с использованием программного продукта лучше.

Среднегодовая эффективность (Ср.эф.): Ср.эф. = С.прив.1-С.прив.2 = 433 155-113 363,1= 319 791,9р.

Годовая экономия от внедрения продукта(Э.год)

Э.год = С.тек.1-С.тек.2 = 433 155-107 363,1= 325 791,9р.

Фактический срок окупаемости инвестиций (Т.ок.факт.)

Т.ок.факт = И\Э.год <= Т.н.ок.

Т.ок.факт. = 15 000\325 791,9= 0,046 года < 2,5 года где: И - инвестиции = С.бал., Т.н.ок. - нормативный срок окупаемости = 1\0,4 = 2,5 года

Вывод
В ходе анализа сравнительной экономической эффективности методом приведенных затрат можно сделать вывод, что годовая экономия от внедрения программного продукта составляет 325 791,9 руб., а фактический срок окупаемости составляет приблизительно 0,046 года, что составляет приблизительно 17 дней, и не превышает нормативного срока окупаемости равного 2,5 года.В результате разработки дипломной работы была написана программа для компьютерного моделирования беспроводных AD-HOC сетей с целью расчета времени связи мобильных абонентов

Созданное приложение имеет простой, понятный и грамотно составленный интерфейс. Удобство работы с программой позволяет пользователю в кратчайшее время запустить программное моделирование с самостоятельно выбранными начальными параметрами узлов и параметрами поля. Для ускорения получения окончательного результата, программа использует специальные возможности среды программирования, работающий в 20 раз быстрее реального времени. В приложении так же реализована запись результатов работы программы в Базу Данных MS Access для удобства хранения полученных результатов.

Данный программный продукт востребован и широко используется 29 лабораторией Институт проблем управления им. В.А. Трапезникова РАН, занимающейся разработкой методологий проектирования систем прямого цифрового управления.

Список литературы
1. Сети UMTS - Москва, издательство «Техносфера», 2007г.

2. Нэйл Рэндалл, Барри Сосински - Беспроводные решения - , издательство «Техносфера», 2007г.

3. Хомоненко А.Д. - Базы Данных: Учебник для высших учебных заведений. “КОРОНА принт”. 2004 г.

4. Иванова Г.С. - Технология программирования - издательство МГТУ имени Н.Э. Баумана, 2006г.

5. Поган А.М. - Delphi руководство программиста - Москва, издательство «Эксмо», 2006г.

6. Осипов Д. - Delphi. Профессиональное программирование - Москва, издательство "Символ-Плюс", 2006 г.

7. Майерс Г. - Искусство тестирования программ - Перевод с английского под редакцией Б.А. Позина, Москва, «Финансы и статистика»

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?