конспект лекцій (ТСПП). Конспект лекцій з дисципліни 07 технологія створення програмних продуктів напряму 050101 Компютерні науки
Скачать 14.87 Mb.
|
10.1.Основні поняття про надійність програмних продуктів і методи її забезпечення.При визначенні надійності ПП користуються наступними прийнятими термінами. Надійність - стан, що дозволяє уникнути ушкоджень у момент здійснення помилки. Помилки ПП відбуваються через дефекти або помилки проекту, кодування, організаційних помилок, неадекватної відладки і помилок тестування. Відмовостійкість ПП - властивість ПП, що полягає в можливості корекції окремих помилок при збереженні можливості продовження виконання програми. Проблема - відхилення від заданих технічних характеристик або очікуваних результатів. Помилка при обробці - виведення некоректних результатів при виконанні процесу обробки. Процес - обмежений ряд взаємозв'язаних дій, в ході здійснення яких використовуються один або більше типи початкових продуктів, а потім за допомогою одного або декількох перетворень створюється кінцевий продукт, який представляє цінність для замовника. Відмова при виконанні процесу - подія, за допомогою якої помилка в початковому продукті, використовуваному в процесі, породжує помилку на виході, яка зрештою стає явною. Збій при виконанні процесу - збій, що має відношення до використовуваних в процесі некоректних вхідних даних і викликає неправильний стан процесі або системи, до якої відноситься процес. 10.2. Методи забезпечення надійності на різних етапах життєвого циклу розробки програмного продукту.Надійність ПП необхідно планувати на початкових стадіях виконання проекту. Процес визначення надійності ПП, що розробляється, вимагає збору великої кількості інформації. Методи виміру виробляються розробниками ПП протягом усього життєвого циклу. Методи забезпечення надійності, що реалізовуються на різних етапах життєвого циклу розробки ПП, приведені на мал. 13.4. Прогнозування помилок виконується на етапах планування і складання вимог, запобігання помилкам - на етапах складання вимог, проектування і розробки, усунення помилок - на етапах проектування, розробки і тестування. Період відмовостійкості починається на етапі розробки і триває до закінчення життєвого циклу ПП. Таблиця 13.1 Зв'язок методів забезпечення надійності з етапами життєвого циклу розробки програмного продукту
Зв'язок методів забезпечення надійності з етапами життєвого циклу розробки ПП показаний в таблиці. 13.1. Прогнозування помилок Прогнозування помилок означає передбачуваний підхід до розробки надійного Пп. Зрілі організації, що спеціалізуються на розробці ПП, виконують прогнозування помилок як складову частину оцінювання проекту/процесу ПП. Єдиний спосіб досягнення навіть невеликої міри точності для прогнозуючих моделей полягає в наданні доступу до відповідних історичних моделей забезпечення надійності даних. Аналіз історичних даних і збір даних про помилки є ключовими діями для цього методу. У таблиці. 13.2 (шаблон) мають бути відбиті результати прогнозування помилок. Визначення функціонального профілю є першою дією при прогнозуванні помилок. Простежуючи стани переходів від модуля до модуля і від функції до функції, можна точно виявити найбільш вразливе місце системи. Якщо об'єднати отриману інформацію з функціональним профілем, можна визначити, наскільки надійною буде система за заданих умов її використання. При виконанні програм здійснюються відстежувані переходи між модулями. При переході до програмних модулів, які переобтяжені помилками, зростає ризик неудачи. Таблиця 13.2 Шаблон для обліку результатів прогнозування помилок на етапах планування і складання вимог
Моделювання подібних переходів здійснюється за допомогою деякого стохастичного процесу. Зрештою при розробці математичного опису поведінки ПП, обумовленої виконуваними функціями різних модулів ПП, можливе створення опису надійності виконуваних функцій. Програмна система складається з власних виконуваних функцій. Маючи уявлення про надійність виконуваних функцій і порядок розподілу системою машинного часу серед цих функцій, можна зробити ув'язнення про надійність самої системи. Визначення і класифікація помилок - друга дія при їх прогнозуванні. Як вказувалося в подразд. 13.1, помилки ПП є результатом дефектів або помилок проекту, дефектів або помилок кодування, організаційних помилок, неадекватної відладки і помилок тестування. Визначення помилок має на увазі встановлення їх джерела. Класифікація помилок виробляється по мірі їх серйозності. Класифікація, розроблена Борисом Бейцером, має відповідні рівні деталізації. Слабкий - симптоми мають чисто естетичний прояв. Помірний - вихідні дані некоректні або надмірні. Дратівливий - некоректна поведінка системи. Дуже серйозний - проблема в роботі системи, що зачіпає декількох користувачів (наприклад, замість того, щоб врахувати платіжний чек клієнта, система переводить гроші на чужий рахунок). Екстремальний - проблема в роботі системи, що зачіпає широкий круг користувачів. Нестерпний - база даних надовго і непоправно виходить з ладу. Катастрофічний - рішення про припинення виконання програми виходить від користувача, система руйнується. Інфекційний - система руйнує інші системи, навіть якщо її власна працездатність не порушена. Завершивши складання матриці джерел помилок і їх класифікацію, необхідно відстежити метричні показники, що характеризують помилкові дані, як показано в таблиці. 13.3 (шаблон). Кожен елемент таблиці містить підсумкові відомості про помилки (підсумок) згідно історичної інформації, доступної для аналогічних проектів і продуктів. Визначення потреб замовників в забезпеченні необхідного рівня надійності ПП є третьою дією при прогнозуванні помилок. Ці потреби заздалегідь визначені і задокументовані в первинних вимогах замовника. Потреби замовника в необхідному рівні надійності мають бути встановлені з тією точністю, яку забезпечують методи измерения. Незважаючи на те що усі вимоги мають бути вимірними і забезпечувати можливість контролю, вимогам, пов'язаним із забезпеченням надійності, привласнюються певні номери. Нижче приведені відповідні номерам приклади тверджень, що стосуються надійності. Надійність системи управління супутниками оцінюється як 0,999 від 95 % довіри на період, рівний 15 рокам з моменту розподілу корисного навантаження. Для авіаційної системи характерно в середньому 500 льотних годин між критичними помилками. Вбудована система самоконтролю визначить, що ракета несправна, з вірогідністю 60%. Вбудована система самоконтролю порахує справну ракету за несправну з вірогідністю менше 1 %. Середній час виправлення функціонуючого ПП складає 30 мін або менше. Максимальний час завершення роботи вбудованої системи самоконтролю складає 20 с. Середній час завантаження ПП в повному об'ємі і виконання повного внутрішнього самоконтролю складає 10 хв. Середній час оновлення однієї інтерактивної сторінки документації складає 30 хв. Проведення альтернативних учбових курсів - четверта дія при прогнозуванні помилок. За допомогою клієнтського функціонального профілю і інформації про класифікацію помилок, почерпнутих з попередніх систем, аналізуються особливі вимоги для визначення того, чи підтримують цілі історичні дані. Виробляється аналіз курсів для визначення вірогідності досягнення цілей надійності, сформульованих у вимогах. За відсутності історичних даних, пов'язаних з аналогічними продуктами і системами, вірогідність досягнення штучно встановленого рівня надійності надзвичайно низька. На цій стадії керівникові проекту необхідно розробити екстенсивні системні моделі, вживані для визначення можливих рівнів надійності нового Пп. Такі інструменти, як формальні методи, застосовані до вимог надійності для математичних доказів, пов'язаних з найбільш критичними підсистемами. Цей дорогий процес використовується виключно у випадках відсутності джерела історичних даних про надійність. Визначення цілей, пов'язаних із забезпеченням надійності, - п'ята дія при прогнозуванні помилок, що базується на результатах проведення альтернативних учбових курсів. Остаточний набір цілей забезпечення надійності передається процесу визначення вимог, дозволяючи змінити вже існуючі. Завдяки цій дії зібрана інформація і результати проведеного аналізу передаються для специфікації вимог. Цілі і вимоги, що стосуються надійності, будуть використані для підтвердження надійності усієї системи і діставання схвалення користувача. |