Самостійна робота №5
Тема: Основні напрямки
забезпечення правильності програмних систем
Мета: Визначити основні
напрямки забезпечення правильності програмних систем
План
1.
Основні напрямки
забезпечення правильності програмних систем
Теоретична частина
У стандарті 12207 визначені спеціальні процеси:
забезпечення якості, верифікації, валідаці, спільного аналізу, аудиту.
Діяльності і техніки гарантії якості включають: інспекцію, верифікацію та
валідацію ПЗ.
Інспекція ПЗ - аналіз та перевірка різних уявлень
системи, ПЗ (специфікацій, архітектурних схем, діаграм, вихідного коду та ін) і
виконується на всіх етапах ЖЦ розробки ПЗ.
Верифікація ПЗ - процес забезпечення правильної
реалізації ПЗ, яке відповідає специфікаціям, виконується протягом усього
життєвого циклу. Верифікація
дає відповідь на питання, чи правильно створена система.
Валідація - процес перевірки відповідності ПО функціональним і
нефункціональним вимогам і очікуваним потребам замовника. Верифікація і
валідація в цілому починаються виконуватися на ранніх стадіях ЖЦ і орієнтовані
на якість. Вони плануються і
забезпечуються певними ресурсами з чітким розподілом ролей. Перевірка грунтується на використанні відповідних технік тестування для
виявлення тих чи інших дефектів
і збору статистики. В
результаті зібраних даних проводиться
оцінка правильності реалізації вимог і роботи ПЗ в заданих умовах. Вимірювання
в аналізі якості ПЗ грунтується на: збір даних при виконанні процесів створення
продукту на заданих ресурсах; визначенні метрик оцінки процесів, ПЗ та моделей
їх вимірювання; документуванні вимірювань і ін.. Для оцінки фактичних
характеристик якості продукту проводиться тестування ПЗ шляхом виконання коду
на тестових даних, збору статистики та проведення аналізу вихідних результатів
та отриманих робочих характеристик ПЗ. Тести розробляються для імітації роботи
системи в режимі тестування з реальними вхідними даними для перевірки
правильності роботи ПЗ і збору даних про кількість відмов, дефекти, помилки і
т.п. У процесі тестування ПЗ виявляються різного роду помилки, які можуть
вплинути на отримання правильного результату. Виходячи з отриманих в ПО помилок
встановлюється невідповідність кількості реалізованих функцій, заданих в
специфікаціях на систему, а також оцінюються нефункціональні
характеристики системи, задані у вимогах (продуктивність, надійність та ін) за
допомогою даних, зібраних на цьому процесі.
Проводяться також наступні типи оцінок:
ü управління планами,
ü інспекціями,
ü прогонами,
ü аудитами.
Сутність управління полягає у прийнятті рішень про необхідність
внесення змін для усунення помилок, визначенні адекватності планів і вимог,
оцінки ризиків та ін.
Метою інспекцій є виявлення різних аномальних
станів у ПЗ незалежними фахівцями команди експертів та з залученням авторів
проміжного або кінцевого продукту. Експерти інспектує виконання вимог,
інтерфейси, вхідні дані і т.д., а потім документують виявлені відхилення у
проекті.
Призначенням аудиту є незалежна оцінка продуктів і
процесів на відповідність регулюючим і регламентуючих документів (планами,
стандартам та ін), формулювання звіту про випадки невідповідності і пропозицій
для їх коректування. Таким чином, дана область знань SWEBOK представляє
методологію проведення заходів щодо досягнення високої якості ПЗ. Розглядаються
характеристики і атрибути якості, відповідно до стандарту КО 9126-98, і привели
способи їх досягнення на процесах ЖЦ ПЗ. Визначаються види і техніки аналізу
ПЗ, прогону системи на тестах і методи оцінки показників якості.
Для перевірки правильності програм і систем
використовуються такі основні напрямки забезпечення правильності ПЗ.
1.
Формальне доведення коректності програм
здійснюється за допомогою теоретичних методів, що грунтуються на завданні
формальних систем правил і тверджень, що використовуються при доведенні
правильності операторів програми і результатів їх виконання в режимі
інтерпретації.
2.
Тестування -
це системний метод виявлення помилок у ПЗ шляхом виконання вихідного коду ПЗ на
тестових даних, збір робочих характеристик в динаміці виконання ПЗ в конкретній
операційному середовищі. Методи тестування дозволяють виявити в процесі
виконання ПЗ різні помилки, дефекти і вади, викликані аномальними ситуаціями,
збоями обладнання та аварійним припиненням роботи ПЗ.
3.
Організаційні аспекти перевірки правильності.
Формальне математичне доведення грунтується на аксіоми, а сам процес
грунтується на специфікації опису алгоритму що доводиться програмою. Доведення
коректності починається з припущення про те, що на початку роботи програми
задовольняються деякі умови, які називають попередніми умовами або передумови.
Для проведення доведення розробляються твердження про правильність виконання
операторів програми в різних точках програми. Створюється набір тверджень,
кожне з яких є наслідком передумов та послідовності інструкцій, що приводять до
відповідної зазначеній точці програми, для якої сформульовано дане твердження.
Якщо твердження відповідає кінцевому оператору програми, то виконується
заключне затвердження та пост умова, що дозволяє зробити висновок (висновок)
про правильність роботи програми. До методів перевірки правильності програм
відносяться:
1) методи доведення правильності
програм;
2) верифікація та валідація програм.
Питання для самоконтролю
1. Які основні напрямки забезпечення правильності
ПЗ?
2. Що відноситься до
методів перевірки правильності програм?