Смекни!
smekni.com

Методи оцінки та засоби підвищення надійності програмного забезпечення (стр. 2 из 6)

Представлені в роботі моделі і методи реалізовані у вигляді методик і інструментальних засобів для:

- оцінки і підвищення надійності ПЗ на всіх етапах його ЖЦ;

- підтримки прийняття рішень у процесі розроблення ПЗ.

Ці засоби ввійшли в модуль керування надійністю в проекті з автоматизації створення інформаційних систем ІT.com (спільний проект кафедри програмної інженерії Університету ім. Фрідріха-Олександра, м. Нюрнберг і Sіemens AG);

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

розроблення концепції управління надійністю на всьому життєвому циклі ПЗ ІУС;

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

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

оцінки кількості тестів, необхідних для досягнення кожного з розроблених критеріїв;

метрика відповідності викликів та активізацій, яка дозволяє обґрунтувати вибір компонента серед функціонально еквівалентних йому;

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

розроблення архітектури компонента керування надійністю ПЗ і модуля високорівневого тестування, який забезпечує керування надійністю ПЗ на всіх етапах його ЖЦ та реалізація окремих його функцій;

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

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

Апробація результатів дисертації. Результати досліджень доповідалися і обговорювалися на Національній науково-практичній конференції “Системний аналіз та інформаційні технології - 2000” (м. Київ), Міжнародній науково-практичній конференції “Системний аналіз та інформаційні технології - 2001” (м. Київ), Міжнародній науково-практичній конференції “УкрПРОГ’ 2004” (Кібернетичний центр ім. В.М. Глушкова Національної академії наук України, м. Київ), семінарі технічного університету Мюнхена (TUM, Munich, 2004), робочій групі Першої європейської конференції “Model Driven Software Engineering” (м. Нюрнберг, 2003), наукових семінарах університету ім. Фридриха-Олександра (м. Нюрнберг, м. Ерланген, Німеччина, 2003-2004), Міжнародній науково-практичній конференції “Системний аналіз та інформаційні технології - 2005” (м. Київ).

Публікації. Результати досліджень викладені в 12 друкованих працях, з них 8 – в збірниках наукових праць і наукових журналах, перелік яких затверджено ВАК України, 4 – в збірниках тез наукових конференцій.

Структура та обсяг роботи. Дисертаційна робота складається з вступу, чотирьох розділів, які містять 30 рисунків і 4 таблиці, списку використаної літератури з 126 найменувань, 2 додатків. Загальній обсяг роботи становить 181 сторінку, із яких 143 – основного тексту.


ОСНОВНИЙ ЗМІСТ РОБОТИ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

,

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

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