Тема: РАЗРАБОТКА СИСТЕМЫ АВТОМАТИЗИРОВАННОЙ ОБРАБОТКИ РЕПОЗИТОРИЕВ ПРОГРАММНЫХ ПРОДУКТОВ ДЛЯ ЗАДАЧ СТАТИСТИЧЕСКОГО АНАЛИЗА МЕТРИК ИСХОДНОГО КОДА И ДАННЫХ СИСТЕМЫ КОНТРОЛЯ ВЕРСИЙ
Характеристики работы
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
ГЛАВА 1 ОБЗОР И АНАЛИЗ СУЩЕСТВУЮЩИХ РЕШЕНИЙ 6
1.1 Обзор существующих решений 6
1.2 Недостатки существующих решений 9
1.3 Выбор формы разрабатываемого программного продукта 10
ГЛАВА 2 ПРОЕКТИРОВАНИЕ СИСТЕМЫ 14
2.1 Общая структура фреймворка 14
2.2 Обоснование выбора структуры фреймворка 16
ГЛАВА 3 РЕАЛИЗАЦИЯ СИСТЕМЫ 19
3.1 Модуль Analysis 19
3.2 Модуль Repo 24
3.3 Модуль Statistic 25
3.4 Модуль Report 27
ЗАКЛЮЧЕНИЕ 30
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
📖 Введение
В процессе проектной деятельности внутри VCS накапливаются следующие данные:
1. Внесённые изменения за всё время существования репозитория
2. Авторы изменений
3. Даты изменений
4. Сообщения прикрепляемые к изменениям
5. Версии содержимого репозитория
Эти данные полезны в процессе текущей разработки программного обеспечения, позволяют пронаблюдать последние изменения и задачи которые данные изменения решают, а так же вернуться к стабильной версии в случае непредвиденных обстоятельств.
Со временем объём накопленных в процессе работы данных становится достаточно большим. И сбор статистики на основании этих данных может помочь в решении некоторых задач, например:
1. Количественное и качественное оценивание разработчиков работающих над программным продуктом
2. Использование в процессе инспекции кода
3. Сбор данных для последующего использования в различных системах машинного обучения
4. Создание истории проекта, наблюдение за динамикой его развития, для отслеживания закономерностей.
Но стандартные инструменты VCS не позволяют в полной мере получать статистику по репозиториям, поэтому приходится прибегать к сторонним решениям.
Целью данной работы является создание системы автоматизированной обработки репозиториев программных продуктов для задач статистического анализа метрик исходного кода и данных системы контроля версий.
Задачи решаемые в данной работе:
1. Подробный анализ существующих решений и наработок в данной области для выявления высокоуровневых требований к разрабатываемой системе, а так же устранения недостатков предшественников в процессе проектирования.
2. Проектирование информационной системы
3. Разработка и описание деталей реализации информационной
системы
Целью системы является обработка репозиториев программных продуктов для задач статистического анализа метрик исходного кода и данных системы контроля версий.
Задачи решаемые разрабатываемой системой:
1. Получение, объединение и систематизация данных предоставляемых VCS, а так же метрик исходного кода программного продукта для различных версий хранимых в VCS.
2. Проведение анализа данных для получения необходимой статистики
3. Предоставление отчётов на основании полученных данных, а так же возможность вывода этих данных для дальнейшей работы с ними.
✅ Заключение
Система представляет из себя микро-фреймворк, позволяющий получить данные VCS в удобной форме, производить обработку и анализ этих данных и формировать отчёт либо вывести данные в популярных форматах.
Фреймворк кроссплатформенный и работает на всех платформах для которых существует интерпретатор Python.
В процессе выполнения были решены все поставленные задачи а именно:
1. Произведён анализ существующих решений и наработок в данной области.
2. Произведена разработка архитектуры фреймворка
3. Произведена реализация всех частей фреймворка.
На данный момент фреймворк может быть найден в репозитории на GitHub [23]
В дальнейшем планируется публикация фреймворка в PyPI - the Python Package Index [24].



