Технології проектування та тестування програмного забезпечення 1
Мета вивчення дисципліни: є формування в здобувачів освіти цілісного системного розуміння принципів і методів проєктування програмних систем, а також сучасних підходів до забезпечення якості програмного забезпечення на всіх етапах його життєвого циклу. Дисципліна спрямована на опанування методологій аналізу вимог, проєктування архітектури ПЗ, застосування шаблонів проєктування, принципів модульності та повторного використання програмних компонентів. Значна увага приділяється технологіям тестування програмного забезпечення, зокрема модульному, інтеграційному, системному та автоматизованому тестуванню, використанню інструментальних засобів контролю якості, виявленню та усуненню дефектів. У межах дисципліни також розглядаються питання забезпечення надійності, безпеки, продуктивності та супроводжуваності програмних продуктів, а також сучасні практики DevOps і CI/CD, що сприяють підвищенню ефективності розробки та впровадження програмного забезпечення в умовах сучасної ІТ-індустрії.
Практичне значення та використання отриманих знань: полягає у формуванні в здобувачів освіти прикладних навичок розроблення якісного, надійного та безпечного програмного забезпечення відповідно до сучасних вимог ІТ-індустрії. Отримані знання можуть бути використані під час проєктування програмних систем різного рівня складності, вибору оптимальних архітектурних рішень, застосування шаблонів проєктування та інструментів моделювання програмних продуктів.
Тематика та види навчальних занять
Для денної форми здобуття освіти
Лекційні заняття
Лекція 1. «Вступ до проєктування програмного забезпечення».
Лекція 2. «Життєвий цикл програмного забезпечення та моделі розробки».
Лекція 3. «Вимоги до програмного забезпечення як основа проєктування».
Лекція 4. «Основи UML: призначення та структура мови».
Лекція 5. «Діаграми варіантів використання (Use Case Diagram)».
Лекція 6. «Статичне проєктування ПЗ: діаграми класів UML».
Лекція 7. «Діаграми об’єктів та пакетів UML».
Лекція 8. «Динамічне моделювання: діаграми послідовностей».
Лекція 9. «Діаграми станів та діяльності UML».
Лекція 10. «Архітектура програмного забезпечення».
Лекція 11. «Вступ до ArchiMate (ArhiMat) та бізнес моделювання».
Лекція 12. «Моделювання бізнес-рівня в ArchiMate».
Лекція 13. «Моделювання прикладного рівня в ArchiMate».
Лекція 14. «Технологічний рівень ArchiMate».
Лекція 15. «Інтеграція UML та ArchiMate у проєктуванні ПЗ».
Лабораторні заняття
Лабораторне зайняття №1. «Аналіз предметної області та формування вимог».
Мета заняття: формувати вміння аналізувати предметну область програмної системи, визначати її межі, зацікавлені сторони та формувати початкові функціональні й нефункціональні вимоги до програмного забезпечення.
Лабораторне зайняття №2. «Формулювання технічного завдання до проєкту».
Мета заняття: набути навичок розробки технічного завдання на створення програмного забезпечення відповідно до вимог стандартів, із чітким визначенням цілей, функцій, обмежень та очікуваних результатів проєкту.
Лабораторне зайняття №3. «Побудова діаграми варіантів використання (Use Case Diagram)».
Мета заняття: оволодіти методикою побудови UML-діаграм варіантів використання для відображення взаємодії користувачів із програмною системою та ідентифікації основних функцій системи.
Лабораторне зайняття №4. «Розробка сценаріїв використання (Use Case Specification)».
Мета заняття: сформувати навички деталізації варіантів використання шляхом опису основних і альтернативних сценаріїв, передумов, післяумов та обробки виняткових ситуацій.
Лабораторне зайняття №5. «Побудова діаграми класів UML».
Мета заняття: навчитися проєктувати статичну структуру програмної системи шляхом побудови діаграм класів UML із визначенням атрибутів, методів та зв’язків між класами.
Лабораторне зайняття №6. «Моделювання об’єктів та пакетів UML».
Мета заняття: набути практичних навичок моделювання об’єктів і логічної структури програмної системи за допомогою діаграм об’єктів та пакетів UML.
Лабораторне зайняття №7. «Побудова діаграми послідовностей UML».
Мета заняття: сформувати вміння моделювати динамічну взаємодію об’єктів системи в процесі виконання сценаріїв використання за допомогою діаграм послідовностей UML.
Лабораторне зайняття №8. «Розробка діаграми діяльності UML».
Мета заняття: навчитися моделювати алгоритми та бізнес-процеси програмної системи з використанням UML-діаграм діяльності.
Лабораторне зайняття №9. «Побудова діаграми станів UML».
Мета заняття: оволодіти навичками побудови діаграм станів UML для відображення поведінки об’єктів системи та їх переходів між станами.
Лабораторне зайняття №10. «Проєктування архітектури ПЗ засобами UML».
Мета заняття: сформувати вміння проєктувати архітектуру програмного забезпечення, визначати основні компоненти системи та взаємодію між ними з використанням UML-діаграм.
Лабораторне зайняття №11. «Побудова бізнес-рівня моделі в ArchiMate».
Мета заняття: набути навичок моделювання бізнес-рівня інформаційної системи за допомогою мови ArchiMate, зокрема бізнес-акторів, процесів і сервісів.
Лабораторне зайняття №12. «Проєктування прикладного рівня в ArchiMate».
Мета заняття: навчитися проєктувати прикладний рівень архітектури системи в ArchiMate, визначаючи прикладні компоненти, сервіси та їх взаємодію.
Лабораторне зайняття №13. «Моделювання технологічного рівня в ArchiMate».
Мета заняття: сформувати вміння моделювати технологічну інфраструктуру програмної системи, включаючи апаратні ресурси, мережі та технологічні сервіси, засобами ArchiMate.
Лабораторне зайняття №14. «Узгодження UML та ArchiMate моделей».
Мета заняття: набути навичок інтеграції та узгодження UML- і ArchiMate-моделей з метою забезпечення цілісності проєктних рішень на різних рівнях архітектури.
Лабораторне зайняття №15. «Комплексне проєктування програмної системи».
Мета заняття: закріпити знання та практичні навички комплексного проєктування програмного забезпечення шляхом розробки повного набору UML- та ArchiMate-моделей для обраної програмної системи.
Консультації здійснюються впродовж семестру згідно встановленого розкладу. Форми контрольних заходів та оцінювання результатів навчання
Для денної форми здобуття освіти
Поточний контроль полягає у виконанні
1) 15-ти індивідуальних поточних завдань. Індивідуальні поточні завдання виконуються на компʼютері з використанням інтернет додатку drow.io відповідно до мети та завдань лабораторних занять. Б. Бездоганне виконання індивідуального поточних завдання №1-№7, оцінюється у 3 бали, №8 оцінюється у 4 бали; індивідуальних поточних завдань №9-№11, оцінюється у 3 бали, №12-№15 – 4 бали.
2) двох модульних контрольних робіт. Модульні контрольні роботи складаються з теоретичної і практичної частин та проводяться у формі комп'ютерного тестування. Бездоганне виконання кожної модульної контрольної роботи становить 25 балів.
Підсумковий контроль – залік. Максимальна оцінка, яку може отримати студент – 100 балів. Мінімальна кількість балів, за яку здобувач одержує «зараховано» - 60 балів.
ПРН2. Застосовувати знання фундаментальних і природничих наук, системного аналізу та технологій моделювання, стандартних алгоритмів та дискретного аналізу при розв’язанні задач проектування і використання ІСТ.
ПРН4. Проводити системний аналіз об’єктів проектування та обґрунтовувати вибір структури, алгоритмів та способів передачі інформації в ІСТ.
ПРН5. Аргументувати вибір програмних та технічних засобів для створення ІСТ на основі аналізу їх властивостей, призначення і технічних характеристик з урахуванням вимог до системи і експлуатаційних умов; мати навички налагодження та тестування програмних і технічних засобів ІСТ.
ПРН8. Застосовувати правила оформлення проектних матеріалів ІСТ, знати склад та послідовність виконання проектних робіт з урахуванням вимог відповідних нормативноправових документів для запровадження у професійній діяльності.