Создание веб-интерфейса для построения генеалогических деревьев

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА БАКАЛАВРА

Создание веб-интерфейса для построения генеалогических деревьев

Содержание

ВВЕДЕНИЕ

1. Постановка задачи

1.1 Общее описание создаваемого сервиса

1.2 Суть задачи

1.3 Аналоги

1.3.1 Сервис Genway - больше, чем семья!

.3.2 Сервис Moederevo

.3.3 Сервис MyHeritage

1.4 Выбранные программные средства

1.4.1 Выбор реляционной базы данных

.4.2 Выбор нереляционной базы данных

2. Описание базы данных

2.1. Реляционная база данных

2.1.1 Концептуальная схема базы данных

.1.2 Описание назначения таблиц

2.2. Нереляционная база данных

2.2.1 Описание структуры документов

2.2.2 Описание назначения полей в документе

3. Описание реализации работы с данными

3.1 Структура классов для манипуляции с данными

3.2 Разграничение прав доступа к данным

3.3 Вычисление степеней родства

Заключение

Литература

ПриложениЯ

ВВЕДЕНИЕ

программное генеалогическое дерево

Темой данного дипломного проекта является создание веб-сервиса для построения генеалогических деревьев, а именно разработка и реализация серверной компоненты.

Развитие современных информационных технологий и методов теории графов (см. [1]) повлекло за собой существенное продвижение в различных областях знаний, в частности, в области генеалогии (см. [2]). В результате этого началось активное развитие сервисов, пользующихся спросом как у профессионалов, так и у любителей, желающих систематизировать всю известную информацию о своих родственниках и наглядно представить эту информацию в виде генеалогического дерева.

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

В этой связи становится необходимым создание бесплатного веб-сервиса для построения генеалогических деревьев с возможностью хранения и отображения различной пользовательской информации.

Целью дипломной работы является разработка и реализация ключевых компонентов системы создаваемого веб-приложения, на которых будет основана работа всего сервиса для построения генеалогических деревьев.

Стоит отметить, что данная цель является локальной относительно цели создания всего веб-приложения, а работа является частью комплексного проекта, выполняемого тремя студентами гр. 9208.

Цель дипломного проекта формирует следующий список взаимосвязанных работ:

-исследование предметной области;

-поиск и рассмотрение существующих аналогов разрабатываемого сервиса, выявление их достоинств и недостатков;

-составление общих и функциональных требований;

-исследование и выбор оптимальных средств разработки для решения поставленной задачи;

-изучение выбранных программных средств;

-разработка и реализация архитектуры системы хранения данных;

-разработка и реализация интерфейса для доступа к хранимым данным;

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

-разработка и реализация вычисления степеней родства между двумя персонами в генеалогическом дереве;

-отладка и тестирование разработанного сервиса;

-анализ и оценка полученных результатов.

Для проведения работ решено использовать: операционную систему Linux Ubuntu, систему контроля версий Git, язык программирования Python, фреймворк Django, объектно-реляционную СУБД PostgreSQL, документо-ориентированную СУБД CouchDB, скриптовый язык программирования JavaScript, инструмент управления проектами и отслеживания ошибок в программном обеспечении Trac, текстовый редактор Jedit.

1. Постановка задачи

1.1 Общее описание создаваемого сервиса

программное генеалогическое дерево

Создаваемый веб-сервис предназначается для пользователей сети интернет, интересующихся историей своего рода, собирающих сведения о своих предках, и желающих разобраться в родственных связях, а также привлечь к этому своих близких.

Функции, выполняемые сервисом в интересах пользователя:

а) построение и печать родословных деревьев;

б) импорт и экспорт данных;

в) вычисление и отображение степеней родства между двумя персонами в генеалогических деревьях;

г) хранение мультимедийных данных:

1)текст,

2)фотографии;

д) поиск и фильтрация данных;

е) статистика:

1)количество персон,

2)количество мужчин,

)количество женщин,

)число поколений,

)средняя продолжительность жизни,

)число детей.

Все эти функции доступны пользователю сервиса в личном кабинете - разделе, который доступен только для зарегистрированных пользователей. Личный кабинет позволяет авторизированным пользователям быстро и удобно получать доступ к таким функциям, как работа с генеалогическими деревьями, редактирование личной информации, обмен сообщениями с другими пользователями, хранение мультимедиа-файлов и так далее.

1.2 Суть задачи

Задач