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


БИБЛИОТЕКА АСТРОНОМИЧЕСКИХ ПРОЦЕДУР ДЛЯ ВЫЧИСЛЕНИЯ И МОДЕЛИРОВАНИЯ ОРБИТ МЕТЕОРОВ

Работа №187123

Тип работы

Дипломные работы, ВКР

Предмет

информатика

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

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


Реферат 2
ВВЕДЕНИЕ 6
1 ТЕОРИЯ ПРОЕКТИРОВАНИЯ И РЕАЛИЗАЦИИ
ПРОГРАММНЫХ КОМПОНЕНТ 9
1.1 Основные фазы разработки 9
1.1.1 Формирование концепции 9
1.1.2 Разработка технического задания 9
1.1.3 Проектирование 10
1.1.4 Реализация 10
1.1.5 Ввод в эксплуатацию 10
1.2 Жизненный цикл программного обеспечения 10
1.2.1 Модель кодирования и устранения ошибок 11
1.2.2 Каскадная модель 11
1.2.3 Каскадная модель с промежуточным контролем 12
1.2.4 V-модель 13
1.2.5 Спиральная модель 13
1.2.6 Экстремальное программирование 14
1.2.7 Инкрементная модель 15
1.3 Общие требования к написанию кода 15
1.4 Тестирование и отладка 17
1.4.1 Отладка 18
1.4.2 Тестирование 19
2 МОДУЛЬ METEOR NUMERICAL 21
2.1 Общая концепция библиотеки 21
2.2 Астрономические задачи, обслуживаемые библиотекой 22
2.3 Общая структура библиотеки 22
2.3.1 Константы 22
2.3.2 Типы данных 23
2.3.3 Процедуры и функции 23
2.4 Тестирование библиотеки 24
ЗАКЛЮЧЕНИЕ 25
ЛИТЕРАТУРА 26
ПРИЛОЖЕНИЕ А. ОПИСАНИЕ КОНСТАНТ, ТИПОВ И ФУНКЦИЙ,
ВОШЕДШИХ В МОДУЛЬ 28
А.1 Спецификация входных данных 28
А.2 Типы данных 28
А.3 Константы 30
А.4 Процедуры и функции 31
А.4.1 Блок процедур и функций инициализации и ввода 31
А.4.2 Блок астрономических процедур и функций 35
А.4.3 Блок математических процедур и функций 39
А.4.4 Блок процедур и функций, работающих со внешними данными 43
ПРИЛОЖЕНИЕ Б. ТЕСТИРОВАНИЕ МОДУЛЯ 44
ПРИЛОЖЕНИЕ В. ПРИМЕРЫ ПРОГРАММ 49
В. 1 Расчет радианта метеора 49
В.2 Расчет элементов орбиты по методу Дубяго 49


Открытый код в мире
Свободное программное обеспечение (СПО, англ. free software, также software libre или libre software) или свободный софт — это программное обеспечение, пользователи которого имеют права («свободы») на его неограниченную установку, запуск, свободное использование, изучение, распространение и изменение (совершенствование), а также распространение копий и результатов изменения [1].
Концепция СПО появилась в 1983 году, когда программист из США — Ричард Столлман — сформировал эту идею и преподнес ее общественности [1]. По идее Столл- мана, одной из особенностей концепции является открытый исходный код. Таким образом, свободно распространяемое программное обеспечение должно быть доступно всем на всех уровнях, должно быть достоянием общественности. Для поддержания своей идеи и обеспечения организационной структуры Столлман создал Фонд свободного программного обеспечения. Так же им был запущен проект по разработке такого ПО. Изначальная цель этих проектов — разработать достаточно свободного ПО, чтобы можно было обойтись без несвободных аналогов.
На данный момент в мире накопилось довольно много свободно распространяемых программ, чтобы отказаться от их платных аналогов. К разработке таких проектов может присоединиться любой желающий. Исходные коды программ разработчики выкладывают в общий доступ. Существуют специальные хранилища, позволяющие сделать это, такие, как, например, GitHub или SourceForge.net.
GitHub позиционирует себя, как набор репозиториев, в которых разработчики могут хранить свой исходный код. Для управления репозиториями используется специальная программа — Git. Git представляет собой распределенную систему управления версиями, иными словами, программное обеспечение для работы с изменяющейся информацией. При разработке проектов, в которых задействовано больше чем один человек, Git помогает контролировать процесс обмена исходниками, реализует систему резервного копирования (исходники хранятся на серверах GitHub). Репозиторий можно найти на самом GitHub и через веб-интерфейс посмотреть исходные тексты, либо же загрузить код на свой компьютер.
SourceForge — место, где разработчики могут совместно работать над исходным кодом. Для этого также используется специальное программное обеспечение с одноименным названием, которое разрабатывает и продает компания CollabNet.
Библиотеки в астрономии
Для решения астрономических задач, со времен появления компьютера и по сегодняшний день, написано много прикладного ПО и библиотек. Они решают разные задачи. Рассмотрим некоторые из них.
The Astrophysics Source Code Library (ASCL). По своей концепции, библиотека является набором исходных кодов для разных задач астрофизики. Её редакторы ищут как новые, так и старые рецензируемые статьи, описывающие методы или эксперименты, которые включают разработку или использование исходного кода, и добавляют записи для найденных кодов в библиотеку [2].
Standards of fundamental astronomy (SOFA). Разработана международным астрономическим союзом. По своей специфике, является набором алгоритмов и процедур, которые реализуют стандартные модели, используемые в фундаментальной астрономии [3].
Проект Astropy — это сообщество, занятое разработкой основного пакета программ для астрономии с использованием языка программирования Python. Содержит в себе процедуры и функции, необходимые для профессиональных астрономов [4].
Проект SPICE создан NASA. Представляет собой информационную систему геометрии наблюдений, которая помогает ученым в планировании и интерпретации научных наблюдений с приборов на борту роботизированных космических аппаратов [5].
Как можно заметить, все ПО разрабатывается для решения каких-то конкретных задач.
Цель работы
Цель дипломной работы — создать модуль для автоматизации астрономических расчетов в области метеорной астрономии. Проанализировав ситуацию, мы пришли к выводу, что есть необходимость объединить подпрограммы, используемые для расчетов, в единый модуль, который, впоследствии, может быть использован любым желающим.
В данный момент на кафедре астрономии и космической геодезии ТГУ разрабатывается специальный набор астрономических инструментов — виртуальная астрономическая лаборатория — «Orbit Modeler» [6]. Ее цель — объединить прикладное ПО, написанное учеными и студентами кафедры, для дальнейшей публикации в общем доступе. Проект представляется как интерактивный веб-инструмент, позволяющий численно моделировать орбиты точечных небесных тел, как в Солнечной системе, так и за ее пределами. Наша задача — спроектировать и реализовать модуль подпрограмм для вычислений и моделирования орбит метеоров. Модуль должен отвечать следующим общим требованиям:
• Предоставление удобного интерфейса для пользователя;
• Широкий охват процедур для решения большого количества задач метеорной астрономии;
• Прозрачная структура библиотеки, позволяющая без особого труда разобраться в принципах ее работы;
• Удобочитаемость исходного кода, написанного с использованием модуля;
• Сокращение времени написания программ;
Модуль также должен решать специфическую задачу метеорной астрономии: формализовать входные данные о метеороиде или метеоре. Иными словами, можно сказать, что цель работы — сделать разработку прикладных программ в сфере метеорной астрономии более удобной, быстрой и качественной.
Актуальность
Программное обеспечение играет важную роль в расчетах. Обычно, перед разработчиком не стоит проблемы решить все задачи, и прикладные программы в основном узко направлены и заточены для решения небольшой части вопросов, встающих перед исследователем. Из-за этого возникает вопрос: «Почему бы не создать набор подпрограмм, расширяющих спектр решенных задач?».
Библиотека должна так же стать хорошим дополнением для виртуальной астрономической лаборатории. Она обеспечит решение типичных задач метеорной астрономии (а с её развитием не только типичных), тем самым расширив спектр задач, решаемых астрономической лабораторией.
Эти предпосылки привели нас к решению о создании библиотеки.


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

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

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


В соответствии с требованиями, изложенными во Введении, был разработан программный продукт.
Модуль отражает потребности решаемой автором задачи: моделирование наблюдений орбит метеоров. Частые переходы от одной системы координат к другой, получение небесных координат и подобного рода задачи решаются быстрее (в плане сокращения кода) с использованием данной библиотеки. Предоставляется удобный интерфейс путем грамотного именования функций, что также уменьшает время поиска ошибок. В представленной версии модель использует шарообразную модель Земли.
На будущее стоит задача развить библиотеку: реализовать функционал для эллипсоидальной модели Земли, добавить инструменты для решения других задач метеорной астрономии.


1. Википедия [Электронный ресурс] : Википедия — свободная энциклопедия. - Текстовые дан. URL: http://ru.wikipedia.org (дата обращения: 21.05.2018)
2. About the ASCL [Электронный ресурс] : ASCL.net — Astrophysics Source Code Library. — Электрон. текстовые дан. URL: http://ascl.net/about (дата об-ращения: 26.05.2018).
3. Standard of fundamental astronomy [Электронный ресурс]. — Электрон. тек-стовые дан. URL: http://www.iausofa.org (дата обращения: 26.05.2018).
4. About The Astropy Project [Электронный ресурс] : The astropy project. — Электрон. текстовые дан. URL: http://www.astropy.org/about.html (дата обра-щения: 26.05.2018).
5. The SPICE Concept [Электронный ресурс] : The Navigation and Ancillary In-formation Facility. — Электрон. текстовые дан. URL:
https://naif.jpl.nasa.gov/naif/spiceconcept.html (дата обращения: 26.05.2018).
6. Avdyushev V.A. Orbit Modeller — Virtual Astronomical Laboratory / V. A. Av- dyushev [и др.] // European Planetary Science Congress [Электронный ресурс], 2017. Vol. 11, EPSC2017-245, 2017.
URL: http://meetingorganizer.copernicus.org/EPSC2017/EPSC2017-245.pdf (да¬та обращения: 20.05.2018).
7. Избачков Ю. С., Петров В. Н., Васильев А. А., Телина И. С. Информацион-ные системы: Учебник для вузов. 3-е изд. — СПб.: Питер, 2011. — 544 с.
8. Жизненный цикл программного обеспечения [Электронный ресурс] : Хабр — ресурс для IT специалистов. — Электрон. текстовые дан. URL: https://habr.com/post/111674/ (дата обращения: 26.05.2018).
9. Ещё раз про семь основных методологий разработки [Электронный ресурс] : Хабр — ресурс для IT специалистов. — Электрон. текстовые дан. URL: https://habr.com/company/edison/blog/269789/ (дата обращения: 18.05.2018).
10. Макконнелл С. Совершенный код. Мастеркласс / Пер. с англ. — М. : Изда-тельство «Русская редакция», 2010. — 896 стр. : ил.
11. Рябова Г.О. Технологии программирования: курс лекций. — Томск: Изд-во Том. ун-та, 2013. — 302с.
12. Code Conventions for the Java Programming Language [Электронный ресурс] — Тексто¬
вые дан. URL: http://www.oracle.com/technetwork/java/javase/documentation/co deconvtoc-136057.html (дата обращения: 24.05.2018).
13. PEP 8 — style guide for python code. [Электронный ресурс]. - Текстовые дан. URL: https://www.python.org/dev/peps/pep-0008 (дата обращения: 24.05.2018).
14. Куликов С. С. Тестирование программного обеспечения. Базовый курс
[Электронный ресурс]. — Электрон. Текстовые дан. URL:
http:// svyatoslav.biz/ software_testing_book_download/ (дата обращения:
14.05.2018).
15. Ван Тассел Д. Стиль, разработка, эффективность, отладка и испытание про-грамм: Пер. с англ — М.: Мир, 1981. —320 с., ил... 17


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




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