🔍 Поиск готовых работ

🔍 Поиск работ

РАЗРАБОТКА РЕШЕНИЯ ДЛЯ ИНТЕГРАЦИИ МЕТОДОВ, ОПИСАННЫХ НА ЯЗЫКЕ ESSENCE. В СИСТЕМУ УПРАВЛЕНИЯ ПРОЕКТАМИ REDMINE

Работа №197476

Тип работы

Магистерская диссертация

Предмет

информатика

Объем работы48
Год сдачи2019
Стоимость4880 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
19
Не подходит работа?

Узнай цену на написание


Перечень условных обозначений 4
ВВЕДЕНИЕ 5
1 Изучение Essence 7
1.1 Стандарт Essence 7
1.1.1 Язык Essence Language 7
1.1.2 Ядро Essence Kernel 10
1.2 Исследование практики 11
1.3 Practice Library и Practice Workbench 14
1.4 Несоответствие стандарта и Practice Workbench 16
1.5 Промежуточная модель 19
2 Проектирование 22
2.1 Redmine 22
2.1.1 Обзор используемого стека технологий 22
2.1.2 Изучение архитектурных механизмов расширения Redmine 23
2.1.3 Изучение модели Redmine 24
2.2 Модель интеграции метода в Redmine 25
2.2.1 Сохранение модели описания 26
2.2.2 Перенос метода в модель выполнения 27
2.2.4 Перенос альфы в модель выполнения 28
2.2.4 Перенос рабочего продукта в модель выполнения 30
2.2.5 Перенос действия в модель выполнения 32
3 Реализация 34
3.1 Добавление метода в Redmine 34
3.2 Подключение метода к проекту 36
3.3. Создание действия 39
3.4. Закрытие действия 41
ЗАКЛЮЧЕНИЕ 44
Благодарности 45
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 46


В современном мире программное обеспечение разрабатывается проектными командами. Для продуктивной и согласованной работы членов команды требуется менеджер проектов, который настроит слаженную работу между людьми для успешного выполнения проекта. Для достижения этой цели менеджеры обычно применяют процессы разработки программного обеспечения (ПО).
Существует множество готовых процессов разработки ПО. Каждый процесс, зачастую, имеет несколько интересных и уникальных особенностей, которые сильно связаны с остальной частью процесса. Следовательно, менеджеры проектов не могут взять лучшие идеи из разных процессов разработки и с легкостью создать свой собственный процесс, так как эти идеи не являются переиспользуемыми. В результате, это усложняет создание собственного процесса, который будет включать только то, что нужно команде, без добавления дополнительных элементов.
Несмотря на то, что процессы разработки имеют больше сходств чем различий, это бывает сложно заметить, так как авторы процессов называют схожие вещи новыми словами, чтобы все выглядело как новое. А отсутствие общего ядра и лексики между процессами усложняет взаимодействие между командами, которые используют различные процессы. По этой причине процессы сложно сравнивать и накапливать статистику для последующего планирования разработки.
Для решения этих и других недостатков в 2009 году Ивар Якобсон, Бертран Мейер и Ричард Соули выдвинули инициативу SEMAT (Software Engineering Method and Theory) [4], цель которой является формализация имеющихся знаний о программной инженерии и управлении проектами. Работа участников данной инициативы привела к созданию спецификации Essence, принятой консорциумом Object Management Group (OMG).
Спецификация описывает ядро и язык, которые [5]:
• Унифицируют лексику и терминологию для научной и академической сферы программной инженерии.
• Формализуют правила описания процессов разработки, которые в Essence называются методами.
• Делают возможным создание собственных методов из независимых практик, позволяя команде собрать метод в соответствии с их потребностями.
• Позволяют в любой момент времени оценить прогресс и “здоровье” проекта, при использовании методов, описанных с использованием языка Essence.
К сожалению, несмотря на амбициозные задачи, которые ставятся перед ядром и языком Essence, на данный момент он существует в основном только в виде стандарта и спецификаций методов. Основная проблема состоит в том, что нет возможности трансляции существующих методов в среды управления проектами, такие как Redmine, Team Foundation Server, Jira, которые используются, практиками программной инженерии - менеджерами проектов, в реальном мире. Поэтому целью данной работы является разработка решения для интеграции методов, описанных на языке Essence, в систему управления проектами Redmine.
Для достижения поставленной цели были определены следующие задачи:
1. Изучить стандарт Essence версии 1.1.
2. Выделить элементы языка Essence, необходимые для использования методов в рамках систем управления проектами.
3. Изучить механизмы расширения среды управления проектами Redmine.
4. Спроектировать модель интеграции методов, описанных на языке Essence, в систему управления проектами Redmine.
5. Реализовать спроектированную модель в системе управления проектами Redmine.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В работе было представлена разработка решения для интеграции методов, описанных на языке Essence, в систему управления проектами Redmine. В рамках данной работы были выполнены следующие задачи:
1. Изучен стандарт Essence версии 1.1.
2. Выделены элементы языка Essence, необходимые для использования методов в рамках систем управления проектами.
3. Изучены механизмы расширения среды управления проектами Redmine.
4. Спроектирована модель интеграции методов, описанных на языке Essence, в систему управления проектами Redmine.
5. Реализована спроектированная модель в системе управления проектами Redmine.
Следовательно, цель - разработать решение для интеграции методов, описанных на языке Essence, в систему управления проектами Redmine - достигнута.



1. Глоссарий Essence. Программная инженерия. - M, 2014. - № 11. - С 17-19
2. НОУ ИНТУИТ | Лекция | Процесс разработки программного обеспечения [Электронный ресурс]. — URL:https://www.intuit.ru/studies/professional skill improvements/1419/courses/353/lecture/8406(дата обращения: 05.04.2019)
3. Перехват (программирование) — Википедия [Электронный ресурс]. — URL:https://ru.wikipedia.org/wiki/Перехват(программирование)(дата обращения: 10.05.2019)
4. Welcome - SEMAT [Электронный ресурс]. — URL:http://semat.org/home(дата обращения: 05.04.2019)
5. About the Essence specification version 1.2 [Электронный ресурс]. — URL: https://www.omg.org/spec/Essence/(дата обращения: 19.11.2018)
6. MetaObject Facility | Object Management Group [Электронный ресурс]. — URL: https://www.omg.org/mof/(дата обращения: 01.02.2019)
7. Agile Essentials | Practice Library [Электронный ресурс]. — URL:https://practicelibrary.ivarjacobson.com/(дата обращения: 07.10.2018)
8. Agile Practices Workbench | Agile Development Tools | Ivar Jacobson International [Электронный ресурс]. — URL: https://www.ivarjacobson.com/esswork-practice-workbench(дата обращения: 07.10.2018)
9. Redmine [Электронный ресурс]. — URL:https://www.redmine.org/(дата обращения: 02.02.2019)
10. Ruby on Rails — Википедия [Электронный ресурс]. — URL:https://ru.wikipedia.org/wiki/Ruby on Rails(дата обращения: 05.02.2019)
11. Фаулер М. Архитектура корпоративных программных приложений / М. Фаулер. — М.: Издательский дом “Вильямс”, 2006. — 544 с.
12. Plugin Tutorial - Redmine [Электронный ресурс]. — URL:http://www.redmine.org/projects/redmine/wiki/Plugin Tutorial(дата обращения: 03.02.2019)
13. Plugin Internals - Redmine [Электронный ресурс]. — URL:https://www.redmine.org/projects/redmine/wiki/Plugin Internals(дата обращения: 03.02.2019)
14. Hooks - Redmine [Электронный ресурс]. — URL:http://www.redmine.org/projects/redmine/wiki/Hooks(дата обращения: 03.02.2019)
15. AJAX — Википедия [Электронный ресурс]. — URL:https://ru.wikipedia.org/wiki/AJAX(дата обращения: 17.03.2019)


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ