Анализ систем ведения проектов и багтрекинга для последующей интеграции
Сравнительная характеристика систем багтрекинга и систем ведения проектов, обоснование выбора лучшей из них для дальнейшей интеграции. Исследование систем Jira, Redmine, Bugzilla Сравнение систем управления базами данных (MYSQL, PostrgreSQL, SQLite).
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 25.07.2018 |
Размер файла | 529,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Анализ систем ведения проектов и багтрекинга для последующей интеграции
В данной работе пойдет речь о создании системы полной интеграции между системами project manager/bugtracker и другими внешними системами для предоставления данных из этих систем через API.
В нынешнее время, при создании и ведении проекта не обойтись без систем поддержки проекта и багтрекера, именно эти системы позволяют оперативно принимать верные решения по развитию проекта и отслеживания действия программистов.
Эти системы позволяют минимизировать «бумажную работу» и упростить взаимодействия между всеми членами команды, где бы они физически не находились.
Существует множество различных систем которые реализуют искомый функционал, мы будем рассматривать системы с открытым API либо же, системы которые позволяют реализовать его использую базу даных системы как источник данных.
Самые популярные системы - jira, redmine, bugzilla.
Jira - коммерческая система отслеживания ошибок, предназначена для организации взаимодействия с пользователями, хотя в некоторых случаях используется и для управления проектами. Разработана компанией Atlassian, является одним из двух её основных продуктов (наряду с вики-системой Confluence). Имеет веб-интерфейс.
Название системы получено путём усечения слова «Gojira» - японского имени монстра Годзилла, что, в свою очередь, является отсылкой к названию конкурирующего продукта - Bugzilla; создавалась в качестве замены Bugzilla и во многом повторяет её архитектуру. Система позволяет работать с несколькими проектами. Для каждого из проектов создаёт и ведёт схемы безопасности и схемы оповещения.
Рис. 1. (Логотип компании Atlassian)
Реализация
Система основана на Java EE и работает на нескольких популярных системах управления базами данных и операционных системах.
Основной элемент учёта в системе - задача (англ. ticket или issue). Задача содержит название проекта, тему, тип, приоритет, компоненты и содержание. Задача может быть расширена дополнительными полями (также и новые пользовательские поля могут быть определены), приложениями (например - фотографиями, скриншотами) или комментариями. Задача может редактироваться или просто изменять статус, например, из «открыт» в «закрыт». Какие переходы между состояниями возможны, определяется через настраиваемый поток операций. Любые изменения в задаче протоколируются в журнал.
Рис. 2. (Интерфейс Jira)
багтрекинг управление интеграция
Jira имеет большое количество возможностей конфигурации: для каждого приложения может быть определен отдельный тип задачи с собственным workflow, набором статусов, одним или несколькими видами представления (англ. screens). Кроме того, с помощью так называемых «схем» можно определить для каждого индивидуального Jira-проекта собственные права доступа, поведение и видимость полей и многое другое.
Благодаря универсальному подходу можно приспособить Jira для многих непрофильных задач, например, управления требованиями, управления рисками, вплоть до реализации небольшой системы бронирования, автоматизации процесса рекрутинга.
Для интеграции с внешними системами поддерживает интерфейсы SOAP, XML-RPC и REST. Поставляется со средствами интеграции с такими системами управления версиями, как Subversion, CVS, Git, Clearcase, Team Foundation Server, Mercurial и Perforce. Существуют дополнения, позволяющие встроить Jira в интегрированные среды разработки, в том числе Eclipse и IntelliJ IDEA. Переведена на многие языки, включая русский, английский, японский, немецкий, французский, испанский.
Для сторонних разработчиков предоставляются средства разработки расширений системы - плагинов. Разработчики расширений могут выкладывать плагины для продажи на специальный раздел сайта Atlassian.redmine
Рис. 3. (Логотип redmine)
Redmine [Рэдмайн] - открытое серверное веб-приложение для управления проектами и задачами (в том числе для отслеживания ошибок). Redmine написан на Ruby и представляет собой приложение на основе широко известного веб-фреймворка Ruby on Rails. Распространяется согласно GNU General Public License.
Функциональные возможности
Данный продукт предоставляет следующие возможности:
· ведение нескольких проектов;
· гибкая система доступа, основанная на ролях;
· система отслеживания ошибок;
· диаграммы Ганта и календарь;
· ведение новостей проекта, документов и управление файлами;
· оповещение об изменениях с помощью RSS-потоков и электронной почты;
· вики для каждого проекта;
· форумы для каждого проекта;
· учёт временных затрат;
· настраиваемые произвольные поля для инцидентов, временных затрат, проектов и пользователей;
Рис. 4. (Интерфейс redmine)
· лёгкая интеграция с системами управления версиями (SVN, CVS, Git, Mercurial, Bazaar и Darcs);
· создание записей об ошибках на основе полученных писем;
· поддержка множественной аутентификации LDAP;
· возможность самостоятельной регистрации новых пользователей;
· многоязычный интерфейс (в том числе русский);
· поддержка СУБД MySQL, Microsoft SQL Server[1], PostgreSQL, SQLite, Oracle.
Bugzilla
Рис. 5. (Логотип Bugzilla)
Bugzilla (Багзилла) - свободная система отслеживания ошибок (багтрекинга) с веб-интерфейсом.
В 1998 году Bugzilla была выпущена как открытое программное обеспечение компанией Netscape. По состоянию на 2012 год разрабатывается фондом Mozilla Foundation.
С одной стороны, Bugzilla довольно проста, с другой стороны, там есть всё, что нужно для багтрекинга типичного проекта. Сейчас Bugzilla используют более тысячи компаний и организаций по всему миру, среди них - такие организации и компании, как: NASA, Id Software, IBM, Novell и софтверные проекты: Mozilla Firefox, Linux, GNOME, KDE, Apache Project, OpenOffice.org, Фонд Wikimedia.
По функциональности Bugzilla в 2007 году отставала от многих современных багтрекеров. Разработчики считали, что одна из причин этого - выбор Perl в качестве языка реализации Bugzilla, рассматривалась возможность переписать её на каком-нибудь другом языке программирования.
Ключевым понятием системы является «баг» - некоторое задание, запрос, рекламация по поводу ошибки в системе, или просто сообщение, требующее обратной связи.
Описание предметной области
IT проект - это деятельность, приводящую к созданию определенного продукта или услуги. Для создания проекта требуется участие большого количества специалистов, начиная от програмистов и заканчивая администраторов, адмитристраторов баз данных, dev ops и многих других специалистов.
Для синхронизации работы всех специалистов требуется много сил и времени, для автоматизации этого процесса существуют как проектные системы так и баг трекеры, обьединения их в единую платформу - возможность оптимизировать взаимодействия между менеджером проектов и его подчиненными.
Для построения единой платформы стоит использовать системы рассмотренные во введении. Они обладают свободными лицензиями или же предлагают бесплатный доступ (jira) при разработке открытых проектов (opensource).
Постановка задачи
Задачей данной работы является разработка платформы взаимодействия между проектной системой и багтрекером и создания API для внешнего управления.
Если рассмотреть эту область подробнее, то становится понятно, что для решения задачи нам потребуется:
1. Выбрать систему багтрекера
2. Выбрать СУБД
3. Выбрать проектную систему
4. Сделать общие методы синхронизации и взаимодействия
5. Документировать API
6. Протестировать связку
Выбрать СУБД
Базы данных - это специально разработанное хранилище для различных типов данных. Каждая база данных, имеет определённую модель (реляционная, документно-ориентированная), которая обеспечивает удобный доступ к данным. Системы управления базами данных (СУБД) - специальные приложения (или библиотеки) для управления базами данных различных размеров и форм.
При выборе базы данных я решил рассмотреть следующие варианты:
· SQLite
· MySQL
· PostgreSQL
Реляционная система управления базами данных (РСУБД)
СУБД должна обеспечивать реляционную модель работы с данными. Сама модель подразумевает определенный тип связи между сущностями из разных таблиц. Чтобы хранить и работать с данными, такой тип СУБД должен иметь определенную структуру (таблицы). В таблицах каждый столбец может содержать данные разного типа. Каждая запись состоит из множества атрибутов (столбцов) и имеет уникальный ключ, хранящейся в той же таблице - все эти данные взаимосвязаны между собой, как описано в реляционной модели.
Типы данных и отношений между ними
Отношения в базах данных можно рассматривать как математическое множество, содержащее в себе число атрибутов, которые суммарно представляют собой базу данных и информацию, хранящуюся в ней (фраза для тех, кто понимает, что такое математическое множество).
При создании структуры таблицы каждое поле записи должно иметь заранее описанный тип (например: строка, целочисленное значение и т.д.). Все СУБД имеют в своем составе различные типы данных, которые не всегда взаимозаменяемы. При работе с СУБД всегда приходится сталкиваться с подобными ограничениями.
· SQLite - очень мощная встраиваемая система управления
· MySQL - самая популярная и распространённая СУБД
· PostgreSQL - наиболее продвинутая СУБД
SQLite
Легко встраиваемая в приложения база данных. Так как это система базируется на файлах, то она предоставляет довольно широкий набор инструментов для работы с ней, по сравнению с сетевыми СУБД. При работе с этой СУБД обращения происходят напрямую к файлам (в эти файлах хранятся данные), вместо портов и сокетов в сетевых СУБД. Именно поэтому SQLite очень быстая, а также мощная благодаря технологиям обслуживающих библиотек.
Преимущества SQLite
· Файловая структура - вся база данных состоит из одного файла, поэтому её очень легко переносить на разные машины
· Используемые стандарты - хотя может показаться, что эта СУБД примитивная, но она использует SQL. Некоторые особенности опущенны (RIGHT OUTER JOIN или FOR EACH STATEMENT), но основные все-таки поддерживаются
· Отличная при разработке и тестировании - в процессе разработки приложений часто появляется необходимость масштабирования. SQLite предлагает всё что необходимо для этих целей, так как состоит всего из одного файла и библиотеки написанной на языке C.
Недостатки SQLite
· отсутствие системы пользователей - более крупные СУБД включают в свой состав системы управления правами доступа пользователей. Обычно применения этой функции не так критично, так как эта СУБД используется в небольших приложениях.
· отсутствие возможности увеличения производительности - опять, исходя из проектирования, довольно сложно выжать что-то более производительное из этой СУБД.
MySQL
MySQL - это самая распространенная полноценная серверная СУБД. MySQL очень функциональная, свободно распространяемая СУБД, которая успешно работает с различными сайтами и веб приложениями. Обучиться использованию этой СУБД довольно просто, так как на просторах интернета вы легко найдете большее количество информации.
Преимущества MySQL
· Простота в работе - установить MySQL довольно просто. Дополнительные приложения, например GUI, позволяет довольно легко работать с БД
· Богатый функционал - MySQL поддерживает большинство функционала SQL.
· Безопасность - большое количество функций обеспечивающих безопасность, которые поддерживается по умолчанию
· Масштабируемость - MySQL легко работает с большими объемами данных и легко масштабируется
· Скорость - упрощение некоторых стандартов позволяет MySQL значительно увеличить производительность.
Недостатки MySQL
· Известные ограничения - по задумке в MySQL заложены некоторые ограничения функционала, которые иногда необходимы в особо требовательных приложениях.
· Проблемы с надежностью - из-за некоторых способов обработки данных MySQL (связи, транзакции, аудиты) иногда уступает другим СУБД по надежности.
· Медленная разработка - Хотя MySQL технически открытое ПО, существуют жалобы на процесс разработки. Стоит заметить, что существуют другие довольно успешные СУБД созданные на базе MySQL, например MariaDB.
PostgreSQL
PostgreSQL является самым профессиональным из всех трех рассмотренных нами СУБД. Она свободно распространяемая и максимально соответствует стандартам SQL. PostgreSQL или Postgres стараются полностью применять ANSI/ISO SQL стандарты своевременно с выходом новых версий.
От других СУБД PostgreSQL отличается поддержкой востребованного объектно-ориентированного и / или реляционного подхода к базам данных. Например, полная поддержка надежных транзакций, т.е. атомарность, последовательность, изоляционность, прочность (Atomicity, Consistency, Isolation, Durability (ACID).) Благодаря мощным технологиям Postgre очень производительна. Параллельность достигнута не за счет блокировки операций чтения, а благодаря реализации управления многовариантным параллелизмом (MVCC), что также обеспечивает соответствие ACID. PostgreSQL очень легко расширять своими процедурами, которые называются хранимые процедуры. Эти функции упрощают использование постоянно повторяемых операций.
Хотя PostgreSQL и не может похвастаться большой популярностью в отличии от MySQL, существует довольно большое число приложений облегчающих работу с PostgreSQL, несмотря на всю мощность функционала. Сейчас довольно легко установить эту СУБД используя стандартные менеджеры пакетов операционных систем.
Достоинства PostgreSQL
· Открытое ПО соответствующее стандарту SQL - PostgreSQL - бесплатное ПО с открытым исходным кодом. Эта СУБД является очень мощной системой.
· Большое сообщество - существует довольно большое сообщество в котором вы запросто найдёте ответы на свои вопросы
· Большое количество дополнений - несмотря на огромное количество встроенных функций, существует очень много дополнений, позволяющих разрабатывать данные для этой СУБД и управлять ими.
· Расширения - существует возможность расширения функционала за счет сохранения своих процедур.
· Объектность - PostrgreSQL это не только реляционная СУБД, но также и объектно-ориентированная с поддержкой наследования и много другого
Недостатки PostgreSQL
· Производительность - при простых операциях чтения PostgreSQL может значительно замедлить сервер и быть медленнее своих конкурентов, таких как MySQL
· Популярность - по своей природе, популярностью эта СУБД похвастаться не может, хотя и присутствует довольно большое сообщество.
· Хостинг - в силу выше перечисленных факторов иногда довольно сложно найти хостинг с поддержкой этой СУБД.
Таблица 1. Сравнение систем
Все рассмотренные системы имеют API и обладают возможностью интегрироватся с другим ПО, различие между ними незначительные, в основном в организации workflow и интерфейсе.
Таким образом, если нет ограничение на выбор платного ПО, то следует выбрать Jira, если рассматривать варианты бесплатного ПО, то стоит остановится на Redmine.
Список литературы
1. Jira - Википедия https://ru.wikipedia.org/wiki/Jira (дата обращения 31.05.2016)
2. JIRA Software - Issue Tracking for Software Teams | Atlasssian https://www.atlassian.com/software/jira (дата обращения 31.05.2016)
3. Jira для «чайников» - YouTube https://www.youtube.com/watch? v=yYLaL9h2UaU (дата обращения 31.05.2016)
4. Atlassian JIRA 6.2: Быть лучше, чем вчера / Хабрахабр https://habrahabr.ru/post/213867/ (дата обращения 31.05.2016)
5. Оперативное планирование в Redmine / Хабрахабр https://habrahabr.ru/post/245065/ (дата обращения 31.05.2016)
6. Что мне нравится в Redmine / Хабрахабр https://habrahabr.ru/post/63724/ (дата обращения 31.05.2016)
7. Overview - Redmine http://www.redmine.org (дата обращения 31.05.2016)
8. Redmine - Википедия https://ru.wikipedia.org/wiki/Redmine (дата обращения 31.05.2016)
9. Home: Bugzilla: bugzilla.org https://www.bugzilla.org (дата обращения 31.05.2016)
10. Bugzilla | Mozilla Россия https://mozilla-russia.org/products/bugzilla/ (дата обращения 31.05.2016)
11. Чем плох Bugzilla по сравнению с другими таск-трекерами? - toster.ru https://toster.ru/q/11207 (дата обращения 31.05.2016)
12. BugZilla как система постановки задач и контроля работы. Реальный опыт использования / Блог компании WebCanape / Хабрахабр https://habrahabr.ru/company/twins/blog/92769/ (дата обращения 31.05.2016)
Размещено на Allbest.ru
...Подобные документы
Общее понятие и признаки классификации информационных систем. Типы архитектур построения информационных систем. Основные компоненты и свойства базы данных. Основные отличия файловых систем и систем баз данных. Архитектура клиент-сервер и ее пользователи.
презентация [203,1 K], добавлен 22.01.2016Современные SCADA-системы и их безопасность. Диспетчерское управление и сбор данных. Основные компоненты SCADA-систем. Система логического управления. База данных реального времени. Автоматическая конвертация проектов для разных операционных систем.
реферат [253,7 K], добавлен 25.11.2014Создание автоматизированных систем управления для предприятий нефтяной и газовой промышленности. Система управления базами данных (СУБД), ее функциональные возможности, уровневая архитектура. Характеристика реляционных, объектных и распределенных СУБД.
курсовая работа [434,7 K], добавлен 20.07.2012Тенденция развития систем управления базами данных. Иерархические и сетевые модели СУБД. Основные требования к распределенной базе данных. Обработка распределенных запросов, межоперабельность. Технология тиражирования данных и многозвенная архитектура.
реферат [118,3 K], добавлен 29.11.2010Основные понятия базы данных и систем управления базами данных. Типы данных, с которыми работают базы Microsoft Access. Классификация СУБД и их основные характеристики. Постреляционные базы данных. Тенденции в мире современных информационных систем.
курсовая работа [46,7 K], добавлен 28.01.2014Понятие и классификация систем передачи данных. Характеристика беспроводных систем передачи данных. Особенности проводных систем передачи данных: оптико-волоконных и волоконно-коаксиальных систем, витой пары, проводов. Оценка производителей аппаратуры.
курсовая работа [993,0 K], добавлен 04.03.2010Определения теории баз данных (БД). Элементы приложения информационных систем. Реляционные модели данных. Задача систем управления распределенными базами данных. Средства параллельной обработки запросов. Использование БД при проведении инвентаризации.
курсовая работа [518,9 K], добавлен 01.05.2015Устойчивость в смысле Ляпунова. Свойства устойчивых систем. Устойчивость линейных систем. Линеаризация систем дифференциальных уравнений. Исследование устойчивости нелинейных систем с помощью второго метода Ляпунова. Экспоненциальная устойчивость.
реферат [198,3 K], добавлен 29.09.2008Характеристика категорий современных баз данных. Исследование особенностей централизованных и распределенных баз данных. Классификация систем управления базами данных по видам программ и применению. Управление буферами оперативной памяти и транзакциями.
курсовая работа [45,2 K], добавлен 10.03.2016Визначення інформаційних систем. Загальна характеристика складових частин внутрішньої інформаційної основи систем. Пристрої перетворення графічної інформації в цифрову. Системи управління базами даних. Технологія створення карт засобами MapInfo.
реферат [39,4 K], добавлен 05.12.2013История создания и развития информационно-правовых и справочно-правовых систем. Первым разработчиком коммерческой правовой базы данных стало агентство INTRALEX. "Консультант", "Гарант", "Кодекс". Разработка систем управления базами данных в MS Access.
реферат [636,7 K], добавлен 28.06.2008Понятие и структура информационных систем, их классификация и типы, особенности применения в сфере медицины, назначение и возможности. Автоматизированные системы ведения истории болезни, оздоровительных мероприятий. Технические средства обработки данных.
дипломная работа [2,0 M], добавлен 03.07.2015Понятие "база данных", общая классификация. Мировой рынок систем управления базами данных по итогам 2007 года. Oracle: общее понятие, функции. Технология Active Data Guard. Опции Total Recall. Сравнение масштабируемости. Сравнение работы кластеров.
курсовая работа [676,0 K], добавлен 19.05.2015Создание таблиц и проектирование систем управления базами данных. Инфологическое проектирование. Реляционная схема базы данных. Прикладное значение систем: отчет о поставщиках и поставляемых ими товарах. Выписка о наличии товара в магазине.
курсовая работа [596,1 K], добавлен 01.12.2008Общая характеристика экспертных программ как систем искусственного интеллекта. Описание реализации в реляционной системе управления базами данных. Рассмотрение особенностей интеграции объектных таблиц принятия решения в проект по распознаванию символов.
дипломная работа [662,5 K], добавлен 20.07.2015Структурно-информационный анализ методов моделирования динамических систем. Математическое моделирование. Численные методы решения систем дифференциальных уравнений. Разработка структуры програмного комплекса для анализа динамики механических систем.
дипломная работа [1,1 M], добавлен 14.05.2010Термины "логический" и "физический" как отражение различия аспектов представления данных. Методы доступа к записям в файлах. Структура систем управления базами данных. Отличительные особенности обработки данных, характерные для файловых систем и СУБД.
лекция [169,7 K], добавлен 19.08.2013Классификации архитектур вычислительных систем. Организация компьютерных систем. Устройство центрального процессора. Принципы разработки современных компьютеров. Эволюция микропроцессорных систем. Увеличение числа и состава функциональных устройств.
дипломная работа [1,4 M], добавлен 29.01.2009Определение, свойства и характеристики распределенных систем баз данных. Основная задача систем управления ими. Архитектура распределения СУБД. Сравнение технологий файлового сервера и "клиент-сервера". Стратегия распределения данных по узлам сети ЭВМ.
курсовая работа [601,3 K], добавлен 24.05.2015Общее понятие, история возникновения и эволюция корпоративных информационных систем. Сущность, виды, возможности и механизм работы систем класса MRPII/ERP. Способы внедрения и оценка эффективности использования систем класса MRPII/ERP на предприятии.
курсовая работа [263,5 K], добавлен 03.06.2010