Тема: Разработка прототипа инструмента позволяющего автоматизировать и упростить процесс рефакторинга кодовой базы
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
Введение 6
Глава 1 8
1.1 Исследование предметной области 8
1.2 Постановка требований 9
1.3 Обзор программных систем существующих на рынке 10
Глава 2 12
2.1 Проектирование архитектуры 12
2.2 Формат отчета об изменениях 13
2.3 Протокол связи 14
2.4 Формат сообщений 15
2.5 Организация работы 15
2.6 Выбор технологий 16
Глава 3. Реализация серверной части 18
3.1 Организация проекта 18
3.2 Использование Gradle 18
3.3 Communication 19
3.3 Router 20
3.4 Внедрение зависимостей 22
3.6 Controller 23
3.7 Migrate 24
Глава 4. Разработка клиентской части 31
4.1 Общее 31
4.2 Electron 31
4.3 Scala.js 32
4.4 Sbt 32
4.5 Модули 33
Заключение 36
Список использованных литературных источников 37
Приложение А 38
Приложение Б
📖 Введение
Можно выделить следующие причины необходимости миграции на новые версии используемых библиотек:
• Новые версии содержат исправления существующих ошибок в работе программного компонента.
• Упрощение API для работы с библиотекой.
• Более длительный срок поддержки со стороны разработчиком
компонента.
• Появление нового функционала в программном компоненте.
• Увеличение количества поддерживаемых устройств в новой версии библиотеки.
Исходя из выше написанных причин следует, что поддержка актуальности версий программных компонентов является обязательным условием для написания качественного программного обеспечения. Однако, изменения внешнего API в новых версиях программных компонент приводят к усложнению процесса миграции. Появляется проблема совместимости существующей кодовой базы и новой версии программного компонента. Для решения данной проблемы необходимо произвести рефакторинг существующего исходного кода. Главным недостатком данного решения является сложность и трудоемкость процесса рефакторинга, что ведет к увеличению затрачиваемых человеко-часов на разработку проекта.
Актуальность и практическая значимость дипломной работы заключается в том, что автоматизация процесса миграции позволила бы использовать рабочее время разработчиков более эффективно за счет уменьшения затрачиваемого времени на рефакторинг кодовой базы.
Целью дипломной работы является разработка прототипа инструмента позволяющего максимально автоматизировать и упростить процесс рефакторинга кодовой базы для поддержания актуальности версий программных компонент.
Объектом исследования в данной работе является система автоматизации обновления версий используемых программных компонент. Для разработки программного средства необходимо решить следующие задачи:
• Провести анализ предметной области.
• Анализ аналогов программных систем, выполняющих схожие задачи.
• Разработать архитектуру программного обеспечения.
• Разработать необходимые структуры данных, а также реализовать алгоритмы программного средства.
• Разработать удобный пользовательский интерфейс для работы с программным средством.
• Тестирование разработанного программного обеспечения
Для выполнения поставленной цели необходимо выполнить следующие этапа работы:
• Исследовать процесс обновления версии используемого компонента
• Составить список требований к разрабатываемому программному средству
• Разработать архитектуру системы под описанные требования
• Выбрать необходимые технологии и средства для решения поставленных целей
• Организовать рабочий процесс для решения поставленных задач.
Теоретической и методологической основой является способы создания программного обеспечения описанного в книгах Р. Мартина “Чистый код”, Макконнелла С. “Совершенный код”.
✅ Заключение
Анализ программных продуктов присутствующих на рынке и обладающих частично или полностью требуемым функционалом показал, что существующие решения не удовлетворяют всем выдвинутым требованиям. Благодаря анализу стало ясно, что разработка системы автоматизации обновления версий позволит не только более эффективно использовать рабочее время разработчиков, но и уменьшит влияние человеческого фактора при проведении рефакторинга кодовой базы.
Выбранные средства реализации выдвигаемых требований позволяют не только успешно разрабатывать систему, но и поддерживать ее в дальнейшем.
Выбранная архитектура позволяет успешно достигать поставленных целей.
Результатом данной выпускной квалификационной работы является прототип системы автоматизации обновления версий программных компонентов.
Возможности системы и решенные задачи:
• Произведен анализ предметной области.
• Система является кроссплатформенной и может быть запущена на любой операционной системе.
• Использование единого формата отчета об изменениях версий позволяющего расширять систему.
• Применение системы позволяет автоматизировать процесс обновления версий программных компонентов.



