Аналіз методів та засобів
підвищення надійності та точності
   систем медичної діагностики


      Трунов О.М.,
          ...
Баги      Тест
           «Нефункціональні» вимоги




            Use Case                  Задачі


 Бізнес-            ...
Категорії критичного програмного
                 забезпечення
   Критичність та власність                                ...
Визначення основних понять

   Дефект ПЗ - це явна або гіпотетична причина відмов системи, тобто
    відхилення від резул...
Процес розробки програмного продукту
             (Життєвий цикл ПЗ)
     Waterfall model                 Rapid applicatio...
Кроки життєвого циклу розробки ПЗ

Аналіз коду
Метрики коду
Профілювання
Модульне тестування
з покриттям коду
            ...
Зростання вартості виправлення
дефектів в процесі розробки програми
Модель зовнішньої та внутрішньої
           якості ПЗ ISO/IEC 9126 (2001)
Функціональність (Functionality)               Е...
Постановка мети та задач дослідження

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




 Основними показниками надійності синтезованого П...
Математичні основи надійності ПЗ
Математичні основи надійності ПЗ
Диференціальне рівняння функції
   відмов синтезованого ПЗ
Система диференціальних рівнянь
 функції відмов синтезованого ПЗ

                                          m

dN1   x...
Базові класи множини моделей
надійності програмного забезпечення
Класифікація моделей надійності за
  характером вхідної інформації
Систематизація ймовірнісних моделей
надійності програмного забезпечення
Узагальнений підхід до систематизації
       моделей надійності ПЗ
Недоліки існуючих підходів до
   класифікації моделей надійності ПЗ
В більшості проаналізованих джерел [1-3]:
 проводитьс...
Запропонована класифікація моделей
             надійності ПЗ
                                Сімейство
 Категорія        ...
Модель Мак – Кейба




    Модель фірми IBM
                              Структурні та статистичні




  Фазо-орієнтована...
Використання моделей прогнозу
        потенційної кількості дефектів ПЗ

                                                 ...
Методи засівання дефектів
 (гіпергеометрична модель
 Міла, модифікована модель
        Міла-Бейсина)

    Статистичні мето...
Базові вхідні та вихідні параметри
     класичних модель надійності ПЗ

   Статистичні моделі які, застосовуються протяго...
Застосування статистичних та
динамічних моделей оцінки надійності

 Узагальнений аналіз статичних моделей оцінювання наді...
Яким чином вимірювати та
контролювати надійність ПЗ?
Вимірювання та оцінка надійності ПЗ
        перед тестуванням
 Визначення схильних до відмови модулів
      Boolean Disc...
ІНСТРУМЕНТАЛЬНІ ЗАСОБИ ДЛЯ
           МОДЕЛЮВАННЯ, ОЦІНКИ НАДІЙНОСТІ
             ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ

   1. ІЗ для р...
Інструментальні засоби оцінки
    імовірнісних показників надійності ПЗ
                                 Фірма та рік     ...
Особливості застосування ІЗ для
  моделювання надійності ПЗ
Особливості застосування ІЗ для оцінки
            надійності ПЗ
   Аналіз існуючих ІЗ для моделювання й оцінки якості й ...
Висновки

   Розглянуто математичні основи надійності ПЗ та визначено базові вхідні та
    вихідні параметри моделей наді...
Upcoming SlideShare
Loading in …5
×

Methods Of Reliability Analysis

1,301 views
1,143 views

Published on

Published in: Education, Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,301
On SlideShare
0
From Embeds
0
Number of Embeds
18
Actions
Shares
0
Downloads
40
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Methods Of Reliability Analysis

  1. 1. Аналіз методів та засобів підвищення надійності та точності систем медичної діагностики Трунов О.М., Волкова С.О., к.т.н., професор, зав. кафедри аспірант, викладач кафедри медичних медичних приладів приладів та систем та систем, перший МДГУ ім. Петра проректор МДГУ ім. Могили Петра Могили
  2. 2. Баги Тест «Нефункціональні» вимоги Use Case Задачі Бізнес- Розробники аналітик Керівник Зміни проекту Помилки при використанні Користувач
  3. 3. Категорії критичного програмного забезпечення Критичність та власність Приклад систем Критичні для країни (нації) Оборонні та бюджетні системи Безпека (Security), Надійність (Reliability) Критичні для людського життя Медичні системи та системи контролю Точність (Correctness), Надійність (Reliability) світлофорів Критичні для соціального середовища Надійність (Reliability), Безпека (Security) Банківські та телекомунікаційні системи Критичні для корпорації Системи виробників та бази даних Ефективність (Effectiveness, Efficiency) замовників Критичні для здоров'я користувача Зручність використання (Usability), Інтерактивні системи та комп'ютерні Привабливість (Attractiveness) ігри Відмови медичних систем, спричинені дефектами програмногозабезпечення
  4. 4. Визначення основних понять  Дефект ПЗ - це явна або гіпотетична причина відмов системи, тобто відхилення від результатів коректного обслуговування користувачів ПЗ.  Помилка ПЗ - запис елемента програми або тексту програмної документації, використання якої приводить або може привести до невірного результату.  Відмова - подія, що полягають у прояві непрацездатності ПЗ. Ознаки непрацездатності встановлюються в нормативно-технічній документації ПЗ.  Верифікація - це процес доведення, що певний етап життєвого циклу створення системи виконаний відповідно до вимог, встановленими на попередньому етапі.  Тестування - основний метод виміру якості коректності й реальної надійності функціонування програм на будь-яких етапах розробки. програміст активація розвиток Дефект ПЗ Помилка ПЗ Відмова ПЗ
  5. 5. Процес розробки програмного продукту (Життєвий цикл ПЗ) Waterfall model Rapid application development Spiral model ICONIX Process (UML-based) Model driven development Unified Process User experience V-model Top-down and bottom-up design Extreme Programming Chaos model Software Development Rhythms Evolutionary prototyping Incremental funding methodology Prototyping IPO+S Model Нові або змінені Новий або змінений вимоги до ПП програмний продукт (problem) (solution)
  6. 6. Кроки життєвого циклу розробки ПЗ Аналіз коду Метрики коду Профілювання Модульне тестування з покриттям коду Формування вимог Дизайн Обслуговування Розробка Впровадження Тестування
  7. 7. Зростання вартості виправлення дефектів в процесі розробки програми
  8. 8. Модель зовнішньої та внутрішньої якості ПЗ ISO/IEC 9126 (2001) Функціональність (Functionality) Ефективність (Efficiency) • Функціональна повнота (Suitability); • Поведінка (Time behaviour); • Точність (Accurancy); • Використовуваність ресурсів (Resourse • Інтероперабельність (Interaperability); Utilization); • Захищеність (Security); • Узгодженість (Efficiency Compliance). • Узгодженість (Functionality Compliance). Супроводжуємість (Maintainability) Надійність (Reliability) • Аналізованість (Analysabability); • Безвідмовність (Maturity); • Змінюваність (Changeability) • Стійкість до відмов (Fault Tolerance); • Стабільність (Stability); • Відновлюваність (Recoverability); • Тестованість (Testability); • Узгодженість (Reliability Compliance). • Узгодженість (Maintainability Compliance). Зручність використання Переносимість (Portability) (Usability) • Зрозумілість (Understandebility); • Адаптованість (Adaptability); • Здатність до вивчення (Learnability); • Налагоджуваність (Installability); • Зручність інтерфейсу (Operability); • Співіснування (Co-excistence); • Привабливість (Attractiveness); • Замінність (Replaceability); • Узгодженість (Usability Compliance). • Узгодженість (Portability Compliance).
  9. 9. Постановка мети та задач дослідження  Мета дослідження полягає в аналізі методів та інструментальних засобів вимірювання та передбачення необхідного рівня надійності програмного забезпечення критичного застосування .  Задачі дослідження полягають в розробці цілісної та чіткої класифікації моделей надійності ПЗ шляхом аналізу основних існуючих моделей надійності синтезованого програмного забезпечення, таких як:  моделей передбачення або прогнозування надійності ПЗ;  моделей оцінювання надійності ПЗ (статичних та динамічних) та аналіз їхнього практичного застосування.
  10. 10. Аналіз дифініцій поняття надійності програмного забезпечення  1й підхід полягає в тому, що програма або коректна або некоректна, тоді надійність ПЗ визначається як бінарна величина: ідеальна програма має надійність рівну одиниці, а неідеальна - рівну нулю.  2й підхід базується на тестуванні ПЗ, у цьому випадку процентне відношення вдалих тестів використовується для вимірювання надійності, тобто надійність ПЗ визначена як відносна частота вдалих виконань програми.  3й підхід під терміном надійність визначає здатність зберігати якість за певних умов експлуатації, таким чином, відповідно до даного визначення, надійність - це якість, розгорнута в часі.  4й підхід визначає надійність ПЗ як ймовірність безвідмовного функціонування ПЗ в певний час або в певному середовищі.
  11. 11. Визначення складових характеристик та показників надійності ПЗ  Основними показниками надійності синтезованого ПЗ, що можуть бути оцінені за допомогою моделей надійності є:  імовірність безвідмовної роботи,  середній час роботи на відмову,  інтенсивність виникнення відмов,  кількість дефектів, що залишилися не виявленими в ПЗ.
  12. 12. Математичні основи надійності ПЗ
  13. 13. Математичні основи надійності ПЗ
  14. 14. Диференціальне рівняння функції відмов синтезованого ПЗ
  15. 15. Система диференціальних рівнянь функції відмов синтезованого ПЗ  m dN1   x1 N1 f1  t  1  t  dt    j N j f j  t  j  t  dt   j 1, j  i .....   m dNi   xi Ni fi  t  i  t  dt    j N j f j  t  j  t  dt   j 1, j  i ......   m dN n   xn N n f n  t  n  t  dt    j N j f j  t  j  t  dt   j 1, j  i
  16. 16. Базові класи множини моделей надійності програмного забезпечення
  17. 17. Класифікація моделей надійності за характером вхідної інформації
  18. 18. Систематизація ймовірнісних моделей надійності програмного забезпечення
  19. 19. Узагальнений підхід до систематизації моделей надійності ПЗ
  20. 20. Недоліки існуючих підходів до класифікації моделей надійності ПЗ В більшості проаналізованих джерел [1-3]:  проводиться часткова класифікація моделей надійності ПЗ [4];  недостатньо чітко визначається зв'язок між класифікаційними ознаками, через що множина моделей декомпозується по різних ознаках на незв'язані підмножини;  не міститься чітка систематизація вхідних параметрів моделей надійності ПЗ [5-7]. [1] Майерс Г. Надежность программного обеспечения. – М.: Мир, 1980.– 360 с. [2] Lyu M.R. Handbook of Software Reliability Engineering. – McGraw-Hill Company, 1996. – 805 p. [3] Musa J.D., Okumoto K. Software Reliability Models: Concepts, Classification, Comparisons and Practice // Electronic Systems Effectiveness and Life Cycle Costing / Skvirzynski J.K. (ed.). – Heidelberg: Springer-Verlag. – P. 395–424. [4] Полонников Р.И., Никандров А.В. Методы оценки показателей надежности программного обеспечения.– СПб.: Политехника, 1992.– 78 с. [5] Харченко В.С., Скляр В.В., Вилкомир С.А. Выбор моделей надежности программных средств для критического применения // Управляющие системы и машины. – 2000. – №3. – С. 59–69. [6] Musa J.D., Okumoto K. Software Reliability Models: Concepts, Classification, Comparisons and Practice // Electronic Systems Effectiveness and Life Cycle Costing / Skvirzynski J.K. (ed.). – Heidelberg: Springer-Verlag. – P. 395–424. [7] Musa J.D. Software Reliability. Measurement, Prediction, Application. – McGraw-Hill Company, 1987. – 397 p.
  21. 21. Запропонована класифікація моделей надійності ПЗ Сімейство Категорія Тип Експоненціальні Гама-Вейбулівські Геометричні Скінченні Вейбулівські Логарифмічні Пуасонівські НПП S-подібні Нескінченні Гіперекспоненціальні Де-еутрофікаційні Вейбулівські Біноміальні Експоненціальні Гама-Вейбулівські Категорія Тип Клас
  22. 22. Модель Мак – Кейба Модель фірми IBM Структурні та статистичні Фазо-орієнтована моделі Модель Римської лабораторії повітряних сил (RL-RT-92-15, RL-RT-92-52) Модель Акиями Модель часу виконання Муси Модель Хослтеда Параметричні моделі Модель Липова Моделі прогнозування надійності програмного забезпечення надійності синтезованого ПЗ Модель Гафнії Класифікація моделей прогнозування
  23. 23. Використання моделей прогнозу потенційної кількості дефектів ПЗ Фази ЖЦ ПЗ № Назва моделі 0 1 2 3 4 5 6 7 8 1 Фазо-орієнтована модель 2 Модель Римської лабораторії повітряних сил ‘52 3 Модель Римської лабораторії повітряних сил ‘15 4 Модель заснована на cтат. даних про дефекти ПЗ 5 Модель часу виконання Муси 6 Модель Холстеда 7 Модель фірми IBM 8 Модель Мак – Кейба (якісна оцінка) 9 Модель Акиями 10 Модель Ліпова 11 Модель Гафнії 0. До процесу розробки; 1. Формування системних вимог; 2. Формування вимог до ПЗ; 3. Розробка архітектурного проекту; 4. Розробка детального проекту; 5. Кодування; 6. Модульне тестування; 7. Інтеграційне тестування; 8. Системне тестування.
  24. 24. Методи засівання дефектів (гіпергеометрична модель Міла, модифікована модель Міла-Бейсина) Статистичні методи (модель Нельсона, модель Статистичні моделі Брауна і Липова) Модель Джелінского-Моранди Модель Гоеля-Окумото Модель Шнайдевінда Базова модель Муси Модель Муси-Окумото Модель Вейбула Динамічні моделі Модель Літлвуда-Вералла Моделі оцінювання надійності програмного забезпечення надійності синтезованого ПЗ Гіперекспонентна модель Геометрична модель Класифікація моделей оцінювання S-подібна модель надійності
  25. 25. Базові вхідні та вихідні параметри класичних модель надійності ПЗ  Статистичні моделі які, застосовуються протягом тестування ПЗ можуть оцінити/передбачити надійність  Вхідні параметри:  Час між успішними відмовами  Кількість відмов на кожний інтервал тесту заданої довжини  Вихідні параметри:  Щільність розподілу ймовірності (Probability Density Function - PDF) до наступної відмови  PDF кількості відмов на наступних інтервалах часу  Можна оцінити або передбачити надійність, інтенсивність відмов
  26. 26. Застосування статистичних та динамічних моделей оцінки надійності  Узагальнений аналіз статичних моделей оцінювання надійності програмного забезпечення показав, що їх застосування вимагає значних фінансових витрат і не дає надійних результатів. За допомогою таких моделей можна одержувати лише початкові приблизні оцінки надійності ПЗ.  Проведений аналіз динамічних моделей оцінювання надійності ПЗ показав, що найбільш перспективними для практичного застосування є моделі, що базуються на негомогенному пуасонівському процесі.
  27. 27. Яким чином вимірювати та контролювати надійність ПЗ?
  28. 28. Вимірювання та оцінка надійності ПЗ перед тестуванням  Визначення схильних до відмови модулів  Boolean Discriminant Functions [Schn97]  Дерева класифікації  Khoshgoftaar and Allen [Khos01a]  Ghokale and Lyu [Gokh97]  Логістична регресія [Schn01]  Оцінка вмісту відмов ПЗ включає:  Модульно-зорієнтоване моделювання  Нейронні мережі  Zero-inflated Poisson (Пуассон) regression [Khos01]  Вимірювання структурної еволюції [Niko03], [Niko98]
  29. 29. ІНСТРУМЕНТАЛЬНІ ЗАСОБИ ДЛЯ МОДЕЛЮВАННЯ, ОЦІНКИ НАДІЙНОСТІ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ 1. ІЗ для реєстрації 2. Інструментальні засоби 3. Інструментальні засоби параметрів системи для оцінки імовірнісних для статичного аналізу збору інформації щодо показників надійності тексту програмного виявлення та програмного забезпечення виправлення дефектів ПЗ забезпечення 1. ІЗ даного класу дозволяють виконати оцінку якості виконання проекту (Ratіonal Rose). Крім того, інформація про виявлення й усунення дефектів ПЗ використовується в якості вхідних даних для ІЗ, що виконують оцінку імовірнісних показників надійності ПЗ. 2. Дані ІЗ, що дозволяють виконати процедури математичного моделювання показників надійності ПЗ й зробити візуалізацію їх результатів на підставі інформації про виявлені дефекти. Основним недоліком даних систем є обмежена множина імовірнісних моделей надійності, а також відсутність процедур їхнього вибору з урахуванням особливостей кожного конкретного ПЗ. 3. До цього класу ІЗ відносяться такі утиліти як DOORS (фірма ZYCAD Corporatіon, США), RAMS Software Tools (Іtem Software Іnc., США), Valіdator (ІSTec, Німеччина), Super Trace (SAІ, США) і ін. Такого роду ІЗ крім семантичного й статистичного аналізу коду можуть також визначати різні параметри ПЗ (кількість і номенклатура операторів й операндів і т.д.), які потім можуть бути використані для розрахунку метрик складності ПЗ.
  30. 30. Інструментальні засоби оцінки імовірнісних показників надійності ПЗ Фірма та рік Моделі оцінки надійності Імовірнісні показники, що Назва ІЗ розробки ПЗ оцінюються Муси; Муси-Окумото; Інтенсивність відмов; Statistical modeling and Naval Surface Warfare Джелинського-Моранди; Загальне число відмов; estimation of reliability Center 1-я Моранды; Шнайдевінда; Число відмов, що залишилися; functions of software (NSWC) Гела-Окумото; Охба Час до наступної відмови; (SMERFS) 1993 [13, 14] Час до наступних К- відмов Reliability and Software reliability Муси-Окумото; Дюэна; Інтенсивність відмов; Statistical Consultant, modeling program Джелінського-Моранди; Час до наступної відмови; Ltd (SRMP) Гела-Окумото Час до наступних К- відмов 1988 Інтенсивність відмов; Загальне число відмов; Data & Analysis Center Число відмов, що залишилися; GOEL of Software (DACS) Гела-Окумото Час до наступної відмови; 1987 Час до наступних К-відмов; Вартість етапу тестування Інтенсивність відмов; Bell Communication Гела-Окумото з оцінкою Загальне число відмов; ESTM Research економічних критеріїв Число відмов, що залишилися; 1993 тестування Вартість етапу тестування Інтенсивність відмов; Муси; Муси-Окумото; Загальне число відмов; NASA COSMIC Джелінського-Моранди; CASRE Число відмов, що залишилися; 1994 1-а Моранди; Шнайдевінда; Час до наступної відмови; Гела-Окумото; Охба Час до наступних К- відмов Інтенсивність відмов; AT&T Bell Laboratories Муси; Муси-Окумото Загальне число відмов; AT&T SRE 1991 [14] Число відмов, що залишилися; Вартість етапу тестування
  31. 31. Особливості застосування ІЗ для моделювання надійності ПЗ
  32. 32. Особливості застосування ІЗ для оцінки надійності ПЗ  Аналіз існуючих ІЗ для моделювання й оцінки якості й надійності ПЗ показав, що кожний із розглянутих типів дозволяє оцінювати лише окремі складові якості й надійності ПЗ. Таким чином, представляється доцільним подальше вдосконалювання існуючих ІЗ у напрямку інтеграції їх у єдиній системі оцінки кількісних метрик якості й надійності ПЗ в рамках моделі якості ІSO 9126.  Для оцінки якості й надійності сучасного програмного забезпечення реалізуються підходи, засновані на:  методах інспекції, що припускають перевірку відповідності ПЗ вимогам нормативних документів шляхом неформалізованого аналізу документації й процесів розробки;  використанні спеціальних показників - метрик, що дозволяють побічно судити про рівень якості й надійності ПЗ на підставі аналізу вірогідно вимірюваних характеристик програмного продукту й процесів його проектування;  застосуванні математичних моделей для оцінки імовірнісних показників надійності.
  33. 33. Висновки  Розглянуто математичні основи надійності ПЗ та визначено базові вхідні та вихідні параметри моделей надійності.  Здійснена спроба створення систематизовано-класифікаційної структури моделей надійності ПЗ, що дозволило вдосконалити класифікацію моделей надійності програмного забезпечення.  Реалізовано ієрархічну структуру та досліджено приклади моделей прогнозування та оцінювання надійності ПЗ. Проаналізовані особливості застосування розглянутих моделей прогнозування кількості дефектів ПЗ на різних етапах ЖЦ ПЗ.  Реалізовано ієрархічну структуру та досліджено приклади ймовірнісних моделей оцінювання надійності ПЗ. Визначено переваги та недоліки даних підкласів ймовірнісних моделей оцінювання надійності ПЗ.  Концепція керування надійністю та якістю інформаційних систем забезпечується шляхом:  оцінювання надійності на всіх етапах життєвого циклу програмного забезпечення;  вдосконалення інструментальних засобів, які призначені для керування надійністю та якістю ПЗ.

×