- •Галузева система управління якістю методи оцінки показників якості програмного забезпечення програмно-технічних комплексів критичного призначення Отраслевая система управления качеством
- •1 Сфера застосування
- •2 Нормативні посилання
- •3 Терміни та визначення понять
- •3.2 Безпека програмного забезпечення
- •3.8 Життєвий цикл системи
- •3.9 Інструментальний засіб (case-інструмент)
- •3.10 Категорія критичності програмного забезпечення
- •3.15 Оцінювання якості програмного забезпечення
- •3.16 Показники (характеристики) якості програмного забезпечення
- •3.19 Програмно-технічний комплекс
- •4 Познаки та скорочення
- •3.13 Надійність програмного забезпечення
- •5 Методи оцінювання показників якості програмного забезпечення критичного призначення
- •5.1 Методи оцінювання показників якості програмного забезпечення
- •5.2 Інспекції процесів розроблення програмного забезпечення
- •5.3 Методи тестування програмного забезпечення
- •5.3.1 Загальні положення щодо тестування програмного забезпечення
- •5.3.2 Методи функціонального тестування програмного забезпечення
- •5.3.2.1 Загальні положення щодо функціонального тестування програмного забезпечення
- •5.3.2.2 Тестування транзакцій
- •5.3.2.3 Тестування областей вхідних даних
- •5.3.2.4 Тестування синтаксису
- •5.3.2.5 Тестування логічних умов
- •5.3.2.6 Тестування станів
- •5.3.3 Метод структурного тестування програмного забезпечення
- •5.3.3.1 Загальні положення щодо структурного тестування програмного забезпечення
- •5.3.3.2 Тестування маршрутів
- •5.3.3.3 Тестування циклів
- •5.3.3.4 Тестування обробки даних
- •5.4 Методи статичного аналізу програмного забезпечення
- •5.4.1 Загальні положення щодо статичного аналізу програмного забезпечення
- •5.4.2 Аналіз потоку управління
- •5.4.3 Аналіз потоку даних
- •5.4.4 Метрична оцінка програмного забезпечення
- •5.5 Метод імовірнісної оцінки надійності програмного забезпечення
- •5.5.1 Загальні положення щодо імовірнісної оцінки надійності програмного забезпечення
- •5.5.2 Оброблення статистичних даних про відмови програмного забезпечення
- •5.5.3 Визначення параметрів моделей надійності
- •5.5.3.3 Мнпз, їхні допущення та аналітичні співвідношення
- •5.5.3.4 Модель Джелінського–Моранді
- •5.5.3.5 Модель Гела–Окумото
- •5.5.3.6 Модель базова s-подібна
- •5.5.3.7 Модель Шика–Уолвертона
- •5.5.3.8 Перша геометрична модель Моранди
- •5.5.3.9 Модель Муси–Окумото
- •5.5.3.10 Метод максимуму правдоподібності
- •5.5.3.11 Метод найменших квадратів
- •5.5.3.12 Приклади застосування моделей надійності програмного забезпечення
- •5.5.3.12.2 Оцінка показників надійності за допомогою мнпз, описаних у 5.5.3.4-5.5.3.9.
- •5.5.3.12.3 Модель Джелінського-Моранді
- •5.5.3.12.4 Модель Гела-Окумото
- •5.5.3.12.5 Базова s-подібна модель
- •5.5.3.12.6 Модель Шика-Уолвертона
- •5.5.3.12.7 Перша геометрична модель Моранді
- •5.5.3.12.8 Модель Муси-Окумото
- •5.5.4 Вибір моделі надійності програмного забезпечення
- •5.5.4.3 Критерій Колмогорова-Смирнова
- •5.5.4.4 Критерій 2
- •5.5.4.5 Критерій мінімального сумарного квадратичного відхилення:
- •5.5.5 Прогнозування показників надійності програмного забезпечення
- •5.6 Аналіз видів, наслідків і критичності відмов програмного забезпечення (sfmeca)
- •5.6.1 Загальні положення щодо аналізу видів, наслідків і критичності відмов
- •5.6.2 Основні принципи виконання sfmeca
- •5.6.2.1 Базування sfmeca
- •5.6.2.2 Визначення функціональної структури програмного забезпечення
- •5.6.2.3 Одержання вихідної інформації
- •5.6.2.4 Подання структури програмного забезпечення
- •5.6.2.5 Ідентифікація видів відмов
- •5.6.2.6 Аналіз відмов із загальної причини
- •5.6.2.7 Аналіз критичності
- •5.6.2.8 Зв'язок між sfmeca та іншими методами
- •5.6.3 Процедура виконання sfmeca
- •5.6.3.1 Процедура виконання sfmeca
- •5.6.3.2 Визначення вимог до програмного забезпечення
- •5.6.3.3 Розроблення діаграм, схем та інших математичних моделей і описів
- •5.6.3.4 Вибір рівнів програмного забезпечення і документації
- •5.6.3.5 Ідентифікація видів, причин і впливу відмов
- •5.6.3.6 Ідентифікація методів виявлення відмов та їх ізолювання
- •5.6.3.7 Опис значення відмов та альтернативних запобіжних заходів
- •5.6.3.8 Оцінка критичності та імовірності відмов
- •5.6.3.9 Розроблення рекомендацій і звіту за результатами sfmeca
- •5.7 Аналіз дерева відмов програмного забезпечення (sfta)
- •5.7.1 Загальні положення щодо аналізу дерева відмов програмного забезпечення
- •5.7.2 Процедура виконання sfta
- •5.7.2.1 Процедура виконання sfta
- •5.7.2.2 Визначення області аналізу
- •5.7.2.3 Ознайомлення з проектом, функціями і роботою програмного забезпечення
- •5.7.2.4 Визначення кінцевої події
- •5.7.2.5 Побудова дерева відмов
- •5.7.2.6 Логічний і чисельний аналіз дерева відмов
- •5.7.2.7 Розроблення звіту про результати аналізу
- •5.7.3 Умовні позначки для дерева відмов
- •5.8 Керівництво з адаптації нормативного документа
- •Додаток а
- •Бібліографія
5.6 Аналіз видів, наслідків і критичності відмов програмного забезпечення (sfmeca)
5.6.1 Загальні положення щодо аналізу видів, наслідків і критичності відмов
5.6.1.1 Аналіз видів, наслідків і критичності відмов ПЗ (SFMECA – Software Failure Modes Effects and Criticality Analysis) застосовують для ідентифікації та усунення можливих програмних дефектів та відмов і аналізу їхнього впливу на систему. SFMECA є різновидом SFMEA (Software Failure Modes and Effects Analysis – аналіз видів і наслідків відмов ПЗ). Обидва методи базуються на положеннях FMEA (Failure Modes and Effects Analysis – аналіз видів і наслідків відмов) і FMECA (Failure Mode, Effects and Criticality Analysis – аналіз видів, наслідків і критичності відмов), які застосовуються для системного рівня.
5.6.1.2 В цілому, відмови або види відмов будь-якого компонента ПЗ несприятливо впливають на роботу системи. SFMECA ґрунтується на визначенні рівня компонента ПЗ, для якого формулюють основні критерії відмови (первинні види відмови). Починаючись з основних характеристик відмови компонентів ПЗ та структури ПЗ, SFMECA визначає відношення між відмовами компонентів ПЗ та системними відмовами, збоями, експлуатаційними обмеженнями та зниженням ефективності функціонування або цілісності системи. При цьому також повинна бути розглянута послідовність подій у часі. Серйозність наслідків відмов характеризується їхньою критичністю. Критичність визначають категоріями або рівнями, які характеризуються ризиками та зниженням продуктивності системи, а іноді і імовірністю їхнього виникнення. Ця імовірність по можливості ідентифікується окремо.
5.6.1.3 SFMECA може використовуватися на ранніх стадіях процесу розроблення ПЗ. SFMECA дозволяє оцінити та скоригувати архітектуру ПЗ, а також визначити обсяг необхідних тестів і оптимальні режими функціонування ПЗ. Ідентифікація критичних елементів ПЗ дозволяє виробити відповідні коригувальні дії, і тим самим знизити ризик появи відмов ПЗ. За відсутності необхідності коригувальних дій цей факт повинен бути задокументованим. SFMECA може бути виконаним для будь-якого рівня ієрархії ПЗ або системи, як тільки буде доступною інформація про критичні вимоги. Необхідний обсяг SFMECA залежить від нижнього рівня, для якого ідентифікуються критичні вимоги та елементи, що впливають на критичність. На цьому рівні SFMECA припиняють. Аналіз виконується «вниз», однак результати аналізу на нижніх рівнях ітеративним чином ураховують для коригування на верхніх рівнях. Результати SFMECA використовують для уточнення вимог до ПЗ, вони дозволяють управляти архітектурою ПЗ протягом усього життєвого циклу.
5.6.1.4 SFMECA виконують на основі функціонального підходу, тобто залежно від критичності виконуваних функцій або програмних сервісів. Застосування SFMECA дозволяє виробити проектні рішення з точки зору стійкості ПЗ до відмов. Після внесення змін до проектних рішень SFMECA повинен виконуватися для оцінки впливу внесених змін.
5.6.1.5 Проведення SFMECA пов'язане з розробленням діаграм станів (5.3.2.5), а також діаграм потоку управління (5.4.2) і потоку даних (5.4.3). Такі діаграми необхідні:
за умови різноманітно ідентифікованих і визначених критеріях відмови;
за умови зниження якості функціонування або зниженні гарантії працездатності;
під час аналізу безпеки.
5.6.1.6 Метою виконання SFMECA є:
оцінка впливу та послідовностей подій, викликаних кожним ідентифікованим видом відмови компонентів з будь-якої причини на різних рівнях функціональної ієрархії;
визначення впливу значення або критичності кожного виду відмови на правильність функціонування або роботу системи та вплив на надійність та/або безпеку пов'язаних процесів;
класифікація ідентифікованих видів відмови відносно їх діагностованості, тестованості, змінюваності компонентів ПЗ;
оцінка ступеню значущості та імовірності відмов, за умови доступності даних.
5.6.1.7 Для виконання SFMECA потрібен спеціально підготовлений персонал, який повинен тісно співробітничати з розробником ПЗ та ПТК. SFMECA повинен удосконалюватися та модифікуватися разом з розвитком та модифікацією програмного проекту. Після закінчення проекту SFMECA використовують для верифікації розробленого ПЗ і для підтвердження відповідності розробленого ПЗ ПТК вимогам стандартів і вимогам користувача.
5.6.1.8 Результати SFMECA можуть бути використані для встановлення пріоритетів управління процесами розроблення для приймальних і пускових випробувань, для процедур супроводу та діагностування. Під час вибору заходів застосування аналізу SFMECA, до компонентів ПЗ або проекту в цілому необхідно враховувати: цілі, для яких необхідні результати SFMECA, синхронізацію за часом з іншими діями та важливість установлення визначеного ступеня розуміння та контролю над небажаними видами відмов і їхнім впливом. Це призводить до необхідності планування SFMECA на рівнях: система, підсистема, компонент, елемент для встановлення зв'язку з ітеративними процесами розроблення ПЗ.
5.6.1.9 Основні переваги SFMECA полягають у його потенційних можливостях, які описано нижче. SFMECA повинен використовуватися для:
ідентифікації відмов, одиничне виникнення яких має неприпустимий або істотний вплив, і визначення видів відмов, які можуть серйозно вплинути на очікувану або необхідну дію;
визначення необхідності версійного резервування;
визначення властивостей проекту, які збільшують імовірність втрати працездатності системи у результаті відмови без небезпечних наслідків;
зниження кількості параметрів та/або спрощення проекту;
визначення необхідності вибору альтернативних способів розроблення компонентів ПЗ;
ідентифікації серйозності наслідків відмови та необхідності перегляду і переоцінки проекту;
забезпечення логічної моделі, необхідної для оцінки імовірності аномальних умов експлуатації системи;
виявлення ризиків безпеки та проблемних областей, або невідповідності регулюючим вимогам;
гарантії того, що виконання заходів верифікації і валідації ПЗ може виявити потенційні види відмов;
встановлення максимального навантаження з метою визначення апаратних обмежень функціонування ПЗ;
зосередження на ключових областях, у яких концентрується контроль над якістю, перевірками і процесами розроблення;
запобігання додаткових модифікацій за допомогою своєчасного встановлення неточностей проекту;
встановлення потреби у реєстрації даних і моніторингу протягом випробувань, контролю та використання;
забезпечення інформації з вибору контрольних точок для вбудованого діагностування;
визначення планів випробувань і критеріїв відповідності;
встановлення компонентів ПЗ, що вимагають аналізу найгірших подій (часто потрібно для аналізу відмов, які спричиняють відхилення параметрів);
забезпечення ізолювання наслідків дефектів проекту і підтримки планування альтернативних режимів роботи та реконфігурації;
полегшення взаємодії між основними і спеціалізованими розробниками, виробниками устаткування і постачальниками та користувачами і розробниками;
розширення знань системних аналітиків і розуміння поводження досліджуваного ПЗ;
забезпечення систематичного і строгого підходу до вивчення системних засобів.
5.6.1.9 Основними обмеженнями SFMECA є:
SFMECA може бути дуже складним і трудомістким у випадку складного ПЗ, яке має багато функцій та складається з множини компонентів. Складності виникають через велику кількість детальної інформації, що повинна бути врахована;
під час виконання SFMECA результати людської помилки звичайно не враховуються;
SFMECA може ідентифікувати компоненти, найбільш чутливі до зовнішнього впливу;
SFMECA вимагає повного знання характеристик і дій різних компонентів ПЗ і системи.
