Skip to content

Nitro-12/PTlab1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

101 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Выполнил студент группы САПР-1.4: Качурин Никита

Вариант №6

Цели работы:

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

Постановка задач индивидуального задания:

  1. Выберите для Вашего проекта тип лицензии и добавьте файл с лицензией в проект.
  2. Добавьте в проект файл .gitignore и сформируйте его содержимое.
  3. Добавьте в проект еще один класс – наследник класса DataReader, который должен обрабатывать входной файл определенного формата (согласно индивидуальному варианту, см. таблицу). Составьте модульные тесты для методов этого класса, постарайтесь покрыть тестами максимально возможный объем кода. Для работы с этим заданием создайте новую ветку кода на основе главной и фиксируйте в нее весь программный код в процессе разработки. Добейтесь выполнения всех тестов проекта, после чего объедините текущую ветку кода с главной.
  4. Добавьте в проект класс, реализующий расчет определенных характеристик студентов (согласно индивидуальному варианту, см. таблицу). Составьте модульные тесты для методов этого класса, постарайтесь покрыть тестами максимально возможный объем кода. Для работы с этим заданием создайте новую ветку кода на основе главной и фиксируйте в нее весь программный код в процессе разработки. Добейтесь выполнения всех тестов проекта, после чего объедините текущую ветку кода с главной.
  5. Составьте UML-диаграмму классов итогового проекта.
  6. Проанализируйте полученные результаты и сделайте выводы.

Описание проекта

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

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

  • Язык программирования: Python 3.10
  • Библиотеки: pycodestyle, pytest, argparse, sys, yaml
  • Используемые технологии: Git, GitHub Actions

Индивидуальное задание

Вариант № 6

  • YAML
  • Определить и вывести на экран студента, имеющего 76 баллов минимум по трем дисциплинам. Если таких студентов несколько, нужно вывести любого из них. Если таких студентов нет, необходимо вывести сообщение об их отсутствии.

Результат работы программы (вывод студента имеющего 3 оценки по 76 баллов)

image

Результат работы программы (вывод сообщения, что таких студентов нет)

image

UML-диаграмма:

image

Вывод:

В процессе работы были рассмотрены ключевые инструменты для разработки программного обеспечения, включая систему управления версиями Git, методы непрерывной интеграции и развертывания, объектно-ориентированное программирование (ООП) и модульное тестирование. Изучено применение GitHub Actions для автоматизации тестирования программного обеспечения. В результате была создана система, которая анализирует студенческие оценки, вычисляет рейтинги и определяет студентов с выдающимися результатами.

About

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

Resources

License

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages