Автор работы: Пользователь скрыл имя, 01 Апреля 2014 в 19:49, курсовая работа
Цель: выявить современные OpenSource-системы управления разработкой программного обеспечения.
Задачи:
Провести анализ сущности и структуры понятия “OpenSource-система управления разработкой программного обеспечения”.
Выявить подходы к классификации программных систем управления разработкой программного обеспечения.
Выделить особенности OpenSource-систем управления разработкой программного обеспечения в соответствии с классификационными признаками.
Министерство образования и науки РФ
ФГБОУ ВПО «Шадринский государственный педагогический институт»
Кафедра программирования и сетевых технологий
OPENSOURCE-СИСТЕМЫ
ДЛЯ УПРАВЛЕНИЯ РАЗРАБОТКОЙ
Курсовая работа по дисциплине
«Технологии разработки программного обеспечения»
Специальность: «230105.65 Программное обеспечение вычислительной техники и автоматизированных систем»
Выполнил:
студент 587 группы
факультета информатики,
математики и физики
Мальцев Н.В.
Руководитель:
канд. пед. наук, доцент
Гордиевских В.М.
Оценка:__________________
Подпись руководителя
________________________
Нормоконтролер:_________
Шадринск, 2013
Содержание
Введение
В настоящее время информационные технологии играют значительную роль в жизни общества, а программное обеспечение, в свою очередь, является значимой частью этих технологий. Как следствие, качество, а зачастую и скорость разработки программного обеспечения может оказывать сильное влияние на развитие некоторой области информационных технологий.
В процессе разработки и реализации достаточно сложных проектов, содержащих сотни и тысячи операций и ресурсов, ручная обработка просто немыслима. Менеджерам приходится оперировать значительными объемами данных, кроме того многие аналитические функции базируются на достаточно сложных для неавтоматизированного расчета алгоритмах. Поэтому большинство методов планирования и управления календарными графиками работ подразумевают использование компьютера. Таким образом, от момента зарождения и до наших дней развитие методов управления проектами и их практическое применение во многом определялось развитием информационных технологий. Системы управления проектами образуют в настоящее время отдельный сектор прикладного программного обеспечения в рамках современных информационных технологий.
В настоящее время на рынке программного обеспечения представлено несколько десятков различных программных продуктов, автоматизирующих управление процессом разработки. Большая часть из них является проприетарными коммерческими продуктами и зачастую имеют достаточно высокую стоимость лицензии, что делает использование этих систем невозможным для небольших компаний. Но в качестве альтернативы существуют системы управления проектами, создаваемые и развиваемые компаниями или сообществом в рамках концепции opensource. Такие системы поставляются с открытым исходным кодом, что позволяет использовать их бесплатно как в некоммерческих, так и в коммерческих целях и модифицировать в соответствии с требованиями компании.
Таким образом, внедрение opensource-системы управления проектами позволяет значительно упростить и ускорить разработку, а также повысить качество программных продуктов, благодаря грамотному распределению временных и материальных ресурсов.
Для того, чтобы правильно подобрать подходящую систему управления разработкой, необходимо классифицировать существующие opensource-системы управления разработкой и выделить их ключевые характеристики.
Цель: выявить современные 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 —
это информационная система
Информация о работе Современные OpenSource-системы управления разработкой программного обеспечения