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

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

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

Введение

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

 

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

 

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

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

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

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

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

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

1)текст,

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

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

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

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

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

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

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

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

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

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

 

1.2 Суть задачи

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

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

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

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

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

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

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

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