Тип работы:
Предмет:
Язык работы:


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

Работа №75891

Тип работы

Бакалаврская работа

Предмет

инвестиции

Объем работы66
Год сдачи2016
Стоимость4320 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
113
Не подходит работа?

Узнай цену на написание


Перечень сокращений 3
Введение 4
1. Исследовательский раздел 6
1.1. Предварительные исследования 6
1.2. Программные продукты визуализации изображений местности 10
1.3. Цель и задачи исследования 13
1.4. Инфологическая модель данных 14
1.5. Требования к алгоритмам работы программы, основанные на информационных потребностях пользователей 16
1.6. Общая постановка задачи 16
Выводы к исследовательскому разделу 17
2. Конструкторский раздел 18
2.1. Обоснование выбора средств и методов разработки 18
2.1.1. Выбор языка программирования 18
2.1.2. Выбор среды разработки 31
2.2. Структуры входных и выходных данных 38
2.3. Разработка алгоритма параллельной обработки 40
2.4. Особенности реализации используемых алгоритмов обработки и вывода данных. 41
Выводы к конструкторскому разделу 42
3. Технологический раздел 43
3.1. Описание применявшихся средств отладки программы 43
3.2. Анализ методов и средств тестирования 44
3.3. Составление кейс-тестов 50
3.4. Процесс и результаты тестирования 52
3.4.1. Процесс модульного тестирования ПМ ВИЗ 52
3.4.2. Процесс интеграционного тестирования ПМ ВИЗ 53
3.4.3. Результаты тестирования ПМ ВИЗ 55
Выводы к технологическому разделу 55
Заключение 56
Список литературы 57

Приложения должны быть в работе, но в данный момент отсутствуют


На сегодняшний день все чаще возникают задачи о получении информации с целью изучения местности для использования в самых разнообразных сферах, в частности, разведки местности и ее рельефа в военных операциях, прогнозирования метеорологической ситуации, проведения операций по спасению терпящих бедствие, и т.п. При этом критическим параметром является скорость обработки поступающей информации.
Применение непосредственного наблюдения порой сильно затруднено, так как наблюдателю требуется быстро достичь удобной точки обзора для сбора информации, что нередко сопряжено со значительными затратами времени и средств, а также с опасностью для здоровья и жизни наблюдателя. С течением времени применялись следующие методы:
- применение созданных заранее карт местности для прогнозирования событий, которые могут произойти в будущем;
- сооружение точек обзора для осуществления удаленного наблюдения вкупе с использованием систем получения и отправления сообщений (сигнальные жесты, огни, голубиная почта);
- применение воздушных шаров для проведения разведки с небольшой высоты, а в дальнейшем и дирижаблей;
- использование разведывательных самолетов, управляемых пилотом;
- съемка местности с орбитальных спутников, оборудованных модулями получения и передачи изображений.
Сегодня более актуальным решением поставленной задачи является применение аппаратных решений, которые позволяют наблюдателю-оператору оставаться на удалении от места съемки и в то же время получать данные высокого качества. Для проведения оперативного мониторинга в жестких рамках времени и при необходимости покрытия больших площадей способность беспилотных летательных аппаратов развивать внушительную скорость и подняться на значительную высоту нередко является важным параметром для решения поставленных задач.
Целью данной ВКР является разработка ПМ, обеспечивающего поддержку автоматизации полного цикла операций над обработкой и визуализацией получаемых данных с учетом требований оператора.
Пояснительная записка состоит из списка сокращений, содержания, введения, трех разделов и выводов после каждого из них, заключения, списка использованной литературы и двух приложений.
В исследовательском разделе проведен анализ предметной области, описаны ключевые параметры, которые необходимо учитывать при решении поставленной задачи, осуществлено сравнение существующих технологий-аналогов и изучено возможное их применение для решения поставленной задачи. Для ускорения процесса разработки ПМ выявлены основные функциональные возможности аналогов. Также описаны взаимодействия сущностей разрабатываемого ПМ на примере ER-диаграммы, составлены функциональные требования к ПМ и описан желаемый процесс работы ПМ ВИЗ.
В конструкторском разделе проведено сравнение языков и технологий программирования, выбраны Python3 и QML 2.0 при использовании библиотеки PyQt5, метода параллельного программирования и механизма слотов и сигналов. Проведено сравнение сред разработки, выбраны среда Qt Creator IDE и утилита qmlscene. Также описаны структуры входных и выходных данных, уточнены работа и взаимодействие сущностей, разработан алгоритм параллельной обработки блоков информации и уточнены детали реализации используемых алгоритмов обработки и вывода данных.
В технологическом разделе описаны применявшихся средства отладки программы, помимо средств используемых сред и утилит использована утилита интерактивной отладки модулей на языке Python pdb. Проведен анализ методов и средств тестирования, выбраны методы «белого ящика», модульного и интеграционного тестирований, составлены кейс- тесты, обеспечивающие оптимальное покрытие программного кода и основного функционала ПМ ВИЗ, на их основе проведены модульное и интеграционное тестирования, результаты которых проанализированы и учтены в ходе разработки.
В заключении описаны основные свойства разработанного программного модуля, также приведены отличительные особенности и преимущества использования ПМ ВИЗ, благодаря которым достигается высокая актуальность и скорость обработки данных.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


Разработанный программный модуль обладает рядом свойств:
- при необходимости длительной обработки блоков применяется технология параллельного программирования, позволяющая проводить независимую обработку каждого блока и получать результаты быстрее;
- возможность быстрой замены модуля обработки данных, для чего достаточно заменить модуль интерфейса с целью обеспечения корректной передачи параметров;
- возможность выбора карты-подложки из множества общедоступных сервисов: внедрение новых сводится к созданию нового модуля-моста, имеющего идентичную с аналогичными модулями логику;
- кроссплатформенность: модуль обладает способностью одинакового функционирования вне зависимости от операционной системы.
В результате разработанный программный модуль осуществляет блочную обработку потока поступающей информации параллельно съемке, в связи с чем повышена скорость и уменьшено время обработки поступающих данных, что обеспечивает высокую актуальность получаемых изображений.
Работа оператора упрощена, так как карта-подложка как способ получения первичных сведений ускоряет процесс изучения местности проведения съемки, и в дальнейшем она заменяется снимками высокого качества.
Модуль обработки данных легко заменяется для применения в различных предметных областях (обработка цифровой фотографии, теплового снимка, геодезических данных или иных).
С помощью разработанного модуля можно быстро выполнять самые различные задачи, как поиск объекта и спасение жизни.



1. Гагарина, Л.Г. Методические указания по подготовке выпускной квалификационной работы по направлению подготовки бакалавров 09.03.04 «Программная инженерия» [Текст] / Л.Г. Гагарина, Р.А. Касимов, Е.Л. Федотова, Б.В. Черников, Д.Г. Коваленко, Зо Е Чжо; ред. Б.В. Черников. - М.: МИЭТ, 2016. - 20 с.
2. Официальный сайт промышленного холдинга «ТСК» // Что такое GNSS? [Электронный ресурс]. - ООО «МНПО Спектр», сор. 2008-2016. - Режим доступа: http://www.mnpo-spektr.ru/articles/gnss.php[дата обращения: 14.05.2016]
3. Свободная интернет-энциклопедия Wikipedia // Rich Client Platform [Электронный ресурс]. - НКО «Фонд Викимедиа», сор. 2003-2016. - Режим доступа: https://ru.wikipedia.org/wiki/Rich_Client_Platform[дата обращения: 01.05.2016]
4. Издание о бизнесе и технологиях EquipNet.ru// Беспилотники: воздушные роботы мирного назначения [Электронный ресурс]. - ООО «Гипер-Пресс», сор. 2000-2016. - Режим доступа: http://www.equipnet.ru/articles/hi-tech/hi-tech_1478.html[дата обращения: 01.04.2016]
5. Портал журнала «Наука и жизнь» // Беспилотные самолеты: Максимум возможностей [Электронный ресурс]. - АНО Редакция журнала «Наука и жизнь», сор. 2005-2016. - Режим доступа: http://www.nkj.ru/archive/articles/4323/[дата обращения: 01.04.2016]
6. Официальный сайт ООО «РУСГЕОКОМ» // БПЛА Supercam S350f [Электронный ресурс]. - ООО «РУСГЕОКОМ», сор. 2010-2016. - Режим доступа: http://www.rusgeocom.ru/bpla-supercam-s350f[дата обращения: 13.04.2016]
7. Официальный сайт ООО «ГЕОСалют» // Геодезический БПЛА Supercam S350f [Электронный ресурс]. - ООО «ГЕОСалют», сор. 2012-2016. - Режим доступа: http://www.geosalut.ru/bpla/bpla-s350-f/[дата обращения: 13.04.2016]
8. The Open Source Geospatial Foundation // gvSIG info sheet [Электронный ресурс]. - gvSIG Association, cop. 2009-2016. - Режим доступа: http://www.osgeo.org/gvsig[дата обращения: 01.04.2016]
9. Официальный сайт GRASS GIS // GRASS GIS - Home [Электронный ресурс]. - GRASS Development Team, cop. 1998-2016. - Режим доступа: http://grass.osgeo.org/[дата обращения: 01.04.2016]
10. Официальный сайт QGIS // Обзор QGIS [Электронный ресурс]. - QGIS Development Team, сор. 2002-2016. - Режим доступа: http://qgis.org/ru/site/about/index.html[дата обращения: 01.04.2016]
11. Свободная интернет-энциклопедия Wikipedia // QGIS [Электронный ресурс]. -
НКО «Фонд Викимедиа», сор. 2003-2016. - Режим доступа:
https://ru.wikipedia.org/wiki/QGIS[дата обращения: 05.04.2016]
12. Журнал «Системы управления базами данных» // Модель «сущность-связь» - шаг к единому представлению о данных [Электронный ресурс]. - Изд-во «Открытые системы», сор. 1992-2016. - Режим доступа: http://www.osp.ru/dbms/1995/03/13031431/[дата обращения: 15.04.2016]
13. Свободная интернет-энциклопедия Wikipedia // Си (язык программирования) [Электронный ресурс]. - НКО «Фонд Викимедиа», сор. 2003-2016. - Режим доступа: https://en.wikipedia.org/wiki/C_(programming_language) [дата обращения: 18.04.2016]
14. Керниган, Б. Язык программирования Си [Текст] / Б. Керниган, Д. Ритчи; пер. с анг. и ред. В. Бродовой. - М.: Вильямс, 2007. - 304 с.
15. Справка по C++ // История С++ [Электронный ресурс]. - Электронная
библиотека «Cppreference.com», сор. 2010-2016. - Режим доступа:
http://ru.cppreference.eom/w/cpp/language/history[дата обращения: 18.04.2016]
16. Страуструп, Б. Язык программирования C++. Специальное издание [Текст] / Б. Страуструп; зав. ред. Н. Н. Мартынов. - М.: Бином, 2011. - 1136 с.
17. Страуструп, Б. Программирование: принципы и практика использования C++ [Текст] / Б. Страуструп; пер. и ред. Д. Клюшин. - М.: Вильямс, 2011. - 1248 с.
18. Сообщество языка Python // О языке Python [Электронный ресурс]. - Python Software Foundation, сор. 2001-2016. - Режим доступа: https://www.python.org/about/[дата обращения: 18.04.2016]
19. Лутц, М. Программирование на Python [Текст]: в 2-х т. / М. Лутц; пер. с анг. А. Киселевой. - 4-е изд. - СПб.: Символ-Плюс, 2011. - 2 т.
20. Лутц, М. Изучаем Python [Текст] / М. Лутц; пер. с анг. А. Киселевой, глав. ред.
А. Галунов, зав. ред. Н. Макарова, вып. ред. П. Щеголев, ред. Ю. Бочина, корр. С. Минин, вер. К. Чубаров. - 4-е изд. - СПб.: Символ-Плюс, 2011. - 1280 с.
21. Qt Documentation // QML Applications [Электронный ресурс]. - The Qt Company, сор. 1994-2016. - Режим доступа: http://doc.qt.io/qt-5/qmlapplications.html[дата обращения: 18.04.2016]
22. Java и вы // Подробнее о технологии Java [Электронный ресурс]. - Oracle Corporation, сор. 2010-2016. - Режим доступа: http://www.java.com/ru/about/[дата обращения: 19.04.2016]
23. Вязовик, Н.А. Программирование на Java [Текст] / Н.А. Вязовик;. - 2-е изд. - М.: Интуит, 2016. - 600 с.
24. Гослинг, Д. Язык программирования Java SE 8. Подробное описание [Текст] / Д. Гослинг, Б. Джой, Г.Л. Стил, Г. Брача, А. Бакли; пер. с анг. И. Карася, зав. ред. С.Н. Тригуб, лит. ред. Л.Н. Красножон, худ. ред. В.Г. Павлютин, корр. Л.А. Гордиенко, вер. М.А. Удалов. - 5-е изд. - М.: Вильямс, 2015. - 672 с.
25. Йенер, М. Java EE. Паттерны проектирования для профессионалов [Текст] / М. Йенер, А. Фидом; тех. ред. М. Санаулла. - СПб.: Питер, 2016. - 240 с.
26. Флэнаган, Д. Язык программирования Ruby [Текст] / Д. Флэнаган, Ю. Мацумото; пер. с анг. Н. Вильчинского, зав. ред А. Кривцов, рук. А. Юрченко, вед. ред. Ю. Сергиенко, лит. ред. П. Маннинен, худ. ред. Л. Адуевская, корр. В. Нечаева, вер. Л. Родионова. - СПб.: Питер, 2011. - 492 с. - (Серия «Бестселлеры O’Reilly»).
27. Руби, С. Гибкая разработка веб-приложений в среде Rails [Текст] / С. Руби, Д. Томас, Д. Хэнссон; пер. с анг. Н. Вильчинского. - 4-е изд. - СПб.: Питер, 2012. - 464 с.
28. Эдельсон, Д. Ruby на платформе Java [Текст] / Д. Эдельсон, Г. Лю; пер. с анг. А. Слинкина. - М.: ДМК Пресс, 2011. - 240 с. - (Серия «Профессиональная серия для программистов»).
29. Стиллмен, Э. Изучаем C# [Текст] / Э. Стиллмен, Дж. Грин; пер. с анг. И. Рузмайкина, зав. ред. П. Щеголев, рук. пр. А. Юрченко, вед. ред. Ю. Сергиенко, корр. Н. Викторова, вер. Н. Лукьянова. - 3-е изд. - СПб.: Питер, 2014. - 816 с. - (Серия «Head First O’Reilly»).
30. Шилдт, Г. C# 4.0: полное руководство [Текст] / Г. Шилдт; пер. с анг. и ред. И.В. Берштейна, зав. ред. С.Н. Тригуб. - М.: Вильямс, 2013. - 1056 с.
31. Рихтер, Дж. CLR via C#. Программирование на платформе Microsoft .NET Framework 4.0 на языке C# [Текст] / Дж. Рихтер; пер. с анг. И. Радченко и И. Рузмайкина, зав. ред. А. Кривцов, рук. пр. А. Юрченко, вед. ред. Ю. Сергиенко, лит. ред. А. Жданов, худ. ред. Л. Адуевская, корр. В. Листова, вер. В. Романов. - 3-е изд. - СПб.: Питер, 2012. - 928 с.
32. Шварц, Р.Л. Изучаем Perl [Текст] / Р.Л. Шварц, Т. Феникс, б. д фой; пер. с анг. Е. Матвеевой, глав. ред. А. Галунов, зав. ред. Н. Макарова, вып. ред. А. Пасечник, ред. А. Петухов, корр. О. Макарова, вер. Д. Орлова. - 5-е изд. - СПб.: Символ-Плюс, 2009. - 384 с.
33. Кристиансен, Т. Программирование на Perl [Текст] / Т. Кристиансен, б. д фой, Л. Уолл, Дж. Орвант; пер. с анг. А. Киселева, глав. ред. А. Галунов, зав. ред. Н. Макарова, науч. ред. М. Зислис, А. Киселев, ред. М. Зислис, корр. Т. Иванкова, В. Логунова, вер. Д. Орлова. - 4-е изд. - СПб.: Символ-Плюс, 2014. - 1048 с. - (Серия «Head First O’Reilly»).
34. Штайн, Л. Разработка сетевых программ на Perl [Текст] / Л. Штайн; пер. с анг. К. Птицына. - М.: Вильямс, 2001. - 752 с.
35. Дэвис, М.Е. Изучаем PHP и MySQL [Текст] / М.Е. Дэвис, Дж.А. Филлипс; пер. с анг. А. Киселева, глав. ред. А. Галунов, вып. ред. Л. Пискунова, ред. Т. Темкина, науч. ред. О. Цилюрик, корр. Е. Бекназарова, вер. Д. Белова. - СПб.: Символ-Плюс, 2008. - 448 с.
36. Бейли, Л. Изучаем PHP и MySQL [Текст] / Л. Бейли, М. Моррисон. - М.: Эксмо, 2010. - 800 с. - (Серия «Head First O’Reilly»).
37. Скляр, Д. PHP. Рецепты программирования [Текст] / Д. Скляр, А. Трахтенберг; пер. с анг. Е. Матвеева. - 3-е изд. - СПб.: Питер, 2015. - 784 с. - (Серия «Бестселлеры O’Reilly»).
38. Python 3.4.4 documentation // Extending Python with C or C++ [Электронный ресурс]. - Python Software Foundation, сор. 2001-2016. - Режим доступа: https://docs.python.org/3.4/extending/extending.html[дата обращения: 01.05.2016]
39. Журнал «Системы управления базами данных» // Эмпирическое сравнение семи языков программирования [Электронный ресурс]. - Изд-во «Открытые системы», сор. 1992-2016. - Режим доступа: http://www.osp.ru/os/2000/12/178361/[дата обращения: 15.04.2016]
40. Свободная интернет-энциклопедия Wikipedia // Comparison of programming
languages [Электронный ресурс]. - НКО «Фонд Викимедиа», сор. 2003-2016. - Режим доступа: https://en.wikipedia.org/wiki/Comparison_of_programming_languages[дата
обращения: 21.05.2016]
41. Официальный сайт сообщества IBM developerWorks // Производительность языков программирования. Часть 1 [Электронный ресурс]. - International Business Machines
Corporation, сор. 1888-2016. - Режим доступа:
http://www.ibm.com/developerworks/ru/library/ManySpeed_08_1/index.html[дата обращения: 21.05.2016]
42. Прохоренок, Н.А. Python 3 и PyQt. Разработка приложений [Текст] / Н.А. Прохоренок; глав. ред. Е. Кондукова, зам. глав. ред. Е. Рыбаков, зав. ред. Г. Добин, вып. ред. А. Пасечник, ред. Е. Капалыгина, корр. З. Дмитриева, вер. О. Сергиенко, диз. М. Дамбиева, зав. произв. Н. Тверских. - СПб.: БХВ-Петербург, 2012. - 704 с.
43. PyQt 5.5.1 Reference Guide // Integrating Python and QML [Электронный ресурс]. - Riverbank Computing Limited, сор. 2015-2016. - Режим доступа: http://pyqt.sourceforge.net/Docs/PyQt5/qml.html[дата обращения: 18.04.2016]
44. Visual Studio - Microsoft Developer Tools // Overview of Visual Studio 2015 Products [Электронный ресурс]. - Microsoft Corporation, сор. 1975-2016. - Режим доступа: https://www.visualstudio.com/vs-2015-product-editions[дата обращения: 19.04.2016]
45. Qt Wiki // About Qt [Электронный ресурс]. - The Qt Company, сор. 1994-2016.
- Режим доступа: http://wiki.qt.io/About_Qt[дата обращения: 19.04.2016]
46. Eclipse Wiki // Eclipse Project [Электронный ресурс]. - The Eclipse Foundation, сор. 2001-2016. - Режим доступа: http://wiki.eclipse.org/Eclipse_Project[дата обращения: 19.04.2016]
47. Spyder IDE Wiki // About Spyder IDE [Электронный ресурс]. - GitHub Inc, сор. 2008-2016. - Режим доступа: https://github.com/spyder-ide/spyder/wiki[дата обращения: 19.04.2016]
48. ГОСТ 19.701 - 901. ЕСПД. Схемы алгоритмов, программ, данных и систем. Обозначения условные и правила выполнения [Текст]. - Взамен ГОСТ 19.002-80, ГОСТ 19.003-80; Введ. 01.01.92. - М.: Изд-во стандартов, 1990. - 22 с.
49. Python 3.4.4 documentation // Logging facility for Python [Электронный ресурс].
- Python Software Foundation, сор. 2001-2016. - Режим доступа:
https://docs.python.org/3.4/library/logging.html[дата обращения: 01.05.2016]
50. Qt Documentation // Debugging [Электронный ресурс]. - The Qt Company, сор. 1994-2016. - Режим доступа: http://doc.qt.io/qtcreator/creator-debugging.html[дата обращения: 01.05.2016]
51. Python 3.4.4 documentation // Errors and Exceptions [Электронный ресурс]. -
Python Software Foundation, сор. 2001-2016. - Режим доступа:
https://docs.python.org/3.4/tutorial/errors.html[дата обращения: 01.05.2016]
52. Python 3.4.4 documentation // Exception Handling [Электронный ресурс]. - Python Software Foundation, сор. 2001-2016. - Режим доступа: https://docs.python.org/3.4/c- api/exceptions.html[дата обращения: 01.05.2016]
53. Python 3.4.4 documentation // Tasks and coroutines [Электронный ресурс]. -
Python Software Foundation, сор. 2001-2016. - Режим доступа:
https://docs.python.org/3.4/library/asyncio-task.html[дата обращения: 01.05.2016]
54. Qt Documentation // Prototyping with qmlscene [Электронный ресурс]. - The Qt Company, сор. 1994-2016. - Режим доступа: http://doc.qt.io/qt-5/qtquick-qmlscene.html[дата обращения: 01.05.2016]
55. Python 3.4.4 documentation // The Python Debugger [Электронный ресурс]. -
Python Software Foundation, сор. 2001-2016. - Режим доступа:
https://docs.python.org/3.4/library/pdb.html[дата обращения: 01.05.2016]
56. Тамре, Л. Введение в тестирование программного обеспечения [Текст] / Л. Тамре; пер. с анг. В.В. Марченко, зав. ред. А.В. Слепцов. - М.: Вильямс, 2003. - 368 с.
57. Майерс, Г. Искусство тестирования программ [Текст] / Г. Майерс, Т. Баджетт, К. Сандлер; пер. с анг. А. Гузикевича. - М.: Вильямс, 2012. - 272 с.
58. Блэк, Р. Ключевые процессы тестирования. Планирование, подготовка, проведение, совершенствование [Текст] / Р. Блэк; пер. с анг. М. Павлова. - 3-е изд. - М.: Лори, 2011. - 544 с.
59. Макгрегор, Дж. Тестирование объектно-ориентированного программного обеспечения. Практическое пособие [Текст] / Дж. Макгрегор, Д. Сайкс; пер. с анг. о. Здира. - М.: ТИД «ДС», 2002. - 438 с.
60. Канер, С. Тестирование программного обеспечения [Текст] / С. Канер, Дж. Фолк, Е. Нгуен; пер. с анг. о. Здира. - М.: ДиаСофт, 2000. - 544 с.
61. ГОСТ 19.505 - 79. ЕСПД. Руководство оператора. Требования к содержанию и оформлению [Текст]. - Введ. 01.01.80. - М.: Стандартинформ, 2010. - 99 с.


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ