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

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

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

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