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

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

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



В° дипломного проекта - создать веб-сервис для построения генеалогических деревьев. Поставленная задача разбивается на следующие подзадачи:

-разработка и реализация серверной части сервиса;

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

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

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

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

а)разработка и реализация базы данных для хранения всей получаемой от пользователей информации и всех данных проекта. Для решения этой подзадачи необходимо:

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

-выбрать наиболее оптимальные СУБД для хранения данных проекта;

-разработать и реализовать архитектуру баз данных;

-реализовать возможность взаимодействия между выбранными базами данных.

б)разработка и реализация интерфейса для доступа к хранимым данным. В интерфейсе необходимо предоставить стандартный набор операций над данными:

-запись;

-чтение;

-редактирование;

-удаление.

в)авторизация зарегистрированных в сервисе пользователей;

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

д)вычисление и отображение степеней родства между любыми двумя персонами в одном дереве.

.3 Аналоги

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

а)сервис Genway - больше, чем семья! (см. [3]);

б)сервис Moederevo (см. [4]);

в)сервис MyHeritage (см. [5]).

Далее проанализируем достоинства и недостатки перечисленных аналогов.

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

Сервис Genway - больше, чем семья! содержит графический редактор для построения генеалогических деревьев, обладает приятным дизайном и предоставляет возможность отметить местонахождение человека на карте.

В качестве недостатков сервиса можно отметить следующее:

-сложный интерфейс, неудобное расположение элементов управления;

-возможность строить некорректные деревья;

-отсутствие контроля приватности данных;

-отсутствие импорта и экспорта дерева.

1.3.2 Сервис Moederevo

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

1.3.3 Сервис MyHeritage

В качестве достоинств сервиса MyHeritage отметим следующее:

-графический редактор для составления дерева;

-интуитивно понятный интерфейс;

-возможность печати дерева;

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

-приятный дизайн.

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

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

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

Genway - больше, чем семьяMoederevoMyHeritageПриятный дизайндададаИнтуитивно понятный интерфейснетдадаГрафический редактордададаКонтроль приватности данныхнетнетдаВозможность импорта и экспорта данныхнетнетнетВозможность печати дереванетдада

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

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

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

Для реализации сервиса основным языком разработки выбран язык Python (см. [6]).

Язык Python - это стабильный и распространённый высокоуровневый язык программирования с акцентом на производительность разработчика и читаемость кода; язык общего назначения с широким спектром возможного применения, выразительным синтаксисом и приемлемой производительностью. Недостаток языка - относительно невысокая скорость выполнения программ - компенсируется уменьшением времени разработки программы. В среднем, программа, написанная на Python, в 2-4 раза компактнее, чем её аналог на C++ или Java.

В качестве каркаса приложения выб