team-work-it-KALLIA1231123

0
5 месяцев назад
4 месяца назад
4 месяца назад
4 месяца назад
5 месяцев назад
4 месяца назад
README.md

Выполняли: - Quantum_leap (роль студента 2) - elislady - aka_bunker (роль студента 3)

Этап 1: Изучение требований

Сначала я внимательно разобрал техническое задание:

Нужно было работать с задачами, имеющими зависимости друг на друга Требовалось реализовать сложные алгоритмы: топологическую сортировку, поиск критического пути Важно было предусмотреть обработку ошибок (особенно циклических зависимостей)

Этап 2: Проектирование архитектуры

С помощью ИИ-помощника я спроектировал структуру классов:

Класс Task - для хранения данных о задаче Класс ProjectManager - для управления проектом и алгоритмов ИИ помог понять, какие алгоритмы лучше подходят для каждой задачи:

Алгоритм Кана для топологической сортировки Рекурсивный DFS для поиска циклов Модифицированный алгоритм Дейкстры для критического пути

Этап 3: Реализация

Я писал код поэтапно:

Сначала простые методы - добавление, удаление задач Затем более сложные - топологическая сортировка Самые сложные - проверка циклов и критический путь Когда возникали трудности (особенно с рекурсивной проверкой циклов), я обращался к ИИ за помощью. Он объяснял логику алгоритмов и помогал исправлять ошибки.

Этап 4: Тестирование

Я создал несколько тестовых сценариев:

Простой проект из 4 задач Проект с циклическими зависимостями Сложный проект с множественными зависимостями Для каждого теста проверял:

Корректность сортировки Правильность критического пути Общую длительность проекта Обработку ошибок 💡 Что было сложного

Самой сложной частью оказалась реализация проверки циклических зависимостей. Сначала мой алгоритм зацикливался, но с помощью ИИ я понял, что нужно использовать два множества: для посещенных узлов и для текущего пути рекурсии.

Вторая сложность - расчет критического пути. Пришлось разбираться, что это самый длинный путь в графе, а не кратчайший.

🎓 Чему я научился

Алгоритмы работы с графами: топологическая сортировка, поиск в глубину Архитектура приложений: разделение ответственности между классами Обработка исключительных ситуаций: корректная работа с ошибочными данными Тестирование: создание комплексных тестовых сценариев 📊 Результат

Наш планировщик успешно:

✅ Управляет задачами с зависимостями ✅ Обнаруживает циклические зависимости ✅ Вычисляет оптимальный порядок выполнения ✅ Находит критический путь проекта ✅ Рассчитывает общую длительность Работа заняла около 3 дней, включая изучение теории и тестирование. ИИ-помощник значительно ускорил процесс, объясняя сложные концепции и помогая исправлять ошибки.