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

Курсовой проект - Компьютеры, программирование

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

задачи необходимо:

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

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

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

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

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

-запись;

-чтение;

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

-удаление.

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

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

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

 

1.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. Существенным недостатком данного сервиса является ограниченные возможности в бесплатном режиме (ограниченное количество родственников в дереве, ограниченное количество доступного места для хранения мультимедийных данных). Ни один из рассмотренных ресурсов не поддерживает импорт и экспорт данных, то есть не предоставляет пользователю возможности сохранить свои наработки вне сервиса.

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

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

 

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

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

В качестве каркаса приложения выбран фреймворк Django (см. [7]). Django (Джанго) - свободный фреймворк для веб-приложений на языке Python.

Для хранения данных проекта решено использовать два типа СУБД: реляционную и нереляционную базы данных (см. [8]). Такой выбор основан на необходимости хранения разнородных данных. Реляционная база данных хранит данные, удобно представимые в табличном виде: данные о пользователях, данные о географическом расположении пользователей, о правах доступа, о мультимедийных данных. Для хранения данных о генеалогических деревьях используется документо-ориентированная база данных.

 

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

 

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

Каждая база имеет свои особенности и отличия. Если необходимо быстрое хранилище для простых запросов с минимальной настройкой, лучше выбирать MySQL. Если необходимо надежное хранилище для большого объема данных с возможностью расширени?/p>