Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРАКТИЧЕСКИЕ РАБОТЫ ПО ОСНОВАМ ИНЖЕНЕРИИ.doc
Скачиваний:
133
Добавлен:
09.02.2016
Размер:
1.51 Mб
Скачать

2.7. Сопровождение и продолжающаяся разработка

Сопровождение программного продукта включает в себя все действия, выполняемые с приложением после поставки продукта заказчику.

Сопровождение программы - это процесс изменения программной системы или компо­нента после поставки с целью исправления ошибок, повышения производительности или иных параметров, а также для адаптации к изменившимся условиям.

По различным оценкам сопровождение программы составляет от 40% до 90% стоимости всего жизненного цикла приложения. Можно возразить, что в указанное выше определе­ние сопровождения включены усовершенствования, которые лучше было бы считать про­должающейся разработкой.

Продолжающаяся разработка - это разработка новых и переработка имеющихся функ­ций программы в процессе эксплуатации.

В любом случае, объем работ по сопровождению программ обычно достаточно велик. Было подмечено любая программа, адаптацией которой к изменяющимся условиям никто не занимается, с течением времени неизбежно теряет свою ценность. Другими словами, если приложение остается неизменным, польза от него постепенно убывает. Чтобы представить, какие проблемы возникают при сопровождении программ, вообразите приложение настолько большое, что ни один человек не может знать всех его функций и особенностей. Большую проблему в сопровождении таких программ создает эффект «ря­би», возникающей при внесении изменений. Когда множество относительно безвредных изменений производятся одновременно в «удаленных уголках» больших приложений, эти изменения могут приводить к повреждению приложения как целого.

Можно упорядочить проблемы, связанные с сопровождением программ, разделив их на три категории.

  • Проблемы управления: трудность выявления прибыли на инвестированный капи­тал.

  • Проблемы обработки: для обслуживания потока запросов на сопровождение требу­ется жесткая координация.

  • Проблемы технического характера: трудность учета всех результатов изменений; высокая стоимость тестирования по сравнению с пользой от отдельных изменений.

Следует различать работы по сопровождению, направленные на устранение дефектов (fixing) и на усовершенствование (enhancing) приложения. Различные исследования пока­зали, что 60-80% работ обычно относится к усовершенствованию приложения, а не к ис­правлению его недостатков.

Последовательность обработки запросов на сопровождение состоит из анализа, проекти­рования, реализации и тестирования, точно так же, как и обычная разработка. Существен­ным отличием является необходимость анализа влияния изменений на артефакты. Соглас­но исследованию Вейсса, 19% дефектов в приложениях образуются на этапе определения требований, 52% — на этапе проектирования и лишь 7% — в процессе программирования. Многие другие авторы утверждают, что доля дефектов, вызванных неправильной форму­лировкой требований, должна быть еще выше и составляет до 30%.

В то же время практика показывает, что стоимости устранения дефектов, допущенных при разработке требований, при проектировании и при реализации относятся как 10 : 3 : 1. Это эффект нетрудно объяснить: устранение ошибки в требованиях повлечет изменение всех артефактов проекта. Устранение ошибки кодирования потребует изменить лишь один программный модуль.