Будь ласка, використовуйте цей ідентифікатор, щоб цитувати або посилатися на цей матеріал: http://elartu.tntu.edu.ua/handle/lib/54132
Повний запис метаданих
Поле DCЗначенняМова
dc.contributor.authorМихалик, Дмитро Михайлович-
dc.contributor.authorЦебрій, Олексій Романович-
dc.contributor.authorСтефанишин, Володимир Миколайович-
dc.date.accessioned2026-09-25T12:03:41Z-
dc.date.available2026-09-25T12:03:41Z-
dc.date.issued2025-09-01-
dc.date.submitted2025-08-28-
dc.identifier.urihttp://elartu.tntu.edu.ua/handle/lib/54132-
dc.descriptionУ конспекті послідовно розглянуто питання якості програмного забезпечення, модульності, повторного використання програмних компонентів, абстрактних типів даних, управління пам’яттю, універсалізації, проєктування за контрактом, оброблення порушень контрактів, принципів і механізмів успадкування, правильного формування ієрархій класів, визначення класів та їх відповідальностей, використання глобальних об’єктів і констант. Окрему увагу приділено сучасним підходам до організації розроблення програмного забезпечення та практичному використанню інструментальних засобів програмної інженерії. Особливістю видання є поєднання фундаментальних принципів об’єктно-орієнтованого конструювання з практичними проблемами сучасної розробки програмного забезпечення. Теоретичні положення розглядаються з позицій їх впливу на модульність, зв’язність і зчепленість компонентів, повторне використання, розширюваність, тестованість, надійність та підтримуваність програмних систем. Значна увага приділяється не лише способам застосування окремих механізмів об’єктно-орієнтованого програмування, а й визначенню умов, за яких їх використання є обґрунтованим або, навпаки, може призвести до погіршення структури програмного забезпечення.uk_UA
dc.description.abstractПропонований конспект лекцій призначений для здобувачів другого (магістерського) рівня вищої освіти спеціальності 121/F2 «Інженерія програмного забезпечення» і містить систематизований виклад теоретичного матеріалу з дисципліни «Об’єктні технології та інструментальні засоби конструювання програмного забезпечення». Головною метою видання є формування системного розуміння принципів і методів побудови якісного об’єктно-орієнтованого програмного забезпечення, здатного до розвитку, повторного використання та супроводу. Матеріал курсу побудовано від фундаментальних понять якості й модульності програмного забезпечення до практичних принципів організації системи класів, визначення їх відповідальностей, побудови контрактів, використання універсалізації, успадкування та інших механізмів об’єктно-орієнтованого конструювання.uk_UA
dc.description.tableofcontentsВСТУП 9 ТЕМАТИЧНИЙ ПЛАН НАВЧАЛЬНОЇ ДИСЦИПЛІНИ 13 Лекція 1 16 1.1 Передумови забезпечення якості програмного забезпечення 18 1.2 Основні складові забезпечення якості програмного забезпечення 19 1.3 Завдання, цілі та метрики забезпечення якості програмного забезпечення 21 1.4 Міжнародні стандарти забезпечення якості програмного забезпечення 22 Висновки 24 Лекція 2 25 2.1 Поняття модульності 25 2.2 Критерії модульності 26 2.3 Правила модульності 29 2.4 Принципи модульності 31 Висновки 34 Лекція 3 35 3.1. Поняття повторного використання програмного забезпечення 35 3.2 Повторне використання програмних бібліотек і фреймворків 38 3.3. Повторне використання за допомогою шаблонів проєктування 39 3.4. Компонентна архітектура та компонентне програмування 45 3.5 Переваги та обмеження повторного використання програмного забезпечення 56 Висновки 57 Лекція 4 59 4.1 Поняття абстрактного типу даних 59 4.2 Варіанти реалізації абстрактних типів даних 63 4.3 Формальна специфікація абстрактних типів даних 66 4.4 Абстрактний тип даних STACK як формальна модель обчислень 71 4.5 Перехід від абстрактних типів даних до класів 74 Висновки 76 Лекція 5 78 5.1 Життєвий цикл об’єктів і способи розміщення даних у пам’яті 78 5.2 Проблема вивільнення пам’яті та ручне керування пам’яттю 89 5.3 Керування пам’яттю на рівні програмних компонентів 94 5.4 Автоматичне керування пам’яттю 98 5.5 Практичні аспекти й оптимізація автоматичного керування пам’яттю 102 Висновки 108 Лекція 6 110 6.1 Поняття універсалізації та способи узагальнення типів 110 6.2 Необхідність параметризації типів 114 6.3 Узагальнені класи та їх параметри 119 6.4 Масиви як приклад узагальненого класу 124 6.5 Переваги, вартість та обмеження універсалізації 128 Висновки 133 Лекція 7 134 7.1 Поняття проєктування за контрактом 134 7.2 Передумови та постумови 136 7.3 Інваріанти класу 140 7.4 Контракти в описі класів та операцій 145 7.5 Перевірка контрактів і оброблення порушень 152 7.6 Контракти, успадкування та повторне визначення операцій 153 7.7 Переваги та практичне застосування проєктування за контрактом 154 Висновки 155 Лекція 8 156 8.1 Основні поняття винятку та відмови 156 8.2 Причини виникнення винятків і порушень контракту 157 8.3 Принципи дисциплінованого оброблення винятків 159 8.4 Механізм оброблення винятків rescue і retry 160 8.5 Приклади оброблення винятків 161 8.6 Завдання секції rescue та відновлення інваріанта 164 8.7 Розширене оброблення винятків і запобігання повторним порушенням 165 Висновки 167 Лекція 9 168 9.1 Поняття та призначення успадкування 168 9.2 Батьківські класи, класи-нащадки та успадковані компоненти 171 9.3 Поліморфізм і сумісність типів 174 9.4 Повторне визначення компонентів і динамічне зв’язування 177 9.5 Відкладені компоненти та класи 179 9.6 Значення, переваги й обмеження успадкування 182 9.7 Правила правильного застосування успадкування 184 Висновки 188 Лекція 10 189 10.1 Поняття відкату в інтерактивних системах 189 10.2 Команда як об’єкт і базовий клас COMMAND 191 10.3 Успадкування, поліморфізм і динамічне зв’язування в механізмі Undo 193 10.4 Багаторівневий механізм Undo/Redo та історія команд 194 10.5 Практичні аспекти реалізації та інтерфейс користувача 196 10.6 Переваги, обмеження та загальні принципи побудови механізму відкату 198 Висновки 199 Лекція 11 200 11.1 Поняття методології розроблення програмного забезпечення 200 11.2 Agile та основні принципи гнучкого розроблення 201 11.3 Scrum: структура, команда, події та артефакти 202 11.4 Kanban та керування потоком робіт 203 11.5 Порівняння Agile, Scrum і Kanban 204 11.6 Застосування гнучких підходів під час об’єктно-орієнтованого розроблення 207 Висновки 208 Лекція 12 209 12.1 Необхідність правильного застосування успадкування 209 12.2 Вибір між успадкуванням і клієнтським зв’язком 210 12.3 Типові помилки використання успадкування 212 12.4 Основні допустимі форми успадкування 213 12.5 Успадкування для розширення та повторного використання 214 12.6 Побудова та розвиток ієрархій класів 215 12.7 Практичні правила правильного використання успадкування 216 Висновки 217 Лекція 13 218 13.1 Поняття ідентифікації класів 218 13.2 Аналіз вимог як джерело потенційних класів 219 13.3 Критерії виокремлення самостійного класу та класів в об’єктно-орієнтованій системі 220 13.4 Ознаки помилкового визначення класів 223 13.5 Додаткові джерела класів та повторне використання 224 13.6 Послідовність формування системи класів 226 Висновки 227 Лекція 14 228 14.1 Глобальна інформація в об’єктно-орієнтованій системі 228 14.2 Символічні та явні константи 229 14.3 Константи класових типів і одноразові функції 231 14.4 Спільні об’єкти та одноразова ініціалізація 232 14.5 Рядкові константи та фіксовані набори значень 233 14.6 Проблеми надмірного використання глобальних даних 234 14.7 Практичні правила використання глобальних об’єктів і констант 235 Висновки 236 СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ 238uk_UA
dc.language.isoukuk_UA
dc.publisherТНТУ ім. І. Пулюяuk_UA
dc.subjectМетодичнi вказiвкиuk_UA
dc.subjectІнженерія програмного забезпеченняuk_UA
dc.subjectОб’єктні технології та інструментальні засоби конструювання програмного забезпеченняuk_UA
dc.titleКонспект лекцій з дисциплiни «Об’єктні технології та інструментальні засоби конструювання програмного забезпечення»uk_UA
dc.title.alternativeКонспект лекцій з дисциплiни «Об’єктні технології та інструментальні засоби конструювання програмного забезпечення» для здобувачiв другого (магістерського) рiвня вищої освiти ОПП «Iнженерiя програмного забезпечення»uk_UA
dc.typeMethodical recommendationsuk_UA
dc.rights.holder© ТНТУ ім. І. Пулюя, 2025uk_UA
dc.coverage.placenameТернопiль: ТНТУ iм. I. Пулюяuk_UA
dc.subject.udc004.41(076.5)uk_UA
dc.relation.referencesКуєвда Ю. В. Об’єктно-орієнтоване програмування. Курс лекцій : навчальний посібник. Київ : КПІ ім. Ігоря Сікорського, 2024. 164 с.uk_UA
dc.relation.referencesПорєв В. М. Об’єктно-орієнтоване програмування. Конспект лекцій : навчальний посібник. Київ : КПІ ім. Ігоря Сікорського, 2022. 271 с.uk_UA
dc.relation.referencesМнушка О. В., Савченко В. М., Маций О. Б. Об’єктно-орієнтоване програмування мовою Python : навчальний посібник. Харків : ХНАДУ, 2021. 228 с.uk_UA
dc.relation.referencesЛюбченко Н. Ю., Соболь М. О., Пугачов Р. В., Подорожняк А. О., Івашко А. В. Основи ООП С++ в прикладах : навчально-методичний посібник. Ч. 1. Харків : НТУ «ХПІ», 2024. 223 с.uk_UA
dc.relation.referencesНазарчук І. В. Програмування та алгоритмічні мови : у 2 ч. Ч. 2. Програмування мовою С++. Вступ до об’єктно-орієнтованого програмування : підручник. Київ : КПІ ім. Ігоря Сікорського, 2024. 162 с.uk_UA
dc.relation.referencesАлхімова С. М. Об’єктно-орієнтоване програмування. Ч. 2. Об’єктно-орієнтований підхід до розробки програмного забезпечення : підручник. Київ : КПІ ім. Ігоря Сікорського, 2019. 194 с.uk_UA
dc.relation.referencesКоноваленко І. В., Марущак П. О. Платформа .NET та мова програмування C# 8.0 : навчальний посібник. Тернопіль : ФОП Паляниця В. А., 2020. 320 с.uk_UA
dc.relation.referencesТихоход В. О., Гурін А. Л., Беспала О. М. Технології розробки програмного забезпечення. Курс лекцій : навчальний посібник. Київ : КПІ ім. Ігоря Сікорського, 2024. 230 с.uk_UA
dc.relation.referencesPressman R. S., Maxim B. R. Software Engineering: A Practitioner’s Approach. 9th ed. New York : McGraw-Hill Education, 2020.uk_UA
dc.relation.referencesBudgen D. Software Design: Creating Solutions for Ill-Structured Problems. 3rd ed. Chapman & Hall/CRC, 2021. 364 p. Особливо доречне джерело для тем про модульність, об’єктне моделювання, класи, архітектуру та принципи проєктування.uk_UA
dc.contributor.affiliationМихалик Д.М. к.т.н., доцент каф. ПІ Цебрій О.Р., к.ф.-м.н., доцент каф. ПІ Стефанишин В.М., ас. каф. ПІuk_UA
dc.coverage.countryUAuk_UA
dc.identifier.citation2015Конспект лекцій з дисциплiни «Об’єктні технології та інструментальні засоби конструювання програмного забезпечення» для здобувачiв другого (магістерського) рiвня вищої освiти ОПП «Iнженерiя програмного забезпечення» всiх форм навчання / Укладач: Михалик Д.М., Цебрій О.Р., Стефанишин В.М.– Тернопiль: ТНТУ iм. I. Пулюя, 2025 – 239 с.uk_UA
dc.identifier.citationenAPAКонспект лекцій з дисциплiни «Об’єктні технології та інструментальні засоби конструювання програмного забезпечення» для здобувачiв другого (магістерського) рiвня вищої освiти ОПП «Iнженерiя програмного забезпечення» всiх форм навчання / Укладач: Михалик Д.М., Цебрій О.Р., Стефанишин В.М.– Тернопiль: ТНТУ iм. I. Пулюя, 2025 – 239 с.uk_UA
Розташовується у зібраннях:Навчальна література кафедри програмної інженерії

Файли цього матеріалу:
Файл Опис РозмірФормат 
метод ОТКПЗ лекції .pdfКонспект лекцій з дисциплiни «Об’єктні технології та інструментальні засоби конструювання програмного забезпечення»12,64 MBAdobe PDFПереглянути/відкрити


Усі матеріали в архіві електронних ресурсів захищені авторським правом, всі права збережені.

Інструменти адміністратора