- •Галузева система управління якістю методи оцінки показників якості програмного забезпечення програмно-технічних комплексів критичного призначення Отраслевая система управления качеством
- •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.8 Керівництво з адаптації нормативного документа
5.8.1 Адаптація цієї настанови складається з вибору таких методів оцінки якості ПЗ, які дозволили б оцінити необхідні характеристики та підхарактеристики якості, обрані на основі вимог СОУ-Н НКАУ 0012. У таблиці 5.25 наведено перелік методів оцінки якості ПЗ, описаних у цій настанові. Для кожного з методів зазначено посилання на відповідні підрозділи цього документа, а також позначення, які використають далі у даному підрозділі. Функціональне тестування, структурне тестування і статичний аналіз є групами методів, і для них не вводяться умовні позначки.
Таблиця 5.25—Методики оцінки якості ПЗ і їхні умовні позначки
Функціональне тестування |
Номер пункту |
Умовна познака |
Інспекції |
5.2 |
In |
Функціональне тестування |
5.3.2 |
– |
Тестування транзакцій |
5.3.2.2 |
TT |
Тестування областей вхідних даних |
5.3.2.3 |
TDn |
Тестування синтаксису |
5.3.2.4 |
TSx |
Тестування логічних умов |
5.3.2.5 |
TLc |
Тестування станів |
5.3.2.6 |
TSt |
Структурне тестування |
5.3.3 |
– |
Тестування маршрутів |
5.3.3.2 |
TP |
Тестування циклів |
5.3.3.3 |
TLp |
Тестування обробки даних |
5.3.3.4 |
ТDt |
Статичний аналіз |
5.4 |
– |
Аналіз потоку управління |
5.4.2 |
CFA |
Аналіз потоку даних |
5.4.3 |
DFA |
Метрична оцінка ПЗ |
5.4.4 |
MA |
Імовірнісна оцінка надійності ПЗ |
5.5 |
PRA |
Аналіз видів, наслідків і критичності відмов ПЗ |
5.6 |
SFMECA |
Аналіз дерева відмов ПЗ |
5.7 |
SFTA |
5.8.2 Таблиця 5.26 зв'язує модель якості ПЗ з методами оцінки якості ПЗ, викладеними у цьому документі. Таблиця 5.26 містить наступні колонки:
«Характеристики та підхарактеристики якості ПЗ» – містить стандартизовану модель якості ПЗ згідно з СОУ-Н НКАУ 0012; характеристики та підхарактеристики пронумеровані відповідно до структури моделі якості ПЗ, їхні назви надано українською та англійською мовами;
«Визначення» – містить визначення характеристик і підхарактеристик якості ПЗ згідно з СОУ-Н НКАУ 0012;
«Питання, на які необхідно відповісти під час оцінки якості ПЗ» – містить опис найбільш істотних властивостей ПЗ, що забезпечують відповідність ПЗ вимогам до якості;
«Рекомендовані методи оцінки якості» – містить перелік методів, які необхідно застосовувати для оцінки тієї чи іншої складової моделі якості ПЗ. Методи диференційовані відповідно до питань із попередньої колонки, оскільки методи дозволяють дати відповідь на ці питання і більш детальну оцінку характеристик та підхарактеристик якості ПЗ.
5.8.3 Для оцінки тієї чи іншої характеристики або підхарактеристики якості ПЗ треба вибрати один або декілька методів відповідно до таблиці 5.26.
Таблиця 5.26—Рекомендації по застосуванню методів оцінки характеристик і підхарактеристик якості ПЗ
Характеристики та підхарактеристики якості ПЗ |
Визначення |
Питання, на які необхідно відповісти під час оцінки якості ПЗ |
Рекомендовані методи оцінки якості |
1 Функціональність (Functionality) |
Здатність ПЗ забезпечити функції, які виконують заявлені потреби і які маються на увазі під час використання ПЗ у заданих умовах |
|
|
1.1 Функціональна повнота (Suitability) |
Здатність ПЗ забезпечити відповідний набір функцій для заданих завдань і цілей користувача |
Чи адекватно реагує ПЗ на події реаль-ного часу |
TT, TDn, TLc, TSt |
1.2 Правильність (Accuracy) |
Здатність ПЗ забезпечувати правильні або припустимі результати чи дії з необхідним ступенем точності |
Чи є внутрішні обчислення точними; чи є результати роботи ПЗ точними; чи є впевненість у тому, що найбільш важливі обчислення є точними |
TDt
TT
In |
1.3 Здатність до взаємодії (Interoperability) |
Здатність ПЗ взаємодіяти із зазначеними системами |
Чи відповідає архітектура ПЗ вимогам до взаємодії; чи коректно використовуються інформації та обмін інформацією |
In
TT, TDn, TSt |
Продовження таблиці 5.26
Характеристики та підхарактеристики якості ПЗ |
Визначення |
Питання, на які необхідно відповісти під час оцінки якості ПЗ |
Рекомендовані методи оцінки якості |
1.4 Захищеність (Security) |
Здатність ПЗ забезпечити захист інформації та даних (під час їхнього зберігання і передачі) таким чином, що неавторизовані користувачі та системи не будуть мати можливості їхнього читання та модифікації, у той час як авторизованим користувачам і системам не буде відмовлено у доступі до них |
Чи є схема контролю доступу адекватною; чи коректно реалізо-вано схему контролю доступу та зовнішній захист; чи є коректним керу-вання доступом кін-цевих користувачів; чи коректно реалізо-вані стосовні до контролю доступу граничні значення, синтаксис, логіка та стани |
In
TP, TLp, TDt
TT
TDn, TSx, TLc, TSt |
1.5 Узгодженість функціональності (Functionality Compliance) |
Здатність ПЗ до дотримання відповідних стандартів, угод, положень законів та інших подібних рекомендацій, що стосуються функціональності |
Чи всі вимоги до ПЗ реалізовані у програмному проекті; чи всі елементи програмного проекту реалізовані у коді; чи дотримані вимоги стандартів до інтер-фейсів і до стилю програмування; чи є повною вну-трішня структура ПЗ; чи реалізовані всі аспекти реакції на події реального світу; чи враховані всі граничні значення, комбінації умов і синтаксис повідомлень |
In
In
In, CFA, DFA, MA
In, CFA, DFA, MA TT, TDn, TSx, TLc
TDn, TSx, TLc |
Продовження таблиці 5.26
Характеристики та підхарактеристики якості ПЗ |
Визначення |
Питання, на які необхідно відповісти під час оцінці якості ПЗ |
Рекомендовані методи оцінки якості |
2 Надійність (Dependability) |
Здатність ПЗ підтримувати заданий рівень працездатності у заданих умовах |
|
|
2.1 Безвідмовність (Maturity) |
Здатність ПЗ уникати відмов (функціонування без відмов), які є результатом наявності дефектів у ПЗ |
Яка імовірність функціонування ПЗ без відмов за заданий період часу |
PRA, FMECA, FTA |
2.2 Стійкість до відхилень (Fault Tolerance) |
Здатність ПЗ підтримувати необхідний рівень працездатності у випадках прояву програмних дефектів або порушення його інтерфейсу |
Чи буде ПЗ функціонувати у заданий момент часу |
PRA, FMECA, FTA |
2.3 Відновлюваність (Recoverability) |
Здатність ПЗ відновлювати заданий рівень працездатності, а також відновлювати дані, безпосе-редньо пошкоджені у випадку виникнення відмови після перезапуску ПЗ |
Наскільки адекватно реалізовано алго-ритми відновлення; чи коректно оброб-ляються помилкові транзакції та стани; чи коректно оброб-ляються помилкові комбінації умов і вхідні дані |
In
TT, TSx, TSt
TDn, TSx, TLc |
2.4 Узгодженість надійності (Reliability Compliance) |
Здатність ПЗ до дотримання відповідних стандартів, угод, положень законів та інших рекомендацій, що стосуються надійності |
Чи містить ПЗ статично обумовлені відмови; чи є реалізація ПЗ функціонально коректною; чи є реалізація ПЗ структурно коректною; чи перебувають значення метрик складності у припус-тимих діапазонах |
In, CFA, DFA, MA
TT, TDn, TSx, TLc, TSt
TB, TLp, TDt
MA |
3 Зручність використання (Usability) |
Здатність ПЗ бути зрозумілим, придатним для навчання та привабливим для користувача під час його використання у заданих умовах |
|
|
Продовження таблиці 5.26
Характеристики та підхарактеристики якості ПЗ |
Визначення |
Питання, на які необхідно відповісти під час оцінки якості ПЗ |
Рекомендовані методи оцінки якості |
3.1 Зрозумілість (Understandability) |
Здатність ПЗ забезпечити користувачеві зрозумілість того, чи може ПЗ бути використаним і яким саме чином для конкретних завдань і умов застосування |
Чи мають зміст інформаційні характеристики ПЗ; чи відповідає про-грамна документація рівню користувача |
In, CFA, DFA, MA
In |
3.2 Придатність до вивчення (Learnability) |
Здатність ПЗ до надання користувачеві можливості його вивчення |
У який строк може бути освоєно користувачем ПЗ, виходячи з рівня програмної доку-менттації та вбудо-ваної довідкової системи |
In |
3.3 Зручність інтерфейсу для користувача (Operability) |
Здатність ПЗ до надання користувачеві можливості до управління та контролю за його роботою |
Чи зможе користувач коректно формувати, вводити та інтерпре-тувати дані; чи підтримує корис-тувальницький інтерфейс операційні процедури |
TT, TDn, TSx
In |
3.4 Привабливість (Attractiveness) |
Здатність ПЗ бути привабливим для користувача |
Чи не є реалізація та функціонування ПЗ надмірно складними; чи є користувань-ницький інтерфейс привабливим і зруч-ним для корис-тувача |
In
In |
3.5 Узгодженість використання (Usability Compliance) |
Здатність ПЗ до дотримання відповідних стандартів, угод, положень законів та інших рекомендацій, що стосуються використання |
Чи дотримані вимоги стандартів до інтерфейсу користувача та процедур роботи оператора |
In |
4. Раціональність (Efficiency) |
Здатність ПЗ забезпечувати відповідну (допустиму) продуктивність із урахуванням займаних ресурсів у заданих умовах |
Чи відповідають окремі програмні модулі специфікації використання ресурсів |
TP, TLp
|
Продовження таблиці 5.26
Характеристики та підхарактеристики якості ПЗ |
Визначення |
Питання, на які необхідно відповісти під час оцінки якості ПЗ |
Рекомендовані методи оцінки якості |
4.1 Часова раціональність (Time Behavior) |
Здатність ПЗ забезпечити відповідний (допустимий) час відгуку, оброблення та пропускну здатність під час виконання його функцій у заданих умовах |
Чи відповідають окремі програмні модулі специфікації використання ресурсів
|
TP, TLp
|
4.2 Використання ресурсів (Resource Utilization) |
Здатність ПЗ використовувати відповідні (припустиме) кількість і тип ресурсів під час виконання його функцій у заданих умовах |
Чи відповідають тра-нзакції специфікації використання ресурсів
|
TT
|
4.3 Узгодженість ефективності (Efficiency Compliance) |
Здатність ПЗ до дотримання відповідних стандартів та інших рекомендацій, що стосуються раціональності |
Чи відповідає поводження системи за умови граничних значень специфікації використання ресурсів |
TDn |
5 Супроводжуваність (Maintainability) |
Здатність ПЗ до модифікації, що може містити у собі виправлення, поліпшення або адаптацію ПЗ до змін середовища, вимог або функціональних специфікацій |
Чи можуть бути протестовані властивості (вимоги) програмного забезпечення
|
In
|
5.1. Аналізованість (Analyzability) |
Здатність ПЗ до діагностування дефектів або причин відмов ПЗ чи ідентифікації частин програми, які мають потребу у корекції |
Чи є вимоги до ПЗ трасованими
|
In
|
5.2 Змінюваність (Changeability) |
Здатність ПЗ до надання можливості для виконання заданої модифікації його коду, структури та алгоритмів або програмної документації |
Чи є технічна документація і в якому об’ємі для виконання чергових модифікацій |
In
|
5.3 Стабільність (Stability) |
Здатність ПЗ до запобігання неочікуваних ефектів від модифікацій |
Чи є реалізації та модифікації ПЗ структурно коректними |
TP, TLp, TDt |
5.4 Тестопридатність (Testability) |
Здатність ПЗ до валідації його змін (модифікацій) |
Чи є реалізації та модифікації ПЗ функціонально коректними |
TT, TDn, TSx, TLc, TSt
|
Кінець таблиці 5.26
Характеристики та підхарактеристики якості ПЗ |
Визначення |
Питання, на які необхідно відповісти під час оцінки якості ПЗ |
Рекомендовані методи оцінки якості |
5.5 Узгодженість супроводжуваності (Maintainability Compliance) |
Здатність ПЗ до дотримання відповідних стандартів та інших рекомендацій, що стосуються супроводжуваності |
Чи дотримано вимог стандартів до інтерфейсу користу-вача, технічної доку-ментації, норматив-ної документації |
|
6 Переносимість (Portability) |
Здатність ПЗ бути перенесеним з одного організаційного, апаратного або програмного середовища у інше |
|
TT, TSx, TSt |
6.1 Адаптованість (Adaptability) |
Здатність ПЗ бути адаптованим до різних різновидів середовищ без застосування дій або засобів, відмінних від тих, що передбачено для цієї мети у розглянутому ПЗ |
Чи коректно взаємодіє ПЗ із програмно-апарат-ним операційним середовищем |
TT, TSx, TSt |
6.2 Налагоджуваність (Installability) |
Здатність ПЗ до інсталяції у заданому середовищі |
Чи існує інсталяцій-ний пакет, придатний до інсталяції у даному середовищі |
In
|
6.3 Співіснування (Co-existence) |
Здатність ПЗ без конфліктів співіснувати з іншим незалежним програмним забезпеченням у загальному середовищі, що спільно використовує загальні ресурси |
Чи здатне ПЗ забезпечити виконання усіх функцій для заданих завдань у новому середовищі |
TT, TDn, TLc, TSt
|
6.4 Взаємозамінність (Replaceability) |
Здатність ПЗ до використання замість іншого заданого ПЗ з тією же метою та у тому самому середовищі |
Чи здатне ПЗ забезпечити виконання функцій замість чинного заданого ПЗ |
TT, TDn, TLc, TSt
|
6.5 Узгодженість переносимості (Portability Compliance) |
Здатність ПЗ до дотримання відповідних стандартів та інших рекомендацій, що стосуються переносимості |
Чи всі вимоги до ПЗ, що стосуються пере-носимості, було виконано |
In
|
5.8.4 Таблиця 5.26 не містить інформації про достатність того чи іншого методів оцінки характеристики або підхарактеристики якості ПЗ в цілому. Така оцінка може бути дана тільки, виходячи із властивостей конкретного ПЗ. У більшості випадків застосування одного методу є недостатнім для повної оцінки тієї чи іншої характеристики/ підхарактеристики якості ПЗ. Таблиця 5.27 встановлює зв'язок між методами та складовими моделі якості, які можуть бути оціненими за допомогою відповідних методів.
Таблиця 5.27—Зв'язок між методами (див. таблицю 5.26) та складовими моделі якості ПЗ (характеристиками і підхарактеристиками)
Назва методів |
Оцінювані характеристики і підхарактеристики якості ПЗ |
Інспекції |
1.2 Правильність 1.3 Здатність до взаємодії 1.4 Захищеність 1.5 Узгодженість функціональності 2.3 Відновлюваність 2.4 Узгодженість надійності 3.1 Зрозумілість 3.2 Придатність для вивчання 3.3 Зручність інтерфейсу для користувача 3.4 Привабливість 3.5 Узгодженість використання 5 Супроводжуваність |
Тестування транзакцій |
1.1 Функціональна повнота 1.2 Правильність 1.3 Здатність до взаємодії 1.4 Захищеність 1.5 Узгодженість функціональності 2.3 Відновлюваність 2.4 Погодженість надійності 3.3 Зручність інтерфейсу для користувача 4. Раціональність 5 Супроводжуваність 6 Переносимість |
Тестування областей вхідних даних |
1.1 Функціональна повнота 1.3 Здатність до взаємодії 1.4 Захищеність 1.5 Узгодженість функціональності 2.3 Відновлюваність 2.4 Узгодженість надійності 3.3 Зручність інтерфейсу для користувача 4. Раціональність 5 Супроводжуваність |
Продовження таблиці 5.27
Назва методів |
Оцінювані характеристики і підхарактеристики якості ПЗ |
Тестування синтаксису |
1.4 Захищеність 1.5 Узгодженість функціональності 2.3 Відновлюваність 2.4 Узгодженість надійності 3.3 Зручність інтерфейсу для користувача 5 Супроводжуваність 6 Переносимість |
Тестування логічних умов |
1.1 Функціональна повнота 1.4 Захищеність 1.5 Узгодженість функціональності 2.3 Відновлюваність 2.4 Узгодженість надійності 5 Супроводжуваність |
Тестування станів |
1.1 Функціональна повнота 1.3 Здатність до взаємодії 1.4 Захищеність 2.3 Відновлюваність 2.4 Узгодженість надійності 5 Супроводжуваність 6 Переносимість |
Тестування маршрутів |
1.4 Захищеність 2.4 Узгодженість надійності 4. Раціональність 5 Супроводжуваність |
Тестування циклів |
1.4 Захищеність 2.4 Узгодженість надійності 4. Раціональність 5 Супроводжуваність |
Тестування обробки даних |
1.2 Правильність 1.4 Захищеність 2.4 Узгодженість надійності 5 Супроводжуваність |
Аналіз потоку керування |
1.5 Узгодженість функціональності 2.4 Узгодженість надійності 3.1 Зрозумілість |
Аналіз потоку даних |
1.5 Узгодженість функціональності 2.4 Узгодженість надійності 3.1 Зрозумілість |
Кінець таблиці 5.27
Назва методів |
Оцінювані характеристики і підхарактеристики якості ПЗ |
Метрична оцінка ПЗ |
1.5 Узгодженість функціональності 2.4 Узгодженість надійності 3.1 Зрозумілість |
Імовірнісна оцінки надійності ПЗ |
2.1 Безвідмовність 2.2 Стійкість до відхилень 5 Супроводжуваність |
Аналіз видів, наслідків і критичності відмов ПЗ (SFMECA) |
2.1 Безвідмовність 2.2 Стійкість до відхилень 5 Супроводжуваність |
Аналіз дерева відмов ПЗ (SFTA) |
2.1 Безвідмовність 2.2 Стійкість до відхилень 5 Супроводжуваність |
