Тип работы:
Предмет:
Язык работы:


Использование стека технологий Ruby on Rails в усовершенствовании открытого серверного web-приложения Redmine

Работа №33470

Тип работы

Дипломные работы, ВКР

Предмет

информационные системы

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

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


Введение 3
Глава 1. Теоретические основы разработки 9
1.1 Описание web-фреймворка Redmine 9
1.2 Описание языка программирования Ruby 10
1.3 Описание фреймворка Ruby on Rails 13
Глава 2. Сравнение с аналогами 14
2.1 Сравнение Redmine с Jira и Wrike 14
2.2 Сравнение языка Ruby с PHP и Python 16
2.3 Сравнение Ruby on Rails и Django 18
2.4 Причина выбора web-фреймворка Redmine 18
2.5 Причина выбора языка программирования Ruby 20
2.6 Причина выбора фреймворка Ruby on Rails 21
Глава 3. Процесс разработки программного продукта 24
3.1 Описание прикладных средств разработки 24
3.2 Установка средств разработки Ruby, Ruby on Rails. 25
3.3 Текстовый редактор Atom + Terminal 27
3.4 Web-фреймворк Redmine 29
3.5 Написание плагина для Redmine 30
Заключение 34
Список используемых источников 36
Приложение

C появлением и развитием сети интернет привели к большому скачку в сторону информационных систем, которые в свою очередь создали большую необходимость в создании и развитии программных продуктов используемых в данной среде. Так появилась необходимость в IT компаниях которые в кратчайшие сроки смогли бы производить новые программные продукты и в последующем осуществлять поддержку, быстро исправляя появившиеся недочеты в системе. Программные продукты и IT технологии внедряются в крупные организации за счет чего увеличивается продуктивность работников и качество производимой продукции, что прямо пропорционально ведет к росту прибыли.
Если для компаний IT которые пользуются различного рода готовыми программными продуктами для ведения бизнеса, то для компаний занимающихся его разработкой программных продуктов требуется, средства которые будут ускорять, повышать продуктивность, снижать время разработки, так же уведомлять о близящемся конце сроков сдачи проектов и конкретных подзадач в проектах и за счет чего будет сокращаться время на разработку проекта, что приведет к конкурентоспособности организации. Для таких организаций критично пренебрегать новыми программными средствами, выпущенными их коллегами, которые повышают продуктивность и качество программных продуктов. Компании второго типа также называют технологическими компаниями. Можно выделить список критичных моментов для такого рода организаций:
- Скорость разработки программного обеспечения
- Актуальность продукта на время выхода
- Скорость ответа рынка на созданный продукт
- Быстрая реакция на возникающие проблемы в процессе использования готового продукта
- Улучшение и обновление продукта по мере надобности
- Внедрение новых средств разработки
- Низкие затраты на разработку и создание нового продукта
С течением времени сложность и масштабность проектов росла увеличивая время разработки, а как понятно, чем дольше идет разработка проектов тем больше сил и средств высасывает проект из организации, что критически важно было избежать. Потребовалось повысить продуктивность и сократить время в процессе разработки продуктов и прохождения определенных ее этапов. Это привело к надобности в инструментах позволяющих вести полный контроль над проектами и этапами разработки программных продуктов. При работе со старыми методами разработки программных продуктов велика вероятность выпасть из списков конкуренции и в общем из рынка разработки программного обеспечения. Во избежание таких проблем требуется усовершенствование и внедрение новых технологий в компанию. Так же не маловажно использование понятных инструментов позволяющих в короткие сроки обучить персонал работе с ними, к таким средствам имеются определенные требования:
- Низкая цена инструмента разработки
- Расширенный функционал
- Удобство контроля за проектом
- Возможность назначения задач без прямого контакта с сотрудником
- Возможность уведомления сотрудника о поставленной задаче
- Возможность ведения нескольких проектов
- Открытость системы
- Администрирование системы
- Возможность слежения за прогрессом задачи
- Контроль прогресса конкретного работника
- Назначение задачи конкретному работнику
- Отслеживание общего прогресса разработки продукта
Появилось множество систем контроля за проектами, но малая часть из них отвечала нужным требованиям. Не хватало открытых и полностью доступных систем, большая часть требовало платной подписки. Некоторые системы требовали платную подписку, что не отвечала требованием дешевизны и открытости системы.
На рынке появился web-фреймворк Redmine позволяющая изменять свой программный код т.е. являлась открытой, она не требует ежемесячной или одноразовой оплаты, дает возможность контроля за проектам, не плохо реализована система ролей. Но этого не достаточно так как в данном web- фреймворке учитывая все ее возможности и простоту были совершены некоторые серьезные упущения в плане уведомлений что в данной дипломной работе и будет исправлено путем создания новой системы уведомлений и внедрение его в систему Redmine. Открытость данной системы позволит нам без особых сложности внедрить новое программное обеспечение в систему уведомлений. Так мы поднимаем вопрос об актуальности переработки системы уведомлений. Так же стоит отметить что в разработке данной системы уведомлений мне будет плюсом то что данный web-фреймворк написан на высокоуровневом языке программирования Ruby, он прост в понимании и использовании что делает его уникальным в плане практичности. Так же существует написанный на данном языке фреймворк Ruby on Rails имеющий много «магических» функций, которые позволяют создать проект при помощи одной строчки кода.
На данный момент существуют множество организаций ведущих свою деятельность в сфере разработок программных продуктов, ведущих огромные проекты в IT сфере. Таким организациям требуется вести контроль, своевременную поддержку и решение внезапно возникающих проблем либо в уже выпущенных либо в находящихся в разработке проектов. Так же очень важно понимать, что своевременное назначение и уведомление сотрудника о новой задаче очень важно, так как чем раньше сотрудник узнает о проблеме тем быстрее проблема будет решена. Так поднимается важность уведомлений и актуальность их грамотной работы, так как если система отправляет слишком много уведомлений не требующих особого внимания то скорость ответа на них и актуальность в глазах работника уменьшается. Значимость появления нового уведомления снижается и может получиться так что сотрудник может пренебречь в появлении нового уведомления, так же если количество уведомлений превышает необходимое количество в них могут затеряться и задачи, решение которых требуется немедленно не будут выполнены в срок.
Серверное web-приложение Redmine и имеет недостаток описанный ранее. Данная дипломная работа призвана решить данную проблему используя открытость системы, web-фреймворк Ruby on Rails написанный на высокоуровневом языке программирования Ruby позволит устранить недоработки системы, целью которого является повышение практичности и скорости разработки. Основными преимуществами применения данных приложений является то, что скорость разработки и быстрое исправления программного продукта сокращается.
Целью работы является усовершенствование открытого серверного web- приложения Redmine c использованием стека технологий Ruby on Rails, что позволит нас своевременное уведомление сотрудников о поставленной задаче крайне важно так как минимизирует контакт и исключает человеческий фактор в данном вопросе, так же сокращает время на разработку. Важно понимать необходимость в уведомлениях так как это позволяет вести мониторинг всего рабочего процесса разработки программных продуктов, что упрощает контроль так же, как и работу руководителя за проектом.
Практическая значимость работы состоит в том, что в ней рассматриваются и наглядно иллюстрируются возможности web-фреймворка, языка программирования и написанные на нем приложения, которые применяются в процессе разработки программного продукта. Изучение данной работы позволяет сформировать общее понимание возможностях web- фреймворка и написанные на нем приложения Redmine и проиллюстрировать
методы применения на реальных примерах. Таким образом, данная дипломная работа представляет собой практическую ценность и может выступать в роли методического пособия для лиц и компаний, заинтересованных в применении данного приложения в своих организациях.
В работе поставлены задачи:
- Исследование и описание системы контроля программных проектов Redmine и принципы реализации отдельных компонентов данной системы
- Выбор и сравнение средств разработки
- Обоснование использование средств разработки
- Генерирование и создание плагина
- Описание процесса разработки
Так же в данной произведем подробное описание преимуществ применения Ruby on Rails и открытого серверного web-приложения Redmine в разработке и эксплуатации современных web-проектов, решение и добавление новых функциональных возможностей в web-фреймворк Redmine позволяющий вести контроль за проектами, а так же использование преимуществ данных средств разработки, сравнение систем с другими программными продуктами. Среди преимуществ Redmine можно выделить следующие:
- Ведение двух проектов одновременно
- Гибкая система доступа основанная на ролях
- Система отслеживания ошибок
- Диаграмма Ганта и календарь
- Ведение новостей проектов, документов и управление файлами
- Оповещения об изменениях с помощью RSS-потоков и электронной почты
- Учет временных затрат
Также необходимо упомянуть о таких преимуществах как:
- Многоязычный интерфейс
- Не требует платы за использование
Среди преимуществ высокоуровневого языка программирования Ruby:
- Имеет лаконичный и понятный синтаксис, частично написанный под влиянием Ада, Eiffel и Python
- Может обрабатывать исключения в стиле Java и Python
- Позволяет переопределять операторы, являющиеся методами
- Все данные Ruby являются объектами, за исключением управляющих конструкций
- Не требует предварительного объявления переменных
- Имеет не зависимую от ОС поддержку не вытесняющей многопоточности
- Имеет сборщик мусора, работает для всех объектов Ruby так же работает и для внешних библиотек

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

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

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


Данная работа посвящена применению web-фреймворка Redmine и улучшению функциональности уведомлений при помощи средств разработки Ruby и Ruby on Rails. Требовалось уменьшить количество уведомлений и в последствии поднять их значимость путем уведомления только о важных моментах по проекту, тем самым упрощая работу руководителя и экономя время разработчика. Созданный плагин полностью решил вопрос возникающий при внесениях изменений в проект находящийся в разработке и по которому приходят уведомления об любых изменениях. Потребовалось не мало времени для решения данного вопроса, так как была необходимость в изучении структуры, а так же структуры кода и принцип работы уведомлений в системе Redmine. При использовании созданного плагина система по контролю за проектами может работать в своем обычном режиме без вреда производительности, так же количество лишних уведомлений сокращено до минимума, что должно повлиять на качество труда и производительность из-за повышения значимости уведомлений и минимизации потерь уведомлений с повышенной важностью. Так же произведено сравнение с другими дополнительными программами для данной системы, подробное описание преимуществ применения Ruby on Rails и открытого серверного web- приложения Redmine в разработке и эксплуатации современных web-проектов и улучшения функционала, а так же использование преимуществ средств разработки Ruby on Rails и языка программирования Ruby
Далее в работе рассматриваются частные практики Redmine такие как:
- Ведение двух проектов одновременно
- Гибкая система доступа основанная на ролях
- Система отслеживания ошибок
- Диаграмма Ганта и календарь
- Ведение новостей проектов, документов и управление файлами
- Проектов и пользователей
- Легкая интеграция в системы контроля версиями
- Система учета ошибок на основании полученных писем
- Поддержка множественной аутентификации LDAP
- Возможность самостоятельной регистрации пользователей
- Поддержка различных баз данных
Далее в работе рассматриваются частные практики Ruby такие как:
- Оценка лаконичности и понятности синтаксиса, частично написанный под влиянием Ада, Eiffel и Python
- Возможность обработки исключения в стиле Java и Python
- Возможность переопределять операторы, являющиеся методами
- Все данные Ruby являются объектами, за исключением управляющих конструкций
- Отсутствия требований предварительного объявления переменных
- Возможность не зависимости от ОС поддержку не вытесняющей многопоточности
- Наличия сборщика мусора, работающего для всех объектов Ruby так же, как и для внешних библиотек



1) Фултон Хэл/ Путь Ruby/Аедре Арко. — М.: ДМК Пресс — 2016. —664 стр. — ISBN—978-5-97060-320-8, 978-0-321-71463-3
2) Фернандес Оби/ The Rails Way —М.: Символ-плюс — 2009. — 768 стр. — ISBN—978-5-93286-137-0, 5-93286-137-1, 0-321-44561-9
3) Хартл Майкл /Ruby on Rails Tutorial: Learn Web Development with Rails — ДМК Пресс 2017. — 572 стр. — ISBN — 978-5-97060-429-8, 978-0-13407770-3 — Дата обращения: 19.05.2018.
4) Wrike // https://en.wikipedia.org — Википедия. [Электронный ресурс]/ Дата обновления: 09.06.2006. Режим доступа: https://en.wikipedia.org/wiki/Wrike
— Дата обращения: 19.05.2018.
5) Redmine// https://en.wikipedia.org — Википедия. [Электронный ресурс] Дата обновления: 29.03.2018. Режим доступа: https://ru.wikipedia.org/wiki/Redmine — Дата обращения: 21.05.2018.
6) Jira//https://en.wikipedia.org — Википедия. [Электронный ресурс] Дата обновления: 18.05.2018. Режим доступа:
https://en.wikipedia.org/wiki/Jira_(software) — Дата обращения: 20.05.2018.
7) Python// https://en.wikipedia.org — Википедия. [Электронный ресурс] Дата обновления: 01.06.2018. Режим доступа:
https://en.wikipedia.org/wiki/Python_(programming_language) — Дата обращения: 20.05.2018.
8) PHP// https://en.wikipedia.org — Википедия. [Электронный ресурс] Дата обновления: 01.06.2018. Режим доступа: https://en.wikipedia.org/wiki/PHP
— Дата обращения: 20.05.2018.
9) Django// https://en.wikipedia.org — Википедия. [Электронный ресурс] Дата обновления: 20.05.2018. Режим доступа:
https://en.wikipedia.org/wiki/Django_(web_framework) — Дата обращения: 21.05.2018.
10) Django/Ruby on Rails// https://tproger.ru — Типичный Программист.
[Электронный ресурс]
Дата обновления: 16.05.2017. Режим доступа:
https://tproger.ru/translations/django-or-ruby-on-rails/ — Дата обращения: 21.05.2018.
11) Ruby on Rails/ https://www.ruby-lang.org — Ruby-land. [Электронный ресурс] Дата обновления: 20.05.2018. Режим доступа: https://www.ruby- lang.org/en/documentation/ruby-from-other-languages/to-ruby-from-python/ — Дата обращения: 21.05.2018.
12) What is Redmine/ — ^арко. [2018—2018]. [Электронный ресурс] Дата обновления: 15.08.2015. Режим доступа:
https://spark.ru/startup/taobao/blog/10896/redmine-luchshij-besplatnij-task- menedzher — Дата обращения: 21.05.2018.
13) Ruby// https://www.ruby-lang.org — Ruby-land. [2018—2018]. [Электронный ресурс] Дата обновления: 20.05.2018. Режим доступа: https://www.ruby- lang.org/en/ — Дата обращения: 21.05.2018.
14) Ruby and PHP/ https:// https://www.ruby-lang.org — Ruby-land.
[Электронный ресурс] Дата обновления: 25.02.2018. Режим доступа: https://www.ruby-lang.org/ru/documentation/ruby-from-other-languages/to- ruby-from-php/ — Дата обращения: 21.05.2018.
15) Ruby on Rails/ https://rubyonrails.org — Ruby on Rails. [Электронный ресурс] Дата обновления: 20.04.2018. Режим доступа: https://rubyonrails.org/— Дата обращения: 21.05.2018.
16) Индекс TIOBE/ https://www.tiobe.com/ — TIOBE [Электронный ресурс] Дата обновления: 05.2018. Режим доступа: https://www.tiobe.com/tiobe- index/— Дата обращения: 21.05.2018.


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




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