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

       

Методы внесения изменений в компоненты и в ПС


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

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

Типичными причинами внесения изменений являются:

–         выявление дефектов в  системе во время эксплуатации, которые не были обнаружены на этапе тестирования;

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

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

Как утверждают эксперты, процесс внесения изменений в эксплуатируемую систему достаточно дорогой, оценки его стоимости достигают от 60 % до 80 % от общей стоимости разработки системы.

 

К видам сопровождения относятся:

–        корректировка – внесение изменений в ПС для устранения ошибок, которые были найдены после передачи системы в эксплуатацию;

–        адаптация продукта к измененным условиям (аппаратуре нового типа) использования системы после ее передачи в эксплуатацию;

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

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


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

В общем,  процесс  изменения ПС проводятся путем:



– анализа исходного кода для  внесения в него изменений;

– настройки  компонентов и  системы на новые  платформы;

– кодирования и декодирование данных при переходе с одной платформы на другую;

– изменения функций  системы или добавления новых; 

– расширения возможностей (сервиса, мобильности и др.) компонентов;

– преобразования структуры  системы или  отдельных ее компонентов.

Сущность всех видов изменений  в  один компонент и совокупности компонентов  ПС  направлена   на  придание старой ПС  нового  назначения и определения условий применения.

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

Процесс обновления компонента включает в себя [14–20]:

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

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

–  реверсная инженерия, цель которой – перестройки  или полная переделки компонентов, а иногда и перепрограммирование системы в новый ЯП.






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