
- •Галузева система управління якістю методи оцінки показників якості програмного забезпечення програмно-технічних комплексів критичного призначення Отраслевая система управления качеством
- •1 Сфера застосування
- •2 Нормативні посилання
- •3 Терміни та визначення понять
- •3.2 Безпека програмного забезпечення
- •3.8 Життєвий цикл системи
- •3.9 Інструментальний засіб (case-інструмент)
- •3.10 Категорія критичності програмного забезпечення
- •3.13 Надійність програмного забезпечення
- •3.15 Оцінювання якості програмного забезпечення
- •3.16 Показники (характеристики) якості програмного забезпечення
- •3.19 Програмно-технічний комплекс
- •4 Познаки та скорочення
- •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.4.4 Метрична оцінка програмного забезпечення
5.4.4.1 Метричну оцінку ПЗ (Metrics Measurement) застосовують для прогнозування властивостей програм, виходячи зі значень деяких вимірних атрибутів. У ході метричної оцінки ПЗ розраховуються та інтерпретуються значення метрик. Метрика містить шкалу та метод проведення вимірювань. Метрична оцінка спрямована, у першу чергу, на оцінку складності ПЗ. Розраховані значення метрик можуть бути зіставлені із властивостями безпеки та надійності (або з іншими складовими якості ПЗ) і використані для їхньої непрямої оцінки.
5.4.4.2 Прикладами метрик складності є:
– цикломатична складність, заснована на аналізі управляючого графа програми;
– метрики Холстеда, засновані на зіставленні можливої кількості помилок програми з кількістю та номенклатурою використовуваних операторів і операндів;
– число входів і виходів програмного модуля; наявність однієї точки входу та однієї точки виходу для модуля є ключовою характеристикою структурного програмування; збільшення числа входів і виходів може призвести до наявності помилки ПЗ.
5.4.4.3 Цикломатична складність програмного об'єкта (процедури, модуля, підсистеми тощо), представленого у вигляді графа, обчислюється за формулою:
C = E – N + 1 ,
де E – кількість ребер графа;
N – кількість вузлів графа.
5.4.4.4 Метрики Холстеда
У таблиці 5.7 наведено перелік метрик Холстеда.
Таблиця 5.7— Перелік метрик Холстеда
-
Назва метрики
Спосіб обчислення
Словник програми:
Довжина програми:
Оцінювана довжина програми:
Обсяг програми:
Кінець таблиці 5.7
-
Назва метрики
Спосіб обчислення
Потенційний обсяг програми
Складність програми
Рівень програми
Зусилля на розроблення програми
Кількість помилок у програмі
Час розроблення програми
Примітка. Дані для розрахунку метрик Холстеда:
n1- число простих операторів, що розрізняються (словник операторів);
n2- число простих операндів, що розрізняються (словник операндів);
N1- загальне число усіх операторів;
N2- загальне число усіх операндів;
n2*-число різних вхідних і вихідних параметрів;
S = 18 – число Страунда (кількість елементарних розумових операцій за секунду).
5.4.4.5 Інші метрики складності ПЗ описано у стандартах [2], [3], [4], [12]. Метрична оцінка ПЗ заснована на аналізі програмного коду за допомогою інструментальних засобів. Крім того, якщо використовуються формалізовані мови проектування, ця метрична оцінка може також використовуватися для специфікації вимог і проекту.
5.4.4.6 Перевагою метричної оцінки ПЗ є можливість перевірки деяких характеристик структури програмного коду без його безпосереднього виконання. Недоліком метричної оцінки ПЗ є те, що інформація про чисельні значення метрик може не завжди однозначно відповідати властивостям безпеки та надійності.
5.4.4.7 Різновидом метричної оцінки ПЗ є верифікація ПЗ на відповідність правилам програмування. Цей вид аналізу також здійснюється за допомогою інструментальних засобів. Програмні конструкції перевіряються на відхилення від прийнятих правил і стандартів написання програмного коду. Виявлені відхилення від правил програмування визначають потенційні проблеми, які можуть призвести до прояву дефектів ПЗ.