АННОТАЦИЯ 2
ВВЕДЕНИЕ 8
Актуальность исследования 8
Цель и задачи исследования 9
1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 10
1.1 АРХИТЕКТУРА ВЕБ-ПРИЛОЖЕНИЯ 11
1.2 ОБЗОР АНАЛОГОВ 13
“MyHeritage.com” 13
“rodovid.org” 14
«Древо жизни» 15
“moederevo” 16
“GenoPro” 16
ИТОГИ АНАЛИЗА 17
1.3 АНАЛИЗ ОСНОВНЫХ СУЩЕСТВУЮЩИХ ПЛАТФОРМ ДЛЯ
СОЗДАНИЯ ПРИЛОЖЕНИЙ 18
1.3.1 Visual Studio 18
1.3.2 NetBeans 19
1.3.3 Eclipse 20
1.3.4 Brackets 22
1.3.5 PHPStorm 23
1.3.6 ВЫВОД ПО ВЫБОРУ ПЛАТФОРМЫ ДЛЯ РАЗРАБОТКИ 25
1.3.7 ВЫБОР ЯЗЫКА ПРОГРАММИРОВАНИЯ И ФРЕЙМВОРКА 25
1.3.7.1 C# 25
1.3.7.2 Java 26
1.3.7.3 PHP 26
1.3.7.4 ВЫВОД ПО ВЫБОРУ ЯЗЫКА 27
1.3.7.5 ВЫБОР ФРЕЙМФОРКА 28
1.3.7.5.1 Yii2 28
1.3.7.5.2 LARAVEL 30
1.3.7.5.3 ВЫВОД ПО ВЫБОРУ ФРЕЙМВОРКА 31
1.3.8 ВЫБОР СЕРВЕРА 32
1.3.9 FRONTEND 33
1.3.9.1 ВЫБОР СРЕДСТВ РАЗРАБОТКИ 33
1.3.9.2 jQUERY 33
1.3.9.3 BOOTSTRAP 4 34
1.3.10 ВЫБОР СУБД 34
1.4 ВЫВОД 36
2 ОПРЕДЕЛЕНИЕ ТРЕБОВАНИЙ К ВЕБ-ПРИЛОЖЕНИЮ 37
2.1 ФУНКЦИОНАЛЬНЫЕ ТРЕБОВАНИЯ 37
2.2 НЕФУНКЦИОНАЛЬНЫЕ ТРЕБОВАНИЯ 39
3 ПРОЕКТИРОВАНИЕ ВЕБ-ПРИЛОЖЕНИЯ 41
3.1 АРХИТЕКТУРА ПРЕДЛАГАЕМОГО РЕШЕНИЯ 41
3.2 ОПИСАНИЕ ДАННЫХ 45
3.3 АЛГОРИТМ ПОИСКА ВОЗМОЖНЫХ РОДСТВЕННИКОВ 49
3.4 АЛГОРИТМ СЧИТЫВАНИЯ ФАЙЛОВ GEDCOM 51
4 РЕАЛИЗАЦИЯ 53
4.1 РЕАЛИЗАЦИЯ ИНТЕРФЕЙСОВ 53
5 ТЕСТИРОВАНИЕ 62
5.1 ПРОВЕДЕНИЕ ПРОЦЕДУРЫ ТЕСТИРОВАНИЯ 62
6 ЗАКЛЮЧЕНИЕ 67
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 68
ПРИЛОЖЕНИЕ А 70
ПРИЛОЖЕНИЕ Б 71
ПРИЛОЖЕНИЕ В 72
ПРИЛОЖЕНИЕ Г 73
ПРИЛОЖЕНИЕ Д 74
ПРИЛОЖЕНИЕ Е 76
ПРИЛОЖЕНИЕ Ж 80
ПРИЛОЖЕНИЕ 3 83
ПРИЛОЖЕНИЕ И 88
ПРИЛОЖЕНИЕ К 91
ПРИЛОЖЕНИЕ Л 93
ПРИЛОЖЕНИЕ М 95
ПРИЛОЖЕНИЕ Н 98
ПРИЛОЖЕНИЕ О 100
ПРИЛОЖЕНИЕ П 102
ПРИЛОЖЕНИЕ Р 104
ПРИЛОЖЕНИЕ С 105
Актуальность исследования
В наше время практически невозможно представить человека, который не использовал бы сеть интернет на персональном компьютере или мобильном устройстве. Каждый день более половины людей во всём мире посещают миллиарды, а то и больше веб-страниц.
Веб-приложения - это программные продукты, которые разработаны для персональных компьютеров, ноутбуков, смартфонов и других устройств. Зачастую веб-приложения доступны для других пользователей в свободном доступе, использовать их можно при наличии браузера и доступа к сети интернет.
Актуальность данной исследовательской темы заключается в том, что каждому из нас, даже во время технологичного прорыва и нескончаемого потока информации, порой недостаёт знаний о истории своего рода. Ведь нередко изучение своего рода, его истории может помочь понять нам самих себя. Ведь наверняка, каждый из нас хотя бы раз в своей жизни задумывался: «А кем были наши родственники?»
На сегодняшний день, ассортимент веб-приложений для построения деревьев достаточно разнообразен, но функции поиска родственников в них, как правило, не предусмотрена. Данная функция, при её введении, может расширить функционал веб-приложений данного формата и подогреет интерес пользователей к ним.
Проект будет применяться пользователями для составления генеалогических деревьев, а также для поиска возможных родственников, которые уже зарегистрировались в данном приложении. Это даст возможность пользователям завести новые знакомства с родственниками столь далёкими, что вы даже и не знаете их.
В целях дальнейшей формализации проекта были выделены и сформулированы следующие понятия.
Объект исследования - процесс разработки веб-приложения.
Предмет исследования - проблемы и подходы к решению проблем, связанных с разработкой веб-приложения.
Цель исследования - разработать жизнеспособный продукт для поиска возможных родственников и родственных связей.
Цель и задачи исследования
Целью проекта является разработка веб-приложения для поиска возможных родственников и возможных родственных связей в формате GedCom [10]. Использование формата GedCom позволит пользователям загружать древо в систему, не вводя при этом никаких данных о составе семьи, т.к. все данные уже хранятся в файле.
Для реализации вышеупомянутой цели были поставлены следующие задачи:
• Проанализировать существующие подходы к разработке веб-проектов и выбрать подходящий;
• выбрать необходимый инструментарий разработки;
• обосновать сделанный выбор;
• определить конкретную логику бизнес-процессов;
• разработать жизнеспособный продукт.
В ходе дипломного проектирования было выполнено следующее:
• Проведён анализ предметной области;
• проведён анализ рынка родственных проектов;
• проанализированы и выбраны средства для разработки веб-приложения;
• определены функциональные и нефункциональные требования к приложению;
• спроектирована архитектура веб-приложения;
• разработана база данных;
• разработано и протестировано программное обеспечение.
В веб-приложении реализованы следующие функции:
• Создание генеалогического древа;
• работа с данными генеалогического древа;
• установление родственных связей в генеалогическом древе;
• разработан поиск людей в генеалогическом древе;
• возможен поиск всех древ и пользователей, загруженных в приложение;
• доступен автоматический поиск в системе на наличие возможных родственников;
• разработан алгоритм парсинга GedCom файлов;
• разработан алгоритм поиска возможных родственников;
• был разработан алгоритм расчёта вероятности родства между людьми в разных древах.
В дальнейшем планируется разработка системы администрирования и поиска родственников по фотографии.