МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
(ФГБОУ ВПО «КубГУ»)
Кафедра вычислительных технологий
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
Бакалавра
Разработка
модуля визуализации компьютерных структур с WEB-интерфейсом
Работу выполнила
Я. И. Власова
Научный руководитель
к.ф.-м.н.
О. Н. Лапина
Краснодар 2014
РЕФЕРАТ
Дипломная работа 31 с., 8 рисунков. 7 источников.
Целью работы является разработка модуля визуализации компьютерных структур под Web-интерфейс. Первая часть работы заключается в создании приложения, которое на вход получает компьютерную структуру, обрабатывает ее и выводит на экран. Структура, которую на входе получает программа, уже полностью подготовлена к обработке. Вторая часть работы заключается в подключении этого приложение к Веб-странице.
В работе использовался язык программирования С++ и среда разработки Qt Creator с использованием графических библиотек Qt. Программа была написана под операционную систему Linux.
КЛЮЧЕВЫЕ СЛОВА ДАННОЙ РАБОТЫ:
Моделирование структур, визуализация графовых
структур, C++, графы.
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
. Моделирование
1.1 Основы моделирования
.2 Классификация моделей
.3 Компьютерное имитационное моделирование
.4 Моделирование компьютерных структур и систем
1.5 Этапы компьютерного моделирования структур и систем
Алгоритмы работы программного модуля
.1 Представление графа
.2 Краткое описание среды разработки Qt
.3 Краткое описание используемых пространств имен и классов
3. Реализация программного модуля
3.1 Файлы программного модуля Beta
.2 Пример работы программного модуля
.3 Подключение программного модуля к Веб-странице
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
ПРИЛОЖЕНИЕ А
ПРИЛОЖЕНИЕ Б
ПРИЛОЖЕНИЕ В
визуализация компьютерный интерфейс модуль
ВВЕДЕНИЕ
Основная цель работы состоит в создании программного модуля, который выводит изображение компьютерной структуры в виде графа на экран, и подключение этого модуля к веб-интерфейсу. Для реализации данного модуля используются языки С и С++ с использованием классов и методов Qt в среде разработке Qt Сreator.
Программный модуль в качестве входных данных получает ссылку на некоторый граф, представленный графом дескрипторов. Далее, программа анализирует граф, используя методы реализации данного графа, которые находятся в заголовочном файле (или подключаемом модуле). Для более «красивого» вывода изображения на экран компьютера необходимо разработать алгоритм и оптимизировать его для удобства пользователя. Когда программный модуль будет полностью разработан, необходимо реализовать его запуск через веб-интерфейс на стороне сервера, и последующий вывод результата на веб-страницу.
1.МОДЕЛИРОВАНИЕ
1.1 Основы
моделирования
В процессе изучения окружающего мира субъекту познания противостоит исследуемая часть объективной реальности - объект познания. Ученый, используя эмпирические методы познания (наблюдение и эксперимент), устанавливает факты, характеризующие объект. Элементарные факты обобщаются и формулируются эмпирические законы. Следующий шаг состоит в развитии теории и построении теоретической модели, объясняющей поведение объекта и учитывающей наиболее существенные факторы, влияющие на изучаемое явление. Эта теоретическая модель должна быть логичной и соответствовать установленным фактам. Можно считать, что любая наука представляет собой теоретическую модель определенной части окружающей действительности.
Часто в процессе познания реальный объект
заменяется
некоторым другим идеальным, воображаемым или материальным объектом
,
несущим изучаемые черты исследуемого объекта
,
и называемым моделью. Эта модель подвергается исследованию: на нее
оказывают различные воздействия, изменяют параметры и начальные условия, и
выясняют, как изменяется ее поведение. Результаты исследования модели
переносят
на объект исследования
, сопоставляют с
имеющимися эмпирическими данными и т.д.
Таким образом, модель - это материальный или
идеальный объект, замещающий исследуемую систему и адекватным образом
отображающий ее существенные стороны. Модель
должна
в чем-то повторять исследуемый процесс или объект
со
степенью соответствия, позволяющей изучить объект-оригинал
.
Чтобы результаты моделирования можно было бы перенести на исследуемый объект,
модель должна обладать свойством адекватности. Преимущество подмены
исследуемого объекта его моделью в том, что часто модели проще, дешевле и
безопаснее исследовать. Действительно, чтобы создать самолет, следует построить
теоретическую модель, нарисовать чертеж, выполнить соответствующие расчеты,
изготовить его уменьшенную копию, исследовать ее в аэродинамической трубе и
т.д.
Модель объекта должна отражать его наиболее важные качества, пренебрегая второстепенными. Тут уместно вспомнить притчу о трех незрячих мудрецах, решивших узнать что такое слон. Один мудрец подержал слона за хобот, и заявил, что слон -- гибкий шланг. Другой потрогал слона за ногу и решил, что слон - это колонна. Третий мудрец подергал за хвост и пришел к мнению, что слон - это веревка. Ясно, что все мудрецы ошиблись: ни один из названных объектов (шланг, колонна, веревка) не отражают существенных сторон изучаемого объекта (слон), поэтому их ответы (предлагаемые модели) не являются правильными.
При моделировании могут преследоваться различные
цели: 1) познание сущности изучаемого объекта, причин его поведения,
“устройства” и механизма взаимодействия элементов; 2) объяснение уже известных
результатов эмпирических исследований, верификация параметров модели по
экспериментальным данным; 3) прогнозирование поведения систем в новых условиях
при различных внешних воздействиях и способах управления; 4) оптимизация
функционирования исследуемых систем, поиск правильного управления объектом в
соответствии с выбранным критерием оптимальности.
1.2 Классификация
моделей
Используемые модели чрезвычайно разнообразны. Системный анализ требует классификации и систематизации, то есть структурирование изначально неупорядоченного множества объектов и превращение его в систему. Известны различные способы классификации существующего многообразия моделей. Выделяют следующие виды моделей:
) детерминированные и стохастические;
) статические и динамические;
) дискретные, непрерывные и дискретно-непрерывные;
) мысленные и реальные.
Также модели классифицируют по следующим основаниям:
) по характеру моделируемой стороны объекта;
) по отношению ко времени;
) по способу представления состояния системы;
) по степени случайности моделируемого процесса;
) по способу реализации.
При классификации по характеру моделируемой стороны объекта выделяют следующие виды моделей:
) Кибернетические или функциональные модели; в них моделируемый объект рассматривается как “черный ящик”, внутреннее устройство которого неизвестно. Поведение такого “черного ящика” может описываться математическим уравнением, графиком или таблицей, которые связывают выходные сигналы (реакции) устройства с входными (стимулами). Структура и принципы действия такой модели не имеют ничего общего с исследуемым объектом, но функционирует она похожим образом. Например, компьютерная программа, моделирующая игру в шашки.
) Структурные модели - это модели, структура которых соответствует структуре моделируемого объекта. Примерами являются командно-штабные учения, день самоуправления, модель электронной схемы в Electronics Workbench и т.д.
) Информационные модели, представляющие собой совокупность специальным образом подобранных величин и их конкретных значений, которые характеризуют исследуемый объект. Выделяют вербальные (словесные), табличные, графические и математические информационные модели. Например, информационная модель студента может состоять из оценок за экзамены, контрольные и лабораторные работы. Или информационная модель некоторого производства представляет набор параметров, характеризующих потребности производства, его наиболее существенные характеристики, параметры выпускаемого товара.
По отношению ко времени выделяют:
) Статические модели - модели, состояние которых не изменяется с течением времени: макет застройки квартала, модель кузова машины.
) Динамические модели представляют собой функционирующие объекты, состояние которых непрерывно изменяется. К ним относятся действующие модели двигателя и генератора, компьютерная модель развития популяции, анимационная модель работы ЭВМ и т.д.
По способу представления состояния системы различают:
) Дискретные модели - это автоматы, то есть реальные или воображаемые дискретные устройства с некоторым набором внутренних состояний, преобразующие входные сигналы в выходные в соответствии с заданными правилами.
) Непрерывные модели - это модели, в которых протекают непрерывные процессы. Например, использование аналоговой ЭВМ для решения дифференциального уравнения, моделирования радиоактивного распада с помощью конденсатора, разряжающегося через резистор и т.д.
По степени случайности моделируемого процесса выделяют:
) Детерминированные модели, которым свойственно переходить из одного состояния в другое в соответствии с жестким алгоритмом, то есть между внутренним состоянием, входными и выходными сигналами имеется однозначное соответствий (модель светофора).
) Стохастические модели, функционирующие подобно вероятностным автоматам; сигнал на выходе и состояние в следующий момент времени задается матрицей вероятностей. Например, вероятностная модель ученика, компьютерная модель передачи сообщений по каналу связи с шумом и т.д.
По способу реализации различают:
) Абстрактные модели, то есть мысленные модели, существующие только в нашем воображении. Например, структура алгоритма, которая может быть представлена с помощью блок-схемы, функциональная зависимость, дифференциальное уравнение, описывающее некоторый процесс. К абстрактным моделям также можно отнести различные графические модели, схемы, структуры, а также анимации.
) Материальные (физические) модели представляют собой неподвижные макеты либо действующие устройства, функционирующие в чем-то подобно исследуемому объекту. Например, модель молекулы из шариков, макет атомной подводной лодки, действующая модель генератора переменного тока, двигателя и т.д. Реальное моделирование предусматривает построение материальной модели объекта и выполнение с ней серии экспериментов. Например, для изучения движения подводной лодки в воде строят ее уменьшенную копию и моделируют течение с помощью гидродинамической трубы.
Математические модели довольно разнообразны и тоже могут быть классифицированы по разным основаниям. По степени абстрагирования при описании свойств системы они делятся на мета-, макро- и микромодели. В зависимости от формы представления различают инвариантные, аналитические, алгоритмические и графические модели. По характеру отображаемых свойств объекта модели классифицируют на структурные, функциональные и технологические. По способу получения различают теоретические, эмпирические и комбинированные. В зависимости от характера математического аппарата модели бывают линейные и нелинейные, непрерывные и дискретные, детерминированные и вероятностные, статические и динамические. По способу реализации различают аналоговые, цифровые, гибридные, нейронечеткие модели, которые создаются на основе аналоговых, цифровых, гибридных вычислительных машин и нейросетей.
.3 Компьютерное имитационное моделирование
Компьютерное моделирование основывается на:
1. Построении математических моделей для описания изучаемых процессов;
2. Использовании новейших вычислительных машин, обладающих высоким быстродействием и способных вести диалог с человеком.
Суть компьютерного моделирования состоит в следующем: на основе математической модели с помощью ЭВМ проводится серия вычислительных экспериментов, т.е. исследуются свойства объектов или процессов, находятся их оптимальные параметры и режимы работы, уточняется модель.
Имитационные модели - это проводимые на ЭВМ вычислительные эксперименты с математическими моделями, имитирующими поведение реальных объектов, процессов или систем.
Имитационное моделирование представляет собой численный метод проведения на ЭВМ вычислительных экспериментов с математическими моделями, имитирующими поведение реальных объектов, процессов и систем во времени в течение заданного периода.