Інженерія програмних систем
Анотація навчальної дисципліни
Мета вивчення дисципліни
Отримання навичок до розробки різних типів програмного забезпечення, що функціонує в оточенні певних апаратно-програмних засобів, застосування найкращих практик інженерії програмного забезпечення, вміння розв'язувати математичні, аналітичні та економічні задачі шляхом створення відповідних програмних застосувань.
Дисципліна «Інженерія програмних систем» містить тільки курсовий проект, що є самостійною інженерною розробкою.
Практичне значення та використання отриманих знань
отримати навички щодо накопичування, обробки та систематизації професійних знань щодо нових методів створення і супроводження програмного забезпечення та визнання важливості навчання протягом всього життя, поглибити здатність застосовувати і розвивати фундаментальні і міждисциплінарні знання для успішного розв’язання завдань інженерії програмного забезпечення, узагальнити прийоми аналізу вимог, проектування програмного забезпечення, розробки, тестування та налагодження програм з використанням відповідних мов програмування та інструментів розробки, поглибити навички документування програмного забезпечення та етапів його розробки, поглибити навички презентації вирішених завдань інженерії програмного забезпечення.
Основні результати навчання
ПРН03. Знати основні процеси, фази та ітерації життєвого циклу програмного забезпечення.
ПРН05. Знати і застосовувати відповідні математичні поняття, методи доменного, системного і об’єктно-орієнтованого аналізу та математичного моделювання для розробки програмного забезпечення.
ПРН06. Вміти вибирати та використовувати відповідні задачі методологію створення програмного забезпечення.
ПРН07. Знати і застосовувати на практиці фундаментальні концепції, парадигми і основні принципи функціонування мовних, інструментальних і обчислювальних засобів інженерії програмного забезпечення.
ПРН15. Мотивовано обирати мови програмування та технології розробки для розв’язання завдань створення і супроводження програмного забезпечення.
ПРН22. Знати та вміти застосовувати методи та засоби управління проектами.
ПРН23. Вміти документувати та презентувати результати розробки програмного забезпечення.
Тематика та види навчальних занять
1–2 тижні
Вибір теми та її узгодження з керівником.
3 тиждень
Критичний аналіз існуючих рішень.
4 тиждень
Специфікація функціональних вимог до програмної системи.
5 тиждень
Специфікація нефункціональних вимог до програмної системи.
6 тиждень
Функціональна декомпозиція системи з виділенням модулів.
7 тиждень
Динаміка процесів у системі.
8 тиждень
Розробка ER-моделі системи.
9 тиждень
Логічне проектування обраного модуля: структури даних, алгоритми.
10 тиждень
Логічне проектування обраного модуля: інтерфейс користувача, діаграма класів.
11–12 тижні
Програмна реалізація обраного модуля.
13 тиждень
Тестування обраного модуля.
14 тиждень
Оформлення та захист (презентація) курсового проекту.
Оцінювання результатів навчання
Оцінювання результатів навчання з дисципліни здійснюється за накопичувальною системою, яка дає можливість здобувачеві протягом семестру отримати максимально 100 балів.
Першій модуль оцінюється у максимально можливі 35 балів.
Студент отримує по 5 балів за бездоганне виконання кожного з наступних етапів:
− вибір теми та її узгодження з керівником;
− критичний аналіз існуючих рішень;
− специфікація функціональних вимог до програмної системи;
− специфікація нефункціональних вимог до програмної системи;
− функціональна декомпозиція системи з виділенням модулів;
− динаміка процесів у системі;
− розробка ER-моделі системи.
Другий модуль оцінюється у максимально можливі 65 балів.
Студент отримує по 5 балів за бездоганне виконання кожного з наступних етапів:
− логічне проектування обраного модуля: структури даних, алгоритми;
− логічне проектування обраного модуля: інтерфейс користувача, діаграма класів;
− програмна реалізація обраного модуля;
− тестування обраного модуля.
За бездоганне оформлення пояснювальної записки згідно стандарту «ДСТУ 3008-95 Документація. Звіти в галузі науки і техніки» студент отримує 15 балів.
За демонстрацію розробленого програмного забезпечення з пояснюванням роботи його функціоналу та особливостей використання відповідних мов програмування та інструментів розробки студент отримує 20 балів.
За презентацію вирішеного завдання з демонстрацією відповідних завданню практик інженерії програмного забезпечення студент отримує 20 балів.
Посилання на рекомендовані джерела
1. David Farley. Modern software engineering doing what works to build better software faster. Addison Wesley. 2022. – 220 p.
2. Richards M., Ford N. Fundamentals of Software Architecture: An Engineering Approach. – O'Reilly Media, 2020. – 432 p. http://fundamentalsofsoftwarearchitecture.com/
3. Date C. J. Database Design and Relational Theory: Normal Forms and All That Jazz 2nd Edition, Kindle Edition. 2019. – 474 p.
4. Якість програмного забезпечення та тестування: базовий курс. Навчальний посібник / За ред. Крепич С.Я., Співак І.Я. / для бакалаврів галузі знань 12 «Інформаційні технології» спеціальності 121 «Інженерія програмного забезпечення». – Тернопіль: ФОП Паляниця В.А., 2020. – 478с.
5. Комп'ютерна графіка. Навчальний посібник /Михайло Пічугін, Іван Канкін, Володимир Воротніков – Центр навчальної літератури (ЦУЛ), 2020 – 3468 с.