Современные OpenSource-системы управления разработкой программного обеспечения

Автор работы: Пользователь скрыл имя, 01 Апреля 2014 в 19:49, курсовая работа

Краткое описание

Цель: выявить современные OpenSource-системы управления разработкой программного обеспечения.
Задачи:
Провести анализ сущности и структуры понятия “OpenSource-система управления разработкой программного обеспечения”.
Выявить подходы к классификации программных систем управления разработкой программного обеспечения.
Выделить особенности OpenSource-систем управления разработкой программного обеспечения в соответствии с классификационными признаками.

Прикрепленные файлы: 1 файл

Курсовая работа. Open-source-системы управления разработкой ПО.doc

— 693.85 Кб (Скачать документ)

Рис. 1. Интерфейс системы Redmine

 

 

Система Redmine предоставляет следующие возможности:

  • предоставляет единый центр ведения проектов, программ и портфелей проектов в компании с гибкими настройками ролей участников – один и тот же сотрудник может играть разные роли в разных проектах;
  • обеспечивает единый стандарт ведения проектов в организации;
  • позволяет обеспечить визуальное  представление задач, сроков и вех проекта;
  • предоставляет возможности для гибкого формирования отчетности по проекту;
  • обеспечивает видимость загруженности ресурсов, контроль сроков, отображение истории задач;
  • реализует автоматическое построение диаграммы Ганта и отображения задач на календарном плане;
  • благодаря web-интерфейсу (Рис. 1) обеспечивает простоту доступа к информации из любой точки, в том числе для географически удаленных сотрудников и подразделений. Кроме того, имеет режим просмотра для участников, не связанных непосредственно с работой над проектом;
  • система решает задачу социального взаимодействия в проектах, предоставляя встроенные проектные форумы (средства для обсуждений), доски новостей, базы знаний и возможность комментировать и обсуждать задачи;
  • имеет возможность настройки на любую предметную область путем введения новых справочников, дополнительных полей к задачам, схем обработки последовательности задач;

 

Основные понятия системы:

  1. Пользователи. Пользователи являются основой для идентификации и аутентификации работающего с системой персонала и клиентов.
  2. Роли. Роли пользователей определяются моделью определения прав доступа. Роли включают в себя набор привилегий и ограничений, позволяющих разграничивать доступ к различным функциям системы. Пользователю назначается отдельная роль в каждом проекте, в котором он участвует. Каждый пользователь может иметь множество ролей.
  3. Проекты. Проект является одним из основных понятий в предметной области систем управления проектами. Благодаря этой сущности возможно организовать совместную работу и планирование нескольких проектов одновременно с разграничением доступа различным пользователям (см. выше). Проекты допускают иерархическую вложенность.
  4. Трекеры. Трекеры являются основой классификации, по которой сортируются задачи в проекте. По сути, в Redmine трекеры представляют собой аналог подклассов класса «Задача» и позволяют определять для каждого их типа различные поля. Примерами трекеров являются «Улучшение», «Ошибка», «Документирование», «Поддержка»,
  5. Задачи. Задачи являются центральным понятием всей системы управления проектами. Каждая задача описывает некоторые действия, которые требуется выполнить. У задач в обязательном порядке есть описание, автор и статус. Задача всегда привязана к трекеру. Для каждого проекта отдельно определяются набор этапов разработки и набор категорий задач. Среди других полей интересны также «оцененное время», служащее основой для построения управленческих диаграмм, а также поле выбора наблюдателей за задачей.
  6. Отслеживание изменения статуса задач. За отслеживание изменений параметров задач пользователями в системе отвечают две сущности: «Запись журнала изменений» и «Измененный параметр». Запись журнала отображает одно действие пользователя по редактированию параметров задачи и/или добавление комментария к ней. То есть служит одновременно инструментом ведения истории задачи и инструментом ведения диалога. Сущность «Измененный параметр» привязана к отдельной записи журнала и предназначена для хранения старого и нового значения измененного пользователем параметра.
  7. Связи между задачами. Задачи могут быть связаны друг с другом: например, одна задача является подзадачей для другой или предшествовать ей. За хранение связей между задачами в Redmine отвечает отдельная сущность.
  8. Учет затраченного на проект времени. Система поддерживает учет затраченного времени благодаря сущности «Затраченное время», связанной с пользователями и задачей. Сущность позволяет хранить затраченное время, вид деятельности пользователя и краткий комментарий к работе. Эти данные могут быть использованы для анализа вклада каждого участника проекта в выполнение задачи или для оценки трудоемкости и стоимости разработки
  9. Привязка репозиториев. Redmine предоставляет возможность интеграции с различными системами контроля версий (Git, Mercurial, Subversion и т.д.). Интеграция заключается в отслеживании изменений во внешнем репозитории и анализе изменений с целью их привязки к определенным задачам.
  10. Получение уведомлений. Уведомления пользователей об изменениях, происходящих на сайте, осуществляется с помощью сущности «Наблюдатели», связывающей пользователей с объектами различных классов. Рассылка уведомлений возможна с использованием электронной почты или технологии RSS.

Ключевые особенности Redmine [8]:

  • возможность работы с несколькими проектами одновременно;
  • тонкое разграничение ролей участников;
  • ведение шагов проекта (этапы, вехи);
  • гибкая система управления задачами;
  • отслеживание времени, затрачиваемого на задачи;
  • встроенная поддержка базы знаний проекта, реализованная на движке wiki;
  • привязка задач к календарю и возможность формирования актуальной диаграммы Ганта;
  • автоматическая генерация отчета в виде диаграммы Ганта и отображение состояния дел на календаре;
  • возможность уведомления учатников проекта о событиях, относящихся к проекту;
  • возможность хранить в системе файлы, относящиеся к проекту, что исключает дублирование информации среди участников проекта;
  • уведомления участников проекта по email и/или RSS об изменениях в проекте;
  • ведение журнала работ по проекту, отображающего на одном экране сводную активность по проекту;
  • встроенная поддержка обсуждений;
  • интеграция с различными системами контроля версий (Mercurial, Git, Subversion);
  • добавление к задачам своих полей в случае необходимости;
  • поддержка работы через интернет и в локальной сети;
  • кросплатформенность;
  • работа на различных СУБД, таких как MySQL, PostgreSQL и других;
  • авторизация пользователей через LDAP, что позволяет интегрировать Redmine с имеющейся базой пользователей предприятия, заведенных в Windows;

Некоторые недостатки Redmine

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

Система управления проектами Trac сочетает в себе возможности собственно управления проектами и отслеживания ошибок. Она является программным обеспечением, разработанным в рамках идеологии Open Source и поддерживаемым компанией Edgewall Software. Последняя версия - 1.1.1, выпущена 3 февраля 2013 года.

Система Trac использует минималистичный web-интерфейс, реализованный на движке Wiki, что позволяет создавать перекрёстные ссылки между базой данных зарегистрированных ошибок, репозиторием системы управления версиями и вики-страницами. Это даёт возможность использовать систему управления проектами Trac и как веб-интерфейс для систем контроля версий Subversion и Git а также, с использованием плагинов, к Mercurial, Bazaar и другим.

 

Рис. 2. Интерфейс системы Trac

 

 

Поддерживаются СУБД SQLite, PostgreSQL, MySQL и MariaDB. Trac написан на языке программирования Python и в настоящее время распространяется под модифицированной лицензией BSD. В качестве системы шаблонов веб-интерфейса до версии 0.11 использовался ClearSilver. Новые версии, начиная с 0.11, используют собственную, разработанную в Edgewall систему шаблонов Genshi, при этом совместимость с плагинами, использующими ClearSilver, будет оставлена ещё в течение нескольких версий.

Основные возможности системы Trac:

  • поддержка деления проекта на этапы;
  • отслеживание выполнения задач;
  • занесение меток изменений на временную шкалу проекта;
  • поддержка RSS-рассылок;
  • учет ошибок, замечаний, пожеланий с возможностью фильтрации;
  • просмотр репозитория системы контроля версий;
  • расширение функциональности за счет подключения модулей, создаваемых компанией-разработчиком и сообществом;
  • назначение прав доступа пользователей к задачам;
  • использование wiki-движка для web-интерфейса (Рис. 2);

 

В качестве примера персональных систем можно привести такие программные продукты как TaskJuggler и ProjectLibre. Они представляют собой классические приложения с графическим пользовательским интерфейсом, не используют серверную часть и предназначены для работы одного или нескольких пользователей без разделения прав доступа.

TaskJuggler —  кроссплатформенная программа для управления проектами [7], распространяемая на условиях лицензии GPL, написанная на языке Ruby (Рис. 4). Последняя версия 3.5.0, опубликована 30 июня 2013 года.

 

 

Рис. 4. Интерфейс системы TaskJuggler

 

Проект в TaskJuggler представляет собой текстовый документ в формате TJP, написанный на предметно-ориентированном декларативном языке программирования. Ключевыми объектами проекта являются задачи, ресурсы, отчёты, сценарии, а также условия, применяемые к задачам и ресурсам. Кроме того существует возможность контролировать бюджет проекта и затраты. Состояние проекта отслеживается через определение процентной степени выполнения задач, либо через «бронирование» ресурсов, которые привязываются к задачам на определенное время.

По сути TaskJuggler работает как инструмент по созданию отчётов. Когда документ TJP изменяется, отчёты по состоянию проекта генерируются с нуля. Компилятор TaskJuggler включает компонент для создания расписания проекта, основанный на эвристическом алгоритме. TaskJuggler способен на основе описания проекта создавать отчёты различных типов, в том числе сетевой график и диаграммы Ганта. Компилятор TaskJuggler может обрабатывать проекты с десятками тысяч задач, тысячами ресурсов и сложными условиями.

Системой управления проектами TaskJuggler многие годы пользуется команда разработчиков Fedora Project для управления процессом работы над операционной системой Fedora.

ProjectLibre — кроссплатформенное программное обеспечение для управления проектами. Распространяется на условиях лицензии CPAL [11] (Common Public Attribution License) Version 1.0. Позиционируется создателями как открытая замена коммерческому продукту Microsoft Project. Доступна для операционных систем Windows, Linux, Unix, Mac OS X.

Рис. 5. Интерфейс системы ProjectLibre

ProjectLibre переведен на французский, испанский, немецкий, португальский, швейцарский, финский, русский, корейский и китайский язык.

Изначально называвшийся OpenProj, продукт был куплен компанией Serena в 2008 году, но разу после продажи поддержка продукта была прекращена ввиду угрозы судебных исков со стороны Microsoft по поводу копирования интерфейсных решений, а исходный текст продукта был опубликован для общего доступа [12].

Продолжение разработки проекта взяло на себя сообщество Linux по разработке офисного пакета Libre Office. Продукт, выпускаемый группой волонтеров в настоящий момент называется ProjectLibre (Рис. 5). Он был опубликован в августе 2012 года и признан сообществом SourceForge проектом месяца. Последняя версия - 1.5.6, опубликована 29 июня 2013 года.

Возможности системы «ProjectLibre»:

  • поддержка формата проектов Microsoft Project 2010;
  • возможность построения диаграмм Ганта и сетевого графика;
  • управление ресурсами проекта;
  • возможность создания отчетов;

Улучшения ProjectLibre по сравнению с OpenProj:

  • новый пользовательский интерфейс;
  • полная совместимость с Microsoft Project 2010;
  • возможность печати и экспорта информации о проекте в PDF;

 

 

 

 

 

 

 

Таблица 1

 

Redmine

Trac

OpenProj

(ProjectLibre)

TaskJuggler

Тип системы

Многопользо-

вательская

Многопользо-

вательская

Персональная

Персональная

Язык реализации

Ruby on

Rails

Python

Java

Ruby

Интерфейс

Web, Atom,

iPhone, Android, Windows Phone

Web

GUI (Ribbon)

GUI (Qt)

Серверная

часть

MySQL

PostgreSQL

SQLite

MySQL

PostgreSQL

SQLite

Нет

Нет

Интеграция

с VCS

Subversion,

Mercurial,

Git, Darcs,

Bazaar,

CVS

Subversion,

Mercurial,

Git, Darcs,

Bazaar,

Perforce

Нет

Нет

LDAP

Да

Плагин

Нет

Нет

Настраиваемые поля

Да

Да

Нет

Нет




Сравнение систем управления разработкой

 

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

Заключение

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

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

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

Таким образом поставленные задачи были выполнены и цель работы достигнута.

 

Список использованных источников

  1. Виды систем управления проектами [Электронный ресурс] // Городской портал tomsk.ru, 2011. — 5 сентября. — tomsk.ru. — 1997-2014. — Режим доступа: http://www.tomsk.ru/news/regions/view/46847.
  2. Вязовой, В. Системы управления проектами [Электронный ресурс] / В. Вязовой // Корпоративный менеджмент, 2007. — 18 января. — cfin.ru — 1998-2014. — Режим доступа: http://www.cfin.ru/software/project/pms-review.shtml.
  3. Галкин, А. TeamLab — перезагрузка [Электронный ресурс] / А. Галкин // Хабрахабр, 2012. — 9 октября. — М.: ТМ. — 2006-2014. — Режим доступа: http://habrahabr.ru/company/teamlab/blog/154177/.
  4. Иванов, А. Система управления проектами TRAC [Электронный ресурс]  / А. Иванов // Хабрахабр, 2008. — 15 февраля. — М.: ТМ. — 2006-2014. — Режим доступа: http://habrahabr.ru/post/20309/.
  5. Обзор систем управления проектами [Электронный ресурс] // Хабрахабр, 2013. — 21 апреля. — М.: ТМ. — 2006-2014. — Режим доступа: http://habrahabr.ru/post/173633/.
  6. Сервис управления проектом Trac+ [Электронный ресурс] // Agava. — М.: Agava. — 1998-2014. — Режим доступа: http://hosting.agava.ru/trac.shtml.
  7. Софт для Linux: Управление проектами — TaskJuggler [Электронный ресурс] // Путеводитель по программному обеспечению для Linux, 2011. — 30 апреля. — LinSoft.info. — 2010-2012. — Режим доступа: http://linsoft.info/soft/taskjuggler.html.
  8. Сравнение TrackStudio Enterprise 4.0 и Redmine 1.0 [Электронный ресурс], 2010. — 28 сентября. —  http://www.trackstudio.ru/. — 2002-2014/ — Режим доступа: http://www.trackstudio.ru/comparison-redmine.html.
  9. Что мне нравится в Redmine [Электронный ресурс] // Хабрахабр. — 2009, 7 июля. — М.: ТМ. — 2006-2014. — Режим доступа: http://habrahabr.ru/post/63724/.
  10. Lang, Jean-Philippe. Redmine 2.5.0 and 2.4.4 released [Электронный ресурс] / Jean-Philippe Lang // Redmine, 2014. — 2 марта. — Redmine. — 2006-2014. — Режим доступа: http://www.redmine.org/news/89.
  11. ProjectLibre – мощный аналог пакета MS Project с открытым исходным кодом [Электронный ресурс] // Софт@Mail.Ru, 2012. — 19 октября. — М.: Mail.Ru Group. — 1998-2014. Режим доступа: http://soft.mail.ru/pressrl_page.php?id=48927.
  12. ProjectLibre — управление проектами, скачать бесплатно. Программы для Linux. Пингвинус Linux [Электронный ресурс] // Пингвинус — все о Linux и Ubuntu в деталях, 2013. — 4 июня. - Pingvinus.ru — 2009-2014. Режим доступа: http://pingvinus.ru/program/projectlibre.
  13. Teamlab — бесплатная система для управления проектами [Электронный ресурс] // MyFreeSoft — Все про бесплатный софт, 2012. — 11 апреля. — MyFreeSoft.ru. —  2007-2014. — Режим доступа: http://www.myfreesoft.ru/teamlab-besplatnaya-sistema-dlya-upravleniya-proektami.html.

Информация о работе Современные OpenSource-системы управления разработкой программного обеспечения