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

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

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

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

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

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

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

Министерство образования и науки РФ

ФГБОУ ВПО «Шадринский государственный педагогический институт»

Кафедра программирования и сетевых технологий

 

 

OPENSOURCE-СИСТЕМЫ  ДЛЯ УПРАВЛЕНИЯ РАЗРАБОТКОЙ ПРОГРАММНОГО  ОБЕСПЕЧЕНИЯ

Курсовая работа по дисциплине

«Технологии разработки программного обеспечения»

 

Специальность: «230105.65 Программное обеспечение вычислительной техники и автоматизированных систем»

 

Выполнил:

студент 587 группы

факультета информатики,

математики и физики

Мальцев Н.В.

Руководитель:

канд. пед. наук, доцент

Гордиевских В.М.

Оценка:__________________

Подпись руководителя

________________________

Нормоконтролер:_________

 

 

Шадринск, 2013

Содержание

 

Введение

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

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

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

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

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

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

Задачи:

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

Объект: процесс разработки программного обеспечения.

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

 

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

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

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

  • управление изменениями;
  • управление и коммуникация в проекте;
  • регистрация ошибок и проблем;
  • управление знаниями;
  • управление требованиями и тестированием.

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

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

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

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

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

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

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

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

Программное обеспечение для управления процессом разработки, как и любое другое программное обеспечение, может быть разделено на проприетарное и свободное (open source software). OpenSource системы управления проектами привлекательны тем, что: во-первых, являются бесплатными как для некоммерческого, так и для коммерческого использования; во-вторых, как и любое ПО, создаваемое в рамках open-source, они могут быть изменены или доработаны в соответствии с предъявляемыми требованиями.

Таким образом, можно сформулировать следующее определение: «Система управления разработкой (или система управления проектами) — это комплексное программное обеспечение, включающее в себя отдельные приложения, используемые для планирования задач, распределения ресурсов, совместной работы, а так же быстрого управления, документирования и администрирования системы, которые используются совместно». 
2. Классификация OpenSource-систем управления разработкой  
программного обеспечения

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

Первым и основным типом классификации является классификация по уровню. В соответствии с этой классификацией системы управления разработкой профессионального уровня и непрофессиональные или “настольные” системы [1]. Основным отличием в данной классификации является объем обрабатываемых данных и, как следствие, сложность процессов, для которых применяется система.

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

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

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

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

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

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

Третий тип классификации систем управления разработкой программного обеспечения - классификация по числу пользователей [5].

В соответствии с этим типом классификации можно выделить персональные и многопользовательские системы.

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

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

Кроме того можно провести классификацию по менее значимым признакам, таким как тип интерфейса, серверной части, интеграция с системами контроля версий и многие другие.

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

По типу серверной части можно выделить системы, использующие сервера баз данных, такие как SQL Server, MSSQL Server, MySQL, PostgreSQL и другие, а также системы, не использующие серверную часть (чаще всего это персональные системы).

По интеграции с VCS можно выделить системы, поддерживающие контроль версий с помощью Subversion, Git, Mercurial и другими, а также системы, не поддерживающие контроль версий.

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

 

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

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

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

Redmine —  это информационная система управления  проектами с web-интерфейсом, включающая в себя весь набор средств для полноценной совместной работы над проектами. Система позволяет управлять одновременно несколькими проектами, отслеживать их состояние, управлять шагами проектов, задачами, приоритетами, назначать роли участникам. Распространяется по свободной лицензии GNU GPL. Последняя версия имеет номер 2.5.0 и выпущена 2 марта 2014 года [10].

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