Skip to content

KekDevLol/PTLab1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Лабораторная работа № 1: Знакомство с системой контроля версий Git и инструментом CI/CD GitHub Actions

Цели работы:

  1. Познакомиться с распределённой системой контроля версий кода Git и её функциями;
  2. Познакомиться с понятиями «непрерывная интеграция» (CI) и «непрерывное развёртывание» (CD), определить их место в современной разработке программного обеспечения;
  3. Получить навыки разработки ООП-программ и написания модульных тестов к ним на современных языках программирования;
  4. Получить навыки работы с системой Git для хранения и управления версиями ПО;
  5. Получить навыки управления автоматизированным тестированием программного обеспечения с помощью инструментов CI/CD.

Постановка задачи:

Разработать программу на языке Python, реализующую функционал чтения данных о студентах из файлов различных форматов (JSON, текстовый), анализа этих данных.
Написание модульных тестов с высоким покрытием кода. Также необходимо настроить систему контроля версий Git и интеграцию с GitHub Actions для автоматического запуска тестов.

Краткое описание проекта:

Проект представляет собой консольное приложение на Python, предназначенное для обработки и анализа академических данных студентов. Основные компоненты:

  • DataReader — абстрактный базовый класс для чтения данных.
  • TextDataReader — реализация DataReader, читающая данные из текстового формата.
  • JsonDataReader — реализация DataReader, читающая данные из JSON-файла.
  • StudentAnalyzer — класс, анализирующий данные и подсчитывающий количество студентов с академическими задолженностями (оценка < 61).
  • CalcRating — класс, вычисляющий средний балл для каждого студента.
  • Тесты — модульные тесты для всех классов, обеспечивающие высокое покрытие кода.

Используемые языки, библиотеки и технологии:

  • Язык программирования: Python 3.10
  • Система контроля версий: Git
  • Фреймворк для тестирования: pytest
  • Система CI/CD: GitHub Actions
  • Типизация: typing

Диаграмма классов:

image

Выводы по работе:

В ходе выполнения лабораторной работы были достигнуты все поставленные цели:

  • Практически освоены основы работы с Git: создание репозитория, веток, коммитов, пуш и пулы.
  • Реализованы принципы объектно-ориентированного программирования: абстракция, наследование, инкапсуляция.
  • Написаны модульные тесты с использованием pytest, обеспечивающие высокий уровень покрытия кода.
  • Настроена система CI/CD с помощью GitHub Actions, обеспечивающая автоматический запуск тестов при каждом изменении в репозитории.
  • Создана UML-диаграмма классов, отражающая архитектуру проекта.

About

Лабораторная работа №1 по дисциплине "Технологии программирования"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages