Об’єктно-орієнтоване програмування
Анотація курсу
У курсі розкриті поняття і методи використання основної методології програмування і програмної інженерії – об’єктно-орієнтованої парадигми. Об’єктно-орієнтоване програмування (ООП) сьогодні є найбільш потужним засобом, який дозволяє як моделювати об’єкти реального світу, так і генерувати віртуальні об’єкти в пам’яті комп’ютера. Використання візуального програмування істотно полегшує розробку інтерфейсу додатків, орієнтованого на стандарт візуальних оболонок. Області застосування ООП дозволяють розробляти додатки від найпростіших розрахункових форм до багатокористувацьких програмних комплексів із застосуванням графічного інтерфейсу і засобів мережі Internet. Курс розкриває такі положення ООП. Основні підходи до розробки інформаційних систем. Поняття АРМа, як професійної інформаційної системи. Програмування як методологія розробки інформаційних систем. Мови програмування – алгоритмічні, функціональні, декларативні. Розвиток парадигм програмування і їх взаємозв’язок. Основи об’єктноорієнтованого програмування (ООП). Поняття об’єкту. Об’єктно-орієнтований аналіз та об’єктно-орієнтоване проектування.
Мета:
Формування у студентів теоретичних знань і практичних навиків проектування, розробки та вiдлагодження додатків із застосуванням сучасних технологій та мов об’єктноорієнтованого програмування, таких як С++, що забезпечують вивчення нових концепцій візуального програмування та найбільш ефективних технологій створення програмного забезпечення в процесі вирішення прикладних професійних задач; навчити студентів розробці алгоритмів на основі структурного і об’єктно-орієнтованого підходу.
Основні завдання:
Ознайомити студентів з методами структурного і об’єктно-орієнтованого програмування як найбільш поширеними і ефективними методами розробки програмних продуктів; знайомство з основними структурами даних і типовими методами обробки цих структур; навчити студентів розробці алгоритмів на основі структурного і об’єктно-орієнтованого підходу; навчити студентів критеріям перевірки правильності побудови класів, основним тенденціям в галузі розвитку технологій об’єктно-орієнтованого програмування; закріпити навички алгоритмізації та програмування на основі вивчення мов програмування Object Pascal, C++, Java; прищепити студентам знання способів використання основних візуальних компонентів розробки додатків; дати досвід розробки власних засобів контролю та управління елементами програмних систем; ознайомити студентів з принципами функціонування та управління спеціальними засобами програмування – реалізація багатозадачності, COM технології; створення практичної бази для вивчення інших навчальних дисциплін.
Що ви будете знати:
- Прийоми та засоби алгоритмізації обчислювальних задач; основні принципи об΄єктно-орієнтованого програмування;
- призначення та особливості використання засобів інтегрованих середовищ розробки (IDE) для розробки професійних додатків;
- опис класів в мовах програмування OBJECT PASCAL, Java, С ++;
- спадкування, поліморфізм, віртуальні і динамічні методи;
- обробку подій і повідомлень Windows;
- візуальні методи розробки Windowsдодатків;
- обробку виняткових ситуацій.
Що ви будете вміти:
- формалізувати поставлену задачу; розробити структури типів даних для представлення предметної області розв’язуваної задачі;
- розробляти Windows-додатки в сучасних середовищах – IDE;
- проектувати ієрархію класів для вирішення конкретних прикладних завдань;
- реалізовувати робочі проекти ієрархії класів на сучасних мовах програмування; тестувати і налагоджувати додатки з метою підвищення надійності й ефективності;
- організовувати управління іншими додатками, використовуючи механізми автоматизації, використовувати сучасні готові бібліотеки класів, технології та інструментальні засоби.
Тематичний план курсу
Структура і функціонування інформаційних систем. Програмування як методологія розробки інформаційних систем. Основи об’єктно-орієнтованого програмування (ООП). Поняття об’єкту. Основи мови С ++. Базові типи даних. Змінні типу покажчик. Покажчик на об’єкт. Мова програмування С++ як мова об’єктного проектування програмного забезпечення. Структура класу. Властивості і методи класу. Конструктори класу. Динамічне розгортання об’єктів в пам’яті. Методи ініціювання та ліквідування об’єктів. Повторне використання коду. Успадкування. Конструктори і деструктори похідних класів. Перевантаження методів класу. Поліморфізм і абстракція класів. Операційна система Windows. Події в ОС Windows. Середовище візуального програмування. Стандартні компоненти. Діалогові вікна. Організація меню. Механізм реалізації подій. Графічні компоненти. Розробка систем керування базами даних. Багатопотокові програми. Основи СОМ-технології.
Загальна інформація
Форма навчання | Кількість кредитів ECTS | Загальна кількість академічних годин | Лекційні | Лабораторні | Самостійна робота | Форма контролю |
---|---|---|---|---|---|---|
Денна | 9 | 270 | 50 | 50 | 170 | екзамен, залік |
Заочна | 9 | 270 | 16 | 16 | 238 | екзамен, залік |
Компетентності | Результати навчання |
---|---|
СК02 Здатність брати участь у проектуванні програмного забезпечення, включаючи проведення моделювання (формальний опис) його структури, поведінки та процесів функціонування. СК03 Здатність розробляти архітектури, модулі та компоненти програмних систем. СК12 Здатність здійснювати процес інтеграції системи, застосовувати стандарти і процедури управління змінами для підтримки цілісності, загальної функціональності і надійності програмного забезпечення. СК13 Здатність обґрунтовано обирати та освоювати інструментарій з розробки та супроводження програмного забезпечення. | ПР05 Знати і застосовувати відповідні математичні поняття, методи доменного, системного і об’єктно-орієнтованого аналізу та математичного моделювання для розробки програмного забезпечення. ПР06 Уміння вибирати та використовувати відповідну задачі методологію створення програмного забезпечення. ПР07 Знати і застосовувати на практиці фундаментальні концепції, парадигми і основні принципи функціонування мовних, інструментальних і обчислювальних засобів інженерії програмного забезпечення. ПР09 Знати та вміти використовувати методи та засоби збору, формулювання та аналізу вимог до програмного забезпечення. ПР10 Проводити передпроектне обстеження предметної області, системний аналіз об’єкта проектування. ПР11 Вибирати вихідні дані для проектування, керуючись формальними методами опису вимог та моделювання. ПР12 Застосовувати на практиці ефективні підходи щодо проектування програмного забезпечення. ПР13 Знати і застосовувати методи розробки алгоритмів, конструювання програмного забезпечення та структур даних і знань. ПР14 Застосовувати на практиці інструментальні програмні засоби доменного аналізу, проектування, тестування, візуалізації, вимірювань та документування програмного забезпечення. ПР15 Мотивовано обирати мови програмування та технології розробки для розв’язання завдань створення і супроводження програмного забезпечення. ПР17 Вміти застосовувати методи компонентної розробки програмного забезпечення. ПР22 Знати та вміти застосовувати методи та засоби управління проектами. |