Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЕВ-4791

.pdf
Скачиваний:
22
Добавлен:
07.03.2016
Размер:
2.52 Mб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ Державний вищий навчальний заклад

«КИЇВСЬКИЙ НАЦІОНАЛЬНИЙ ЕКОНОМІЧНИЙ УНІВЕРСИТЕТ імені ВАДИМА ГЕТЬМАНА»

А. В. БЄГУН

ОБ’ЄКТНО-ОРІЄНТОВАНЕ ПРОГРАМУВАННЯ

Практикум

для спеціальності 6101

«Системи і методи прийняття рішень»

УДК 004.42:005.311.6(076.5) ББК 65.050.03я73

Б 37

Рецензенти

В. М. Гужва, к.е.н., проф.

(Київський національний економічний університет імені Вадима Гетьмана)

С. П. Ріппа, д.е.н., проф.

(Національний університет державної податкової служби України)

М. О. Плахтій, к.е.н. (ТОВ «Фронт.Менеджер»)

Редакційна колегія факультету інформаційних систем і технологій

Голова редакційної колегії О. Д. Шарапов, професор, к.т.н. Відповідальний секретар редакційної колегії С. С. Ващаєв, доцент, к.е.н.

Члени редакційної колегії: З. П. Баранік, професор, д.е.н., В. В. Вітлінський, професор, д.е.н., Г. І. Великоіваненко, доцент, к.ф-м.н., В. К. Галіцин, професор, д.е.н., І. А. Джалладова, професор, д.ф-м.н., Ю. М. Красюк, доцент, к.пед.н., С. Ф. Лазарєва, доцент, к.е.н., О. П. Степаненко, к.е.н., С. В. Устенко, професор, д.е.н.

Рекомендовано до друку Навчально-методичною радою КНЕУ Протокол № 2 від 12.12.13

Бєгун А. В.

Б 37 Об’єктно-орієнтоване програмування : практикум для спеціальності 6101 «Системи і методи прийняття рішень». [Електронний ресурс] / А. В. Бєгун.— К. : КНЕУ, 2014. — 176 с.

ISBN 978-966-483-904-1

Практикум з дисципліни «Об’єктно-орієнтоване програмування» призначений для бакалаврів, що навчаються за спеціальністю «Системи і методи прийняття рішень». Кожна тема робочої програми дисципліни супроводжується методичними рекомендаціями щодо організації й проведення практичних та лабораторних занять, виконання самостійних та індивідуальних завдань. Для окремого виду завдань в якості програмного середовища виконання програмного продукту, який розробляється студентом, пропонуються інструментальні засоби: JDK, JBuilder та Eclipse різних версій.

Водночас це видання може бути корисним як практичний посібник для студентів, які навчаються за спеціальністю «Економічна кібернетика» та «Системний аналіз».

УДК 004.42:005.311.6(076.5) ББК 65.050.03я73

Розповсюджувати та тиражувати без офіційного дозволу КНЕУ забороняється

ISBN 978-966-483-904-1

© А.В. Бєгун, 2014

© КНЕУ, 2014

ПЕРЕДМОВА

Дисципліна «Об’єктно-орієнтоване програмування» призначена для підготовки бакалаврів, які навчаються за спеціальністю «Системи і методи прийняття рішень».

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

Основні завдання дисципліни. У процесі опанування дисципліни студенти набувають практичних навичок з об’єктної декомпозиції та відпрацьовують типові елементи програмування, вивчають об’єктно-орієнтовану технологію програмування, вдосконалюють навички налагодження й виконання програм у середовищах JBuilder та Eclipse, вивчають нові засоби програмування мовою Java, реалізують комплексні виробничі ситуації, пов’язані з проектуванням, програмуванням і документуванням програмних комплексів, організацією інтерфейсу з користувачем шляхом створення вікон та меню, а також завдяки взаємодії із базами даних.

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

Місце дисципліни в навчальному плані. Вивчення дисципліни передбачає знання курсів «Економічна кібернетика: модуль «Технології програмування» та «Інструментальні засоби прикладного програмування». Знання, здобуті під час вивчення дисципліни «Об’єктноорієнтоване програмування», використовують у курсах «Web-програмування», «Технології розроблення програмних та інтелектуальних систем», «Прикладне програмне забезпечення» тощо.

Компетенції, яких набудуть студенти завдяки опануванню дисципліни. «Об’єктно-

орієнтоване програмування» вельми широкі. Це знання складових та змісту об’єктноорієнтованого підходу, базових інгредієнтів об’єктно-орієнтованого програмування, технології побудови програмної системи в JDK, JBuilder, основних конструкцій мови Java, класів та методів мови Java, організації введення і виведення даних, технологію програмування розподільних завдань.

До того ж студенти зможуть складати програми мовою Java, формувати проекти програм у середовищі JBuilder для відповідної предметної царини, доводити програму з початкового коду до виконуваного додатка, вбудовувати відповідно до конкретного завдання технологію проектування, кодування й реалізації програмної системи складної структури.

Дисципліна «Об’єктно-орієнтоване програмування» є обов’язковою в процесі підготовки бакалаврів зі спеціальності «Системи і методи прийняття рішень».

3

Тема 1. ОСОБЛИВОСТІ ОБ’ЄКТНО-ОРІЄНТОВАНОЇ МЕТОДОЛОГІЇ ФОРМУВАННЯ ПРОГРАМ СКЛАДНОЇ СТРУКТУРИ ЕКОНОМІЧНИХ СИСТЕМ

Вивчивши матеріал теми, студенти знатимуть:

що являє собою складність, яка притаманна програмному забезпеченню різних економічних систем: прості та складні програмні системи, складність проблеми, складність управління процесом розроблення, гнучкість програмного забезпечення, складність опису поведінки окремих підсистем;

які труднощі виникають на шляху створення складних економічних систем;

що являє собою структура складних систем, приклади складних систем;

основні ознаки складної системи;

зможуть розрізняти організовану та неорганізовану складність та канонічну форму складної системи;

яким чином упорядкувати порядок хаосу: що таке декомпозиція та її види, абстракція та ієрархія;

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

Вивчення матеріалу теми допоможе студентам:

класифікувати характеристики задач предметної області складних економічних сис-

тем;

аналізувати складові предметної області соціально-економічних систем з точки зору об’єктної декомпозиції;

виявляти недоліки підходів до формування програм складної структури і пропонувати шляхи подолання їх;

розробляти заходи з виокремлення об’єктів конкретної предметної області.

1.1.Навчальні завдання для опрацювання самостійної роботи

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

Навчальні завдання

1.Фундаментальні прийоми програмування та характеристики їх:процедурно-орієнтований;об’єктно-орієнтований;логічно-орієнтований;

орієнтований на правила та обмеження;аспектно-орієнтований.

2.Концептуальне підґрунтя об’єктно-орієнтованої методології формування програмного продукту.

3.Принципи об’єктно-орієнтованого підходу до створення інформаційної системи підприємства.

4.Проектування складних систем з точки зору логічної та фізичної структур, статичної та динамічної семантики.

5.Чотири базові діаграми системи означень об’єктно-орієнтованого проекту:

діаграма класів;

діаграма об’єктів;

модульна діаграма;

діаграма процесів.

6. Елементи об’єктного підходу:

абстрагування;

обмеження доступу;

модульність;

ієрархія;

типізація;

4

паралелізм;

стійкість.

7.Організована та неорганізована складність систем.

8.П’ять ознак складності системи.

9.Канонічна форма складної декомпозиції.

10.Моделі складної системи.

11.Об’єктна декомпозиція предметної області задачі.

1.2Перелік контрольних тестових завдань теми.

Завдання 1. Рівневу систему можна розробляти як:

1.Сукупність задач.

2.Упорядковану множину віртуальних просторів.

3.Ієрархічну абстракцію.

4.Множину паралельних моделей.

Завдання 2. Підсистеми нижнього рівня називають:

1.Об’єктами.

2.Класами.

3.Моделями.

4.Модулями.

Завдання 3. Топологія програмної системи визначається:

1.Сукупністю об’єктів.

2.Множиною моделей.

3.Сукупністю потоків інформації в системі.

4.Централізованим управлінням.

Завдання 4. Для визначення асинхронності об’єктів використовують:

1.Об’єктну модель.

2.Динамічну модель.

3.Апаратні пристрої.

4.Програмне забезпечення.

Завдання 5. Розробник програмної системи має:

1.Оцінити продуктивність та необхідні ресурси.

2.Обрати спосіб реалізації підсистем (апаратний чи програмний).

3.Розподілити програмні підсистеми за процесорами.

4.Скласти математичну модель.

Завдання 6. У перебігу розроблення програмної системи необхідно:

1.Побудувати діаграми потоку даних.

2.Визначити класи проміжних об’єктів.

3.Подати кожну фазу як послідовності змін значень елементів вихідної структуриданих.

4.Здійснити числове моделювання.

Завдання 7. У перебігу розроблення програмної системи з інтерактивним інтерфейсом необхідно:

1.Відокремити об’єкти, що формують інтерфейс.

2.Використовувати готові об’єкти для організації взаємодій.

3.Визначити структуру програми за її динамічною моделлю.

4.Із множини подій видрізнити до уваги: апаратні, прості.

Завдання 8. При виборі алгоритму можна корегуватися:

1.Обчислювальною складністю.

2.Зрозумілістю та легкістю реалізації.

3.Гнучкістю.

4.Структурою.

5

Завдання 9. Реалізація управління пов’язана із:

1.Процедурним управлінням.

2.Управлінням крізь події.

3.Використанням паралельних незалежних задач.

4.Періодичним обліком усіх функцій.

Завдання 10. У процесі автоматизації розроблення:

1.Пришвидкується пошук атрибутів.

2.Додаються надлишкові залежності.

3.Змінюється порядок обчислень.

4.Зберігаються похідні атрибути.

Рекомендована література [3; 4; 6].

6

Тема 2. ТЕОРЕТИЧНІ ЗАСАДИ ОБ’ЄКТНО-ОРІЄНТОВАНОГО ПРОГРАМУВАННЯ

Вивчивши матеріал теми, студенти знатимуть:

тенденції в методології проектування програмних засобів;

основні положення об’єктного підходу;

що являє собою об’єктно-орієнтоване програмування в контексті дотримання трьох вимог;

основні способи програмування;

головні елементи об’єктно-орієнтованого стилю програмування: абстрагування, обмеження доступу, модульність, ієрархія;

додаткові елементи об’єктно-орієнтованого стилю програмування: типізація, паралелізм, сталість;

переваги використання об’єктного підходу порівняно із традиційними методами структурного програмування.

Вивчення матеріалу теми допоможе студентам:

визначати класи та об’єкти різних систем програмування;

правильно ідентифікувати класи та об’єкти для конкретного додатка;

формувати оптимальну систему формального відображення рішень, ухвалюваних у процесі об’єктно-орієнтованого проектування;

організовувати управління процесом об’єктно-орієнтованого проектування.

2.1. Навчальні завдання для опрацювання самостійної роботи

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

Навчальні завдання

1.Об’єкт, його визначення, стан, поведінка, індивідуальність, час існування.

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

3.Визначте сутність поняття «клас», зовнішні та внутрішні прояви класу.

4.Схарактеризуйте відношення між класами. Типи відношень: відношення успадкування, відношення використання, відношення наповнення, відношення типу метаклас.

5.Дослідіть взаємозв’язок класів та об’єктів.

6.Визначте роль класів та об’єктів у процесі програмування.

7.Дайте визначення якості абстракцій.

8.Обґрунтуйте евристичний підхід до вибору операцій і визначення взаємовідносин.

9.Евристичний підхід до реалізації вибору.

10.Доведіть важливість правильної класифікації об’єктів та класів.

11.Надайте характеристику об’єктної моделі проекту предметної області.

12.Проаналізуйте особливості динамічної моделі проекту.

13.Опишіть функціональну модель конкретного модуля та його інтеграцію в проект.

14.У чому полягає взаємозв’язок класів, утилітів класів. Діаграма класів.

15.Визначте сутність, стан і перехідні процеси поведінки об’єктів.

2.2.Перелік контрольних тестових завдань теми

Тест 1. Завдання 1. Об’єкт являє собою:

1.Елемент даних, що включає власні методи.

2.Предмет, що має ім’я.

3.Економічна категорія складної системи.

4.Виробничі відносини в процесі аналізу елементів систем.

Завдання 2. Атрибут об’єкта — це:

1.Взаємообмін між класами.

2.Реалізація власних діалогів.

3.Значення, що характеризує об’єкт у його класі.

4.Дія опрацювання помилки.

7

Завдання 3. Операція є поліморфною, якщо:

1.Одна і та сама операція може застосовуватися до об’єктів різних класів.

2.Додаються два чи більше об’єктів одного класу.

3.Аргументи функції є покажчиками.

4.Існує значення за замовчуванням.

Завдання 4. Імена полів необхідно вказувати, коли:

1.Кваліфікатори зазначаються на схемах.

2.Існує кілька сторін трипарної залежності.

3.Користувач має свою директорію.

4.Залежність встановлюється між об’єктами одного класу.

Завдання 5. Важливою властивістю відношення агрегації є:

1.Ідентифікація.

2.Інкапсуляція.

3.Транзитивність.

4.Поліморфізм.

Завдання 6. Правил успадкування необхідно дотримуватися тоді, коли:

1.Операції-запити мають успадковуватися всіма підкласами.

2.Операції, що змінюють значення атрибутів, мають успадковуватися у всіх їхніх розширеннях.

3.Операції, що змінюють значення обмежених атрибутів чи атрибутів певних залежностей, мають блокуватися в усіх їхніх розширеннях.

4.Успадковані операції можна уточнювати, додавати до них додаткові дії.

Завдання 7. Абстрактний клас не може мати:

1.Операцій.

2.Методів.

3.Об’єктів.

4.Підкласів.

Завдання 8. Делегування — це:

1.Дані, специфічні для потоку.

2.Механізм реалізації пересилання операцій від одного об’єкта до іншого.

3.Механізм отримання індексу опрацювання.

4.Вибір власного батьківського класу.

Завдання 9. Можливим ключем називають:

1.Мінімальний набір атрибутів, які однозначно ідентифікують об’єкт чи зв’язок.

2.Метасимволи пакета регулярних виразів.

3.Методи регулювання взаємодій між об’єктами.

4.Механізм функціонування об’єктів.

Завдання 10. Гомоморфізм — це:

1.Відображення між двома залежностями.

2.Метаклас для кількох атрибутів.

3.Фільтрація зображень.

4.Організація оболонок динамічних об’єктів.

Тест 2. Завдання 1. Динамічна модель складається із:

1.Зв’язних об’єктів.

2.Успадкування подій.

3.Діаграм станів її об’єктів та підсистем.

4.Операцій між атрибутами об’єктів.

Завдання 2. Сценарієм називають:

1.Детермінованість подій одного об’єкта.

2.Вплив стану об’єкта на його дії.

8

3.Послідовність подій конкретного виконання системи.

4.Засоби для опису змін об’єкта.

Завдання 3. Події в динамічній моделі:

1.Передають інформацію з одного об’єкта до іншого.

2.Є незалежними.

3.Є залежними.

4.Є операціями.

Завдання 4. Умова — це:

1.Дія над об’єктами.

2.Логічна функція від значень об’єктів.

3.Операція над атрибутами об’єктів.

4.Діаграма станів.

Завдання 5. Діаграма станів позв’язує:

1.Дії та об’єкти.

2.Умови та дії.

3.Події та стани.

Завдання 6. Синхронізацію використовують у разі:

1.Непаралельних дій об’єктів.

2.Інкапсуляції об’єкта.

3.Виконання поліморфних операцій.

4.Паралельного виконання деяких активностей.

Завдання 7. Функціональна модель описує:

1.Множину функцій.

2.Параметричну залежність.

3.Обчислення в системі.

4.Абстрактні дані.

Завдання 8. Функціональна модель складається із:

1.Сукупності об’єктів.

2.Набору діаграм потоку даних.

3.Абстрактних класів.

4.Атрибутів об’єктів.

Завдання 9. Діаграма потоків даних містить:

1.Процеси, що змінюють дані, потоки даних.

2.Бази даних.

3.Семантику даних.

4.Аплети.

Завдання 10. Активні об’єкти називаються:

1.Векторами.

2.Екторами.

3.Діаграмами.

4.Умовами.

Тест 3. Завдання 1. Нетривіальні операції над об’єктами — це:

1.Запит, дія, активність.

2.Диз’юнкція, кон’юнкція.

3.Вказівка.

4.Додавання за модулем два.

Завдання 2. Для конструювання функціональної моделі необхідно:

1.Визначити вхідні та вихідні значення.

2.Побудувати діаграму потоків даних.

9

3.Описати функції та обмеження.

4.Уточнити набір операцій в об’єктній моделі.

Завдання 3. Систему рівнів можна розробляти як:

1.Сукупність задач.

2.Упорядковану множину віртуальних просторів.

3.Ієрархічну абстракцію.

4.Множину паралельних моделей.

Завдання 4. Підсистеми нижчого рівня називають:

1.Об’єктами.

2.Класами.

3.Моделями.

4.Модулями.

Завдання 5. Топологія системи визначається:

1.Сукупністю об’єктів.

2.Множиною моделей.

3.Сукупністю потоків інформації в системі.

4.Централізованим управлінням.

Завдання 6. Для визначення асинхронності об’єктів використовують:

1.Об’єктну модель.

2.Динамічну модель.

3.Апаратні пристрої.

4.Програмне забезпечення.

Завдання 7. Розробник системи має:

1.Оцінити продуктивність та потрібні ресурси.

2.Обрати спосіб реалізації підсистем (апаратний чи програмний).

3.Розподілити програмні підсистеми за процесорами.

4.Побудувати математичну модель.

Завдання 8. При розробленні системи безперервного опрацювання необхідно виконати:

1.Побудову діаграми потоку даних.

2.Визначити класи проміжних об’єктів.

3.Подання кожної фази як послідовності змін значень елементів вихідної структуриданих.

4.Чисельне моделювання.

Завдання 9. При розробленні системи з інтерактивним інтерфейсом необхідно:

1.Виокремити об’єкти, що формують інтерфейс.

2.Використовувати готові об’єкти для організації взаємодій.

3.Визначити за динамічною моделлю структуру програми.

4.Із множини подій виокремити апаратні, прості.

Завдання 10. При виборі алгоритму слід зважати на:

1.Обчислювальну складність.

2.Зрозумілість та легкість реалізації.

3.Гнучкість.

4.Структуру.

Рекомендована література [4; 6; 9].

10