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

Спеціальність: Інженерія програмного забезпечення
Код дисципліни: 7.121.01.O.004
Кількість кредитів: 6.00
Кафедра: Програмне забезпечення
Лектор: Сенів Максим Михайлович
Семестр: 1 семестр
Форма навчання: денна
Мета вивчення дисципліни: Мета цього курсу – познайомити студентів з теорією надійності як наукою та навчальною дисципліною, висвітлити критерії, методи аналізу і синтезу надійних програмних систем, методи забезпечення і підвищення їх надійності.
Завдання: Здатність ефективно розв’язувати спеціалізовані задачі та практичні проблеми інноваційного характеру під час професійної діяльності, пов’язаної зі всіма аспектами виробництва програмного забезпечення від початкових стадій створення специфікації до супроводу системи після здачі в експлуатацію. Здатність проєктувати архітектуру програмного забезпечення, моделювати процеси функціонування окремих підсистем і модулів. Здатність розробляти, аналізувати та застосовувати специфікації, стандарти, правила і рекомендації в сфері інженерії програмного забезпечення. Здатність забезпечувати якість програмного забезпечення.
Результати навчання: РН01. Знати і застосовувати сучасні професійні стандарти і інші нормативно-правові документи з інженерії програмного забезпечення. РН06. Розробляти і оцінювати стратегії проєктування програмних засобів; обґрунтовувати, аналізувати і оцінювати варіанти проектних рішень з точки зору якості кінцевого програмного продукту, ресурсних обмежень та інших факторів. РН07. Аналізувати, оцінювати і застосовувати на системному рівні сучасні програмні та апаратні платформи для розв'язання складних задач інженерії програмного забезпечення. РН11. Забезпечувати якість на всіх стадіях життєвого циклу програмного забезпечення, у тому числі з використанням релевантних моделей та методів оцінювання, а також засобів автоматизованого тестування і верифікації програмного забезпечення. РН16. Планувати, організовувати та здійснювати тестування, верифікацію та валідацію програмного забезпечення.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Кореквізити: Паралельні та розподілені обчислення Управління ризиками в інженерії програмного забезпечення Оптимізаційні методи в інженерії програмного забезпечення Управління якістю програмного забезпечення
Короткий зміст навчальної програми: "Теорія надійності програмних систем" – навчальний курс, який належить до професійно-орієнтованих дисциплін підготовки розробника програмного забезпечення. Надійність є одним з найважливіших показників сучасної техніки. Від неї залежать такі показники, як якість, ефективність, безпека, ризик готовність, живучість. Дисципліна передбачає вивчення таких розділів: Фундаментальні поняття і визначення теорії надійності; Критерії надійності; Закони розподілу часу до відмови; Проблеми аналізу надійності складних технічних систем; Математичні моделі функціонування технічних елементів і систем в сенсі їх надійності; Методи аналізу надійності технічних систем; Надійність інформаційних систем; Аналіз надійності програмного забезпечення.
Опис: Вступ. Поняття і визначення теорії надійності. Теорія надійності як наука. Поняття «надійність» та «відмова». Термінологія теорії надійності. Класифікація технічних систем. Критерії надійності. Закони розподілу часу до відмови. Критерії надійності невідновлюваних систем. Критерії надійності відновлюваних систем. Найбільш поширені в теорії надійності закони розподілу часу до відмови. Методи розрахунку надійності технічних систем. Аналіз надійності і безпечності за допомогою дерева відмов. Структурно-логічний аналіз технічних систем. Розрахунки структурної надійності систем. Підвищення надійності технічних систем. Загальна характеристика надійності ПЗ. Порівняльна характеристика надійності програмних і апаратних засобів. Класифікація моделей надійності ПЗ. Моделі надійності ПЗ на основі неоднорідного пуассонового процесу. Огляд моделей надійності ПЗ на основі неоднорідного пуассонового процесу. Узагальнена модель надійності ПЗ з показником складності. Аналіз надійності ПЗ на основі моделі з показником складності. Моделі надійності ПЗ з урахуванням недосконалого відлагодження. Отримання оцінок параметрів моделі надійності програмного забезпечення. Вибір моделі надійності програмного забезпечення. Експоненційні моделі засновані на неоднорідному процесі Пуассона. S-подібна модель на основі неоднорідного пуассонового процесу. Моделі надійності на основі неоднорідного пуассонового процесу з урахуванням недосконалого відлагодження. S-подібні моделі надійності на основі неоднорідного пуассонового процесу з урахуванням недосконалого відлагодження. Порівняння моделей недосконалого та ідеального відлагодження. Компонентні моделі надійності ПЗ. Моделі надійності програмного забезпечення на основі компонентного підходу. Моделі надійності ПЗ на основі марковського процесу вищого порядку. Аналіз надійності програмного забезпечення з урахуванням його архітектури та складності. Засоби інженерії програмних систем з урахуванням вимог до надійності ПЗ. Визначення тривалості процесу тестування програмних систем. Моделі і методи визначення політики оптимального введення ПЗ в експлуатацію. Методи і засоби підвищення надійності ПЗ з урахуванням процесу його старіння.
Методи та критерії оцінювання: Контрольні заходи. Тести. Захист лабораторних робіт. Екзаменаційний контроль (письмова компонента, усна компонента).
Критерії оцінювання результатів навчання: Поточний контроль: 40% (2 лабораторні роботи по 20% кожна) Екзаменаційний контроль: 60% (письмова компонента 50%, усна компонента 10%) Максимальні бали за кожну з лабораторних робіт виставляються за умови захисту її в межах 15 тижнів навчання, правильного виконання, доведеної самостійності виконання та правильних відповідях на уточнюючі запитання за практичною складовою роботи та на теоретичні запитання.
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: 1. Яковина В.С., Сенів М.М., Основи теорії надійності програмних систем: Навчальний посібник. – Львів: Видавництво Львівської політехніки, 2020. – 248 с. 2. Бобало Ю.Я., Волочій Б.Ю., Лозинський О.Ю., Мандзій Б.А., Озірковський Л.Д., Федасюк Д.В., Щербовських С.В., Яковина В.С. Математичні моделі та методи аналізу надійності радіоелектронних, електротехнічних та програмних систем: монографія. – Львів: Видавництво Львівської політехніки, 2013. – 300 с. 3. Волочій Б.Ю. Технологія моделювання алгоритмів поведінки інформаційних систем. – Львів: Вид-во НУ "Львівська політехніка", 2004. – 220 с. 4. Моделі, методи та засоби аналізу надійності програмних систем / В. С. Яковина, Д. В. Федасюк, М. М. Сенів, О. О. Нитребич. Львів : Видавництво Львівської політехніки. – 2015. – 220 с. 5. Seniv M., Yakovyna V., Symets I. Software for visualization of reliability block diagram and automated formulation of operability conditions of technical systems // 14th International Conference on Perspective Technologies and Methods in MEMS Design, MEMSTECH 2018 - Proceedings. – 2018. – pp. 191–195. 6. Yakovyna V. S., Seniv M. M., Symets I. I., Sambir N. B. Algorithms and software suite for reliability assessment of complex technical systems // Radio Electronics, Computer Science, Control. – 2020. – No. 4(55). – P. 163–177. 7. Bobalo Yu., Seniv M., Yakovyna V., Symets I. Method of reliability block diagram visualization and automated construction of technical system operability condition // Advances in Intelligent Systems and Computing (AISC). – 2019. – Vol. 871: Advances in intelligent systems and computing III. Selected papers from the International conference on computer science and information technologies, CSIT 2018, September 11-14, Lviv, Ukraine. – P. 599–610. 8. Яковина В. С., Сенів М. М., Литвин В. В., Симець І. І. Програмний модуль розв'язування систем диференціальних рівнянь Колмогорова-Чепмена для автоматизації надійнісного проектування // Науковий вісник НЛТУ України: збірник науково-технічних праць. – 2019. – Т. 29, № 5. – С. 141–146. 9. Сенів М.М., Роїк О.О. Засоби розрахунку показників надійності програмного забезпечення на підставі моделей з урахуванням недосконалого відлагодження // Науковий вісник НЛТУ України. – 2021. – 31 (6), – С. 87-91. 10. Яковина В. С., Сенів М. М., Симець І. І. Засоби автоматизованого формулювання умов працездатності складних технічних систем // Науковий вісник НЛТУ України. – 2019. – Т. 29, № 9. – С. 136–141.
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).