Создание веб-интерфейса для построения генеалогических деревьев
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
задачи необходимо:
-исследовать существующие реляционные и нереляционные базы данных, их характеристики и главные достоинства;
-выбрать наиболее оптимальные СУБД для хранения данных проекта;
-разработать и реализовать архитектуру баз данных;
-реализовать возможность взаимодействия между выбранными базами данных.
б)разработка и реализация интерфейса для доступа к хранимым данным. В интерфейсе необходимо предоставить стандартный набор операций над данными:
-запись;
-чтение;
-редактирование;
-удаление.
в)авторизация зарегистрированных в сервисе пользователей;
г)разработка и реализация разграничения прав доступа для разных групп пользователей;
д)вычисление и отображение степеней родства между любыми двумя персонами в одном дереве.
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>