Диплом: Внедрение системы непрерывной интеграции для ООО «Руби Кейк»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
58
Рисунок 15. Сценарий диалога программы.
Программа согласно заложенной в неё логике проводит тестирование
исходного кода, формирует отчёт и статистику тестирования и отправляет
отчёт веб-программисту. В программе есть возможность просмотреть
результат тестирования и историю тестирования проекта.
Любой функционал программы можно разделить на основной, с
помощью которого достигается основная цель программы и
дополнительный, настройки и дополнительная информация. Дерево функций
наглядно демонстрирует разделение данных функций. Дерево функций
изображено на рисунке №16.
59
Рисунок 16. Дерево функций программы.
2.3.2. Характеристика базы данных
На рисунке №17 представлена ER модель базы данных
информационной системы.
Рисунок 17. ER модель базы данных.
В данной выпускной квалификационной работе выбрана реляционная
модель базы данных. На рисунке показаны таблицы и связь между ними. У
каждой таблицы имеется первичный ключ.
Таблица «JENKINS_BUILD_PARAMS» имеет следующие поля –
таблица №9.
Таблица 9.
Таблица «JENKINS_BUILD_PARAMS».
60
Название поля
Тип
Описание
ID
Строка
Основной ключ
NAME
Строка
Название параметра
VALUE
Строка
Значение параметра
BUILDDETAILS_ID
Строка
Внешний ключ для JENKINS_BUILD_DETAILS
Таблица «JENKINS_BUILD_DETAILS» имеет следующие поля –
таблица №10.
Таблица 10.
Таблица «JENKINS_BUILD_DETAILS».
Название
поля
Тип
Описание
ID
Строка
Основной ключ
NAME
Строка
Название проекта
FULLNAME
Строка
Название проекта и номер сборки
NODE_URL
Строка
Внешний ключ для JENKINS_BUILD_NODE
STARTDATE
Дата
Дата начала сборки
ENDDATE
Дата
Дата окончания сборки
DURATION
Число
Длительность сборки в миллисекундах
USERID
Строка
ID пользователя который начал сборку
USERNAME
Строка
Имя пользователя который начал сборку
RESULT
Строка
Результат сборки
Таблица «JENKINS_BUILD_NODE» имеет следующие поля – таблица
№11.
Таблица 11.
Таблица «JENKINS_BUILD_NODE».
Название поля
Тип
Описание
URL
Строка
Основной ключ
NAME
Строка
Внутреннее имя ноды где происходит сборка
DISPLAYNAME
Строка
Имя ноды отображаемое для пользователей
MASTERHOSTNAME
Строка
Имя хоста мастера который владеет нодой
61
MASTERADDRESS
Строка
IP адрес мастера который владеет нодой
LABEL
Строка
Метка ассоциирующаяся с нодой в Jenkins
DESCRIPTION
Строка
Описание ноды в Jenkins
2.3.3. Структурная схема пакета (дерево вызова программных
модулей)
Поскольку основным программным продуктом внедряемом в данной
выпускной квалификационной работе является программа Jenkins,
запускающая тестирование исходного кода и отправляющая отчёты веб-
программистам то и дерево функций будет описано именно для неё,
представленное на рисунке №18.
Рисунок 18. Схема графических форм программы Jenkins.
В таблице №12 содержится описание всех модулей структурной
схемы, представленных на рисунке №18.
Таблица 12.
Таблица модулей внедряемого программного продукта.
Наименование
модуля
Функционал модуля
1
Jenkins
Основная работа начинается с этого модуля
2
New Item
Создание нового проекта
3
People
Просмотр списка пользователей
4
Build History
Просмотр истории тестирования всех проектов
5
Manage Jenkins
Настройки программы Jenkins
6
My Views
Список настроек главной страницы Jenkins
7
Lockable Resources
Просмотр блокируемых ресурсов
8
Credentials
Просмотр списка ключей доступа
62
9
New View
Настроить внешний вид главной страницы Jenkins
2.3.4. Описание программных модулей
Модуль Jenkins - первое что видит системный администратор после
авторизации в программе. На этой странице представлено меню содержащее
ссылки на все нижеперечисленные модули, а так же список созданных
проектов. Для каждого проекта указан статус его последней проверки,
название проекта, дата и номер последней успешной сборки, дата и номер
последней неудачной сборки, длительность последней сборки и кнопка
начать сборку.
Модуль New Item - необходим для создания нового проекта в системе.
Сначала задаётся имя проекта и выбирается его тип (Freestyle project,
Pipeline, Multi-configuration project, Folder, GitHub Organization, Gitea
Organization, Multibranch Pipeline). Далее идёт настройка этого проекта
(General, Source Code Management, Build Triggers, Build Environment, Build,
Post-build Actions).
Модуль People - включает всех известных пользователей, в том числе
идентификаторы входа, которые может перечислить текущая область
безопасности, а также людей, упомянутых в коммит сообщениях, записанных
журналах изменений.
Модуль Build History - показывает историю сборок всех проектов.
Содержит статус сборки (успех/провал), название проекта и номер сборки,
дата сборки и ссылку на вывод лога консоли.
Модуль Manage Jenkins - содержит в себе абсолютно все настройки
программы. За исключением настроек специфичных для конкретного
проекта.
Модуль My Views - позволяет переключаться по настроенным видам
списка проектов на главной странице программы.
63
Модуль Lockable Resources - позволяет определить блокируемые
ресурсы (такие как принтеры, телефоны, компьютеры и т.д.), которые могут
быть использованы сборками. Если сборке требуется ресурс, который уже
заблокирован, она будет ждать, пока этот ресурс не станет свободным.
Модуль Credentials - показывает список добавленных учетных
данных, которые использует Jenkins в своей работе.
Модуль New View - позволяет настроить внешний вид списка
проектов на главной странице. Можно выбрать какие проекты показывать, а
так же какую информацию отображать.
2.4. Контрольный пример реализации проекта и его описание
Так как основной функционал данного проекта выполняется в
фоновом режиме без участия пользователя, в качестве контрольного примера
можно рассмотреть процесс авторизации в системе через веб-интерфейс,
просмотр состояния работы системы, а так же статистики и отчётов
тестирования.
Внедряемая в данной выпускной квалификационной работе система
запущена на новом сервере с Debian 10 в фоновом режиме и с периодически
проверяет репозиторий исходного кода на появление новых коммитов. При
обнаружении новых коммитов система скачивает исходный код, запускает
все необходимые тесты и формирует отчёт. Вся интерактивность работы с
данным сервисом реализована с помощью веб-интерфейса.
Для доступа к системе необходимо открыть ссылку, ведущую на
главную страницу веб-интерфейса данного сервиса. Ссылка может быть как
закладка в веб-браузере или как ярлык на рабочем столе.
Далее появляется меню авторизации пользователей. Здесь следует
ввести логин и пароль. На рисунке №19 показано меню авторизации
пользователей.
64
Рисунок 19. Меню авторизации.
После входа в систему можно посмотреть статус работы системы и
каждого проекта в отдельности. В блоке "Build Queue" отображается очередь
проектов на тестирование. В центре экрана после надписи "All" представлена
таблица со всеми проектами. В этой таблице можно увидеть название
проекта, его статус, дату последней успешной сборки, дату последней
неуспешной сборки, время сборки и присутствует кнопка старта сборки.
Скриншот раздела можно увидеть на рисунке №20.
Рисунок 20. Главная страница Jenkins.
65
Для того чтобы посмотреть статистику работы системы необходимо
перейти в раздел "Build History". В нём можно увидеть список всех сборок,
их статус и дату сборки. Так же эта информация отображается на временной
диаграмме. Данный раздел можно увидеть на рисунке №21.
Рисунок 21. Раздел Build History.
Для того чтобы посмотреть отчёт о тестировании необходимо на
главной странице нажать на название нужного проекта. Далее в блоке "Build
History" выбираем нужную сборку, кликаем на выпадающее меню и
выбираем "Test Result". В отчёте видно сколько тестов завершилось успехом,
а сколько провалом. Так же какие тесты были провалены. Пример отчёта с
успешным прохождением тестов представлен на рисунке №22, а пример
отчёта с некоторыми неудачными тестами на рисунке №23.
66
Рисунок 22. Отчёт с успешным прохождением тестов.
Рисунок 23. Отчёт с неудачным прохождением тестов.
67
3. Обоснование экономической эффективности проекта
3.1 Выбор и обоснование методики расчёта экономической
эффективности
Большинство методик расчёта экономической эффективности проекта
основаны на количестве вложенных в проект финансовых средств.
Из-за возможности заморозки или полной остановки проекта
автоматизации вложение финансовых средств в проект должны происходить
поэтапно.
В первом разделе выпускной квалификационной работы было
выяснено, что сильных изменений в технической инфраструктуре
рассматриваемой компании не требуется, но необходимо докупить новый
сервер на котором будет работать внедряемая система.
На каждой стадии внедрения существуют свои показатели, на которые
необходимо ориентироваться. Исходя из этого экономическую
эффективность проекта можно рассчитать по полученным показателям.
Для расчёта экономической эффективности необходимо сравнить
трудовые и временные показатели затрат на выполнение операций.
Начальный вариант - это показатели которые были приведены в
начале выпускной квалификационной работы и предлагаемый вариант -
показатели которые будут достигнуты после внедрения информационной
системы в рассматриваемую компанию.
После того, как необходимые показатели выбраны, необходимо
произвести расчёт трудовых затрат:
1. Абсолютное снижение трудовых затрат.
  
 
,
где
- трудовые затраты на обработку информации по
начальному варианту.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Agile-методология в управлении проектами на примере ООО «Ресурсный центр «Академия КлассИнфо»
Aвтoмaтизaция пpoцecca вeдeния инфopмaциoннoй бaзы o дoлжнocтяx и вaкaнcияx c укaзaниeм тpeбoвaний к уpoвню знaний и нaвыкoв кaндидaтoв для гpуппы кaдpoв вoйcкoвoй чacти 3474»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
Cовершенствование управления рентабельности предприятия (на примере гуипп «бендерская типография «полиграфист»)
Event - менеджмент: реализация проекта (на примере ООО "АГРОПАК")