OOP_L01.ppt
- Количество слайдов: 33
ОБ’ЄКТНО-ОРІЄНТОВАНЕ ПРОГРАМУВАННЯ Всього 150 год. Лекційні заняття 32 год. Лабораторні заняття 32 год. Практичні заняття 16 год. Модульний контроль 4 год. Підсумкова атестація - іспит Лектор – доцент кафедри САПР Каркульовський Володимир Іванович Лабораторні заняття - асистент кафедри САПР Файтас Олег Ігорович Практичні заняття - асистент кафедри САПР Загарюк Роман Вікторович
РОЗДІЛ 1 Концепція обєктно-орієнтованого підходу до проектування програмних систем Тема 1 Складні системи та методи їх проектування
1. 1 Складність програмного забезпечення 1. 2. 3. 4. Основні причини складності ПЗ: Складність проблеми Складність управління процесом розробки Складність забезпечення гнучкості кінцевого програмного продукту Складність опису поведінки окремих підсистем
1. 2 Ознаки складних систем 1. Складність дуже часто представляється у вигляді ієрархії 2. Вибір нижнього рівня абстракції достатньо довільний, тому складні системи можна розкласти на окремі частини. 3. Внутрішньоелементні зв’язки сильніші від міжелементних 4. Ієрархічні системи складаються із декількох підсистем різного типу 5. Працездатна складна система стає результатом розвитку працездатної простої системи
Ієрархічна система ПК ЦП Первинна пам’ять Регістри Монітор АЛП Логіка Клавіатура Шина Запам’ятовуючий пристрій
1. 3 Впорядкування складних систем Декомпозиція – поцес розбиття системи на окремі невеликі підсистеми Види декомпозиції: • Алгоритмічна • Об’єктно-орієнтована • Змішана(алгоритмічна і об’єктноорієнтована)
1. 4 Методи проектування складних систем Метод - це послідовний процес створення ряду моделей, які описують повністю визначеними засобами різні сторони програмної системи, яка розробляється. Методологія - це сукупність механізмів, які використовуються в процесі розробки програмного забезпечення і об’єднаних одним загальним підходом.
Тема 2 Основні принципи об’єктного підходу 1. 2. 3. 4. 5. 6. 7. Абстрагування Обмеження доступу (інкапсуляція) Модульність Ієрархічність Типізація Паралелізм Стійкість
2. 1 Абстрагування Абстракція – це такі суттєві характеристики деякого об’єкта, які відрізняють його від всіх інших видів об’єктів і таким чином чітко визначають особливості даного об’єкта з точки зору подальшого розгляду і аналізу
Способи виділення абстракцій • Абстракція сутності об’єкта • Абстракція поведінки • Абстрагування у вигляді віртуальної машини • Довільна абстракція
2. 2 Обмеження доступу (інкапсуляція) Обмеження доступу – це прцес захисту окремих елементів об’єкта, який не зачіпає суттєві характеристики об’єкта як єдиного цілого
Частини опису класу • Інтерфейс – зовнішнє виявлення об’єктів даного класу • Внутрішня реалізація – описує механізми досягнення бажаної поведінки об’єкта
2. 3 Модульність – це властивість системи, пов’язана з можливістю її декомпозиції на ряд тісно пов’язаних модулів
2. 4 Ієрархія • Ієрархія – це рангування або впорядкування системи абстракцій
Приклади ієрархії • Просте успадкування • Множинне успадкування • Агрегатування
Просте успадкування A B C
Множинне успадкування D E F
Агрегатування G G 1 G 2
2. 5 Типізація – це обмеження, що накладається на клас об’єктів і перешкоджає взаємозаміні різних класів, або дуже звужує можливість такої заміни
Класифікація мов програмування • Строготипізовані • Нестроготипізовані • Зовсім нетипізовані
2. 6 Паралелізм – це властивість об’єктів знаходитись в активному або пасивному стані
2. 7 Стійкість – це властивість об’єкта існувати у часі (поза залежністю від процесу, який породив даний об’єкт) і/або в просторі (переміщенням об’єкта із одного простору, в якому він був створений в інший)
Тема 3 Класи і об’єкти Об’єкт – це відчутна реальність, яка має чітко визначену поведінку. Способи визначення об’єктів • Відчутний і/або видимий предмет • Дещо, що сприймається мисленням • Дещо, на що направлене мислення
Основні риси об’єкта • Стан • Поведінка • Індивідуальність
Стан об’єкта характеризується переліком всіх можливих (звичайно статичних) властивостей даного об’єкта і біжучими значеннями (звичайно динамічними) кожної із цих властивостей
Стан об’єкта Поведінка характеризує те, як об’єкт впливає чи підлягає впливу зі сторони інших об’єктів з точки зору зміни стану цих об’єктів і передачі повідомлень Операція - це певний вплив одного об’єкта на інший з метою викликати відповідну реакцію
Статичні та динамічні властивості об’єкта Об’єкт “файл” ІМ’Я ВМІСТ РОЗМІР R 1. TXT rturutotyuiyui 10 k H 5. TXT Tykfuglgilghuil; g uligligilgilgug 12 k
Типи операцій • Модифікатор • Селектор • Ітератор Інша класифікація • Функції керування • Функції реалізації • Допоміжні функції • Функції доступу
Індивідуальність – це такі властивості об’єкта, які відрізняють його від всіх інших об’єктів
Типи відношень між об’єктами • Відношення використання (старшинства) • Відношення включення (спорідненості)
Відношення використання Ob 5 Ob 3 Ob 6 Ob 2 Ob 7 Ob 8 Ob 4 Ob 1
Ролі об’єкта • Вплив • Виконання • Посередництво Інша класифікація • Об’єкт транслятор • Блокований об’єкт • Паралельний об’єкт
Відношення включення Ob 5 Ob 3 Ob 6 Ob 4 Ob 2 Ob 7 ob 41 Ob 8 Ob 1 ob 42
OOP_L01.ppt