Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект лекцій (ТСПП).docx
Скачиваний:
213
Добавлен:
01.05.2015
Размер:
15.59 Mб
Скачать

Лекція № 10

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

План лекції

1. Основні поняття про надійність програмних продуктів і методи її забезпечення.

2. Методи забезпечення надійності на різних етапах життєвого циклу розробки програмного продукту.

Самостійна робота

3. Інструменти, що забезпечують надійність програмних продуктів. План забезпечення надійності.

4. Основні поняття і показники надійності програмних засобів.

5. Дестабілізуючі чинники і методи забезпечення надійності функціонування програмних засобів.

Зміст лекції

Основні поняття про надійність програмних продуктів і методи її забезпечення

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

На мал. 13.1 представлена топологія чинників якості, запропонована Р. Макколом, Би. Ричардсом і С. Уолтерсом в 1977 р.

Видання "IEEE. Standart Glossary of Software Engineering Terms" ("IEEE. Перелік стандартних термінів, використовуваних в програмній інженерії") визначає надійність ПП як здатність системи або її компонента виконувати необхідні функції в заданих умовах упродовж вказаного періоду часу. Міра надійності ПП безпосередньо залежить від досконалості процесу розробки. Основний показник, що впливає на надійність ПП - складність програм, що розробляються.

Процес створення надійного ПП на відміну від апаратного забезпечення не залежить від часу, що демонструють моделі надійності апаратного забезпечення і ПП, що мають вигляд традиційних U -образных кривих, представлених відповідно на мал. 13.2 і 13.3, де λ - плановане число збоїв.

Мал. 13.1. Топологія чинників якості програмного продукту

Мал. 13.2. и-образная крива надійності апаратного забезпечення

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

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

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

Мал. 13.3. и-образная крива надійності програмних продуктів грами.

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

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

Більшість проблем надійності ПП не є життєво важливими. Основна маса проблем, пов'язаних з досягненням надійності, відноситься до тестування ПП.

Зупинимося на розгляді чотирьох методів, що забезпечують створення високонадійного ПП :

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

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

  • усунення помилок - формальна інспекція, верифікація і атестація;

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