Надійність програмних засобів
Анотація навчальної дисципліни
Мета вивчення дисципліни: Метою вивчення навчальної дисципліни “Надійність програмних засобів” є вивчення питань щодо надійності програмних систем, а також засвоєння понять та визначень теорії надійності; методів аналізу надійності технічних систем; основних математичних моделей надійності програмних систем; основних методів забезпечення та підвищення надійності комп’ютерно-інтегрованих систем керування.
Практичне значення та використання отриманих знань: отримані знання та навички дозволять студентам брати участь у розробці програмного забезпечення для систем управління в різних галузях промисловості, зокрема в автоматизації виробничих процесів, робототехніці, енергетиці та транспорті. Вміння працювати з сучасним програмним забезпеченням САПР, розуміння структур КІСУ дозволять створювати ефективні та безпечні рішення для управління складними технологічними процесами, що є критично важливими для сучасних високотехнологічних підприємств.
Тематика та види навчальних занять
Для денної форми здобуття освіти
Лекційні заняття
Лекція 1.««Основні фактори, що визначають надійність функціонування програмних засобів».
Лекція 2. «Характеристики програмних помилок та можливість апріорного визначення надійності програмних засобів».
Лекція 3. «Принципи, стратегії та етапи тестування для забезпечення якості програмних модулів та компонент»
Лекція 4. «Тестування структури програмних компонент».
Лекція 5. «Тестування обробки даних програмними компонентами».
Лекція 6. «Засоби автоматизації тестування програмних компонентів».
Лекція 7. «Методика тестування програмних компонентів».
Лекція 8. «Забезпечення якості та надійності у процесі розробки складних програмних засобів».
Лекція 9. «Види тестування для забезпечення надійності програмних засобів».
Лекція 10. «Сертифікація для забезпечення надійності програмних засобів».
Лекція 11. «Підвищення надійності функціонування програмних засобів за рахунок надмірності».
Лекція 12. «Експериментальні методи визначення надійності складних програмних засобів».
Лекція 13. «Організація та етапи тестування при випробуваннях надійності складних програмних засобів».
Лекція 14. «Типові стенди для випробувань якості та надійності складних програмних засобів».
Лекція 15. «Методика тестування при випробуваннях надійності складних програмних засобів».
Лабораторні роботи
Лабораторна робота №1. «Моделі та способи підвищення надійності ПЗ».
Мета заняття. Ознайомитися з різними моделями надійності програмного забезпечення, такими як моделі на основі імовірності, структурні моделі та моделі тестування, а також їх застосування для оцінки надійності ПЗ.
Лабораторна робота № 2. «Основні поняття та принципи організації тестування»
Мета заняття. Опанувати принципи організації процесу тестування: навчитися планувати та організовувати процес тестування, включаючи складання тестової документації, вибір методів тестування та визначення підходів до управління дефектами.
Лабораторна робота № 3. «Структурні та функціональні методи тестування»
Мета заняття. Застосування функціонального тестування на практиці: Розробити тестові випадки на основі специфікацій і вимог до програмного забезпечення та застосувати методи функціонального тестування для перевірки відповідності реальної поведінки системи очікуваним результатам.
Лабораторна робота №4. «Модульне та інтеграційне тестування»
Мета заняття. Аналіз та порівняння підходів модульного та інтеграційного тестування Студенти мають навчитися визначати, коли варто застосовувати модульне, а коли інтеграційне тестування, а також зрозуміти відмінності та взаємодоповнюваність цих двох підходів у забезпеченні якості програмного забезпечення.
Лабораторна робота №5. «Системне регресійне тестування»
Мета заняття. Ознайомитися з принципами системного регресійного тестування: Здобувачі повинні вивчити основи регресійного тестування, його роль у забезпеченні стабільності та якості програмного забезпечення після внесення змін до коду.
Лабораторна робота №6. «Автоматизація тестування»
Мета заняття. Практичне застосування автоматизованих тестів для забезпечення якості ПЗ: створити та виконати автоматизовані тести для перевірки функціональності програмного забезпечення, зокрема регресійне тестування та тестування UI.
Лабораторна робота №7. «Автоматизація тестування»
Мета заняття. Оцінка ефективності автоматизації тестування: порівняти автоматичне та ручне тестування за показниками, такими як швидкість виконання, охоплення тестами та виявлення помилок, і зробити висновки щодо ефективності автоматизації для конкретного проекту.
Консультації здійснюються впродовж семестру згідно встановленого розкладу.
Індивідуальна робота
Не передбачено
Форми контрольних заходів та оцінювання результатів навчання
Для денної форми здобуття освіти
Поточний контроль полягає у виконанні двох модульних контрольних робіт. Модульні контрольні роботи складаються з теоретичної частини та проводяться у формі письмового опитування. Бездоганне виконання кожної модульної контрольної роботи становить 50 балів.
Підсумковий контроль – залік. Залік усний. Максимальна оцінка, яку може отримати студент – 100 балів.
К1. Здатність проектувати та впроваджувати високонадійні системи автоматизації та їх прикладне програмне забезпечення, для реалізації функцій управління та опрацювання інформації, здійснювати захист прав інтелектуальної власності на нові проектні та інженерні рішення
СК15. Здатнiсть проводити розробку власного програмного забезпечення
РН1. Створювати високонадійні системи автоматизації з високим рівнем функціональної та інформаційної безпеки програмних та технічних засобів.
РН2. Розробляти і використовувати спеціалізоване програмне забезпечення та цифрові технології для створення систем автоматизації складними організаційно-технічними об’єктами, професійно володіти спеціальними програмними засобами.