Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
новая папка / ЛР1_качество_титов.docx
Скачиваний:
0
Добавлен:
19.04.2026
Размер:
52.43 Кб
Скачать

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

  • Функциональные требования: выполнены на 75% — реализован основной функционал мониторинга ссылок, интеграция с Telegram, управление пользователями и уведомления

  • Требования надежности: выполнены на 68% — присутствуют механизмы восстановления и обработки ошибок, но система требует доработки в части устойчивости

  • Требования производительности: выполнены на 58% — времена отклика соответствуют требованиям (< 500 мс), однако использование ресурсов требует оптимизации

  • Требования безопасности: критерий не полностью измерен в рамках данной экспертизы, но предусмотрены базовые механизмы защиты

2. Выявленные проблемные области

2.1. Критические проблемы (оценка < 0,6)

Эффективность использования ресурсов (0,36)

Проявление:

  • Высокое потребление оперативной памяти JVM (оценка 0,4)

  • Избыточная загрузка процессора (оценка 0,3)

Возможные причины:

  • Отсутствие оптимизации запросов к БД PostgreSQL

  • Недостаточно эффективное использование кэширования Redis

  • Возможные утечки памяти при длительной работе сервисов

  • Неоптимальная конфигурация пула потоков в Spring Boot

  • Избыточное логирование в production-режиме

Последствия:

  • Ограничение масштабируемости системы

  • Повышенные инфраструктурные затраты

  • Риск деградации производительности при росте нагрузки

2.2. Серьезные проблемы (оценка 0,6–0,65)

Надежность системы (0,68)

Проявление:

  • Устойчивость к дефектам — 0,64

  • Восстанавливаемость — 0,64

  • Недостаточная автоматизация обхода ошибочных ситуаций (0,5)

Возможные причины:

  • Неполная реализация retry-механизмов для внешних API

  • Отсутствие circuit breaker паттернов для отказоустойчивости

  • Недостаточное покрытие граничных случаев в обработке исключений

  • Ограниченные возможности graceful degradation

Сопровождаемость (0,645)

Проявление:

  • Низкая тестируемость кода — 0,5

  • Стабильность при внесении изменений — 0,6

Возможные причины:

  • Недостаточное покрытие unit и integration тестами

  • Сложность кодирования отдельных модулей

  • Неполное документирование бизнес-логики

  • Возможное нарушение принципов SOLID в некоторых компонентах

Производительность (0,58)

Проявление:

  • Критическая проблема с использованием ресурсов (см. выше)

2.3. Области, требующие внимания (оценка 0,65–0,75)

Корректность функциональности (0,62)

Проблемы:

  • Неполное оформление документации (0,5)

  • Частичная реализация функций спецификации (0,6)

Причины:

  • Технический долг, накопленный в процессе быстрой разработки

  • Недостаточная синхронизация документации с кодом

  • Возможные пропуски в требованиях

3. Рекомендации по устранению выявленных проблем

3.1. Приоритет 1 (Критический) — срок: 1-2 спринта

Оптимизация использования ресурсов:

  • Профилирование и оптимизация памяти

    • Провести анализ с использованием JProfiler или VisualVM

    • Выявить и устранить утечки памяти

    • Оптимизировать размеры пулов подключений к БД и Kafka

    • Настроить параметры JVM GC для микросервисной архитектуры

  • Оптимизация процессорной нагрузки

    • Провести анализ "горячих точек" в коде

    • Оптимизировать алгоритмы парсинга и сканирования ссылок

    • Внедрить асинхронную обработку для тяжелых операций

    • Пересмотреть конфигурацию thread pools

  • Улучшение кэширования

    • Расширить использование Redis для часто запрашиваемых данных

    • Внедрить многоуровневое кэширование (L1/L2 cache)

    • Оптимизировать стратегии инвалидации кэша

Ожидаемый результат: повышение оценки с 0,36 до 0,7+, снижение затрат на инфраструктуру на 30-40%

Соседние файлы в папке новая папка