- •Характер кризи програмного забезпечення.
- •Характеристика змісту поняття «срібна пуля».
- •Роль і значення моделювання життєвого циклу.
- •4. Еволюційні моделі життєвого циклу.
- •Сутність програмної еволюції.
- •Складові досліджень програмної еволюції.
- •Супроводження програмного забезпечення, як осередок еволюції.
- •Складові супроводження.
- •Сутність, процеси та проблеми супроводження.
- •Межі та інтерфейси супроводження.
- •Модель процесів супроводження. Інженерія еволюції.
- •Методи еволюції программного забезпечення.
- •Базові поняття еволюції.
- •Властивості, механізми та наслідки еволюції.
- •Еволюція і програмне забезпечення – родові терміни.
- •Програми як моделі. Типи програм.
- •Теорія еволюції програмного забезпечення.
- •Закони Лемана.
- •Аналіз еволюції програмного забезпечення.
- •Моделювання еволюційних процесів.
- •Методи та засоби реалізації еволюційних процесів.
- •Еволюція відкритого версійного программного забезпечення.
- •Індекс супроводжуваності.
- •Модель зрілості супроводження програмного забезпечення (sммм).
- •Характеристика росту розміру та складності програмного забезпечення.
- •Розрахунок витрат на еволюцію програмного забезпечення.
- •Метрики супроводження програмного забезпечення.
- •Зворотна інженерія та ре інженерія програмного забезпечення.
- •Версійність програмного забезпечення.
- •Гнучкі технології.
Характеристика росту розміру та складності програмного забезпечення.
Аналіз розмірності та складності програмного забезпечення здійснюється за допомогою метрик програмного коду.
Існують наступні метрики розмірності:
Кількість порожніх рядків;
Кількість коментарів;
Відсоток коментарів (відношення числа рядків, що містять коментарі до загальної кількості рядків, виражене у відсотках);
Середнє число рядків для функцій (класів, файлів);
Середнє число рядків, що містять вихідний код для функцій (класів, файлів);
Середнє число рядків для модулів.
Також до метрик розмірності відносять метрики Холстеда:
Кількість унікальних операторів / операндів;
Загальна кількість операторів / операндів;
Словник програми;
Довжина програми;
Об’єм програми та інші.
Існують наступні метрики складності:
Цикломатична складність;
Топологічна міра Чена (виражає складність програми через кількість перехрещень границь між областями, що утворені графом програми);
Міра Вудворда (кількість пересічних дуг управляючого графа) та інші.
Розрахунок витрат на еволюцію програмного забезпечення.
З точки зору планування , як складової частини проектної та управлінської діяльності , оцінка вартості є важливим аспектом діяльності з супроводу програмного забезпечення .
Оцінка витрат на обслуговування повинні бути готові. Витрат має бути функцією сфери обслуговування. Додаткові фактори, які повинні бути включені:
⎯ Подорож в місцях користувачів;
⎯ Навчання для супроводжуючих, а також користувачів;
⎯ Вартість і річне обслуговування середовище розробки програм і програмного середовища випробувань;
⎯ витрати на персонал, такі як заробітна плата і пільги.
Коли обслуговування Концепція розроблена, витрати повинні бути оцінені на основі наявних обмежених даних, у тому числі вартість простою системи. Оскільки розвиток зусиль прогресує, оцінки повинні бути уточнені. Історичні дані вимірювань повинні бути використані в якості вхідних даних до оцінки витрати на обслуговування.
Метрики супроводження програмного забезпечення.
Метрика програмного забезпечення (англ. software metric) — це міра, що дозволяє отримати числове значення деяких властивостей програмного забезпечення та його специфікацій.
Супровід програмного забезпечення - процес покращення, оптимізації та усунення дефектів програмного забезпечення (ПО) після передачі в експлуатацію. Супровід ПЗ - це одна з фаз життєвого циклу програмного забезпечення, наступна за фазою передавання ПО в експлуатацію.
Набір метрик складається з:
порядок зростання (мається на увазі аналіз алгоритмів, в термінах теорії складності обчислень)
кількість рядків коду
цикломатична складність
аналіз функціональних точок
кількість помилок на рядок коду
ступінь покриття коду тестуванням
покриття вимог
кількість класів та інтерфейсів
метрики від Роберта Сесіль Мартіна. ([1])
зв'язність (англ. coupling)
пов'язаність (англ. cohesion)
час завантаження програми
час виконання програми
розмір бінарних файлів
та інше.
