Інженерія програмних продуктів та сервісів

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

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

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

Практичне значення та використання отриманих знань 
сформувати у здобувачів вищої освіти знання основних етапів життєвого циклу програмного продукту, розуміння процесу розробки програмних продуктів та сервісів, розуміння принципів організації робіт в крос-дисциплінарних командах, вміння розробляти програмні продукти або сервіси низької складності.

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

Для денної форми здобуття освіти

Лекційні заняття
Лекція 1. Інженерія програмного забезпечення в аспекті розробки продуктів та сервісів. Основи програмної інженерії. Супроводження або еволюція. Етика програмної інженерії. Процес розробки ПЗ та розробки продукту.
Лекція 2. Планування бізнесу. Підприємницькі можливості. Lean стартап. Lean канва. Роль маркетингу.
Лекція 3. Формування команди та визначення ролей.
Лекція 4. Специфікація продукту. Бізнес-вимоги. Бізнес-правила. Вимоги користувача. Атрибути якості. Функціональні вимоги. Системні вимоги. Ролі бізнес-аналітика та володаря продукту.
Лекція 5. Збирання та документація вимог: історії користувача, варіанти використання. Беклог та карти історій. Специфікація функціональних вимог. 
Лекція 6. Трасування вимог. Парадигма вбудовування якості в програмній інженерії. Управління вимогами.
Лекція 7. Архітектура продукту. Статична та динамічна структура. Архітектурне подання, точка зору та перспектива. Використання стилів та шаблонів.
Лекція 8. Розробка архітектурної моделі. Валідація архітектури. Lean архітектура.
Лекція 9. Розробка продукту в крос-дисциплінарних командах. Моніторинг та контроль виконання робіт.
Лекція 10. UI/UX. Цілі проекту та потреби користувачів. Орієнтований на користувача дизайн. Варфрейми, мокапі та прототипи. Onboarding та journey maps. Стадії розробки продукту.
Лекція 11. Контроль якості програмних продуктів. Класифікація причин помилок в програмних продуктах. Компоненти системи забезпечення якості програмного продукту. Елементи плану якості. Верифікація, валідація та класифікація.
Лекція 12. Тестування програмного забезпечення. Покриття тестами. Планування тестування. Альфа- та бета-тестування. Метрики якості програмного забезпечення. Вартість якості програмного забезпечення.
Лекція 13. Захищеність і безпека програмних продуктів. Людські та організаційні аспекти захищеності та безпеки. Роль стандартів захищеності та безпеки. Аналіз загроз і техніки захисту. Забезпечення захищеності та безпеки. 
Лекція 14. Управління змінами. Промислова розробка програмних продуктів: процес-метод-лідерство.
Лекція 15. Стратегічне планування та дорожня карта продукту. 
Лабораторні заняття
Лабораторне заняття № 1. «Визначення ідеї продукту або сервісу».
Мета заняття: формування у здобувачів вмінь генерування, аналізу та оцінки ідей для розробки програмного продукту або сервісу, з урахуванням потреб користувачів і ринкових можливостей.
Лабораторне заняття № 2. «Бізнес-планування».
Мета заняття: розвиток у здобувачів вмінь розробки Lean Canvas і визначення ключових аспектів маркетингової стратегії для нового програмного продукту або сервісу.
Лабораторне заняття № 3-4. «Специфікація вимог до програмного продукту» (виконується протягом 2 аудиторних занять)
Мета заняття: набуття здобувачами вмінь формування специфікації вимог до програмного продукту, зокрема розробки бізнес-вимог, вимог користувачів і нефункціональних вимог, а також документування їх у вигляді користувацьких історій, сценаріїв використання та специфікацій нефункціональних вимог.
Лабораторне заняття № 5. «Проектування досвіду користувача (UX)».
Мета заняття: формування у здобувачів вмінь проектування користувацького досвіду (UX), включаючи аналіз персони і створення карт користувацької подорожі (journey maps) для забезпечення зручності та ефективності взаємодії з програмним продуктом.
Лабораторне заняття № 6. «Планування бета-тестування».
Мета заняття: ознайомлення здобувачів із принципами планування бета-тестування, формування навичок визначення цільової аудиторії, складання плану тестування, аналізу зібраних даних і формулювання рекомендацій для вдосконалення програмного продукту.
Лабораторне заняття № 7. «Дорожня карта програмного продукту».
Мета заняття: набуття здобувачами практичних навичок розробки дорожньої карти програмного продукту, включаючи визначення стратегічних цілей, етапів реалізації, пріоритетів завдань та ключових показників успіху для забезпечення ефективного планування та розвитку продукту.

Для заочної форми здобуття освіти
Лекційні заняття
Лекція 1. Інженерія програмного забезпечення в аспекті розробки продуктів та сервісів. Специфікація продукту. Збирання та документація вимог: історії користувача, варіанти використання. Парадигма вбудовування якості в програмній інженерії. Управління вимогами.
Лекція 2. Архітектура продукту. Валідація архітектури. Розробка продукту в крос-дисциплінарних командах. Проєктування UI/UX. Контроль якості програмних продуктів. 
Лабораторні заняття
Лабораторне заняття № 1. «Специфікація вимог до програмного продукту».
Мета заняття: набуття здобувачами вмінь формування специфікації вимог до програмного продукту, а також документування їх у вигляді користувацьких історій, сценаріїв використання та специфікацій нефункціональних вимог.
Лабораторне заняття № 2. «Проєктування досвіду користувача (UX)».
Мета заняття: формування у здобувачів вмінь проектування користувацького досвіду (UX), включаючи аналіз персони і створення карт користувацької подорожі (journey maps).
Консультації здійснюються впродовж семестру згідно встановленого розкладу.

Індивідуальна робота
Для очної форми здобуття освіти індивідуальна робота відсутня за планом.

Для заочної форми здобуття освіти
Завдання для виконання контрольної роботи здобувач отримує на установчій лекції.
Робота містить 3 теоретичних питання та 2 практичних завдання. 
Обсяг відповіді на кожне теоретичне питання: не більше, ніж одна сторінка тексту, оформленого шрифтом Times New Roman 14 pt. Текст відповіді повинен бути виконаний самостійно, а не згенерований засобами штучного інтелекту. 
Практичне завдання №1. «Розробка концепції програмного продукту – ідея, бізнес модель, вимоги».
Практичне завдання №2. «Реалізція програмного продукту – проєктування системи і досвіду користувача, тестування».
Термін надання виконаної контрольної роботи на перевірку – не пізніше, ніж за місяць до початку сесії. 

 Форми контрольних заходів та оцінювання результатів навчання

Для денної форми здобуття освіти
Поточний контроль полягає у виконанні 
1)    7-ти лабораторних робіт. Лабораторні роботи полягають в виконанні типових дій відповідно до мети та завдань лабораторних занять. Бездоганне виконання лабораторних робіт №1, №2, №6 і №7 оцінюється по 5 балів; лабораторних робіт №3-4 і №5 – по 10 балів; 
2)    двох модульних контрольних робіт. Модульні контрольні роботи складаються з теоретичної і практичної частин та проводяться у формі комп'ютерного тестування. Бездоганне виконання кожної модульної контрольної роботи становить 30 балів.
Підсумковий контроль – залік. 

Для заочної форми здобуття освіти
Захист контрольної роботи. Бездоганне виконання контрольної роботи оцінюється у 50 балів. При її захисті студент може отримати до 50 балів.
Підсумковий контроль – залік. 
 

Компетентності: 

К1. Здатність реалізовувати фази життєвого циклу продуктової розробки програмного забезпечення.

Передумови вивчення дисципліни: 

Основи програмної інженерії

Результати навчання: 

РН01. Знати ключові етапи та розуміти призначення процесів життєвого циклу розробки програмних продуктів та сервісів.
РН02. Вміти застосовувати методології розробки програмних продуктів та сервісів.

2024 рік