Описание жизненного цикла ПО


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

 
Процесс разработки


Программное обеспечение «Программа для бухгалтерского и управленческого учета» разрабатывается российской компанией ООО «ПИРИТ», расположенной по адресу: 195252, Россия, г. Санкт-Петербург, вн.тер.г. муниципальный округ Гражданка, пр-кт Науки, д. 30 к. 1 литера А, помещ. 21-н офис 2.

 
Жизненный цикл Платформы включает следующие основные стадии:

1. Развёртывание и ввод в эксплуатацию.

2. Эксплуатация.

3. Сопровождение.

4. Развитие (совершенствование).

5. Вывод из эксплуатации.


Организация поддержки


Поддержка ПО организуется на стороне поставщика по согласованному регламенту. В рамках поддержки обеспечивается:

• приём и регистрация обращений;

• классификация обращений по типам (консультация, ошибка, запрос на изменение);

• назначение ответственных;

• контроль сроков и информирование пользователя о статусе.

Каналы приёма обращений определяются клиентом: система тикетов ПО, электронная почта.
Для поддержания стабильной работы поставщик осуществляет регулярный контроль:

• состояния контейнеров и доступности сервисов;

• использования ресурсов (процессор, память, дисковое пространство);

• журналов ПО и инфраструктуры.

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

• e-mail: admin@pirit.site

• встроенную в ПО систему тикетов

Прием и обработка запросов осуществляется по рабочим дням с 10:00 до 18:00 по Московскому времени.
Штат сотрудников поддержки на стороне разработчика: 1 системный администратор, 1 инженер, 1 разработчик.

Устранение неисправностей

1. Сбор исходной информации

• описание проблемы пользователем (что выполнялось, что ожидалось, что получилось);

• время возникновения;

• роль пользователя и используемый браузер;

• при наличии — скриншоты сообщений и последовательность действий.

2. Первичная диагностика

• проверка доступности;

• проверка состояния сервисов;

• анализ журналов.

3. Локализация причины

• воспроизведение проблемы на тестовом стенде (при возможности);

• определение компонента, в котором возникла ошибка (интерфейс, база данных, инфраструктура);

• формирование гипотез и проверка.

4. Исправление

• исправление конфигурации или программного кода;

• подготовка обновления;

• проверка исправления.

5. Внедрение исправления

• установка исправления на эксплуатационном стенде;

• контроль работоспособности после внедрения;

• информирование пользователя.

Если требуется, применяются временные меры (обходной сценарий, ограничение операции, ручная корректировка данных) до выпуска исправления.

Развитие


Совершенствование ПО выполняется через управляемый процесс изменений:

• сбор запросов на изменение и улучшение;

• оценка влияния на текущий функционал и совместимость;

• планирование работ и приоритизация;

• реализация изменений и внутреннее тестирование;

• выпуск обновления и обновление документации.

При развитии ПО обеспечивается обратная совместимость интерфейсов и схем данных в пределах согласованной политики версионирования.
Платформа обновляется путём поставки новой версии исходных материалов и/или контейнерных компонентов с последующим применением установочных процедур. Обновление может включать:

• обновление программного кода;

• обновление зависимостей;

• изменение структуры базы данных;

• корректировки конфигурации.

Обновления выполняются по следующей схеме:

• Подготовка резервной копии данных.

• Развёртывание обновления на тестовом стенде.

• Проверка основных сценариев (авторизация, отображение карты, операции с объектами).

• Внедрение обновления на эксплуатационном стенде.

• Контроль работоспособности и анализ журналов.

Для обеспечения сохранности данных организуется регулярное резервное копирование:

• базы данных;

• пользовательских данных;

• конфигурации ПО (файлы окружения, настройки).


Требования к персоналу для обеспечения поддержки

Администратор (системный администратор)
Основные обязанности:

• подготовка сервера и контейнерной среды;

• развёртывание и обновление;

• мониторинг состояния сервисов и ресурсов;

• резервное копирование и восстановление;

• управление сетевым доступом и настройками безопасности.

Требуемая квалификация:

• навыки администрирования Linux или Windows;

• понимание работы контейнерной среды;

• базовые навыки диагностики сетевых проблем;

• опыт работы с базами данных на уровне эксплуатации.


Инженер поддержки
Основные обязанности:

• анализ обращений и воспроизведение проблем;

• диагностика по журналам;

• подготовка инструкций и рекомендаций;

• участие в тестировании обновлений.

Требуемая квалификация:

• понимание клиент‑серверных веб‑систем;

• навыки чтения журналов и анализа ошибок;

• базовые знания HTTP и API.


Разработчик (поддержка и развитие)
Основные обязанности:

• исправление дефектов в программном коде;

• разработка улучшений и расширений;

• поддержка совместимости и целостности данных;

• обновление документации при выпуске изменений.

Требуемая квалификация:

• опыт разработки на PHP и работы с серверными фреймворками;

• понимание архитектуры ПО;

• навыки работы с базами данных и миграциями.

Рекомендуемая схема взаимодействия:

• пользователь обращается к администратору или в систему заявок;

• администратор выполняет первичную проверку и при необходимости передаёт обращение инженеру поддержки;

• инженер поддержки локализует проблему; при необходимости эскалирует разработчику;

• системный администратор обеспечивает инфраструктурные действия (перезапуск, обновление, резервное копирование, восстановление).


Таким образом, специалисты ООО «ПИРИТ» обладают необходимым набором знаний для работы со всеми компонентами, входящими в состав ПО, при решении прикладных задач, соответствующих функционалу программы.