АВТОМАТИЗАЦИЯ ПРОЦЕССА ВЗАИМОДЕЙСТВИЯ ПОЛЬЗОВАТЕЛЕЙ С РАЗРАБОТЧИКАМИ IT-ПРОЕКТОВ ЗА СЧЁТ ИНТЕГРАЦИИ ДАННЫХ НА ПОРТАЛЕ GITHUB С СЕРВЕРОМ REDMINE
|
АННОТАЦИЯ 2
ВВЕДЕНИЕ 8
1 ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ВЕБ-ПРОГРАММИРОВАНИЯ 11
1.1 Введение в веб-программирование 11
1.2 Ряд популярных языков программирования для бэкенд-разработки 22
1.3 Определение фреймворков. Фреймворки для веб-программирования 31
1.4 Ряд Python-фреймворков для веб-программирования 35
2 ОБОСНОВАНИЕ НЕОБХОДИМОСТИ ПРОЕКТИРОВАНИЯ АИС 42
2.1 Анализ процесса взаимодействия пользователей с разработчиками 42
2.2 Расчёт потерь организации до внедрения АИС 49
2.3 Анализ возможных альтернатив проектированию АИС 52
2.4 Вывод о необходимости проектирования АИС 55
3 ПРОЕКТИРОВАНИЕ И ВНЕДРЕНИЕ АИС В ЭКСПЛУАТАЦИЮ 57
3.1 Подготовка к проектированию системы 57
3.2 Требования к внедряемой АИС 69
3.3 Описание функций и характеристик спроектированной системы 72
3.4 Внедрение системы в эксплуатацию 77
ЗАКЛЮЧЕНИЕ 82
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 85
ПРИЛОЖЕНИЯ 91
Приложение А 91
Приложение Б 92
Приложение В 94
Приложение Г 95
Приложение Д 100
Приложение Е 103
Приложение Ж 106
Приложение З 107
Приложение И 109
Приложение К 116
Приложение Л 120
Приложение М 125
Приложение Н 134
Приложение О 140
ВВЕДЕНИЕ 8
1 ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ВЕБ-ПРОГРАММИРОВАНИЯ 11
1.1 Введение в веб-программирование 11
1.2 Ряд популярных языков программирования для бэкенд-разработки 22
1.3 Определение фреймворков. Фреймворки для веб-программирования 31
1.4 Ряд Python-фреймворков для веб-программирования 35
2 ОБОСНОВАНИЕ НЕОБХОДИМОСТИ ПРОЕКТИРОВАНИЯ АИС 42
2.1 Анализ процесса взаимодействия пользователей с разработчиками 42
2.2 Расчёт потерь организации до внедрения АИС 49
2.3 Анализ возможных альтернатив проектированию АИС 52
2.4 Вывод о необходимости проектирования АИС 55
3 ПРОЕКТИРОВАНИЕ И ВНЕДРЕНИЕ АИС В ЭКСПЛУАТАЦИЮ 57
3.1 Подготовка к проектированию системы 57
3.2 Требования к внедряемой АИС 69
3.3 Описание функций и характеристик спроектированной системы 72
3.4 Внедрение системы в эксплуатацию 77
ЗАКЛЮЧЕНИЕ 82
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 85
ПРИЛОЖЕНИЯ 91
Приложение А 91
Приложение Б 92
Приложение В 94
Приложение Г 95
Приложение Д 100
Приложение Е 103
Приложение Ж 106
Приложение З 107
Приложение И 109
Приложение К 116
Приложение Л 120
Приложение М 125
Приложение Н 134
Приложение О 140
Данная выпускная квалификационная работа посвящена разработке одного из вариантов решения типовой практической проблемы, с которой столкнулась компания ООО «Редсолюшн».
ООО «Редсолюшн» - Российская IT-компания, с 2007 года занимается разработкой программного обеспечения для бизнеса и общества, используя прогрессивные достижения науки и техники. Основным видом деятельности компании является веб-разработка. [1]
Постановка проблемы. Работа над проектами компании велась с использованием двух сервисов: Redmine (Редмайн) и GitHub (Гитхаб). Сервер Редмайн администрируется самой компанией, в нём работают разработчики компании: им выдают задания и т.д. Сервер Гитхаб администрируется вне компании, на нём находятся большинство пользователей проектов, а также исходный код всех проектов. Пользователи на сервере Гитхаб могут оставить пожелания по улучшению проектов, сообщить о найденных ошибках, неисправностях и т.д. Так как задачи программистам выдаются в Редмайне, необходимо наладить передачу сообщений пользователей из Гитхаба в Редмайн и ответов пользователям из Редмайна в Гитхаб.
Компания ООО «Редсолюшн» выбрала следующий метод решения данной проблемы. На языке программирования Python спроектировать небольшую Автоматизированную Информационную Систему (АИС), которая будет в автоматическом режиме транслировать данные из Гитхаба в Редмайн и наоборот.
Актуальность проблемы не вызывает вопросов. Рынок Информационных Технологий (ИТ) показывает стабильный рост: «ИТ-рынокрастёт приблизительно на 20-30% в год». [2, с. 5] «ИТ-сектор занимает ведущие позиции в течение последних восьми лет начиная с 2007г. Ежегодно его доля составляет около 30 % от общего числа сделок». [3, c. 2] Не только в России, но и по всему миру с каждым годом появляется всё больше молодых ИТ-компаний, которые, несомненно, столкнутся с данной или родственной ей проблемой.
Цель данной ВКР - проанализировать проблему, с которой столкнулась компания, обосновать решение и решить данную проблему.
Задачи данной ВКР:
1. Проработать теорию по данной проблематике.
2. Обосновать необходимость проектирования АИС.
3. Спроектировать и внедрить АИС в эксплуатацию.
Объектом исследования являются бизнес-процессы компании ООО «Редсолюшн». Предметом исследования данной ВКР является конкретный процесс взаимодействия пользователей на портале Гитхаб с разработчиками на сервере Редмайн.
Структура данной ВКР выглядит следующим образом.
1. В первой главе приводится различная теория веб-программирования, конкретно - проектирования бэкенд-приложений, т.е. серверную (скрытую от пользователей) часть приложений. А именно: дано обширное определение вебразработки, приведён сравнительный анализ ряда популярных языков программирования для бэкенд-разработки, помимо языка python, на котором было решено создавать АИС, а также сравнительный анализ ряда специализированных фреймворков для бэкенд-разработки языка python.
2. Во второй главе приводится проводится обоснование необходимости проектирования АИС. Сначала, для дальнейшего обоснования автоматизации, процесс взаимодействия пользователей с разработчиками (до автоматизации) моделируется в прикладном пакете BPwin v4.0 (Во избежание загромождения и для упрощения работы моделируется только данный процесс, отбросив остальные). Обоснование необходимости проектирования АИС производится на основе расчёта различных потерь организации (например, экономических) от осуществления процесса взаимодействия пользователей с разработчиками в ручном режиме, а также рассмотрения возможных альтернатив проектированию АИС (например, использовать какое-либо готовое решение). В конце главы даётся вывод о необходимости автоматизации.
3. В заключительной третьей главе приводится описание функций и возможностей спроектированной АИС (со ссылками на исходный код программы в приложениях). Затем - руководство по использованию спроектированной АИС и общий вывод по эффективности работы внедрённой системы.
ООО «Редсолюшн» - Российская IT-компания, с 2007 года занимается разработкой программного обеспечения для бизнеса и общества, используя прогрессивные достижения науки и техники. Основным видом деятельности компании является веб-разработка. [1]
Постановка проблемы. Работа над проектами компании велась с использованием двух сервисов: Redmine (Редмайн) и GitHub (Гитхаб). Сервер Редмайн администрируется самой компанией, в нём работают разработчики компании: им выдают задания и т.д. Сервер Гитхаб администрируется вне компании, на нём находятся большинство пользователей проектов, а также исходный код всех проектов. Пользователи на сервере Гитхаб могут оставить пожелания по улучшению проектов, сообщить о найденных ошибках, неисправностях и т.д. Так как задачи программистам выдаются в Редмайне, необходимо наладить передачу сообщений пользователей из Гитхаба в Редмайн и ответов пользователям из Редмайна в Гитхаб.
Компания ООО «Редсолюшн» выбрала следующий метод решения данной проблемы. На языке программирования Python спроектировать небольшую Автоматизированную Информационную Систему (АИС), которая будет в автоматическом режиме транслировать данные из Гитхаба в Редмайн и наоборот.
Актуальность проблемы не вызывает вопросов. Рынок Информационных Технологий (ИТ) показывает стабильный рост: «ИТ-рынокрастёт приблизительно на 20-30% в год». [2, с. 5] «ИТ-сектор занимает ведущие позиции в течение последних восьми лет начиная с 2007г. Ежегодно его доля составляет около 30 % от общего числа сделок». [3, c. 2] Не только в России, но и по всему миру с каждым годом появляется всё больше молодых ИТ-компаний, которые, несомненно, столкнутся с данной или родственной ей проблемой.
Цель данной ВКР - проанализировать проблему, с которой столкнулась компания, обосновать решение и решить данную проблему.
Задачи данной ВКР:
1. Проработать теорию по данной проблематике.
2. Обосновать необходимость проектирования АИС.
3. Спроектировать и внедрить АИС в эксплуатацию.
Объектом исследования являются бизнес-процессы компании ООО «Редсолюшн». Предметом исследования данной ВКР является конкретный процесс взаимодействия пользователей на портале Гитхаб с разработчиками на сервере Редмайн.
Структура данной ВКР выглядит следующим образом.
1. В первой главе приводится различная теория веб-программирования, конкретно - проектирования бэкенд-приложений, т.е. серверную (скрытую от пользователей) часть приложений. А именно: дано обширное определение вебразработки, приведён сравнительный анализ ряда популярных языков программирования для бэкенд-разработки, помимо языка python, на котором было решено создавать АИС, а также сравнительный анализ ряда специализированных фреймворков для бэкенд-разработки языка python.
2. Во второй главе приводится проводится обоснование необходимости проектирования АИС. Сначала, для дальнейшего обоснования автоматизации, процесс взаимодействия пользователей с разработчиками (до автоматизации) моделируется в прикладном пакете BPwin v4.0 (Во избежание загромождения и для упрощения работы моделируется только данный процесс, отбросив остальные). Обоснование необходимости проектирования АИС производится на основе расчёта различных потерь организации (например, экономических) от осуществления процесса взаимодействия пользователей с разработчиками в ручном режиме, а также рассмотрения возможных альтернатив проектированию АИС (например, использовать какое-либо готовое решение). В конце главы даётся вывод о необходимости автоматизации.
3. В заключительной третьей главе приводится описание функций и возможностей спроектированной АИС (со ссылками на исходный код программы в приложениях). Затем - руководство по использованию спроектированной АИС и общий вывод по эффективности работы внедрённой системы.
В ходе данной ВКР мы проделали работу по анализу и автоматизации процесса взаимодействия пользователей с разработчиками IT-проектов для компании ООО «Редсолюшн». Подведём итог всей проделанной работе.
Дадим краткую постановку проблемы, которая была решена в ходе данной ВКР. Работа над проектами компании ведётся с использованием двух сервисов: Редмайн и Гитхаб, на которых дублируются некоторые проекты компании. Компания столкнулась с проблемой переноса данных с одного сервиса на другой. В ходе данной работы поставленная проблема была решена с помощью разработки и внедрения в эксплуатацию АИС, которая в автоматическом режиме переносит данные с одного сервера на другой.
Первая глава бала посвящена общей теории веб-программирования. В ней были приведены общие положения веб-программирования, напрямую относящиеся к решению поставленной задачи. Приведён ряд популярных языков для вебпрограммирования, а также ряд фреймворков для веб-программирования языка Python.
Так же, в первой главе был проделан сравнительный анализ языков программирования (см. п. 1.2.5). В ходе сравнительного анализа было установлено, что, для решения данной конкретной задачи, с наиболее лучшей стороны показал себя такой язык программирования, как Python. Приведём причины выбора языка Python в порядке важности:
1. Компания ООО «Редсолюшн», в основном, занимается разработкой вебприложений на языках программирования Python и Ruby.
2. Python демонстрирует крайне высокую скорость и низкую стоимость разработки проектов.
3. Python имеет крайне низкий порог входа.
4. Python - кроссплатформенный язык программирования.
Вторая глава была посвящена обоснованию необходимости проектирования АИС. Здесь был проведён анализ процесса взаимодействия пользователей с разработчиками. Анализ проводился на с помощью построения модели данного процесса в прикладном пакете BPwin v4.0. Затем, приведён расчёт потерь (трудовых и экономических), которые несёт организация, при осуществлении данного процесса в ручном режиме, анализ возможных альтернатив автоматизации и общий вывод о необходимости проектирования АИС.
Во второй главе мы пришли к выводу (см. п. 2.2), что, при малом количестве проектов, данные потери достаточно незначительные. В таком случае, компании может быть выгоднее не пытаться как-то решить данную проблему, а просто не делать ничего: затраты на решение данной проблемы могут быть больше, чем затраты на её решение и тот выигрыш, который получит компания. Однако, при увеличении количества проектов, данная проблема становится всё острее и острее. Если отложить данную проблему в «долгий ящик», компания всё равно рано или поздно столкнётся с ней вновь. Поэтому, чем раньше компания решит данную проблему - тем лучше для компании.
Также, во второй главе был проведён анализ альтернатив проектированию АИС (см. п. 2.3). Здесь мы пришли к выводу, что ни одна из возможных альтернатив нас нам не подходит. Поэтому, для решения данной проблемы придётся проектировать АИС. Рассмотренные альтернативы включают:
1. Оставить всё как есть.
2. Полностью перейти на использование Гитхаба.
3. Полностью перейти на использование Редмайна.
4. Работать с двумя сайтами одновременно.
5. Использовать готовые решения.
6. Расширить возможности существующей системы.
В заключительной третьей главе проводится подготовка к проектированию АИС (см. п. 3.1), требования к АИС (см. п. 3.2), описание функций и характеристик спроектированной АИС (см. п. 3.3), а также внедрение системы в эксплуатацию (см. п. 3.4).
Спроектированная нами система поддерживает выполнение следующих ключевых функций:
1. Просмотр, добавление и редактирование информации в БД сервера через интернет.
2. Первоначальная привязка проектов.
3. Транслирование данных из Гитхаба в Редмайн.
4. Транслирование данных из Редмайна в Гитхаб.
Рассмотрим подробнее каждую из реализованных функций.
Ключевые функции, поддерживаемые системой, полностью удовлетворяют требованиям поставленной в ходе данной ВКР задачи. Проблема осуществления процесса взаимодействия пользователей с разработчиками с IT-проектов в ручном режиме полностью решается с использованием данной системы.
Дадим краткую постановку проблемы, которая была решена в ходе данной ВКР. Работа над проектами компании ведётся с использованием двух сервисов: Редмайн и Гитхаб, на которых дублируются некоторые проекты компании. Компания столкнулась с проблемой переноса данных с одного сервиса на другой. В ходе данной работы поставленная проблема была решена с помощью разработки и внедрения в эксплуатацию АИС, которая в автоматическом режиме переносит данные с одного сервера на другой.
Первая глава бала посвящена общей теории веб-программирования. В ней были приведены общие положения веб-программирования, напрямую относящиеся к решению поставленной задачи. Приведён ряд популярных языков для вебпрограммирования, а также ряд фреймворков для веб-программирования языка Python.
Так же, в первой главе был проделан сравнительный анализ языков программирования (см. п. 1.2.5). В ходе сравнительного анализа было установлено, что, для решения данной конкретной задачи, с наиболее лучшей стороны показал себя такой язык программирования, как Python. Приведём причины выбора языка Python в порядке важности:
1. Компания ООО «Редсолюшн», в основном, занимается разработкой вебприложений на языках программирования Python и Ruby.
2. Python демонстрирует крайне высокую скорость и низкую стоимость разработки проектов.
3. Python имеет крайне низкий порог входа.
4. Python - кроссплатформенный язык программирования.
Вторая глава была посвящена обоснованию необходимости проектирования АИС. Здесь был проведён анализ процесса взаимодействия пользователей с разработчиками. Анализ проводился на с помощью построения модели данного процесса в прикладном пакете BPwin v4.0. Затем, приведён расчёт потерь (трудовых и экономических), которые несёт организация, при осуществлении данного процесса в ручном режиме, анализ возможных альтернатив автоматизации и общий вывод о необходимости проектирования АИС.
Во второй главе мы пришли к выводу (см. п. 2.2), что, при малом количестве проектов, данные потери достаточно незначительные. В таком случае, компании может быть выгоднее не пытаться как-то решить данную проблему, а просто не делать ничего: затраты на решение данной проблемы могут быть больше, чем затраты на её решение и тот выигрыш, который получит компания. Однако, при увеличении количества проектов, данная проблема становится всё острее и острее. Если отложить данную проблему в «долгий ящик», компания всё равно рано или поздно столкнётся с ней вновь. Поэтому, чем раньше компания решит данную проблему - тем лучше для компании.
Также, во второй главе был проведён анализ альтернатив проектированию АИС (см. п. 2.3). Здесь мы пришли к выводу, что ни одна из возможных альтернатив нас нам не подходит. Поэтому, для решения данной проблемы придётся проектировать АИС. Рассмотренные альтернативы включают:
1. Оставить всё как есть.
2. Полностью перейти на использование Гитхаба.
3. Полностью перейти на использование Редмайна.
4. Работать с двумя сайтами одновременно.
5. Использовать готовые решения.
6. Расширить возможности существующей системы.
В заключительной третьей главе проводится подготовка к проектированию АИС (см. п. 3.1), требования к АИС (см. п. 3.2), описание функций и характеристик спроектированной АИС (см. п. 3.3), а также внедрение системы в эксплуатацию (см. п. 3.4).
Спроектированная нами система поддерживает выполнение следующих ключевых функций:
1. Просмотр, добавление и редактирование информации в БД сервера через интернет.
2. Первоначальная привязка проектов.
3. Транслирование данных из Гитхаба в Редмайн.
4. Транслирование данных из Редмайна в Гитхаб.
Рассмотрим подробнее каждую из реализованных функций.
Ключевые функции, поддерживаемые системой, полностью удовлетворяют требованиям поставленной в ходе данной ВКР задачи. Проблема осуществления процесса взаимодействия пользователей с разработчиками с IT-проектов в ручном режиме полностью решается с использованием данной системы.





