На главную страницу AlgoNet В сотрудничестве с ZDNet
АРХИВ СТАТЕЙ 2003-4-22 на главную / новости от 2003-4-22
AlgoNet.ru
поиск

 

Место для Вашей рекламы!

 

Все новости от 22 апреля 2003 г.

Модификация ПО

Я не открою Америку, если скажу, что сопровождение программ — это трудоемкий и длительный процесс. Для программистов он означает копание в чужом, плохо структурированном коде, латание “дыр” и постепенное отставание от современных технологий.

Для руководителей — это постоянная головная боль от звонков пользователей, напоминание об ошибках, требовавших исправления еще в прошлой версии, трудности с оценкой текущего состояния дел и прогнозом на будущее.

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

Термин сопровождение ПО определяется IEEE как “процесс модификации программной системы или ее компонентов, проводимый после поставки системы заказчику с целью устранения отказов, повышения производительности или улучшения других характеристик системы или адаптации к изменившемуся программному окружению”*.

Выделяют следующие направления сопровождения**:

  • корректирующее;

  • улучшающее;

  • адаптивное.

Корректирующее сопровождение — это исправление ошибок, выявленных при тестировании или эксплуатации. Пользователи ожидают от разработчиков оперативного исправления найденных в процессе работы “жучков” и бывают очень недовольны, если их замечания теряются. Поэтому именно корректирующему сопровождению уделяется особое внимание.

Улучшающее сопровождение — это добавление в продукт новых функций. Запросы на их включение обычно также исходят от пользователей, но и аналитики не остаются в стороне, выдавая заявки на доработку системы.

Адаптивное сопровождение — это внесение изменений для поддержки новых программных и аппаратных средств. Изменения в интерфейсе отдельных компонентов системы или структуры данных влекут за собой переделку части системы для возвращения ей работоспособного состояния. Но при этом функциональность не нуждается в расширении. Программа лишь должна выполнять старые функции в новых условиях или в новом окружении.

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

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

Как этот процесс поставлен, сколько у него бюрократических инстанций и каковы трудоемкость и стоимость прохождения каждого шага и поддержки процесса в целом — все это определяет общую стоимость сопровождения в конкретной компании.

Процесс управления запросами на изменение (CRM — Change Request Management) представляет собой целый цикл работ по регистрации, отслеживанию, анализу запроса, принятию по нему решения, реализации, проверке и закрытию. Реализация CRM требует принятия ряда решений руководителями различных подразделений и обмена информацией между заинтересованными лицами о поставленных задачах и произведенных работах.

Одним из вариантов поддержки этого процесса будет его реализация при помощи внутренних регламентов организации, но при этом нельзя забывать, что для отслеживания их выполнения необходимо затрачивать дополнительные ресурсы. И все равно никто не гарантирует точного их соблюдения, ведь так велико искушение немного отступить от правил.

* IEEE Standard 610.12:1990, Glossary of Software Engineering Terminology.

** Крачтен Ф. (Philippe Kruchten), Концепция циклов сопровождения ПО в методологии RUP компании Rational Software.

 

← март 2003 16  17  18  21  22  23  24  25  26 май 2003 →
Реклама!
 

 

Место для Вашей рекламы!