Процессы жизненного цикла, поддержка и обслуживание ПО

Процессы жизненного цикла, поддержка и обслуживание ПО

Описание жизненного цикла, поддержки и обслуживания программного обеспечения «ИДГОС»

ПО «ИДГОС» является веб-сервисом для формирования и подписания документов с использованием квалифицированной электронной подписи через интеграцию с Единой системой идентификации и аутентификации (ЕСИА) портала Госуслуг с применением средств криптографической защиты информации «КриптоПро». Жизненный цикл ПО построен с учётом требований к надёжности, безопасности и соответствию нормативной базе РФ (152-ФЗ, приказы Минцифры, требования ФСТЭК).

1. Процессы жизненного цикла программного обеспечения

Жизненный цикл ПО «ИДГОС» включает в себя следующие основные стадии:

  1. планирование;
  2. реализация;
  3. внедрение и сопровождение;
  4. устранение неисправностей;
  5. оценка запросов на модернизацию;
  6. совершенствование сервиса;
  7. вывод из эксплуатации.

2. Планирование

2.1. Этапы стадии «Планирование»:

  1. решение о необходимости разработки или модификации принимается на основании анализа требований рынка, потребностей пользователей, оценки экономической и стратегической целесообразности обновления текущей версии, анализа деятельности конкурентов;
  2. проработка бизнес-плана, разработка и документирование предложений по разработке и модификации, определяющих требования, состав работ и сроки реализации, а также стоимость разработки и модификации, прогнозируемый размер прибыли;
  3. разработка стратегии вывода на рынок, определение и согласование всех аспектов разработки и модификации, связанных с продажей, включая маркетинговые мероприятия (реклама, продвижение), цену, получение всех необходимых документов;
  4. разработка технического задания:
    • формируется и систематизируется список требований, выявляются взаимосвязи, документируются процессы;
    • анализируются требования корректности и прозрачности;
    • формируются функциональные и стабилизационные требования;
    • определяются приоритеты реализации требований, утверждаются и обновляются требования по мере необходимости (модификация, новая функциональность сервиса);
    • оцениваются изменения с точки зрения стоимости и сроков выполнения работ;
    • оценка трудозатрат и требуемых ресурсов для выполнения работ, регламентируемых лицензионным соглашением, работ, а также формирование процедур отказоустойчивости (установка, лицензирование, обновление, сроки действия, отзыв, перевыпуск).

3. Реализация

3.1. Этапы стадии «Реализация»:

  1. Проектирование архитектуры проекта, разработка структуры таблиц БД, проектирование алгоритмов внутреннего шифрования. Выработка требований к структуре данных.
  2. Создание основного кода ядра системы.
  3. Создание основной маршрутизации (Endpoint).
  4. Разработка и написание стресс-тестов для проверки и контроля стрессоустойчивости частей системы под нагрузкой.
  5. Комплексное тестирование системы перед первым запуском:
    • Тестирование связи внешних контуров непубличных сервисов (ЕСИА, КриптоПро, биллинговые системы);
    • Нагрузочное тестирование базовых сценариев работы функционала;
    • Экстремальное нагрузочное тестирование отказоустойчивости систем;
    • Тестирование реакции сервиса на отказы (падения) различных частей системы как внутри контура, так и за его пределами.
  6. Интеграция и тестирование сервиса в целом на тестовом стенде;
  7. Проведение приемочных испытаний руководителем проекта;
  8. Первоначальный запуск системы с ограниченным количеством одобренных участников.
  9. Перевод системы «ИДГОС» в штатную эксплуатацию.

3.2. Персонал, задействованный на стадии «Реализация»:

  • руководитель проекта;
  • администратор веб-сервера;
  • системный аналитик;
  • разработчик на языках JavaScript, PHP, Python;
  • специалист по тестированию;
  • специалист по сопровождению проекта;

4. Внедрение и сопровождение

4.1. Этапы стадии «Внедрение и сопровождение»:

  1. размещение в сети Интернет новой/модифицированной версии, внедрение всех определённых на начальных стадиях жизненного цикла маркетинговых мероприятий в соответствии со стратегией;
  2. обучение специалистов по поддержке и сопровождению;
  3. обновление версии для поддержания работоспособности сервиса на стороне пользователей, формирование специальной электронной почты для обращений клиентов по вопросам установки и работы приложения;
  4. обратная связь с пользователями, которая включает анализ сбоев в процессе эксплуатации, определение приоритетов устранения неисправностей.

5. Устранение неисправностей программного обеспечения

В случае обнаружения ошибок в работе ПО, которые являются нарушением требований ТЗ или противоречат порядку работы ПО, описанному в документации, администратор ПО должен направить заявку в службу технической поддержки (СТП) организации, проводившей работы по внедрению ПО. СТП организации, внедрившей ПО, проверяет, при необходимости уточняет полученную заявку и пытается выполнить ее, используя собственные ресурсы и знания.

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

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

После устранения неисправности разработчики ПО выпускают обновление к текущей версии ПО или включают исправление в следующую версию ПО. Информация о наличии обновления или новой версии ПО доводится до партнеров производителя ПО. В случае наличия у заказчика контракта или договора на поддержку ПО, заказчик имеет право на получение обновления ПО.

6. Мониторинг и отказоустойчивость

  1. круглосуточный мониторинг доступности сервиса «ИДГОС» и внешних зависимостей;
  2. автоматическое оповещение ответственных лиц при превышении пороговых значений времени ответа или частоты ошибок;
  3. наличие резервных каналов связи с пользователями;
  4. регламент переключения на резервные мощности при аппаратных сбоях;
  5. ежемесячная проверка работоспособности процедуры восстановления из резервной копии;
  6. мониторинг сроков действия сертификатов ЭП и лицензий КриптоПро с заблаговременным уведомлением (не менее чем за 30 дней до истечения).

7. Оценка запросов на модернизацию

7.1. Оценка запросов на модернизацию содержит следующие этапы:

  1. анализ результатов, полученных при эксплуатации, оценка производительности сервиса «ИДГОС», выявление несоответствий и возможностей для совершенствования на базе информации от пользователей, получение от них пожеланий по доработке и определение приоритетов реализации новых требований;
  2. обновление сервиса «ИДГОС»;
  3. анализ проблем в работе сервиса и/или требований пользователей о выпуске последующих вариантов или версий, оценка критичности запроса на модернизацию с точки зрения пользователя:
    • критично для функциональности;
    • трудности при эксплуатации;
    • желательно доработать.

8. Совершенствование сервиса

8.1. Этапы стадии «Совершенствование сервиса»:

  1. разработка стратегии совершенствования сервиса, входными данными для разработки стратегии являются требования по совершенствованию, формируемые на основании изменений и траектории развития сервиса «ИДГОС», а также потребностей пользователей (обращение пользователей в службу технической поддержки, обращения от организаций-партнеров, тенденции развития пользовательских предпочтений и пр.);
  2. регистрация, идентификация и классификация требований по совершенствованию, при которой каждое зафиксированное требование классифицируется по категории и приоритету для облегчения анализа тенденций и эффективного использования ресурсов при реализации задач совершенствования;
  3. анализ и оценка зарегистрированных требований для реализации в рамках совершенствования, при которой инициируются необходимые действия в соответствии с категорией и приоритетом, проводится регулярный (ежеквартально) анализ, на основании которого определяются требования к реализации, а затем начинается очередной цикл в рамках процесса совершенствования;
  4. реализация требований и отслеживание их вплоть до завершения реализации, при реализации требований совершенствования выполняются процессы планирования и реализации.

8.2. Персонал, задействованный на стадии «Совершенствование сервиса»:

  • руководитель проекта;
  • системный аналитик;
  • разработчик на языках JavaScript и PHP;
  • специалист по тестированию;
  • специалист по сопровождению проекта;

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

9.1. Этапы стадии «Вывод из эксплуатации»:

  1. выявление экономической или стратегической нецелесообразности наличия;
  2. изъятие сервиса «ИДГОС» из сети Интернет (или прекращение доступа к сервису);
  3. архивирование исходного кода и объектного кода ПО в системе контроля версий с обеспечением сохранности;
  4. блокировка (аннулирование) записей в административной панели;
  5. уведомление о прекращении оказания услуг;
  6. отзыв сертификатов интеграции с ЕСИА.

10. Документация по сопровождению жизненного цикла

В рамках поддержания жизненного цикла ПО «ИДГОС» разрабатывается и поддерживается следующая документация:

  1. документация, содержащая описание функциональных характеристик программного обеспечения и информацию, необходимую для установки и эксплуатации программного обеспечения (руководство администратора, руководство пользователя).
  2. документация, содержащая описание процессов, обеспечивающих поддержание жизненного цикла программного обеспечения, в том числе:
    • процесс устранения неисправностей, выявленных в ходе эксплуатации;
    • процесс совершенствования программного обеспечения;
    • информацию о персонале, необходимом для обеспечения такой поддержки;
    • политика резервного копирования и восстановления данных.
  3. документация, содержащая описание технических средств хранения исходного текста и объектного кода программного обеспечения, а также технических средств компиляции исходного текста в объектный код программного обеспечения (система контроля версий Git, среда разработки, инструменты сборки).

11. Требования к персоналу

К эксплуатации ПО «ИДГОС» допускаются лица, ознакомившиеся с эксплуатационной документацией на ПО «ИДГОС», эксплуатационной документацией на аппаратное обеспечение, которое используется совместно с ПО «ИДГОС», и имеющие практические навыки работы с указанным программным и аппаратным обеспечением. Для эксплуатации ПО «ИДГОС» может привлекаться штатный персонал Заказчика либо организаций-подрядчиков, предоставляющих услуги по обслуживанию ПО на договорной основе.

Разработчик ПО «ИДГОС» должен иметь навыки:

  • кроссбраузерной и адаптивной вёрстки;
  • программирования на JavaScript, PHP7 и PHP8;
  • использования библиотеки React JS;
  • опыт интеграции с внешними API.

Администратор ПО «ИДГОС» должен иметь навыки:

  • администрирования ОС Linux Debian;
  • администрирования СУБД PostgreSQL;
  • администрирования HTTP-сервера Nginx;
  • настройка и мониторинг TLS-сертификатов;
  • опыт работы с логами и системами мониторинга;
  • установка и настройка КриптоПро CSP на серверах Linux.