logo
ТППС / Магистры / ТППС-лаб

6. Еволюція програмних систем

Одна з основних причин того, що в цей час у великі складні системи усе ширше впроваджується програмне забезпечення, полягає в гнучкості програмних систем. Після ухвалення рішення про розробку і виробництво апаратних компонентів системи внесення в них змін стає досить дорогим. З іншого боку, у програмне забезпечення можна вносити зміни протягом усього процесу розробки системи. Ці зміни також можуть бути вкрай дорогими, але все-таки вони значно дешевше змін в апаратному устаткуванні системи.

Історично склалося так, що існує чітка “демаркаційна лінія” між процесом розробки системи і процесом її вдосконалювання, точніше, процесом супроводу системи. Розробка системи розглядається як творчий процес, починаючи з етапу вироблення загальної концепції системи і закінчуючи одержанням працюючого програмного продукту. Супровід системи ‒ це внесення змін у систему, яка вже знаходиться в експлуатації. І хоча вартість супроводу може в кілька раз перевищувати вартість розробки, однаково процес супроводу вважається менш творчим і відповідальним, чим процес первісного створення системи.

У цей час згадана демаркаційна лінія між процесами розробки і супроводу поступово стирається. Тільки деякі знову створені програмні системи можна назвати повністю новими. Тому має сенс розглядати процес супроводу як безперервне продовження процесу розробки. Замість двох окремих процесів раціонально прийняти еволюційний підхід інженерії програмного забезпечення, де програмні продукти протягом свого життєвого циклу безупинно змінюються (еволюціонують) у відповідь на зміни в системних вимогах і потребах користувачів. Схема цього еволюційного процесу програмних систем показана на рис. 1.13.

Рис. 1.13. Еволюція систем