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

3.3.2 Модель надійності програми з дискретним збільшенням часу наробітку на відмову.

Передбачається, що між двома послідовними відмовами Ті є випадковою величино, яку можна представити у виді суми двох випадкових величин Т(і)(і-1)=∆Т(і), де випадкові величини ∆Т(і) незалежні і мають однакові математичні очікування H[∆Т] і середнє квадратичне відхилення ∆Т.

Т= ]

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

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

  • При яких Т-час рішення буде мінімальним

Введемо позначення

Т – час рішення задачі при однократному рахунку

t – тривалість обчислень одній ділянці

Р(t) – ймовірність відсутності збоїв за час t

Тоді T/t = числу ділянок на які розбивається програма.

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

Математичні моделі оцінювання і прогнозування надійності програмного забезпечення

Розрізняють такі моделі:

  • Модель Шумана

  • Модель Мілса

Тестування модулів

Модуль – це елемент (компонент) програми стандартизований за формою запису та зовнішніми зв’язками.

Тестування програмного забезпечення здійснюють на основі відповідних методів тестування.

Статичне – тестування полягає втому що одним з критеріїв обрання шляхів у структурі програми при тестуванні є за діяння всіма операторами хочаб один раз обраних шляхів.

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

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

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

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

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

При структурному тестування найкраще здійснювати математичне моделювання.

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

Регресивне тестування полягає в повторному використанні тестів.

Проектування тестів

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

В математичному вигляді граф подають як упаковану матрицю суміжності.

А={a-ij}, і – вершинами

Ступінь - α входу (Vj)

α входу (Vi)

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

Для тестування обирається критерій гілок.

Для побудови мінімального покриття графу, граф ділять на DD-шляхи з використанням сумісної матриці вхідного графа.

D –позначають вершини, де d вих (Vi)>1 та вхідну і вихідну вершину.

Алгоритми мінімального покриття графу.

Етап_1:

Розглядають і-ту вершину, і визначають сумісну j-ту вершину. Номер якої є максимальними серед номерів сумісних вершин.

(і є {1, N-1} (інферт.)), де N –кількість вершин графа.

Етап_2:

Розглядають дугу (Vi, Vj), якщо d вих. (Vi)>1, і d вх (Vj)>1, то дугу q (Vi, Vj) виключають з цього графу.

Якщо dвих (Vi)>1, i d вх (Vj)=1, то дугу h (Vi, Vj) залишають.

Етап_3:

d вих (Vi)=1, то на шляху немає дуги типу q, то дугу виключають, а також дугу типу h, що була відмічені на етапі_2.

Етап_4:

i=j, то повторюють етапи від 1 до 3, до того часу поки j не дорівнюватиме кінцевій вершині. Шляхи фіксують у вигляді послідовностей j.

Етап_5:

Повторюються етапи з 1 по 4 доти, поки в побудованому шляху не залишуться дуги типу q i h.

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