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


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

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

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

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

В модели водопада, называемой также «каскадная модель жизненного цикла» или «каскадная модель жизненного цикла с обратными связями» (см. Мезенцев К. Н. Автоматизированные информационные системы: учебник. М.: Издат. центр «Академия», 2013, с. 57-58), сопровождение ПО выделяется в отдельную фазу жизненного цикла.

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