на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Методи оцінки та засоби підвищення надійності програмного забезпечення
p align="left"> ОСНОВНИЙ ЗМІСТ РОБОТИ

У вступі обґрунтовується актуальність теми дисертаційної роботи, визначаються мета та задачі досліджень, основні положення, які виносяться на захист, а також стисло викладається наукова новизна і практичне значення результатів, отриманих в процесі досліджень.

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

Аналіз процесів забезпечення якості показав, що сучасне суспільство характеризується постійним зростанням ролі і значення інформації у світовій економіці, високими темпами розвитку ринку інформаційних технологій і послуг. Постійно розширюється сфера застосування ІУС. Невід'ємним елементом інформаційних систем є апаратні та програмні засоби. Комп'ютери та контролери, начинені інтелектуальним ПЗ, використовуються в автоматизованих системах контролю і управління ядерними реакторами, повітряним рухом, різноманітними рухомими об'єктами - ракетами, швидкісними потягами тощо.

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

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

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

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

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

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

Динамічні моделі (або моделі зростання надійності) мають за мету дослідження розвитку надійності ПЗ у часі. В роботі проаналізовано модель Джелінського-Моранди, модель негомогенного пуасонівського процесу (Гоеля-Окумото), модель Шнайдевінда, базову модель Муси, гіперекспоненційну модель, модель Вейбула, S-подібну модель зростання надійності, геометричну модель, модель Муси-Окумото та модель Літлвуда-Верала.

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

Більш того, виконаний аналіз дозволив зробити висновок про те, що найбільш перспективними для практичного застосування є моделі, які базуються на негомогенному пуасонівському процесі. Для них надійність ПЗ прямує до одиниці, коли час прямує до нескінченності. Саме до цього типу належать моделі Гоеля-Окумото, Шнайдевінда, Муси і S-подібна модель зростання надійності.

Сукупним недоліком розглянутих в роботі моделей Гоеля-Окумото, Шнайдевінда і Муси є форма кривої інтенсивності виявлення несправностей. Крива є експоненційною функцією і строго спадає при . На основі реальних даних про кількість виявлених несправностей та їхній розподіл в часі, наданих Open Channel Software, автором проаналізовано якість роботи розглянутих моделей на практиці і встановлено, що така форма кривої інтенсивності не відповідає дійсності і не достатньо відображає процес тестування.

На практиці проведення процесу тестування має виглядати наступним чином:

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

- з накопиченням досвіду інтенсивність виявлення помилок зростає;

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

Що стосується функції інтенсивності виявлення несправностей S-подібної моделі, введення параметра t у першому ступені відрізняє її від функцій інтенсивності моделей Муси, Гоеля-Окумото і Шнайдевинда. Це дає можливість змінити форму кривої так, що спочатку інтенсивність зростає, а потім строго спадає, що більше відповідає практиці.

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

З метою підвищення точності цієї моделі автор дисертаційної роботи пропонує та обґрунтовує використання такої форми кривої інтенсивності виявлення несправностей:

,

де n - додатковий параметр, який характеризує складність і розміри проекту.

Це дозволяє більш точно відтворювати форму кривої інтенсивності і враховувати наявні практичні результати.

У таблиці 1 представлені функції інтенсивності виявлення несправностей та кумулятивної кількості несправностей базових та узагальненої моделей, їхні параметри пов'язані з та такими співвідношеннями:

, , , , .

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

Табл.1. Зв'язок між моделями негомогенного пуасонівського процесу

Назва моделі

Функція інтенсивності виявлення несправностей

Функція кумулятивної кількості несправностей

Модель Гоеля-Окумото

Модель Шнайдевінда

Базова модель Муси

S-подібна модель

Узагальнена модель негомогенного пуасонівського процесу

Застосуванням методу максимальної правдоподібності визначення параметрів , та n зведено до розв'язання системи рівнянь:

де вибір параметру n залежить від процесу проведення тестування, а його рекомендовані значення такі:

n=0 - для невеликого проекту, в якому розробник є одночасно і тестером (моделі Муси, Гоеля-Окумото і Шнайдевинда);

n=1 - для середнього проекту, в якому тестування і проектування ПЗ виробляється різними людьми з однієї робочої групи (S-подібна модель);

n=2 - для великого проекту, в якому групи тестування і розробки ПЗ працюють над проектом паралельно;

n=3 - для дуже великого проекту, в якому відділи тестування і розробки незалежні.

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

Наведені результати одного з експериментів демонструють, що найкраще наближення буде досягнуте при n=3, а найгірше - при n=0 (модель Муси, Шнайдевінда та Гоеля-Окумото). Це підтверджується і відповідними статистичними даними (табл.2), які характеризують різницю між вихідними даними (t_2) та відповідними значеннями функції при різних значеннях n.

Табл. 2. Статистичні дані до різниці при різних n і вихідних даних t_2

Статистичні показники

різниця функцій

t_2-

різниця функцій t_2-

різниця функцій t_2-

різниця функцій t_2-

Mean

16.13522

16.22889

19.88367

58.93807

Median

15.27700

14.11600

16.00000

60.89700

Maximum

33.58100

54.23600

49.10800

88.80200

Minimum

4.848000

-1.280000

4.175000

15.96200

Std. Dev.

8.374089

17.37143

14.07056

23.63765

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

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

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

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

З огляду на сучасні тенденції в розробці ПЗ, насамперед компонентно-базоване програмування, де найчастіше компоненти представлені як "чорні шухляди", вочевидь, що для них класичні методи структурного тестування, для яких рівень абстракції - це рівень операторів мови програмування, не застосовні. Структура такого ПЗ формалізується шляхом використання UML діаграм, які створюються на етапі ЖЦ ПЗ “аналіз вимог та проектування”. Отже, виникає необхідність у розробці спеціалізованих критеріїв тестування, починаючи з цього етапу ЖЦ ПЗ, а не з етапу тестування, як це було раніше.

Страницы: 1, 2, 3



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.