Реферат 2
Содержание 3
Глоссарий 5
Введение 6
1 Использование GitLab в процессе обучения 8
2 Анализ требований 12
2.1 Актеры системы 12
2.2 Функциональные требования к системе 12
2.3 Нефункциональные требования 20
2.4 Модель предметной области 21
2.5 Типы проектов 24
3 Реализация 28
3.1 Выбор инструментов 28
3.2 Архитектура системы 28
3.3 Контроллеры ASP.NET Core MVC 30
3.4 Пакет Services 32
3.5 Взаимодействие с GitLab 35
3.6 Взаимодействие с Git-репозиториями 41
3.7 Архивация и сбор кода проектов 42
3.8 Импорт студентов 45
3.8 Статистика 47
4 Развертывание системы 49
4.1 Способы развертывания системы 49
4.2 Платформа контейнеризации Docker 50
4.3 Создание образов Docker 51
Заключение 57
Список используемой литературы 58
На сегодняшний день существует проблема эффективного взаимодействия между преподавателями и студентами, что прямо влияет на качество их работы. Для того, чтобы повысить продуктивность и общий уровень образования в настоящее время учебные заведения пытаются автоматизировать процесс обучения, снизить время на выполнение однотипных, рутинных задач. Внедрение автоматизированных систем для поддержки обучения позволяет сократить время и уменьшить трудозатраты для всех участников, вовлеченных в учебный процесс.
Очень часто для курсов программирования и особенно тех, где студентам приходится работать в команде возникает необходимость долговременного хранения исходного кода программ, организации совместной разработки программного продукта, возможность возвращаться к предыдущим версиям проекта. Для преподавателя, на предмете которого студенты пишут программный код, в таком случае одной из проблем становится сбор кода студентов и отслеживание их прогресса, так как их проекты могут оформляться по разному, что усложняет проверку. Решить данную проблему помогает использование системы контроля версий - системы, которая позволяет хранить несколько версий одного и того же документа, фиксировать кто и когда вносил изменения, возвращаться к предыдущим версиям. Использование системы контроля версий позволяет отслеживать и синхронизовать изменения в разрабатываем проекте. Данный подход дает студентам возможность хранить свои учебные проекты, дает полезный навык работы с профессиональными инструментами. Для преподавателя использование системы контроля версий сокращает время на сбор и проверку заданий от студентов, тем самым облегчая ему работу.
На сегодняшний день существует несколько популярных систем контроля версий, одной из которых является Git [1]. Git - это распределенная система контроля версий, которая позволяет хранить каждую новую версию проекта, предоставляет мощные инструменты для того, чтобы управлять этими версиями. Для внедрения системы контроля версий git можно использовать различные продукты, одним из которых является GitLab.
GitLab [2] - система управления репозиториями кода для системы контроля версий Git. На текущий момент является одним из самых популярных, полностью открытым и бесплатным продуктом. GitLab предоставляет различные инструменты для разработчиков и ориентирован по большей части на профессиональную и корпоративную разработку.
Целью данной работы является организация использования GitLab в процессе обучения для того, чтобы позволить преподавателям более эффективно и просто выстраивать взаимодействие со студентами.
В рамках данной работы было разработано и внедрено веб-приложение для автоматизации управления Git-репозиториями на базе системы GitLab для использования в процессе обучения.
В ходе работы были поставлены и выполнены следующие задачи:
• Провести анализ требований.
• Провести анализ API GitLab.
• Спроектировать и реализовать систему.
• Внедрить систему.
Данное приложение используется преподавателями для организации процесса обучения студентов в системе управления репозиториями GitLab. Данная система применяется для выдачи заданий студентам, проведения контрольных работ, публикации материалов по предмету, а также предоставляет студентам пространство для размещения своих заметок в личных репозиториях.
Помимо помощи преподавателям, данная система используется для минимизации работы администратора - в рамках системы реализована возможность управления студентами, преподавателями и предметами с возможностью автоматического создания пользователей и групп в GitLab для них.