Методы внесения изменений в компоненты и в ПС
Активное использование созданных ПС проводится на процессе сопровождения. При этом возникают разного рода ошибки, которые требуют внесения изменений после того, как ошибка обнаружена или возникла необходимость в улучшении и некоторых характеристик системы.
В отличие от технического обеспечения, которое с течением времени требует ремонта, программное обеспечение не "снашивается" и поэтому процесс сопровождения нацелен более всего на эволюцию системы, то есть не только на исправление ошибок, а и на замену ее отдельных функций и возможностей.
Типичными причинами внесения изменений являются:
– выявление дефектов в системе во время эксплуатации, которые не были обнаружены на этапе тестирования;
– выяснение несоответствия или невыполнения некоторых требований заказчика, благодаря чему система не выполняет отдельные функции;
– изменение условий заказчиком, которые предполагают корректировку ранее поставленных им требований.
Как утверждают эксперты, процесс внесения изменений в эксплуатируемую систему достаточно дорогой, оценки его стоимости достигают от 60 % до 80 % от общей стоимости разработки системы.
К видам сопровождения относятся:
– корректировка – внесение изменений в ПС для устранения ошибок, которые были найдены после передачи системы в эксплуатацию;
– адаптация продукта к измененным условиям (аппаратуре нового типа) использования системы после ее передачи в эксплуатацию;
– предупредительное сопровождение – деятельность, ориентированная на обеспечение адаптации системы к новым техническим возможностям.
Одна из проблем, влияющая на процесс внесения изменений, – это степень подготовки персонала, способного вносить необходимые изменения при возникновении определенных условий.
В связи с тем, что почти каждые 8–10 лет происходит смена архитектур компьютеров, ЯП и операционных сред, возникают проблемы сопровождения готовых ПС и их компонентов в новой среде или архитектуре, решение которых приводит к изменению либо обновлению отдельных элементов системы или системы полностью.
В общем, процесс изменения ПС проводятся путем:
– анализа исходного кода для внесения в него изменений;
– настройки компонентов и системы на новые платформы;
– кодирования и декодирование данных при переходе с одной платформы на другую;
– изменения функций системы или добавления новых;
– расширения возможностей (сервиса, мобильности и др.) компонентов;
– преобразования структуры системы или отдельных ее компонентов.
Сущность всех видов изменений в один компонент и совокупности компонентов ПС направлена на придание старой ПС нового назначения и определения условий применения.
Методы изменения ПС служат способом продления жизни наследуемых и стареющих программ. С теоретической точки зрения эти методы изучены недостаточно, а с практической точки зрения многие программисты решают задачи внесения изменений в ПС постоянно. Например, широкий круг специалистов охватила проблема 2000 года и ее решение мировым сообществом, а также создание современных оффшорных зон (Индия, Россия, Украина и др.) для систематической переделки функционирующих программ к новым возможностям ОС, языков и платформ современных компьютеров и т.п.
Процесс обновления компонента включает в себя [14–20]:
– реинженерию, целью которой является перепрограммирование отдельных компонентов с учетом новых ЯП и условий новых платформ и сред, а также расширение возможностей ПС;
– рефакторинг, в задачу которого входит изменение существующего компонента или его адаптация к новым условиям вместе с изменением его интерфейсов (добавление, расширение и т.д.) или изменения механизмов управления экземплярами компонентов (добавление новых функций) или системных сервисов;
– реверсная инженерия, цель которой – перестройки или полная переделки компонентов, а иногда и перепрограммирование системы в новый ЯП.