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

Рефакторинг компонентов


Рефакторинг получил развитие в  объектно–ориентированном программировании [2] в связи с применением шаблонов проектирования,  методов улучшения кода и структуры объектно–ориентированных программ. Были разработаны целые библиотеки типичных трансформаций искомых объектов (классов), которые улучшают те или другие характеристики. Он вошел в компонентное программирование и   базируется  на типичной структуре,  модели компонента и ориентирован  на изменении не только компонентов, а и их интерфейсов.

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

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

Процессы  рефакторинга могут быть разными, их главная цель –  получение новых компонентов, однозначно идентифицированных, и включающих  в себя следующие  операции  над компонентами и интерфейсами по организации проведения изменений:

– добавление новой реализации для существующего и нового интерфейса;

– замена существующей реализации новой с эквивалентной функциональностью;

– добавление нового интерфейса (при условии наличия соответствующей реализации);

– расширение существующего интерфейса;

– расширение интерфейса для новых системных сервисов в компонентной среде.

Каждая операция рефакторинга является  базовой, атомарной функцией преобразования, которая сохраняет целостность компонента. Под целостностью компонента

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

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

Операции над компонентами должны  удовлетворять следующим условиям:

– объект, полученный в результате рефакторинга является  компонентом с соответствующими  свойствами, характеристиками и типичной структурой;

– операция не изменяют  функциональность, то есть новый компонент может примениться в раннее  построенных компонентных системах;

– перестройки  или переделки компонентов, а иногда и перепрограммирования в случае реверсной инженерии [4, 5].



Содержание раздела