Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PZ.docx
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
763 Кб
Скачать
☆

5 Надійність програмного забезпечення

5.1 Поняття надійності програмного забезпечення

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

Надійність програмного забезпечення - це властивість складових його програм виконувати задані функції в заданих умовах на конкретній комп'ютерній системі.

Дві основні причини виникнення відмов програмного забезпечення:

  1. розробники програмного забезпечення порушили технічні вимоги до програм (порушена специфікація);

  2. сама специфікація неточна або неповна, тобто сам опис того, що повинна робити кожна програма, неточний або неповний.

Відмінності надійності програмного забезпечення від надійності комп'ютерних систем:

  1. елементи програмного забезпечення не старіють від зносу;

  2. число способів контролю програмного забезпечення значно більше, ніж способів контролю апаратури;

- в програмному забезпеченні набагато більше об'єктів для контролю, ніж в апаратурі;

- в програмного забезпечення набагато простіше вносити зміни, ніж в апаратуру, але це важко робити коректно і безпомилково.

Досвід розробки програмного забезпечення показує, що виявлення помилки і її виправлення пов'язані з певними витратами, які можуть виражатися у вартісному відношенні і утворюють своєрідну "ціну" помилки. Під час переходу до більш пізніх етапів розробки ціна помилки зростає (таблиця 5.1).

Таблиця 5.1 - Ціна помилки нарізних етапах розробки ПЗ

Етап розробки ПЗ

Середня вартість помилки, грн

Можливі наслідки у даному проекті

Розробка специфікації

200

Переробка специфікації

Кодування

1500

Збільшення часу на кодування, залучення до проекту нового виконавця

Комплексне тестування

7500

Повернення на етап кодування та повторне тестування, правка специфікації

Супровід ПЗ

20000

Невиконання або неправильне виконання мобільною платформою покладених на неї функцій, повернення до етапів кодування та тестування, втрата часу

Ціна помилки, яку не вдається виявити при розробці ПЗ, може мати катастрофічні наслідки (втрата контролю над мобільною платформою, аварія, викликана платформою, тощо), якщо помилка в ПЗ виявляється в процесі експлуатації системи.

5.2 Класифікація моделей надійності програмного забезпечення

Основними класифікаційними ознаками, за якими можна виділити різні моделі надійності ПЗ є:

  1. тимчасова структура (розшарування часу) процесів появи помилок в ПЗ (фактори: час появи помилки, результуючий час між виявленими помилками, кількість помилок за заданий інтервал часу);

  2. розмітка помилок, тобто визначається номенклатура відомих помилок і робиться припущення про їх закони розподілу;

  3. складність реалізації програми (довжина програми, її обсяг, трудомісткість виконання, кількість функцій і даних);

  4. структура простору вхідних даних (число успішних прогонів у порівнянні із загальним числом зроблених прогонів);

  5. структура тексту програми (розподіл помилок по тексту).

На основі цих 5 класифікаційних ознак побудована класифікація математичних моделей надійності ПЗ (рисунок 5.1).

Рисунок 5.1 - Класифікація математичних моделей надійності програмного забезпечення

Розглянемо одну із поширених моделей за ознакою "тимчасова структура", а саме модель Джелінського-Моранді. Вхідні дані для її використання надходять під час тестування програмного забезпечення. При цьому фіксується час до чергової помилки. Особливістю цієї моделі є те, що значення інтервалів часу між виявленням двох відмов розподілені за експоненціальним законом з частотою відмов (або інтенсивністю помилок), пропорційної числу ще невиявлених помилок. Кожна виявлена помилка усувається. При цьому число відмов що залишились зменшується на одиницю.

Модель Джелінського-Моранді будується на основі припущень:

  1. інтенсивність виявлення помилок (t) пропорційна поточному числу помилок у програмі, тобто числу помилок що залишились;

  2. всі помилки однаково ймовірні та їх поява незалежна;

  3. кожна помилка має один і той же порядок серйозності;

  4. час до наступної відмови (помилки) розподілено експоненціально;

  5. програмне забезпечення функціонує в середовищі, близькому до реального;

  6. помилки постійно виправляються без внесення в програмне забезпечення нових помилок;

  7. (t) - const в інтервалі між двома сусідніми помилками.

У відповідності з цими припущеннями інтенсивність виникнення (виявлення) помилок в програмному забезпеченні можна представити у вигляді:

t - довільний час між виявленням i-1 та i помилок;

K - невідомий коефіцієнт;

B - невідоме загальне число помилок у ПЗ;

Якщо за час t було виявлено (i - 1) помилок, то в ПЗ ще залишилося помилок. Вважаючи , де i змінюється від 1 до n та враховуючи допущення про те, що (t) = const в інтервалі між (i-1)-ою і i-ою помилками, можна вважати, що Хi мають експоненціальне розподіл.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]