Поддержка жизненного цикла ПО

Документация, содержащая описание процессов, обеспечивающих поддержание жизненного цикла программного обеспечения "Система предиктивной аналитики производственных параметров для заводов по производству газобетона", включая техническую поддержку, устранение неисправностей и совершенствование системы

Документация поддержки жизненного цикла

Документ содержит подробное описание процессов технической поддержки пользователей, процедур устранения неисправностей, регламентов обновления системы, а также требования к персоналу, необходимому для обеспечения эффективной поддержки системы 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