Документация поддержки жизненного цикла
Документ содержит подробное описание процессов технической поддержки пользователей,
процедур устранения неисправностей, регламентов обновления системы, а также требования
к персоналу, необходимому для обеспечения эффективной поддержки системы SmartControl.
Скачать документацию (PDF)
1. ВВЕДЕНИЕ
Настоящий документ описывает процессы и процедуры, обеспечивающие поддержание жизненного цикла программного обеспечения “Система предиктивной аналитики производственных параметров для заводов по производству газобетона”, включая техническую поддержку пользователей, устранение неисправностей, обновление и совершенствование системы.
1.1. Цель документа
Определить порядок и требования к обеспечению бесперебойной работы системы “Система предиктивной аналитики производственных параметров для заводов по производству газобетона” на протяжении всего жизненного цикла эксплуатации.
1.2. Область применения
Документ применяется для:
Организации процессов технической поддержки
Планирования ресурсов поддержки
Обучения персонала поддержки
Контроля качества предоставляемых услуг
2. ПРОЦЕССЫ ПОДДЕРЖАНИЯ ЖИЗНЕННОГО ЦИКЛА
2.1. Этапы жизненного цикла ПО
2.1.1. Внедрение и начальная настройка
Срок: 2-4 недели
Процессы:
Развертывание системы на сервере заказчика
Настройка параметров конфигурации
Импорт исторических данных
Обучение начальных ML-моделей
Обучение пользователей
Ответственные:
Системный администратор (внедрение)
Специалист ML (обучение моделей)
Технический консультант (обучение пользователей)
2.1.2. Промышленная эксплуатация
Срок: постоянно
Процессы:
Мониторинг работоспособности системы
Техническая поддержка пользователей
Резервное копирование данных
Контроль производительности
Обновление системы безопасности
Ответственные:
Администратор системы у заказчика
Служба технической поддержки
2.1.3. Сопровождение и развитие
Срок: постоянно
Процессы:
Обновление версий ПО
Внедрение новых функций
Оптимизация производительности
Адаптация под изменения бизнес-процессов
Ответственные:
Команда разработки
Менеджер проекта
2.2. Регламент обновлений
2.2.1. Критические обновления безопасности
Периодичность: По мере обнаружения уязвимостей
SLA: Выпуск патча в течение 48 часов
Уведомление: Немедленное (email, телефон)
Тестирование: Минимальное (только критические функции)
Время простоя: До 15 минут
2.2.2. Плановые обновления
Периодичность: Ежеквартально
SLA: Установка в течение 2 недель после выпуска
Уведомление: За 7 дней (email)
Тестирование: Полное на тестовом окружении
Время простоя: До 1 часа (в нерабочее время)
2.2.3. Мажорные обновления
Периодичность: 1-2 раза в год
SLA: Согласование сроков с заказчиком
Уведомление: За 1 месяц (email, встреча)
Тестирование: Полное с участием заказчика
Время простоя: До 4 часов (по согласованию)
2.3. Процесс развертывания обновлений
3. ТЕХНИЧЕСКАЯ ПОДДЕРЖКА ПОЛЬЗОВАТЕЛЕЙ
3.1. Уровни поддержки
L1 - Первая линия поддержки
Функции:
Прием и регистрация обращений
Консультации по работе с системой
Решение типовых вопросов
Эскалация сложных вопросов на L2
Каналы связи:
Email: rezanovdv@mail.ru
Телефон: +7 (913) 377-70-83
Веб-форма на сайте
Время ответа:
Email: до 4 рабочих часов
Телефон: немедленно (в рабочее время)
Рабочее время:
Пн-Пт: 9:00-18:00 (МСК)
L2 - Вторая линия поддержки (Специалисты)
Функции:
Решение сложных технических проблем
Диагностика неисправностей
Восстановление данных
Оптимизация производительности
Настройка ML-моделей
Время ответа:
До 8 рабочих часов
Квалификация:
Системные администраторы
Разработчики
Специалисты по ML
L3 - Третья линия поддержки (Разработка)
Функции:
Исправление ошибок в коде
Разработка нестандартных решений
Анализ архитектурных проблем
Разработка новых функций
Время ответа:
Согласование индивидуально
Квалификация:
Ведущие разработчики
Архитектор системы
3.2. Типы обращений
3.2.1. Вопросы по использованию
Как выполнить определенную операцию
Интерпретация результатов
Настройка параметров
Экспорт/импорт данных
Обработка: L1 Время решения: 1-4 часа
3.2.2. Технические проблемы
Ошибки при работе системы
Проблемы производительности
Недоступность функций
Проблемы с данными
Обработка: L1 → L2 Время решения: 4-24 часа
3.2.3. Критические инциденты
Недоступность системы
Потеря данных
Критические ошибки безопасности
Обработка: L1 → L2 → L3 (немедленно) Время решения: 2-8 часов (24/7)
3.3. Процесс обработки обращений
3.4. SLA (Service Level Agreement)
4. УСТРАНЕНИЕ НЕИСПРАВНОСТЕЙ
4.1. Классификация неисправностей
4.1.1. Критические ошибки (Critical)
Критерии:
Система полностью недоступна
Потеря критичных данных
Нарушение безопасности
Примеры:
Падение всех контейнеров Docker
Недоступность базы данных
Утечка данных
Процедура:
Немедленное уведомление команды поддержки
Анализ логов системы
Восстановление из резервной копии (если необходимо)
Устранение причины
Верификация работоспособности
Отчет об инциденте
SLA: Решение в течение 4 часов
4.1.2. Серьезные ошибки (Major)
Критерии:
Недоступность отдельных функций
Значительное снижение производительности
Ошибки в расчетах ML-моделей
Примеры:
Ошибки импорта данных
Сбои в работе ML-серверов
Проблемы с авторизацией
Процедура:
Регистрация в системе отслеживания
Анализ причин
Разработка исправления
Тестирование исправления
Развертывание патча
Верификация
SLA: Решение в течение 8 часов
4.1.3. Незначительные ошибки (Minor)
Критерии:
Косметические дефекты UI
Незначительное снижение производительности
Проблемы совместимости
Примеры:
Ошибки отображения
Опечатки в интерфейсе
Проблемы в редких сценариях
Процедура:
Регистрация в backlog
Приоритезация для следующего релиза
Исправление в рамках планового обновления
SLA: Решение в следующем релизе
4.2. Диагностические процедуры
4.2.1. Проверка состояния системы
# Проверка контейнеров
docker compose ps
# Проверка логов
docker compose logs -f
# Проверка использования ресурсов
docker stats
# Проверка сети
curl http://localhost:3000
curl http://localhost:8000/api/v1/analysis/types
4.2.2. Проверка базы данных
# Подключение к БД
docker compose exec database psql -U postgres -d gazobeton
# Проверка доступности
docker compose exec database pg_isready -U postgres
# Количество записей
docker compose exec database psql -U postgres -d gazobeton -c "SELECT COUNT(*) FROM users;"
4.2.3. Проверка ML-серверов
# Проверка статуса в supervisor
docker compose exec backend supervisorctl status
# Проверка доступности серверов
curl http://localhost:1082/prepare
curl http://localhost:1083/predict
curl http://localhost:1084/predict
curl http://localhost:1085/predict
4.3. Типовые проблемы и решения
Проблема: Контейнеры не запускаются
Симптомы: docker compose up -d завершается с ошибкой
Диагностика:
docker compose logs docker compose ps -a
Решение:
# Пересборка образов
docker compose down
docker compose build --no-cache
docker compose up -d
Проблема: Ошибка "Too Many Attempts"
Симптомы: При загрузке данных появляется ошибка rate limiting
Диагностика:
Проверить файл app/Providers/RouteServiceProvider.php
Проверить настройку RateLimiter::for('api')
Решение:
Увеличить лимит запросов (уже установлено 10000/минуту)
Очистить кеш: docker compose exec backend php artisan cache:clear
Проблема: ML-модель не обучается
Симптомы: Процесс обучения зависает или завершается с ошибкой
Диагностика:
# Проверка логов ML-сервера
docker compose logs backend | grep -i catboost
docker compose logs backend | grep -i error
# Проверка памяти
docker stats
Решение:
Увеличить память для backend контейнера
Проверить формат входных данных
Уменьшить размер обучающей выборки
Проблема: Таймаут при длительных операциях
Симптомы: Операции прерываются через определенное время
Диагностика:
Проверить настройки PHP (max_execution_time)
Проверить Nginx таймауты
Решение:
# Уже настроено:
# PHP: max_execution_time = 0 (безлимит)
# Nginx: proxy_read_timeout = 3600 (1 час)
5. ОБНОВЛЕНИЯ И ДОРАБОТКИ
5.1. Процесс выпуска новых версий
5.1.1. Планирование релиза
Сбор требований от пользователей
Анализ ошибок из системы отслеживания
Приоритизация задач
Планирование спринта (2 недели)
5.1.2. Разработка
Создание ветки разработки в Git
Реализация функций/исправлений
Code review
Модульное тестирование
Интеграционное тестирование
5.1.3. Тестирование
Развертывание на тестовом окружении
Функциональное тестирование
Регрессионное тестирование
Нагрузочное тестирование
UAT (User Acceptance Testing)
5.1.4. Развертывание
Подготовка release notes
Создание резервной копии production
Развертывание в нерабочее время
Smoke testing
Мониторинг в течение 24 часов
5.2. Версионирование
Формат: MAJOR.MINOR.PATCH
MAJOR (1.x.x): Несовместимые изменения API
MINOR (x.1.x): Новые функции (обратная совместимость)
PATCH (x.x.1): Исправления ошибок
Пример:
v1.0.0 - Первый релиз
v1.1.0 - Добавлен новый модуль
v1.1.1 - Исправлены ошибки
5.3. Миграция данных при обновлениях
Процесс миграции:
Резервное копирование: bash docker compose exec -T database pg_dump -U postgres gazobeton > backup_pre_update.sql
Применение миграций: bash docker compose exec backend php artisan migrate --force
Верификация: bash docker compose exec database psql -U postgres -d gazobeton -c "\dt"
Откат при ошибках: bash docker compose exec -T database psql -U postgres -d gazobeton < backup_pre_update.sql
5.4. Процесс совершенствования
5.4.1. Сбор обратной связи
Опросы пользователей (ежеквартально)
Анализ метрик использования
Встречи с ключевыми пользователями
Мониторинг форумов и социальных сетей
5.4.2. Анализ производительности
Мониторинг времени ответа API
Анализ использования ресурсов
Проверка точности ML-моделей
Анализ логов ошибок
5.4.3. Приоритизация улучшений
Критические ошибки
Запросы от премиум-клиентов
Популярные запросы функций
Технический долг
Инновационные функции
6. ПЕРСОНАЛ ПОДДЕРЖКИ
6.1. Состав команды сопровождения
6.1.1. Менеджер проекта
Обязанности:
Координация процессов поддержки
Взаимодействие с заказчиком
Планирование обновлений
Контроль выполнения SLA
Отчетность
Требования:
Опыт управления IT-проектами: 3+ года
Знание методологий Agile/Scrum
Навыки коммуникации
Время работы: Полная занятость
6.1.2. Системный администратор
Обязанности:
Мониторинг работоспособности системы
Управление серверной инфраструктурой
Резервное копирование
Восстановление после сбоев
Настройка сетевой инфраструктуры
Требования:
Опыт работы с Linux: 2+ года
Знание Docker и Docker Compose
Навыки работы с PostgreSQL
Знание Nginx
Время работы: Полная занятость + дежурства
6.1.3. Backend разработчик
Обязанности:
Исправление ошибок в Laravel API
Разработка новых функций backend
Оптимизация запросов к БД
Интеграция с внешними системами
Code review
Требования:
Опыт работы с Laravel/PHP: 2+ года
Знание PostgreSQL
Навыки REST API
Git
Время работы: Частичная занятость (30%)
6.1.4. Frontend разработчик
Обязанности:
Исправление ошибок в React приложении
Разработка новых компонентов UI
Оптимизация производительности
Адаптация под различные устройства
Обновление зависимостей
Требования:
Опыт работы с React/TypeScript: 2+ года
Знание Material-UI
Навыки Redux
Responsive design
Время работы: Частичная занятость (30%)
6.1.5. Data Scientist / ML-специалист
Обязанности:
Обучение и настройка ML-моделей
Анализ качества прогнозов
Оптимизация параметров моделей
Разработка новых моделей
Консультации по интерпретации результатов
Требования:
Опыт работы с ML: 2+ года
Знание CatBoost, LightGBM, RandomForest
Python, Pandas, scikit-learn
Понимание метрик качества моделей
Время работы: Частичная занятость (20%)
6.1.6. QA Engineer (Тестировщик)
Обязанности:
Тестирование новых версий
Регрессионное тестирование
Создание тест-кейсов
Автоматизация тестирования
Контроль качества релизов
Требования:
Опыт тестирования веб-приложений: 1+ год
Знание методологий тестирования
Навыки автоматизации (желательно)
Время работы: Частичная занятость (40%)
6.2. Квалификация специалистов
Обязательные навыки:
Все специалисты: - Понимание бизнес-процессов производства газобетона - Знание системы “Система предиктивной аналитики производственных параметров для заводов по производству газобетона” - Навыки работы с системой контроля версий Git - Английский язык (технический)
Технические специалисты: - Docker и контейнеризация - Linux администрирование - SQL и реляционные БД - Troubleshooting
6.3. Обучение персонала
6.3.1. Начальное обучение
Срок: 2 недели
Программа:
Введение в систему “Система предиктивной аналитики производственных параметров для заводов по производству газобетона” (4 часа)
Архитектура и технологии (8 часов)
Установка и конфигурирование (8 часов)
Работа с пользовательским интерфейсом (4 часа)
Диагностика проблем (8 часов)
Практические задания (16 часов)
6.3.2. Периодическое обучение
Периодичность: Ежеквартально
Темы:
Новые функции системы
Изменения в архитектуре
Лучшие практики поддержки
Разбор сложных кейсов
6.3.3. Сертификация
Сертификация администраторов (ежегодно)
Сертификация специалистов поддержки (ежегодно)
Повышение квалификации по ML (раз в полгода)
6.4. Инструменты команды поддержки
6.4.1. Система отслеживания обращений
Регистрация всех обращений
Отслеживание статуса
База знаний решений
Статистика и отчеты
6.4.2. Мониторинг
Мониторинг доступности системы
Алерты при критических событиях
Метрики производительности
Логирование действий пользователей
6.4.3. Документация
Техническая документация
API документация
Руководства пользователя
База знаний (Wiki)
6.5. График дежурств
Рабочее время (Пн-Пт 9:00-18:00 МСК)
L1 поддержка: 1 специалист
L2 поддержка: 1 специалист (on-call)
Системный администратор: 1 специалист
Нерабочее время
Дежурный администратор: on-call (для критических инцидентов)
Время реагирования: 30 минут
Выходные и праздники
Дежурство: По графику
Только критические инциденты
7. КОНТРОЛЬ КАЧЕСТВА ПОДДЕРЖКИ
7.1. Метрики эффективности
7.1.1. Операционные метрики
Среднее время первого ответа - Целевое значение: < 2 часов - Измерение: Ежедневно
Среднее время решения - Целевое значение: < 24 часов - Измерение: Еженедельно
Процент решенных с первого обращения - Целевое значение: > 70% - Измерение: Ежемесячно
7.1.2. Метрики качества
Удовлетворенность пользователей - Целевое значение: > 4.5/5 - Измерение: После каждого обращения
Количество повторных обращений - Целевое значение: < 10% - Измерение: Ежемесячно
Доступность системы (Uptime) - Целевое значение: > 99.5% - Измерение: Постоянно
7.2. Отчетность
7.2.1. Ежедневные отчеты
Количество новых обращений
Критические инциденты
Статус выполнения SLA
7.2.2. Еженедельные отчеты
Статистика обращений по категориям
Топ проблем
Время решения по уровням
Загруженность специалистов
7.2.3. Ежемесячные отчеты
Анализ трендов
Метрики качества
Рекомендации по улучшению
Планы на следующий месяц
7.3. Постоянное улучшение
7.3.1. Анализ обращений
Выявление повторяющихся проблем
Анализ причин
Разработка превентивных мер
Обновление документации
7.3.2. Обновление базы знаний
Документирование решений
Создание FAQ
Обучающие материалы
Видео-инструкции
7.3.3. Автоматизация
Автоматические проверки здоровья системы
Скрипты диагностики
Автоматическое резервное копирование
Автоматические алерты
8. ЭСКАЛАЦИЯ ПРОБЛЕМ
8.1. Уровни эскалации
Уровень 1: L1 Support
Критерии эскалации на L2:
Невозможность решить в течение 2 часов
Требуется доступ к серверу
Требуется изменение конфигурации
Технически сложная проблема
Уровень 2: L2 Support
Критерии эскалации на L3:
Невозможность решить в течение 8 часов
Требуется изменение кода
Архитектурная проблема
Критический баг
Уровень 3: Development Team
Критерии эскалации на Management:
Требуется принятие бизнес-решений
Выход за рамки текущего функционала
Критический инцидент с финансовыми последствиями
8.2. Процедура эскалации
9. ВЗАИМОДЕЙСТВИЕ С ЗАКАЗЧИКОМ
9.1. Регулярные встречи
9.1.1. Еженедельные статус-коллы
Участники: Менеджер проекта, Представитель заказчика
Длительность: 30 минут
Повестка: - Текущие обращения - Планируемые работы - Вопросы от заказчика
9.1.2. Ежемесячные обзорные встречи
Участники: Вся команда + руководство заказчика
Длительность: 1 час
Повестка: - Метрики за месяц - Статистика использования - Планы на следующий месяц - Обратная связь
9.2. Каналы связи
Основные:
Email: rezanovdv@mail.ru
Телефон: +7 (913) 377-70-83 (9:00-18:00 МСК)
Дополнительные:
Telegram: Группа технической поддержки
Веб-форма: https://gazobeton.tech/contact
Критические:
Телефон дежурного: +7 (913) 377-70-83 (24/7)
9.3. Обучение пользователей
9.3.1. Начальное обучение (при внедрении)
Программа (8 часов):
Введение в систему (1 час)
Работа с данными (2 часа)
Контроль качества (1 час)
Лабораторные исследования (1 час)
Аналитика и прогнозы (2 часа)
Практические задания (1 час)
9.3.2. Расширенное обучение
Программа (16 часов):
Все из начального обучения
Обучение ML-моделей (4 часа)
Оптимизация параметров (2 часа)
Администрирование системы (2 часа)
9.3.3. Обучение новых сотрудников
Доступ к видео-материалам
Онлайн-консультации (до 2 часов)
Руководство пользователя
10. ДОКУМЕНТАЦИЯ
10.1. Обязательная документация
10.1.1. Для пользователей
Руководство пользователя
Краткое руководство (Quick Start)
FAQ (Часто задаваемые вопросы)
Видео-инструкции
10.1.2. Для администраторов
Инструкция по установке
Руководство администратора
Инструкции по резервному копированию
Troubleshooting guide
10.1.3. Для разработчиков
Техническая документация
API документация
Архитектура системы
Руководство по разработке
10.2. Актуализация документации
Периодичность: При каждом обновлении
Ответственный: Технический писатель
Контроль версий: Git
Публикация: На сайте в течение 2 дней после релиза
ПРИЛОЖЕНИЯ
Приложение A: Контрольные списки
Чеклист развертывания обновления
Уведомление заказчика (за 7 дней)
Создание резервной копии БД
Создание резервной копии storage
Тестирование на тестовом окружении
Согласование времени обновления
Остановка контейнеров
Обновление кода (git pull)
Пересборка образов (docker compose build)
Запуск контейнеров
Применение миграций
Smoke testing
Уведомление о завершении
Мониторинг в течение 24 часов
Чеклист реагирования на критический инцидент
Оценка масштаба проблемы
Немедленное уведомление заказчика
Сбор диагностической информации
Изоляция проблемы
Применение временного решения (workaround)
Разработка постоянного исправления
Тестирование исправления
Развертывание
Верификация решения
Составление отчета об инциденте (RCA)
Разработка превентивных мер
Приложение B: Контактная информация
Команда поддержки
Email: rezanovdv@mail.ru
Телефон: +7 (913) 377-70-83
Адрес: Россия, г. Новосибирск, ул. Планетная 30, к. 1а
Рабочие часы: Пн-Пт 9:00-18:00 (МСК)
Критические инциденты: 24/7
Репозиторий
GitHub: https://github.com/smartcontrolsoft-lab/gazobeton-docker3
Issues: https://github.com/smartcontrolsoft-lab/gazobeton-docker3/issues