Аналіз методів та засобів підвищення надійності та...
DESCRIPTION
Аналіз методів та засобів підвищення надійності та точності систем медичної діагностики. Трунов О.М. , к.т.н., професор, зав. кафедри медичних приладів та систем, перший проректор МДГУ ім. Петра Могили. Волкова С.О. , аспірант, викладач кафедри медичних приладів та систем МДГУ ім. Петра Могили. - PowerPoint PPT PresentationTRANSCRIPT
Аналіз методів та засобів підвищення надійності та точності
систем медичної діагностики
Волкова С.О.,аспірант, викладач кафедри медичних приладів та систем
МДГУ ім. Петра Могили
Трунов О.М.,к.т.н., професор,
зав. кафедри медичних приладів та систем, перший проректор МДГУ ім.
Петра Могили
Бізнес-Бізнес-аналітиканалітик Керівник Керівник
проектупроекту
РозробникиРозробники
ТестТест
КористувачКористувач
ЗміниЗміни
Use CaseUse Case
«Нефункціональні» вимоги«Нефункціональні» вимогиБагиБаги
ЗадачіЗадачі
Помилки приПомилки привикористаннівикористанні
Категорії критичного програмного забезпечення
Критичність та власність Приклад системКритичні для країни (нації)
Безпека (Security), Надійність (Reliability)
Критичні для людського життяТочність (Correctness), Надійність (Reliability)
Критичні для соціального середовищаНадійність (Reliability), Безпека (Security)
Критичні для корпораціїЕфективність (Effectiveness, Efficiency)
Критичні для здоров'я користувача Зручність використання (Usability), Привабливість (Attractiveness)
Відмови медичних систем,спричинені дефектами програмногозабезпечення
Оборонні та бюджетні системи
Медичні системи та системи контролю світлофорів
Банківські та телекомунікаційні системи
Системи виробників та бази даних замовників
Інтерактивні системи та комп'ютерні ігри
Визначення основних понять
Дефект ПЗ - це явна або гіпотетична причина відмов системи, тобто відхилення від результатів коректного обслуговування користувачів ПЗ.
Помилка ПЗ - запис елемента програми або тексту програмної документації, використання якої приводить або може привести до невірного результату.
Відмова - подія, що полягають у прояві непрацездатності ПЗ. Ознаки непрацездатності встановлюються в нормативно-технічній документації ПЗ.
Верифікація - це процес доведення, що певний етап життєвого циклу створення системи виконаний відповідно до вимог, встановленими на попередньому етапі.
Тестування - основний метод виміру якості коректності й реальної надійності функціонування програм на будь-яких етапах розробки.
Дефект ПЗ Помилка ПЗ Відмова ПЗпрограміст активація розвиток
Процес розробки програмного продукту(Життєвий цикл ПЗ)
Нові або змінені вимоги до ПП
(problem)
Новий або змінений програмний продукт
(solution)
Waterfall model Spiral model Model driven development User experience Top-down and bottom-up
design Chaos model Evolutionary prototyping Prototyping
Rapid application development ICONIX Process (UML-based)Unified Process V-model Extreme Programming Software Development Rhythms Incremental funding methodologyIPO+S Model
Кроки життєвого циклу розробки ПЗ
ДизайнДизайн
РозробкаРозробка
Формування Формування вимогвимог
ОбслуговуванняОбслуговування
ВпровадженняВпровадженняТестуванняТестування
Аналіз кодуМетрики кодуПрофілюванняМодульне тестування з покриттям коду
Зростання вартості виправлення дефектів в процесі розробки програми
Модель зовнішньої та внутрішньої якості ПЗ ISO/IEC 9126 (2001)
Постановка мети та задач дослідження
Мета дослідження полягає в аналізі методів та інструментальних засобів вимірювання та передбачення необхідного рівня надійності програмного забезпечення критичного застосування .
Задачі дослідження полягають в розробці цілісної та чіткої класифікації моделей надійності ПЗ шляхом аналізу основних існуючих моделей надійності синтезованого програмного забезпечення, таких як:
моделей передбачення або прогнозування надійності ПЗ; моделей оцінювання надійності ПЗ (статичних та динамічних) та
аналіз їхнього практичного застосування.
Аналіз дифініцій поняття надійності програмного забезпечення
1й підхід полягає в тому, що програма або коректна або некоректна, тоді надійність ПЗ визначається як бінарна величина: ідеальна програма має надійність рівну одиниці, а неідеальна - рівну нулю.
2й підхід базується на тестуванні ПЗ, у цьому випадку процентне відношення вдалих тестів використовується для вимірювання надійності, тобто надійність ПЗ визначена як відносна частота вдалих виконань програми.
3й підхід під терміном надійність визначає здатність зберігати якість за певних умов експлуатації, таким чином, відповідно до даного визначення, надійність - це якість, розгорнута в часі.
4й підхід визначає надійність ПЗ як ймовірність безвідмовного функціонування ПЗ в певний час або в певному середовищі.
Визначення складових характеристик та показників надійності ПЗ
Основними показниками надійності синтезованого ПЗ, що можуть бути оцінені за допомогою моделей надійності є: імовірність безвідмовної роботи, середній час роботи на відмову, інтенсивність виникнення відмов, кількість дефектів, що залишилися не виявленими в ПЗ.
Математичні основи надійності ПЗ
Математичні основи надійності ПЗ
Диференціальне рівняння функції відмов синтезованого ПЗ
Система диференціальних рівнянь функції відмов синтезованого ПЗ
1 1 1 1 11,
1,
1,
.....
......
m
j j j jj j i
m
i i i i i j j j jj j i
m
n n n n n j j j jj j i
dN x N f t t dt N f t t dt
dN x N f t t dt N f t t dt
dN x N f t t dt N f t t dt
Базові класи множини моделей надійності програмного забезпечення
Класифікація моделей надійності за характером вхідної інформації
Систематизація ймовірнісних моделей надійності програмного забезпечення
Узагальнений підхід до систематизації моделей надійності ПЗ
Недоліки існуючих підходів до класифікації моделей надійності ПЗ
В більшості проаналізованих джерел [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.
Запропонована класифікація моделей надійності ПЗ
КатегоріяСімейство
ТипЕкспоненціальні Гама-Вейбулівські
СкінченніГеометричні
Вейбулівські
ПуасонівськіЛогарифмічні
Нескінченні
НППS-подібні
Гіперекспоненціальні
Де-еутрофікаційні Вейбулівські Біноміальні
КатегоріяЕкспоненціальні Гама-Вейбулівські
ТипКлас
Класифікація моделей прогнозування надійності синтезованого ПЗ
Моделі прогнозування надійності програмного забезпечення
Структурні та статистичні Параметричні моделі
Використання моделей прогнозу потенційної кількості дефектів ПЗ
Класифікація моделей оцінювання надійності синтезованого ПЗ
Моделі оцінювання надійності програмного забезпечення
Статистичні моделі Динамічні моделі
Базові вхідні та вихідні параметри класичних модель надійності ПЗ
Статистичні моделі які, застосовуються протягом тестування ПЗ можуть оцінити/передбачити надійність
Вхідні параметри: Час між успішними відмовами Кількість відмов на кожний інтервал тесту заданої
довжини
Вихідні параметри: Щільність розподілу ймовірності (Probability Density
Function - PDF) до наступної відмови PDF кількості відмов на наступних інтервалах часу Можна оцінити або передбачити надійність,
інтенсивність відмов
Застосування статистичних та динамічних моделей оцінки надійності
Узагальнений аналіз статичних моделей оцінювання надійності програмного забезпечення показав, що їх застосування вимагає значних фінансових витрат і не дає надійних результатів. За допомогою таких моделей можна одержувати лише початкові приблизні оцінки надійності ПЗ.
Проведений аналіз динамічних моделей оцінювання надійності ПЗ показав, що найбільш перспективними для практичного застосування є моделі, що базуються на негомогенному пуасонівському процесі.
Яким чином вимірювати та контролювати надійність ПЗ?
Вимірювання та оцінка надійності ПЗ перед тестуванням
Визначення схильних до відмови модулів Boolean Discriminant Functions [Schn97] Дерева класифікації
Khoshgoftaar and Allen [Khos01a] Ghokale and Lyu [Gokh97]
Логістична регресія [Schn01]
Оцінка вмісту відмов ПЗ включає: Модульно-зорієнтоване моделювання Нейронні мережі Zero-inflated Poisson (Пуассон) regression [Khos01] Вимірювання структурної еволюції [Niko03], [Niko98]
1. ІЗ даного класу дозволяють виконати оцінку якості виконання проекту (Ratіonal Rose). Крім того, інформація про виявлення й усунення дефектів ПЗ використовується в якості вхідних даних для ІЗ, що виконують оцінку імовірнісних показників надійності ПЗ.
2. Дані ІЗ, що дозволяють виконати процедури математичного моделювання показників надійності ПЗ й зробити візуалізацію їх результатів на підставі інформації про виявлені дефекти. Основним недоліком даних систем є обмежена множина імовірнісних моделей надійності, а також відсутність процедур їхнього вибору з урахуванням особливостей кожного конкретного ПЗ.
3. До цього класу ІЗ відносяться такі утиліти як DOORS (фірма ZYCAD Corporatіon, США), RAMS Software Tools (Іtem Software Іnc., США), Valіdator (ІSTec, Німеччина), Super Trace (SAІ, США) і ін. Такого роду ІЗ крім семантичного й статистичного аналізу коду можуть також визначати різні параметри ПЗ (кількість і номенклатура операторів й операндів і т.д.), які потім можуть бути використані для розрахунку метрик складності ПЗ.
Інструментальні засоби оцінки імовірнісних показників надійності ПЗ
Назва ІЗФірма та рік
розробкиМоделі оцінки надійності
ПЗІмовірнісні показники, що
оцінюються
Statistical modeling and estimation of reliability functions of software
(SMERFS)
Naval Surface Warfare Center
(NSWC)1993
Муси; Муси-Окумото; Джелинського-Моранди;
1-я Моранды; Шнайдевінда; Гела-Окумото; Охба
[13, 14]
Інтенсивність відмов;Загальне число відмов;
Число відмов, що залишилися;Час до наступної відмови;
Час до наступних К- відмов
Software reliability modeling program
(SRMP)
Reliability and Statistical Consultant,
Ltd1988
Муси-Окумото; Дюэна; Джелінського-Моранди;
Гела-Окумото
Інтенсивність відмов;Час до наступної відмови;
Час до наступних К- відмов
GOELData & Analysis Center
of Software (DACS)1987
Гела-Окумото
Інтенсивність відмов;Загальне число відмов;
Число відмов, що залишилися;Час до наступної відмови;
Час до наступних К-відмов;Вартість етапу тестування
ESTMBell Communication
Research1993
Гела-Окумото з оцінкою економічних критеріїв
тестування
Інтенсивність відмов;Загальне число відмов;
Число відмов, що залишилися;Вартість етапу тестування
CASRENASA COSMIC
1994
Муси; Муси-Окумото;Джелінського-Моранди;
1-а Моранди; Шнайдевінда;Гела-Окумото; Охба
Інтенсивність відмов;Загальне число відмов;
Число відмов, що залишилися;Час до наступної відмови;
Час до наступних К- відмов
AT&T SREAT&T Bell Laboratories
1991Муси; Муси-Окумото
[14]
Інтенсивність відмов;Загальне число відмов;
Число відмов, що залишилися;Вартість етапу тестування
Особливості застосування ІЗ для моделювання надійності ПЗ
Особливості застосування ІЗ для оцінки надійності ПЗ
Аналіз існуючих ІЗ для моделювання й оцінки якості й надійності ПЗ показав, що кожний із розглянутих типів дозволяє оцінювати лише окремі складові якості й надійності ПЗ. Таким чином, представляється доцільним подальше вдосконалювання існуючих ІЗ у напрямку інтеграції їх у єдиній системі оцінки кількісних метрик якості й надійності ПЗ в рамках моделі якості ІSO 9126.
Для оцінки якості й надійності сучасного програмного забезпечення реалізуються підходи, засновані на:
методах інспекції, що припускають перевірку відповідності ПЗ вимогам нормативних документів шляхом неформалізованого аналізу документації й процесів розробки;
використанні спеціальних показників - метрик, що дозволяють побічно судити про рівень якості й надійності ПЗ на підставі аналізу вірогідно вимірюваних характеристик програмного продукту й процесів його проектування;
застосуванні математичних моделей для оцінки імовірнісних показників надійності.
Висновки
Розглянуто математичні основи надійності ПЗ та визначено базові вхідні та вихідні параметри моделей надійності.
Здійснена спроба створення систематизовано-класифікаційної структури моделей надійності ПЗ, що дозволило вдосконалити класифікацію моделей надійності програмного забезпечення.
Реалізовано ієрархічну структуру та досліджено приклади моделей прогнозування та оцінювання надійності ПЗ. Проаналізовані особливості застосування розглянутих моделей прогнозування кількості дефектів ПЗ на різних етапах ЖЦ ПЗ.
Реалізовано ієрархічну структуру та досліджено приклади ймовірнісних моделей оцінювання надійності ПЗ. Визначено переваги та недоліки даних підкласів ймовірнісних моделей оцінювання надійності ПЗ.
Концепція керування надійністю та якістю інформаційних систем забезпечується шляхом:
оцінювання надійності на всіх етапах життєвого циклу програмного забезпечення;
вдосконалення інструментальних засобів, які призначені для керування надійністю та якістю ПЗ.