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

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

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

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

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

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

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

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

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

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

1 тиждень
Л1. Інженерія програмного забезпечення в аспекті розробки продуктів та сервісів. Основи програмної інженерії. Супроводження або еволюція. Етика програмної інженерії. Процес розробки ПЗ. SEMAT. Процес розробки продукту.
СРЗ, К

2 тиждень
Л2. Планування бізнесу. Підприємницькі можливості. Lean стартап. Lean канва. Роль маркетингу.
ЛР1. Визначення ідеї продукту або сервісу
СРЗ, К

3 тиждень
Л3. Формування команди та визначення ролей.
СРЗ, К

4 тиждень
Л4. Специфікація продукту. Бізнес-вимоги. Бізнес-правила. Вимоги користувача. Атрибути якості. Функціональні вимоги. Системні вимоги. Ролі бізнес-аналітика та володаря продукту.
ЛР2. Бізнес-планування
СРЗ, К

5 тиждень
Л5. Збирання та документація вимог: історії користувача, варіанти використання. Беклог та карти історій. Специфікація функціональних вимог. 
СРЗ, К

6 тиждень
Л6. Трасування вимог. Парадигма вбудовування якості в програмній інженерії. Управління вимогами.
ЛР3. Специфікація вимог до програмного продукту
СРЗ, К

7 тиждень
Л7. Архітектура продукту. Статична та динамічна структура. Архітектурне подання, точка зору та перспектива. Використання стилів та шаблонів.
СРЗ, К, МКР1

8 тиждень
Л8. Розробка архітектурної моделі. Валідація архітектури. Lean архітектура.
ЛР4. Специфікація вимог до програмного продукту
СРЗ, К

9 тиждень
Л9. Розробка продукту в крос-дисциплінарних командах. Моніторинг та контроль виконання робіт.
СРЗ, К

10 тиждень
Л10. UI/UX. Цілі проекту та потреби користувачів. Орієнтований на користувача дизайн. Варфрейми, мокапі та прототипи. Onboarding та journey maps. Стадії розробки продукту.
ЛР5. Проектування інтерфейсу користувача
СРЗ, К

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

12 тиждень
Л12. Тестування програмного забезпечення. Покриття тестами. Планування тестування. Альфа- та бета-тестування. Метрики якості програмного забезпечення. Вартість якості програмного забезпечення.
ЛР6. Забезпечення якості
СРЗ, К

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

14 тиждень
Л14. Управління змінами. Промислова розробка програмних продуктів: процес-метод-лідерство.
ЛР7. Планування реалізації програмного продукту
СРЗ, К, МКР2

15 тиждень
Л15. Стратегічне планування та дорожня карта продукту. 
СРЗ, К

Індивідуальна робота

Розрахунково-графічна робота (РГР) виконується згідно з графіком навчального процесу. На її виконання відводиться 15 годин індивідуальної роботи студента. Робота повинна підтвердити опанування студентом дисципліни та прищепити навички самостійної розробки та забезпечення якості програмних продуктів.
Тематика РГР періодично зазнає уточнення і коригування. РГР виконується окремо кожним студентом.
Етапи виконання РГР:
−    видача завдань (1-2 тиждень);
−    самостійна робота студентів (3-14 тиждень);
−    захист РГР (15 тиждень).

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

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

Семестровий модуль № 1
Оцінка за виконання лабораторних робіт (1 – 3) – 20 балів. Термін надання виконаних робіт – до 7 тижня.
МКР1 – 30 балів (7 тиждень). 
Перескладання можливе протягом 9 – 11 тижнів за розкладом консультацій.
Семестровий модуль № 2
Оцінка за виконання лабораторних робіт (4 – 6) – 10 балів. Термін надання виконаних робіт – до 14 тижня.
МКР2 – 30 балів (14 тиждень). 
Оцінка за виконання РГР – 10 балів  (15 тиждень).

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

Підсумковим контролем з дисципліни є усний екзамен.

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

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

Екзамен відбувається за всіма тематичними (змістовними) модулями дисципліни.

Політика освітнього процесу

Здобувач зобов’язаний своєчасно та якісно виконувати всі отримані завдання; за необхідністю з метою з’ясування всіх не зрозумілих під час самостійної та індивідуальної роботи питань, відвідувати консультації викладача. Дотримуватись принципів академічної доброчесності.

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

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

Виконаний не свій варіант завдання здобувачем не оцінюється.

Роботи з ознаками запозичень без посилань оцінюються нулем балів. Якщо кільки робіт містять однакові відповіді, то всі вони отримують нуль, пошук першоджерела не виконується. На протязі вивчення дисципліни підтримується політика нульової толерантності до списування.

Робота, яка виконана після встановлених викладачем термінів, не приймається.

Відсутність здобувача на екзамені або на контрольній роботі відповідає оцінці «0». 

Складання/перескладання екзаменів виконується за встановленим деканатом розкладом.

Література

Базова
1. Hans van Vliet. Software Engineering: Principles and Practice. – John Wiley & Sons, 2008. – 740 p.
2. Luke Hohmann. Beyond Software Architecture: Creating and Sustaining Winning Solutions. – Addison Wesley, 2003. – 352 p.
3. Wiegers, K. Software Requirements / K. Wiegers, J. Beatty. – Microsoft Press, 2013. – 672 p.
4. Garrett, J. J. The Elements of User Experience (2nd ed.). – New Riders Publishing, 2010. – 192 p.
5. Daniel Galin. Software Quality Assurance: From Theory to Implementation. – Addison-Wesley, 2003. – 616 p.

Додаткова
6. Nick Rozanski & Eóin Woods. Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives. – Addison Wesley, 2011. – 704 p.
7. Unger, R., Chandler, C. A Project Guide to UX Design – For User Experience Designers in the Field or in the Making. – New Riders Publishing, 2012.

Методична
8. Методичні вказівки до лабораторних робіт з дисципліни «Інженерія програмних продуктів та сервісів» для студентів спеціальності 121 – Інженерія програмного забезпечення / Укл.: В. В. Любченко. – Одеса: ОНПУ, 2019. – 16 с.
 

2021 рік