/PTLab1

Primary LanguagePythonThe UnlicenseUnlicense

Лабораторная работа 1: Python-проект с UML-диаграммой

Цели работы

  1. Познакомиться c распределенной системой контроля версий кода Git и ее функциями.
  2. Изучить понятия «непрерывная интеграция» (CI) и «непрерывное развертывание» (CD).
  3. Получить навыки разработки ООП-программ и написания модульных тестов.
  4. Освоить работу с системой Git для хранения и управления версиями ПО.
  5. Научиться управлять автоматизированным тестированием программного обеспечения с использованием GitHub Actions.

Основные положения

Проект представляет собой систему для расчета среднего рейтинга студентов по различным предметам. Реализован на языке программирования Python 3 с использованием библиотеки pytest для модульного тестирования.

Структура проекта:

  • rating
    • .github
      • workflows
        • github-actions-testing.yml
    • data
      • data.txt
    • src
      • CalcRating.py
      • DataReader.py
      • TextDataReader.py
      • Types.py
      • main.py
    • test
      • test_CalcRating.py
      • test_TextDataReader.py
      • test_main.py
    • README.md
    • requirements.txt

Индивидуальные задания

1. Выбор лицензии

Выбран тип лицензии для проекта, добавлен файл с лицензией.

2. Файл .gitignore

Добавлен файл .gitignore для игнорирования ненужных файлов при работе с Git.

3. Новый класс DataReader

Добавлен новый класс, наследник класса DataReader, для обработки входного файла определенного формата (YAML). Реализованы модульные тесты для методов этого класса.

4. Новый класс для расчета характеристик студентов

Добавлен новый класс, реализующий расчет определенных характеристик студентов. Написаны модульные тесты для методов этого класса.

5. UML-диаграмма классов

Составлена UML-диаграмма классов для итогового проекта.

6. Выводы

Проанализированы результаты работы. Получены навыки работы с Git, понимание CI/CD, разработки ООП-программ и тестирования.