- •Характер кризи програмного забезпечення.
- •Характеристика змісту поняття «срібна пуля».
- •Роль і значення моделювання життєвого циклу.
- •4. Еволюційні моделі життєвого циклу.
- •Сутність програмної еволюції.
- •Складові досліджень програмної еволюції.
- •Супроводження програмного забезпечення, як осередок еволюції.
- •Складові супроводження.
- •Сутність, процеси та проблеми супроводження.
- •Межі та інтерфейси супроводження.
- •Модель процесів супроводження. Інженерія еволюції.
- •Методи еволюції программного забезпечення.
- •Базові поняття еволюції.
- •Властивості, механізми та наслідки еволюції.
- •Еволюція і програмне забезпечення – родові терміни.
- •Програми як моделі. Типи програм.
- •Теорія еволюції програмного забезпечення.
- •Закони Лемана.
- •Аналіз еволюції програмного забезпечення.
- •Моделювання еволюційних процесів.
- •Методи та засоби реалізації еволюційних процесів.
- •Еволюція відкритого версійного программного забезпечення.
- •Індекс супроводжуваності.
- •Модель зрілості супроводження програмного забезпечення (sммм).
- •Характеристика росту розміру та складності програмного забезпечення.
- •Розрахунок витрат на еволюцію програмного забезпечення.
- •Метрики супроводження програмного забезпечення.
- •Зворотна інженерія та ре інженерія програмного забезпечення.
- •Версійність програмного забезпечення.
- •Гнучкі технології.
Сутність програмної еволюції.
У 1969 році Леман вперше пов'язав діяльність з супроводу і питання еволюції програмного забезпечення. Результати більш ніж 20-ти річних досліджень на чолі з Леманом призвели до формулювання низки важливих положень, ключове з яких стверджує, що діяльність з супроводу, по-суті, являє собою еволюційну розробку програмних систем. Ухваленню тих чи інших рішень в процесі супроводу, допомагає розуміння того, що відбувається з програмною системою в процесі її експлуатації. Існуюче (особливо, корпоративне) програмне забезпечення ніколи не буває повністю завершеним і продовжує еволюціонувати протягом усього терміну експлуатації. У процесі еволюціонування, програмна система стає все більш складною доти, поки не робляться спеціальні зусилля (у тому числі, в рамках спеціального проекту по модифікації) щодо зменшення його складності.
У той же самий час, якщо можна виділити тенденції розвитку програмної системи та її поведінка досить стабільно, його еволюціонування можна виміряти. Останні роки робляться спроби розробити відповідні моделі оцінки зусиль з супроводу. У результаті вже створюються певні кошти (чисельні та інструментальні) управління роботами з супроводу.
Процес еволюції проводиться шляхом:
Аналізу вихідного коду для внесення у нього певних змін;
Налаштування компонентів і системи на нові платформи;
Кодування та декодування даних при переході з однієї платформи на іншу;
Зміна функції системи або додавання нових функцій;
Розширення можливостей компонентів;
Перетворення структури системи або окремих її компонентів.
Складові досліджень програмної еволюції.
Супроводження програмного забезпечення, як осередок еволюції.
Супроводження ПЗ – це одна із фаз життєвого циклу ПЗ. Наступна за фазою передачі ПЗ в експлуатацію. Діє протягом періоду гарантії або в період технічної підтримки. Відповідно, в процесі експлуатації продукт буде змінюватися або еволюціонувати. Це пов’язано з виявленням при реальному використанні прихованих дефектів, змінами в операційному оточенні і необхідністю покриття нових вимог.
Отже супроводження – це процес покращення оптимізації та усунення дефектів ПЗ після передачі його в експлуатацію.
Оскільки ПЗ ніколи не зношується то процес супроводження націлений на підтримку еволюціонування системи, тобто на зміну її функцій та властивостей.
Серед причин потреби змін у ПЗ виділяють:
Виявлення дефектів в функціонуванні системи під час експлуатації не виявлені на етапі тестування.
З’ясування під час експлуатації з замовником що він недостатньо або повно що він висловив свої вимоги завдяки чому система не відповідає окремим потребам замовника.
Зміна умов діяльності замовника які тепер не відповідають раніше поставленим вимогам.
Кожна внесена в систему зміна сприяє зростанню складності і заважає можливості зрозуміти її сутність, якщо не вижити спеціальних запобіжних заходів. Мається на увазі що локальні зміни часто реалізуються на рівні кодування шляхом латання основного тексту. Якщо ж при цьому не відобразити внесені зміни в моделях вимог то з часом розібратися в таких програмах неможливо навіть авторам даної програми. За свідченням експертів процес внесення змін є достатньо дорогим. Оцінка його вартості складає від 60% до 80% загальної вартості розробки.
Супроводжуваність - система властивостей які вказують на зусилля які необхідно витратити на проведення модифікації, таких як корегування, удосконалення та адаптація.
До під характеристик супроводжуваності належить:
Аналізованість – показник який визначає необхідні зусилля для діагностики випадків відмов або ідентифікації частин, що будуть модифікуватися.
Змінюваність – показник, який визначає зусилля що витрачаються на модифікацію видалення помилок або внесення змін у зв’язку з помилками або новими можливостями середовища функціонування.
Стабільність – атрибут який вказує на ризик модифікації.
Тестованість – атрибут який вказує на зусилля для проведення валідації та верифікації з метою виявлення помилок у програмах і невідповідності програм вимогам, а також наступної модифікації ПЗ та його атестації.
Узгодженість – атрибут який вказує на відповідність даного атрибута атрибутам у стандартах та угодах, правилах і розпорядженнях.
Види супроводження:
Корегуючі супроводження – внесення коректив для усунення похибок які було знайдено після передачі системи в експлуатацію. За оцінками експертів корегуючі супроводження становлять 25% від усього супроводження.
Адаптивне супроводження – адаптація продукту до змінених обставин використання після передачі системи в експлуатацію. Складає 25% від усього супроводження.
Вдосконалювальне супроводження – вдосконалення продукту відповідно до нових вимог, після передачі системи в експлуатацію. Становить 50% від усього супроводження.
Запобіжне супроводження – запобігання дефектам та перешкодам використання, після передачі системи в експлуатацію. Складає 4% зусиль від супроводження усього.
