Сопровождение программного обеспечения

15.06.2021


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

Сопровождение программного обеспечения стандартизовано, имеются национальные стандарты Российской Федерации, идентичные международным (ISO/IEC 12207:2008 System and software engineering — Software life cycle processes, ГОСТ Р ИСО/МЭК 12207-2010 «Национальный стандарт Российской Федерации. Информационная технология. Системная и программная инженерия. Процессы жизненного цикла программных средств»; ISO/IEC 14764:99 Information tehnology — Software maintenance, ГОСТ Р ИСО/МЭК 14764-2002 «Государственный стандарт Российской Федерации. Информационная технология. Сопровождение программных средств»; IEEE 1219).

Границы применимости

Существуют две точки зрения на границы применимости термина «сопровождение ПО»:

  • Сопровождение автоматизированных информационных систем не выделяется из сопровождения любого другого ПО.
  • Сопровождение ПО не включает сопровождение автоматизированных информационных систем (АИС), так как сопровождение последних имеет существенные отличия.
  • Согласно ГОСТ 34.601-90 «Государственный стандарт Союза ССР. Информационная технология. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Стадии создания» (переиздание — июнь 1997 года) стадия создания автоматизированной системы «сопровождение автоматизированной системы» включает два этапа работ: 1) «выполнение работ в соответствии с гарантийными обязательствами», 2)"послегарантийное обслуживание".

    Имеются две разных точки зрения на границы применимости терминов «сопровождение ПО» и «поддержка ПО».

  • Эти два термина — синонимы.
  • Это два разных термина. Сопровождение ПО осуществляется сопроводителем. Сопроводителем может быть внешняя организация или же сама та организация (её отдел, отдельный сотрудник), которая использует ПО в своей работе. Поддержка осуществляется исключительно сотрудниками отдела той организации, которая использует ПО в своей работе (эта организация называется «заказчик» ISO/IEC 14764:99). Это менее квалифицированные специалисты, чем сопроводители, а потому они не выполняют полностью тех работ, которые предусмотрены ISO/IEC 14764:99. Например, сотрудники отдела поддержки не выполняют работы по обнаружению и корректировке скрытых ошибок для предотвращения явного проявления этих ошибок.
  • В модели водопада, называемой также «каскадная модель жизненного цикла» или «каскадная модель жизненного цикла с обратными связями» (см. Мезенцев К. Н. Автоматизированные информационные системы: учебник. М.: Издат. центр «Академия», 2013, с. 57-58), сопровождение ПО выделяется в отдельную фазу жизненного цикла.

    В спиральной модели, возникшей в ходе развития объектно-ориентированного программирования, сопровождение не выделяется как отдельный этап. Тем не менее, эта деятельность занимает значительное место, учитывая тот факт, что обычно около 2/3 жизненного цикла программных систем занимает сопровождение. «Сопровождение программного средства может в стоимостном выражении составлять наибольшую часть жизненного цикла»(ISO/IEC 14764:99).

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

    • для устранения ошибок;
    • для модификации в соответствии с изменяющимися потребностями пользователей.

    «Характеристики, описывающие качественные и количественные требования к сопровождаемости программного средства, устанавливает заказчик. В данных характеристиках должны быть установлены соответствующие критерии и способы их проверки… Разработчики должны реализовывать требования к сопровождаемости, а сопроводители должны контролировать их реализацию»(ISO/IEC 14764:99).

    Структура ИТ-сопровождения.

    Принято выделять несколько линий сопровождения (структура приведена на примере внешнего сопровождения ПО):

    • 0 линия (call-center, информационный центр, горячая линия) — обработка телефонных обращений от клиентов, передача обращений техническим специалистам (1-я линия сопровождения)
    • 1 линия (инженер по сопровождению, инженер технической поддержки, support engineer) — консультация/настройка/устранение ошибок в работе ПО/наполнение базы знаний, составление мануалов
    • 2 линия (инженер по сопровождению, инженер технической поддержки, support engineer) — функциональное сопровождение/проектная деятельность на этапе запуска ПО на машинах заказчика
    • 3 линия (инженер по сопровождению, инженер технической поддержки, support engineer) — системное сопровождение/проектная деятельность на этапе запуска ПО на оборудовании заказчика

    Работу инженера по сопровождению ошибочно сравнивают с работой информационного центра. Однако по функционалу эти специалисты принципиально различаются — если call-center фактически аккумулирует обращения пользователей, то сопровождение является центральным звеном в цепочке разработки и доработки ПО, которое решает проблемы, возникающие в период эксплуатации ПО (системы, сервиса).