Теорія надійності програмних систем

Elective discipline
Навчальна дисципліна професійної підготовки
Обсяг освітнього компонента: 
• у кредитах ЄКТС — 4.5.
Кількість аудиторних занять: 
15 лекцій, 7 лабораторних занять.
Семестровий контроль: 
Test.
Освітню компоненту забезпечує: 
Викладач: 
Анотація: 

Анотація навчальної дисципліни

Мета вивчення дисципліни

Мета дисципліни: забезпечити майбутнім магістрам знання з основних положень теорії надійності, методів розрахунку надійності  програмних систем, особливостями аналізу та синтезу програмного забезпечення з урахуванням вимог надійності.

Практичне значення та використання отриманих знань

Набуття практичних навичок та формування у здобувачів вищої освіти знань з особливостей процесу надійності програмного забезпечення; формування здатності аналізувати предметні області; формувати, класифікувати вимоги до програмного забезпечення. Розвити здатність забезпечувати якість програмного забезпечення.

Основні результати навчання

ПРН05  Розробляти, аналізувати, обґрунтовувати та систематизувати вимоги до програмного забезпечення

ПРН11 Забезпечувати якість на всіх стадіях життєвого циклу програмного забезпечення, у тому числі з використанням релевантних моделей та методів оцінювання, а також засобів автоматизованого тестування і верифікації програмного забезпечення

Форми організації освітнього процесу та види навчальних занять

Л – лекційні заняття; ЛЗ – лабораторні заняття; СРС – самостійна робота здобувача вищої освіти; МКР – модульна контрольна робота; К – консультації.

Тематика та види навчальних занять

1 тиждень

Л1 Основні поняття. Модель аналізу надійності програмних засобів. Фактори, що впливають на надійність програмного забезпечення. Помилки програмного забезпечення. 
ЛЗ1. Профілювання застосунків. СРС. К.

2 тиждень

Л2. Засоби підвищення надійності програмного забезпечення. Проблеми дослідження надійності програмного забезпечення. Тестування програмного забезпечення.
СРС. К.

3 тиждень

Л3. Особливості надійності інформаційних систем. Предмет, методи, область дослідження. Етапи розвитку. Питання теорії надійності. 
ЛЗ2. Визначення показників надійності елементів за дослідними даними. 
СРС. К.

4 тиждень

Л4. Показники якості. Класифікація показників якості програмного забезпечення. Основні показники якості надійності програмного забезпечення.
СРС. К.

5 тиждень

Л5. Методи розрахунку показників надійності. Метод розрахунку показників надійності за допомогою алгоритму розрізання. Метод розрахунку показників надійності за допомогою алгоритму ортогоналізації.
ЛЗ3. Дослідження надійності та ризику відновлювальної резервованої системи.  
СРС. К.
 
6 тиждень

Л6.  Фактори, що впливають на надійність ЕОМ та комп’ютерних систем. Поділ факторів на групи.
СРС. К.

7 тиждень

Л7. Моделі надійності програмного забезпечення та їх класифікація.  Динамічні моделі надійності. Модель Шумана. Модель La Padula.
ЛЗ4. Дослідження надійності та ризику невідновлювальної нерезервованої системи. 
СРС. К.

8 тиждень

Л8. Статичні моделі надійності для програмних систем. Модель Міллса. Модель Липова.  
МКР1. СРС. К.

9 тиждень

Л9. Аналіз моделей надійності для програмних систем. Сучасний стан науки про надійність програмних систем. Дослідження моделей надійності.
ЛЗ5. Розрахунок параметрів надійності програмного забезпечення згідно з аналітичними статичними моделями. 
СРС. К.

10 тиждень

Л10. Основи теорії динаміки програмних систем. Помилки і дефекти. Питання термінології. Основні положення динаміки програмних систем.
СРС. К.

11 тиждень

Л11. Потоки первинних та вторинних дефектів програмних систем. Програмне системи першого порядку. Лінійні та нелінійні програмні системи. Динаміка програмних систем другого порядку.
ЛЗ6. Розрахунок параметрів надійності програмного забезпечення згідно з аналітичними динамічними моделями. 
СРС. К.

12 тиждень

Л12. Динаміка зміни вихідного потоку дефектів. Динаміка зміни вхідного потоку дефектів. Динаміка зміни загальної кількості дефектів в програмних систем. Кумулятивні тренди дефектів.
СРС. К.

13 тиждень

Л13. Аналіз стійкості програмних систем з урахуванням потоків дефектів. Фазові траєкторії програмних систем. Внутрішня рівновага програмних систем. Закон рівноваги потоків. Зовнішня рівновага і стійкість програмних систем.  
ЛЗ7. Дослідження надійності та ризику відновлювальної нерезервованої системи. СРС. К.

14 тиждень

Л14. Визначення функції надійності по дереву відмов. Дерева відмов. Послідовність операцій при побудові дерев відмов. Алгоритм знаходження мінімальних перетинів в дереві відмов. Визначення функції надійності по дереву відмов. 
МКР2. СРС. К.

15 тиждень

Л15. Граничні оцінки показників надійності. Визначення меж показників надійності. Розрахунок середнього напрацювання системи на відмову і середнього часу її відновлення.
СРС. К.

Самостійна робота

Самостійна робота складає 60 години. Розподіл самостійної роботи за видами навчальних робіт:
підготовка до лекційних занять – 20 годин;
підготовка до лабораторних занять та до виконання модульних контрольних завдань – разом 20 годин;
підготовка до заліку – 20 годин.

Процедура оцінювання

Система оцінювання рівня навчальних досягнень ґрунтується на принципах ЄКТС та є накопичувальною. Здобувачі протягом семестру готуються до лекційних, та лабораторних занять, виконують 2 модульні контрольні роботи.

Для забезпечення оперативного контролю за успішністю та якістю рівня навчальних досягнень здобувачів вищої освіти дисципліна поділяється на два семестрові модулі.

Модульні контрольні роботи №1 та №2 виконуються у письмовій формі. Максимальна оцінка за їх бездоганне виконання становить 30 балів.

Модульні контрольні роботи містять практичну частину, а також відповіді на запитання. Для модульної контрольної роботи №1 бали по завданням розподіляються наступним чином: з 1-5 теоретичні питання по 4 бали, 6 практичне питання 10 балів (всього – 30 балів). Для модульної контрольної роботи №2 бали по завданням розподіляються наступним чином: з 1-5 теоретичні питання по 4 бали, 6 практичне питання 10 балів (всього – 30 балів).  Практична складова питання вважається розв’язаною, якщо послідовно наведено рішення та всі графічні складові.

Семестровий модуль № 1

ЛЗ1- ЛЗ4. Оцінки за виконання – по 5 балів, всього  20 балів. Термін виконання – 1-8 тиждень. 
МК1. Модульна контрольна робота – 30 балів (8 тиждень). Перескладання можливе протягом 9–11 тижнів за розкладом консультацій.

Семестровий модуль № 2

ЛЗ5—ЛЗ7. Оцінки за виконання – 7,7,6 балів відповідно, всього  20 балів. Термін виконання – 9-15 тиждень. 
МК2. Модульна контрольна робота – 30 балів (14 тиждень).

Максимальна оцінка, яку може отримати здобувач за всі виконані види робіт – 100 балів. 

Підсумковим контролем з дисципліни є залік, білет до якого складається з теоретичної частини (5 запитань) та практичної частини (1 питання). За бездоганну відповідь на кожне теоретичне питання студент отримує – 16 балів. За бездоганне виконання практичної частини студент отримує – 20 балів. 
Максимальна оцінка за правильні відповіді на всі питання становить 100 балів.

Умови допуску до підсумкового контролю

До заліку допускаються здобувачі вищої освіти, які виконали всі види навчальних елементів навчальної дисципліни на не менш, ніж на 60 %.

Документи (файли), що додаються: Робоча програма навчальної дисципліни.

Література
1. Одарущенко О. Н. CASE-оцінка критичних програмних систем. У 3-х томах. Том 2. Надійність / О. Н. Одарущенко, В. С. Харченко, А. А. Руденко та інш.. / Під ред. Харченко В.С. – Харьков: Нац. аерокосмічний ун-т «Харьк. авиац. ін-т», 2012. – 292 с.
2. Стрельников В. П. Оцінка та прогнозування надійності електронних елементів та систем / В. П. Стрельников, А. В. Федухін. – Київ: Логос, 2002. - 488 с.

Методична література
1. Конспект лекцій з дисципліни «Теорія надійності програмних систем» для студентів другого рівня вищої освіти (магістрів) спеціальності 121 «Інженерія програмного забезпечення» / Укл. А.С. Тройніна. - Одеса: ОНПУ, 2018. - 72с. 
2. Методичні вказівки з дисципліни «Теорія надійності програмних систем» до лабораторних робіт другий (магістерський) рівень вищої освіти спеціальність 121 – Інженерія програмного забезпечення./Укл. А.С. Тройніна. Одеса: Наука і техніка, 2018. -  67с..

Додаткова література
1. By Anu G. Aggarwal , Abhishek Tandon , Hoang Pham, Optimization Models in Software Reliability/ Springer, Berlin , 2022.-373pp.
2. Коваль Г. І. Підхід до прогнозування надійності програмного забезпечення при управлінні проектом / Г. І. Коваль // Проблеми програмування. -2002. - № 1 - 2. - С. 282-290.
3. J. Voas and J. Whittaker, "Toward a More Reliable Theory of Software Reliability" in Computer, vol. 33, no. 12, pp. 36-42, 2000. doi: 10.1109/2.889091

2022