РЕФЕРАТ 3
ВВЕДЕНИЕ 4
1 Обзор литературы 5
2 Способы и методы решения задачи 8
2.1 Microsoft Visual Studio 8
2.2 Qt, как удобное средство разработки ПО 8
2.3 Многопоточное программирование 11
2.4 Хеш-таблицы 13
2.5 Дружественный интерфейс 13
2.6 Формат данных JSON 14
2.7 Веб-сервис GitHub 16
2.8 Общие сведение об астероидах 18
2.9 Построение эфемерид 20
2.10 Концепция ПО EROS 22
2.11 СБГ, как средство наблюдений 22
2.12 Координатно-временное обеспечение 24
3 Результаты 26
3.1 EROS - 2.0 26
3.2 Источники данных 27
3.3 Разработанные модули ПО EROS 29
3.4 Тестирование 38
ЗАКЛЮЧЕНИЕ 48
СПИСОК ЛИТЕРАТУРЫ
Проблема астероидно-кометной опасности (АКО) в XXI в. стала актуальной темой научных исследований. Событие, произошедшее 15 февраля 2013 г., когда в окрестностях города Челябинска взорвался метеороид [1] - прямое доказательство тому, что опасность из космоса не такое мифическое явление, как может казаться на первый взгляд. Важно исследовать движение астероидов. Но существует проблема в исследовании орбитального движения астероидов, сближающихся с Землей (АСЗ). Она связана с тем, что такие объекты могут испытывать сближения с большими планетами, в том числе с Землей, и через определенный промежуток времени движение этих астероидов может стать непредсказуемым, что создает определенные трудности в моделировании орбитальной эволюции АСЗ. Поэтому возникает проблема точного определения положения исследуемого объекта на небесной сфере на определенный момент времени и получении его эфемерид для наблюдений.
Процедура подготовки к проведению позиционных наблюдений - трудоемкая задача, требующая многофункционального программного обеспечения. Процесс выбора объектов для исследования, вычисления эфемерид и составления программы наблюдений процесс не самый сложный, но каждый этап требует значительного количество времени.
На настоящее время уже существуют программные продукты, которые способны упростить подготовку к наблюдениям. Но из-за разрозненности научного сообщества, как правило, такие утилиты либо с недостаточно полным функционалом, либо находятся в закрытом доступе. Пачками создаются алгоритмы и разрабатываются утилиты с незначительными изменениями для решения задач. Одни и те же задачи решаются по несколько раз.
С 2013-го по 2014-ый на базе сотрудничества Уральского федерального университета и Томского государственного университета проводилась разработка программного обеспечения «EROS» (англ. «Ephemeris Researches and Observation Services»). В целях было заявлено упрощение и автоматизирование всего процесса подготовки к наблюдениям. В то время это была попытка собрать в единое целое раздробленные алгоритмы, для создания мощного многофункционального инструмента. На деле разработка оказалась не пригодной для комфортного использования.
Цель работы - создание программного обеспечения на основе уже существующего, призванного превратить в удобный для использования инструмент уже отработанные алгоритмы. Программа должна быть такой, чтобы не возникала необходимость для поиска другого ресурса и тем более создания нового.
В процессе работы над магистерской диссертацией были рассмотрены современные технологии разработки программного обеспечения, такие как: инструментарий Qt, многопоточное программирование, хеш-таблицы, критерии дружественного интерфейса, формат данных JSON, веб-сервис GitHub.
Все описанные технологии нашли своё отражении в модификации программного пакета эфемероидной поддержки «EROS». В ходе разработки были достигнуты следующие результаты:
- Переосмыслена и реализована новая внутренняя структура. Нынешняя структура позволит производить дальнейшее расширение функционала с меньшими затратами, чем при начальной разработке комплекса:
a. Реализованы два типа классов: отвечающие за взаимодействие элементов управления gui с пользователем и математического аппарата с gui;
b. Реализован каркас для предполагаемых расширений и модификаций;
c. Изменен алгоритм доступа к элементам из каталога Боуэлла. Введена такая структура данных, как хеш-таблицы;
d. Изменена система настроек, как основа взят формат данных - JSON;
e. Реализована многопоточность. Если двигаться в этом направлении, в перспективе, может привезти к значительному росту производительности при переходе на более мощную аппаратуру.
- Программный пакет «EROS» полностью перенесён на новую платформу Qt;
- Появились рабочие версии программы для разных операционных систем (Windows XP/7/10, Linux);
- Изменена внешняя составляющая программы:
a. Разработан новый более удобный пользовательский интерфейс без лишних элементов управления;
b. Реализованы такие визуальные элементы, как строка состояния;
c. Разработана более гибкая система масштабирования.
Таким образом, была создана рабочая и удобная в использования программа эфемероидной поддержки. Исходники проекта прикреплены к системе контроля версии типа Git и выложены в открытый доступ на GitHub.