Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л4 Надійність програмного забезпечення.doc
Скачиваний:
11
Добавлен:
28.02.2016
Размер:
97.79 Кб
Скачать

Лекція 4 НАДІЙНІСТЬ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ

    1. Проблеми надійності програмних комплексів

Інформаційні системи знаходять все більш широке застосування, причому витрати на складання програмних комплексів для інформаційних систем ростуть швидше, ніж вартість відповідного апаратного устаткування. Тому, природно, основні зусилля повинні бути спрямовані на розробку надійних програм для інформаційних систем (ІС).

Невиявлені помилки в програмах можуть слугувати причиною відмов інформаційної системи, наслідки яких можуть виявитися катастрофічними, і в той же час масштаби і складність систем настільки виросли, що процес налагодження програм стає все більше трудомістким. Більшість засобів по забезпеченню надійності програм можна розбити на наступні категорії:

- розробка вірних програм;

- перевірка програм з метою виключення помилок;

- моделювання роботи програмних комплексів з метою пророкування їхньої надійності і можливості, дослідження впливу відповідних параметрів.

Варто помітити, що теорія надійності програм ще не розроблена на такому рівні, як теорія надійності апаратного устаткування. Однак вже з'явилося кілька важливих концепцій, і ведеться велика робота в цьому напрямку.

З погляду залежності надійності від процесу випробувань між апаратним устаткуванням і програмним забезпеченням існує важливе розходження. Якщо програму можна було б перевірити по елементах для всього набору вхідних даних, то помилка в програмних комплексах теоретично ніколи не з'явилися б. Навпаки, апаратне устаткування може виходити з ладу навіть після проведення самих ретельних випробувань. В зв'язку з цим виникає питання: чи можна вважати, що помилки програмних комплексів носять випадковий характер? По суті, програма відображає елементи простору входів у відповідні елементи простору виходів. При цьому у випадку наявності помилки деяка підмножина простору входів відображається в простір виходів неправильно. Якщо було б відомо поводження виходу при будь-яких можливих входах і можна було прогнозувати майбутні входи, то ми могли б прогнозувати помилки зовсім точно. Однак властивості деякого великого блоку програми ніколи не бувають відомі повністю, оскільки майже неможливо перевірити програмні засоби при будь-яких очікуваних значеннях входів. Входи програм також є випадковими. В силу того, що і для самої програми, і для її входів характерна невизначеність, можна вважати, що поява помилок є випадковим процесом.

    1. Типи відмов і збоїв при виконанні комплексу програм

Відмови і збої, по ступені їхнього впливу на функціонування комплексу програм і на всю систему керування в цілому, поділяються на кілька великих груп:

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

- відмова, яка в значній мірі знецінює результати попереднього функціонування;

- спотворення, що короткочасно переривають функціонування системи і мало спотворюють накопичені дані і отримані результати;

- часткова відмова або тривалий збій, до деякої міри, що знецінює попередні результати;

- перекручування короткочасні та й ті, що мало відображаються на обчислювальному процесі і оброблюваних даних;

- збої, що практично не знецінюють результати функціонування комплексу програм.

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

- зациклення, тобто  послідовне, повторюване виконання групи команд, що не припиняється без зовнішнього втручання, блокуючи функціонування всіх інших програм даного комплексу;

- зупинка ЕОМ і повне припинення вирішення функціональних завдань, при цьому може зберегтися можливість прийому і видачі інформації і виконання деяких функцій, що стимулюються перериваннями;

- значне перекручування або повна втрата накопичених даних про стан зовнішніх абонентів і процес їхнього функціонування;

- припинення або неприпустиме зниження темпу вирішення деяких завдань, пропуск або втрата неопрацьованих груп повідомлень внаслідок перезавантаження ЕОМ.

Ці відмови істотно впливають на виконання основних функцій комплексом програм. В трохи меншому ступені, на обчислювальний процес і оброблювані дані впливають перекручування, що приводять до наступних типів часткових відмов або тривалих збоїв:

- перекручування заданої послідовності виклику підпрограм, що приводять до пропуску виконання окремих підпрограм або їхніх частин, що приводить, у свою чергу, до неправильного або неповного вирішення деяких завдань і до перекручування вихідних даних;

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

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

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