- •Характер кризи програмного забезпечення.
- •Характеристика змісту поняття «срібна пуля».
- •Роль і значення моделювання життєвого циклу.
- •4. Еволюційні моделі життєвого циклу.
- •Сутність програмної еволюції.
- •Складові досліджень програмної еволюції.
- •Супроводження програмного забезпечення, як осередок еволюції.
- •Складові супроводження.
- •Сутність, процеси та проблеми супроводження.
- •Межі та інтерфейси супроводження.
- •Модель процесів супроводження. Інженерія еволюції.
- •Методи еволюції программного забезпечення.
- •Базові поняття еволюції.
- •Властивості, механізми та наслідки еволюції.
- •Еволюція і програмне забезпечення – родові терміни.
- •Програми як моделі. Типи програм.
- •Теорія еволюції програмного забезпечення.
- •Закони Лемана.
- •Аналіз еволюції програмного забезпечення.
- •Моделювання еволюційних процесів.
- •Методи та засоби реалізації еволюційних процесів.
- •Еволюція відкритого версійного программного забезпечення.
- •Індекс супроводжуваності.
- •Модель зрілості супроводження програмного забезпечення (sммм).
- •Характеристика росту розміру та складності програмного забезпечення.
- •Розрахунок витрат на еволюцію програмного забезпечення.
- •Метрики супроводження програмного забезпечення.
- •Зворотна інженерія та ре інженерія програмного забезпечення.
- •Версійність програмного забезпечення.
- •Гнучкі технології.
Програми як моделі. Типи програм.
Поняття розміру програм є незадовільним в якості фундаментальної основи для вивчення еволюції програмного забезпечення. Для вирішення цих проблем, було запропоновано схему класифікації програм, де не було зв'язку з концепцією розміру. Спочатку це було визначено як програми типу S, Р, Е (1980 Lehman, 1982, Pfleeger 2001). Третій тип найбільш тісно пов'язаний з обговоренням еволюції програмного забезпечення. Хоча це і не визначальна властивість, було показано, як неминуче для цього класу програм, щоб користувачі залишались задоволені результатами її використання. Згодом стало ясно, що класифікація в рівній мірі має відношення до комп'ютерними додатками, доменів додатків, додатків і обчислювальних систем і так далі (Lehman, 1991).
S-програми
Програма визначається як тип S, якщо може бути доведено, що вона задовольняє необхідні і достатні умови, що правильні в повному математичному сенсі відносно попередньо вказаних формальних специфікацій (Lehman 1980, 1982). Таким чином, демонстрація, за допомогою доказів, що вона задовольняє специфікаціям, достатня для прийняття програми. Доказ показує, що властивості програми задовольняють специфікації в повному обсязі. Такі перевірки достатні для прийнятності програми, якщо специфікація задовольняє передбачуваних користувачів і відповідає їх вимогам. Тобто, специфікація буде були затверджені і прийняті. Позначення S застосовується до S-типу системи, щоб вказати роль специфікації у визначенні властивостей продукту.
E-програми. Програми типу Е були спочатку визначені як «програми, які механізують людей або соціальну діяльність» (Lehman 1980). Визначення потім було змінено, щоб включити всі програми, які «працюють у зверненні до вирішення проблеми або активності реального світу». Ключовою властивістю цього типу є те, що система стає невід'ємною частиною з областей, в яких вона працює і до яких звертається. Вона повинна відображати в собі всі ті властивості доменів, які будь-яким чином впливають на результат обчислень. Таким чином програми E-типу повинні постійно оновлюватися і поповнюватися. Вони повинні розвиватися. Еволюція ПЗ є прямим наслідком і віддзеркаленням змін, що відбуваються в динамічному реальному світі. Операційні системи, бази даних, операційні системи, системи управління є екземплярами типу, хоча вони можуть включати в себе елементи, які мають тип S в ізоляції від реального світу.
P-програми. Інший клас, тип Р, також був визначений Lehman в 1980. Тип був задуманий для вирішення проблем, які здаються повністю точно визначеними, але де турбота користувачів має з правильністю результатів виконання в тих областях, де вони будуть використовуватися замість того, щоб по відношенню до специфікації.
Теорія еволюції програмного забезпечення.
Розрізняють SPE класифікацю;
S - це програма, що створюється та супроводжується на основі точного та формального опису вирішення задачі(специфікації).
P - програми що вирішують задачі сенс яких до кінця не зрозумілий, або незрозумілі та недосконалі методи їх вирішення.
Е - програми які функціонують у реальному світі, автоматизують діяльність людини.
Закони еволюції Лемана.
Існує два підходи до побудови теорій еволюції: 1) Лемана, за яким еволюція - це процес прогресивних змін, характеристик та властивостей ПЗ в часі.
Dawkins - зовнішній і видимй прояв виконання різних реплікаторів, будь-що може бути скопійовано зі зміною та мутацією. (Реплікатор в даному контексті - код чи документація).
