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

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Разработка программного обеспечения
Процесс разработки ПО
Шаги процесса

Анализ • Проектирование • Программирование • Документирование • Тестирование

Модели

Итеративная • Спиральная • Каскадная • V-Model • Dual Vee Model

Методологии

Agile (XP, Lean, Scrum, FDD и др.) • Cleanroom • OpenUP • RAD • RUP • MSF • DSDM • TDD

Сопутствующие дисциплины

Конфигурационное управление • Управление проектами • Управление требованиями

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

Сопровождение программного обеспечения стандартизовано, имеются национальные стандарты Российской Федерации, идентичные международным (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).
 Существуют две точки зрения на границы применимости термина "сопровождение ПО". 1.Сопровождение автоматизированных информационных систем не выделяется из сопровождения любого другого ПО. 2.Сопровождение ПО не включает сопровождение автоматизированных информационных систем (АИС), т.к. сопровождение последних имеет существенные отличия.
 Согласно ГОСТ 34.601-90 "Государственный стандарт Союза СССР. Информационная технология. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Стадии создания" (переиздание - июнь 1997 года) стадия создания автоматизированной системы "сопровождение автоматизированной системы" включает два этапа работ: 1) "выполнение работ в соответствии с гарантийными обязательствами", 2)"послегарантийное обслуживание".
  Имеются две разных точки зрения на границы применимости терминов "сопровождение ПО" и "поддержка ПО". 
  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 фактически аккумулирует обращения пользователей, то сопровождение является центральным звеном в цепочке разработки и доработки ПО, которое решает проблемы, возникающие в период эксплуатации ПО (системы, сервиса).

Ссылки[править | править вики-текст]